Prof. Dr. Nick Gehrke

Verfasst von

Prof. Dr. Nick Gehrke

Young woman jumping over a gap in the bridge as a symbol of risk

Journal Entry Testing (JET) prüft gewissermaßen die ganz grundsätzlichen Anforderungen an das Rechnungswesen, sozusagen die „Foundations of Accounting“. In diesem Blog Beitrag wollen wir wirklich den ganz grundsätzlichen Anforderungen nachgehen und zeigen, wie Sie in Ihrem SAP mit SQL schnell und einfach prüfen können, ob Belegnummern eindeutig sind und ob diese systematisch fortlaufend sind. Also eine ganz grundsätzliche Prüfung der Vollständigkeit ihrer Buchungen und Rechnungen. Immer interessant für Wirtschaftsprüfer und auch: das Finanzamt.

Unsere Journal Entry Testing Blogbeiträge bilden eine Reihe an Artikeln. Zum Überblick über das Thema JET finden Sie hier den entsprechenden Artikel mit allen Verweisen:

In diesem Artikel gucken wir uns zunächst eine mögliche Auswertung mit SQL an, um im Anschluss die rechtlichen Grundlagen zu klären.

 

Belegnummernlückenanalyse

Also, machen wir uns an eine klassische Belegnummernlückenanalyse!

Es sollte eine Selbstverständlichkeit sein, dass Belegnummern nicht doppelt vorkommen dürfen. Dies würde das Vertrauen in das Rechnungswesen arg in Mitleidenschaft ziehen. Dies ist sehr einfach mit Hilfe von SQL prüfbar. Sie können DIY (Do it yourself) konform mitmachen, indem Sie in SAP die Transaktion "DBACOCKPIT" aufrufen und über die "Diagnose" zum "SQL-Editor" navigieren. Alternativ kann auch das SAP HANA Studio verwendet werden. Alle folgenden SQL Queries wurden bereits auf einer SAP HANA Datenbank getestet:

 

SELECT MANDT, BUKRS, GJAHR, BELNR, COUNT(*) FROM BKPF
GROUP BY MANDT, BUKRS, GJAHR, BELNR
HAVING COUNT(*)>1

 

In meinem Testdatensatz kommt als Ergebnis “leere Menge” – was für ein Glück – alles andere wäre auch sehr gegen unsere Erwartung gewesen.

Jetzt aber zu den Belegnummernlücken! Wenn es keine Belegnummernlücken gibt, dann müsste jede Belegnummer einen Nachfolger haben, also eine um 1 höhere Belegnummer müsste existieren. Das ist eine sehr formale Definition und lässt sich sehr gut in einem SQL formulieren:

 

SELECT BLART, MANDT, BUKRS, GJAHR, BELNR FROM BKPF B1 WHERE
MANDT='800' AND BUKRS='1000' AND GJAHR=2018
AND
NOT EXISTS (
SELECT B2.BELNR FROM BKPF B2 WHERE B1.MANDT=B2.MANDT AND B1.BUKRS=B2.BUKRS AND B1.GJAHR=B2.GJAHR AND LPAD(TO_NUMBER(B1.BELNR)+1,10,'0' ) = B2.BELNR)
AND BELNR NOT IN (SELECT MAX(B.BELNR) FROM BKPF B WHERE B.MANDT='800' AND B.BUKRS='1000' AND B.GJAHR=2018 GROUP BY B.BLART)

Hinweis: Ändern Sie die rot markierten Felder auf Ihren Untersuchungsgegenstand.

 

Das Query zeigt an, welche Belegnummer keinen Nachfolger hat. In meinem Testdatensatz kommt folgendes heraus (Ausschnitt):

 

BLART

MANDT

BUKRS

GJAHR

BELNR

RV

100

1000

2018

4823965

RV

100

1000

2018

4823967

RV

100

1000

2018

4823971

RV

100

1000

2018

4823974

RV

100

1000

2018

4823980

...

...

...

...

....

 

Die Belegart RV ist in SAP für gewöhnlich eine (Ausgangs)rechnung. Immer wieder scheinen hier Lücken vorzukommen. Das ist sicherlich eine Nachfrage wert und ein systematischer Grund für solche Lücken sollte die Revision hier erwarten dürfen.

Über die letzte Nebenbedingung im SQL Query, die auf "AND BELNR NOT IN" folgt, habe ich bereits die jeweils letzten Belegnummern einer Belegart ausgefiltert. Diese können logischerweise keinen Nachfolger haben.

Kommen bei dem Query allerdings Belege heraus, so gibt es Belegnummernlücken.

Ist das schlimm?

- es kommt darauf an.

Zumindest das Finanzamt schreibt im Umsatzsteueranwendungserlass zu 14.5 Absatz 10:

„…Eine lückenlose Abfolge der ausgestellten Rechnungsnummern ist nicht zwingend. Es ist auch zulässig, im Rahmen eines weltweiten Abrechnungssystems verschiedener, in unterschiedlichen Ländern angesiedelter Konzerngesellschaften nur einen fortlaufenden Nummernkreis zu verwenden.“

Das bedeutet, dass Lückenlosigkeit nicht zwingend gefordert wird. Jedoch wird man Lücken in den Belegnummern erklären müssen. Ansonsten sind Belegnummernlücken ein Hinweis auf Unvollständigkeit.

Dazu heißt es außerdem in den Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,  Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff  (GoBD) auf Seite 9 Punkt 32:

"Die Buchführung muss so beschaffen sein, dass sie einem sachverständigen Dritten innerhalb angemessener Zeit einen Überblick über die Geschäftsvorfälle und über die Lage des Unternehmens vermitteln kann. Die Geschäftsvorfälle müssen sich in ihrer Entstehung und Abwicklung lückenlos verfolgen lassen (progressive und retrograde Prüfbarkeit)."

 

zapliance Newsletter

Erhalten Sie wertvolle
News und Angebote zur Prüfung von SAP direkt in Ihr Postfach!

zapliance Kunden

Unsere Empfehlungen für Sie

Kommentare