Sonstige

Kontobewegungen auf dem Prüfstand von SAP

15 min. Lesezeit
Dennis Jürgensen

Verfasst von

Dennis Jürgensen

young business people group have meeting and working in modern bright office indoor

Kontobewegungen, Cashflow, Soll, Haben, Gut- oder Lastschrift, you name it. Wir werfen heute mal einen Blick auf genau das, was alle irgendwie miteinander verbindet: Bewegungen auf Konten. Dafür werden wir uns zunächst einmal alle Konten ansehen, uns drei interessante Exemplare aussuchen und in einer Zeitreihe näher betrachten. Das klingt erstmal aufwendig und kompliziert, ist es dank der fertigen SQL Statements und ein paar Handkniffen in Excel aber gar nicht.

Die notwendigen Grundlagen für Konten in SAP

Legen wir zunächst mit den notwendigen Tabellen und Feldern los, bevor wir uns einen Export der Dateien anfertigen und in Excel visualisieren. Die nachfolgenden Queries können ganz einfach über die Transaktion „DBACOCKPIT“ und dann über die Navigation „Diagnose“ zum „SQL-Editor“ ausprobiert werden. Alle Queries wurden zudem auf einer HANA Datenbank getestet.

Um die Analyse lediglich auf Konten anzuwenden, die tatsächlich in dem zu untersuchenden Geschäftsjahr verwendet wurden, nutzen wir im ersten Schritt die Tabelle BSEG (Belegsegment Buchhaltung – FI) und schränken auf den Untersuchungsgegenstand (Mandant 800, Buchungskreis 1000 und Geschäftsjahr 2017) wie folgt ein:

 

SELECT DISTINCT BSEG.HKONT FROM BSEG
WHERE BSEG.MANDT = '800' AND BSEG.BUKRS='1000' AND BSEG.GJAHR=2017

 

Das Query liefert uns allerdings nur die Nummer des Sachkontos der Hauptbuchhaltung in SAP ohne die Bezeichnung:

 

HKONT

0000160000

0000790000

0000191100

0000231500

 

Jetzt könnte man mit der Liste zur entsprechenden Fachabteilung gehen, oder man liest einfach diesen Artikel weiter. Leider findet sich die Kontenbezeichnung nicht in der BSEG, weil SAP die Bewegungsdaten von den Stammdaten trennt. Doch ist es mit einem einfachen Join auf eine weitere Tabelle nicht getan, da wir zusätzlich den entsprechenden Kontenplan benötigen. Dieser findet sich in der Tabelle T001 (Buchungskreise – Customizing), aber nicht in der BSEG, also bauen wir den Join wie folgt:

 

SELECT DISTINCT BSEG.HKONT, T001.KTOPL FROM BSEG
LEFT JOIN T001 ON BSEG.MANDT = T001.MANDT AND BSEG.BUKRS=T001.BUKRS
WHERE BSEG.MANDT='800' AND BSEG.BUKRS='1000' AND BSEG.GJAHR=2017

 

Das Ergebnis liefert uns zusätzlich den entsprechenden Kontenplan:

HKONT KTOPL

0000160000

INT

0000790000

INT

0000191100

INT

0000231500

INT

 

Damit sind wir im Zusammenhang mit den Kontenbezeichnung allerdings auch noch nicht viel weitergekommen. Dafür benötigen wir zusätzlich die Tabelle SKAT (Sachkontenstamm (Kontenplan: Bezeichnung)), die wir wie folgt hinzu joinen:

 

SELECT DISTINCT BSEG.HKONT, T001.KTOPL, SKAT.TXT50 FROM BSEG
LEFT JOIN T001 ON BSEG.MANDT = T001.MANDT AND BSEG.BUKRS=T001.BUKRS
LEFT JOIN SKAT ON SKAT.MANDT = BSEG.MANDT AND BSEG.HKONT = SKAT.SAKNR AND T001.KTOPL = SKAT.KTOPL AND SKAT.SPRAS = 'D'
WHERE BSEG.MANDT='800' AND BSEG.BUKRS='1000' AND BSEG.GJAHR=2017

 

Soweit so gut. Das Ergebnis kann sich schon mal sehen lassen:

HKONT KTOPL TXT50

0000160000

INT

Kreditoren-Verbindlichkeiten Inland

0000790000

INT

Unfertige Erzeugnisse

0000191100

INT

WE/RE-Verrechnung -Fremdbezug-

0000231500

INT

Aufwand aus Preisdifferenzen Eigenerzeugnisse

 

Die Liste der zu untersuchenden Konten müssen allerdings weiter eingeschränkt werden, da allein die schiere Anzahl einen erschlägt.

 

Analyse von Kontenbewegungen anhand von 3 Beispielen in SAP

Werfen wir also einen Blick auf drei verschiedene Arten von Konten: Zum einen nehmen wir uns ein Aufwandskonto, ein Bankkonto sowie ein Umsatzkonto zur Brust und veranschaulichen die einzelnen Bewegungen in einem Graph mit Excel. Fangen wir mit einem Aufwandskonto, wie z.B. Abschreibungen an. Dafür müssen wir das obere Query nur leicht anpassen:

 

SELECT DISTINCT BSEG.HKONT, T001.KTOPL, SKAT.TXT50 FROM BSEG
LEFT JOIN T001 ON BSEG.MANDT = T001.MANDT AND BSEG.BUKRS=T001.BUKRS
LEFT JOIN SKAT ON SKAT.MANDT = BSEG.MANDT AND BSEG.HKONT = SKAT.SAKNR AND T001.KTOPL = SKAT.KTOPL AND
SKAT.SPRAS = 'D'
WHERE BSEG.MANDT='800' AND BSEG.BUKRS='1000' AND BSEG.GJAHR=2017 AND SKAT.TXT50 LIKE '%Abschreibung%'

 

Die Ergänzung sucht in dem Feld TXT50 (Sachkontenlangtext) der Tabelle SKAT nach dem Schlüsselwort „Abschreibung“, wobei die % bedeuten, dass vor und nach dem Wort alles eingeschlossen werden soll. So erhält man z.B. „kalkulatorische Abschreibungen“ genau so wie „Abschreibungen auf Sachanlagen (außerplanmäßig)“, sofern es diese Art der Kontenbezeichnung gibt. In dem Fall ist auf Groß- und Kleinschreibung zu achten, da Hana es in dem Zusammenhang sehr genau nimmt. Im IDES Testsystem bekomme ich für das Query lediglich 3 Konten aufgelistet, wobei ich das Geschäftsjahr ebenfalls anpassen musste:

 

HKONT KTOPL TXT50

0000211100

INT

Planmaessige Abschreibung auf Sachanlagen

0000211200

INT

Ausserplanmaessige Abschreibung auf Sachanlagen

0000481000

INT

Kalkulatorische Abschreibungen

 

Und jetzt musste ich auf den Prof. Gehrke zurückgreifen, denn nun wird es komplex. Mit der Nummer des Sachkontos führen wir das folgende Query aus:

 

SELECT D.MONAT, SUM(CASE WHEN SHKZG='S' THEN DMBTR ELSE 0 END) SALDO_DEBIT, SUM(CASE WHEN SHKZG='H' THEN DMBTR ELSE 0 END) SALDO_CREDIT, SUM(CASE WHEN SHKZG='S' THEN DMBTR ELSE 0 END) - SUM(CASE WHEN SHKZG='H' THEN DMBTR ELSE 0 END) TOTAL FROM
(SELECT MONAT, HKONT
FROM BKPF
JOIN BSEG ON (BKPF.MANDT = BSEG.MANDT AND BKPF.BUKRS = BSEG.BUKRS AND BKPF.GJAHR = BSEG.GJAHR AND BKPF.BELNR=BSEG.BELNR)
WHERE HKONT='0000211200' GROUP BY MONAT, BSEG.HKONT) D
JOIN BSEG B ON D.HKONT = B.HKONT
JOIN BKPF BK ON (B.MANDT = BK.MANDT AND B.BUKRS = BK.BUKRS AND B.GJAHR = BK.GJAHR AND B.BELNR = BK.BELNR AND B.HKONT = D.HKONT)
WHERE BK.MONAT<=D.MONAT AND B.MANDT='800' AND B.BUKRS='1000' AND B.GJAHR=2017
GROUP BY D.MONAT
ORDER BY D.MONAT;

 

Was macht das Query im Wesentlichen? Grundsätzlich geht es alle Buchungen auf einem definierten Konto (orange markiert) durch, addiert alle Soll und Haben Posten und bildet die Differenz der beiden, wobei die Werte bis zu einem einen Monat kumuliert werden. Im Ergebnis ergibt sich für das Konto der planmäßigen Abschreibungen auf Sachanlagen demnach:

 

MONAT SALDO_DEBIT SALDO_CREDIT TOTAL

01

112155,97

0,00

112155,97

02

112155,97

0,00

112155,97

03

112155,97

0,00

112155,97

04

112155,97

0,00

112155,97

05

112155,97

0,00

112155,97

06

112155,97

0,00

112155,97

07

112155,97

0,00

112155,97

08

112155,97

0,00

112155,97

09

112155,97

0,00

112155,97

10

112155,97

0,00

112155,97

11

112155,97

0,00

112155,97

12

1354655,06

0,00

1354655,06

 

Das Konto entspricht wohl erstmal der gängigen Praxis, wobei die zeitnahe Verbuchung von Abschreibungen für Monats-, bzw. Quartalsabschlüsse durchaus empfehlenswert ist. Kritisch im Sinne des Jahresabschlusses ist es allerdings nicht.

Entsprechend dem Verfahren habe ich mir noch die folgenden zwei Konten näher angeguckt:

  • Deutsche Bank Inland (0000113100)
  • Umsatzerlöse Inland Eigenerzeugnisse (0000800000)

Dafür habe ich das Query mit dem LIKE '%Abschreibung%' entsprechend auf LIKE '%Bank%' und LIKE '%Umsatz%' angepasst, die Nummer der Sachkonten kopiert und in das Query vom Professor eingefügt. Die drei Ergebnisse habe ich dann nach Excel exportiert und wie folgt nebeneinander gelegt:

 

Planmäßige Abschreibungen
MONAT SALDO_DEBIT SALDO_CREDIT SALDO

01

112.155,97

0,00

112.155,97

02

112.155,97

0,00

112.155,97

03

112.155,97

0,00

112.155,97

04

112.155,97

0,00

112.155,97

05

112.155,97

0,00

112.155,97

06

112.155,97

0,00

112.155,97

07

112.155,97

0,00

112.155,97

08

112.155,97

0,00

112.155,97

09

112.155,97

0,00

112.155,97

10

112.155,97

0,00

112.155,97

11

112.155,97

0,00

112.155,97

12

1.354.655,06

0,00

1.354.655,06

 

Deutsche Bank
MONAT SALDO_DEBIT SALDO_CREDIT SALDO

01

0

0

0

02

0,00

1.789,52

-1.789,52

03

0,00

13.211,24

-13.211,24

04

0,00

13.211,24

-13.211,24

05

0,00

13.211,24

-13.211,24

06

0,00

24.510,79

-24.510,79

07

0,00

24.510,79

-24.510,79

08

0,00

58.204,92

-58.204,92

09

0,00

58.210,03

-58.210,03

10

0,00

58.210,03

-58.210,03

11

18.968,93

111.972,37

-93.003,44

12

5.243.255,27

4.364.440,71

878.814,56

 

Umsatzerlöse Inland Eigenerzeugnisse
MONAT SALDO_DEBIT SALDO_CREDIT SALDO

01

25.839,67

218.339,79

-192.500,12

02

25.839,67

454.773,72

-428.934,05

03

25.839,67

519.837,58

-493.997,91

04

25.839,67

884.841,46

-859.001,79

05

25.839,67

1.022.669,98

-996.830,31

06

25.839,67

1.076.643,02

-1.050.803,35

07

25.839,67

1.113.846,64

-1.088.006,97

08

25.839,67

1.239.086,20

-1.213.246,53

09

25.839,67

1.362.847,61

-1.337.007,94

10

25.839,67

1.507.697,83

-1.481.858,16

11

25.839,67

1.654.096,21

-1.628.256,54

12

25.839,67

1.797.220,47

-1.771.380,80

 

Die Monate habe ich anschließend in Klartext umgewandelt, damit sie im Graphen leichter lesbar sind und anschließend ein Liniendiagramm der Monate und Salden eingefügt. Das Ergebnis sieht dann wie folgt aus:

 

Kontobewegungen

 

Zu den Abschreibungen hatte ich bereits ein paar kurze Worte verloren, sodass wir uns das Sachkonto der Deutschen Bank als nächstes angucken. Auffällig ist die leicht negative Tendenz bis November, als dann schlagartig über 5 Millionen eingezahlt werden. Natürlich ist mir bewusst, dass es sich dabei um ein Testsystem handelt, aber solche Auffälligkeiten sind auf jeden Fall zu hinterfragen. Ähnlich würde es sich mit starken Ausschlägen in die ein oder die andere Richtung verhalten. In dem Fall wäre es dann interessant zu untersuchen, wie stark die Abweichungen vom Durchschnitt abweichen, um von einer signifikanten Abweichung sprechen zu können.

Die Umsatzerlöse entwickeln sich hingegen genauso, wie man es sich wahrscheinlich wünschen würde (Das negative Vorzeichen bedeutet hier nicht fallende Umsätze, sondern steigende). Der Wareneinsatz ist mit knapp 26.000€ konstant, wohingegen die Erlöse stetig auf bis zu knapp 1.8 Millionen € anwachsen.

Topics: SAP Audit, Konto
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