Nach der Urlaubszeit kennt wohl jeder den Spruch: Am Ende des Geldes ist noch so viel Monat übrig. Was im Privatleben gerne als Floskel verwendet wird, kann in Unternehmen schnell von Bedeutung werden. Denn letztendlich kommt es immer auf die Liquidität an. Oder einfach gesagt: kein Geld, kein Bestehen. Der Revisor sollte deshalb immer ein Auge auf die Bankkonten in der Finanzbuchhaltung haben. Ich zeige Ihnen deshalb, wie Sie insbesondere Auszahlungen in SAP analysieren können.
Die Abstimmung von Geldkonten ist eine wohlbekannte Prüfungshandlung. Einen Saldo abzugleichen, spricht zwar für einen korrekten Saldo, aber interessant ist letztlich doch auch, wie eine nähere Analyse von Auszahlungen aussehen könnte.
Geldkonten in SAP
Zunächst wäre es wichtig, die Geldkonten im Kontenplan zu erfahren. Natürlich kann man nun den Kontenplan durchgehen und anhand der Kontenbezeichnungen die Geldkonten identifizieren. Aber geht das nicht einfacher? Tatsächlich sollten die Finanzbuchhaltungskonten im Kontenplan, die Geldkonten repräsentieren, auch als solche im Kontenplan gecustomized sein. Man kann Geldkonten daher im buchungskreisspezifischen Kontencustomizing in der Tabelle SKB1 erkennen. Das Feld XGKON=‘X‘ bedeutet dabei, dass es sich um ein Geldkonto handelt.
Folgendes SQL Query ermittelt für einen bestimmten Buchungskreis und ein bestimmtes Geschäftsjahr, wie viele Belege auf das jeweilige Geldkonto gebucht wurden. Damit hat man schon mal eine Indikation für die „Wichtigkeit“ eines Geldkontos. Sie können das Query selbst in SAP mit dem Ausführen der Transaktion „DBACOCKPIT“ und anschließenden Navigation über „Diagnose“ zu „SQL-Editor“ ausprobieren:
SELECT HKONT, SKAT.TXT50, COUNT(DISTINCT BELNR) AS Anzahl_Belege
FROM BSEG
JOIN T001 ON (BSEG.MANDT = T001.MANDT AND BSEG.BUKRS = T001.BUKRS)
JOIN SKB1 ON (BSEG.MANDT = SKB1.MANDT AND BSEG.BUKRS = SKB1.BUKRS AND BSEG.HKONT = SKB1.SAKNR)
LEFT JOIN SKAT ON (SKAT.MANDT = BSEG.MANDT AND SKAT.KTOPL = T001.KTOPL AND SKAT.SAKNR = BSEG.HKONT AND SKAT.SPRAS = 'D')
WHERE SKB1.XGKON = 'X' AND BSEG.MANDT = '800' AND BSEG.BUKRS = '1000' AND GJAHR = 2007
GROUP BY HKONT, SKAT.TXT50
ORDER BY COUNT(DISTINCT BELNR) DESC
HKONT | TXT50 | Anzahl_Belege |
---|---|---|
113103 | Deutsche Bank (Ausgangs-Ueberweisungen Ausland) | 176 |
113102 | Deutsche Bank (Ausgangs-Ueberweisungen Inland) | 18 |
113100 | Deutsche Bank Inland | 6 |
113130 | Deutsche Bank – Bargeldausgang | 2 |
119999 | Derivate Verrechnungskonto | 2 |
113300 | Commerzbank Frankfurt | 2 |
113108 | Deutsche Bank (Scheckeingang) | 1 |
113131 | Deutsche Bank – Bargeldeingang | 1 |
… | … | … |
Wie man sieht, wird die Deutsche Bank am meisten verwendet.
Die größten Auszahlungen
Wir wollen uns nun einen Überblick verschaffen über die Auszahlungen auf den Geldkonten. Auszahlungen lassen sich darüber abgrenzen, dass diese im Haben stehen, also passivisch „abgegangen“ sind. Weiter schichten wir alle Positionen auf den Konten in 1000er Beträgen ab und erhalten dann die Anzahl der Belege pro 1.000 € Schicht und deren Summe. Das Query dazu sieht wie folgt aus und ist eine Anpassung des Queries zuvor:
SELECT HKONT, SKAT.TXT50, ROUND(DMBTR/1000, 0, ROUND_DOWN) AS Betragsschichten, COUNT(DISTINCT BELNR) AS Anzahl_Belege, SUM(DMBTR) AS SUMME_IN_EUR FROM BSEG
JOIN T001 ON (BSEG.MANDT = T001.MANDT AND T001.BUKRS = BSEG.BUKRS)
JOIN SKB1 ON (BSEG.MANDT = SKB1.MANDT AND BSEG.BUKRS = SKB1.BUKRS AND BSEG.HKONT = SKB1.SAKNR)
LEFT JOIN SKAT ON (SKAT.MANDT = BSEG.MANDT AND SKAT.KTOPL = T001.KTOPL AND SKAT.SAKNR = BSEG.HKONT AND SKAT.SPRAS = 'D' )
WHERE SKB1.XGKON = 'X' AND BSEG.MANDT = '800' AND BSEG.BUKRS = '1000' AND GJAHR = 2007
AND SHKZG = 'H'
GROUP BY HKONT, SKAT.TXT50, ROUND(DMBTR/1000, 0, ROUND_DOWN)
ORDER BY HKONT, ROUND(DMBTR/1000, 0, ROUND_DOWN)
Das Ergebnis sieht dann in meinem Testdatensatz wie folgt aus:
HKONT | TXT50 | Betrags- schichten | Anzahl_ Belege | SUMME_IN_ EUR |
---|---|---|---|---|
113100 | Deutsche Bank Inland | 1 | 1 | 1.551,03 |
113100 | Deutsche Bank Inland | 4 | 1 | 4.599,00 |
113100 | Deutsche Bank Inland | 127 | 1 | 127.917,30 |
113100 | Deutsche Bank Inland | 567 | 1 | 567.110,00 |
113100 | Deutsche Bank Inland | 890 | 1 | 890.900,00 |
113100 | Deutsche Bank Inland | 126753 | 1 | 126.753.714,81 |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 0 | 6 | 157,00 |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 2700 | 3 | 8.100.028,00 |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 4000 | 2 | 8.000.000,00 |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 4834 | 1 | 4.834.625,00 € |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 5000 | 3 | 15.000.000,00 |
113102 | Deutsche Bank (Ausgangs-Ueberw. Inland) | 19133 | 1 | 19.133.380,07 |
… | … | … | … | … |
Die Betragsschichten (dritte Spalte) sind hier pro Konto aufsteigend sortiert. Der Revisor sollte insbesondere auf krasse Sprünge entlang der Betragsschichten achten. Beim Geldkonto „113100 Deutsche Bank Inland“ z.B. gibt es eine Schicht mit nur einer Zahlung von ca. 890.900 € und dann ist die nächste Schicht 126.753 Tausend-€. Dies ist ein krasser Sprung und solche „Unstetigkeitsstellen“ sollte sich der Revisor genauer ansehen. Andere deutlich sichtbare Sprünge sind gelb markiert. Letztlich haben wir mit dem Query die Datengrundlage für ein Histogramm geschaffen.