Bild von Prof. Dr. Nick Gehrke

Verfasst von

Prof. Dr. Nick Gehrke

Mid section of man calculating bills on mobile phone

Die Erfassung von Geschäftsvorfällen auf den richtigen Konten ist eines der Grundvoraussetzungen für ein ordentliches Rechnungswesen. Im heutigen Blog Post betrachten wir deshalb die richtige Erfassung von Forderungen im SAP. Ich zeige Ihnen wie Sie in SAP prüfen, ob auf Ihren Forderungskonten gleichartige Geschäftsvorfälle stehen oder ob unsystematisch auf Forderungskonten gebucht wurde und dadurch Irritationen entstehen können. Denn wenn Forderungskonten falsch verwendet werden, führt das im schlimmsten Fall zu Falsch Ausweisen in der Bilanz. Immer ein Thema für Wirtschaftsprüfer.

 

Wie sind Forderungskonten strukturiert?

Wirft man einen Blick in übliche Kontenpläne, so findet man häufig Bezeichnungen von Forderungskonten wie z.B.:

  • Debitoren-Forderungen Inland
  • Debitoren-Forderungen Ausland
  • Forderungen an verbundene Unternehmen

An diesen Beispielen erkennt man schon, was Strukturierungsmerkmale für Forderungskonten sind: nämlich Inlands-/Auslandsbezug und Intercompany / verbundene Konzernunternehmen. Denkt mach noch etwas mehr darüber nach, dann kommt man zu folgenden Eigenschaften, die für die Strukturierung der Forderungskonten von Relevanz sein können:

  • Debitor sitzt im Inland (JA/NEIN)
  • Debitor sitzt in der EU (JA/NEIN)
  • Debitor ist ein verbundenes Unternehmen (JA/NEIN)
  • Debitor ist Privatperson (JA/NEIN)

Im Hinblick auf diese Eigenschaften würde man nun erwarten, dass jedes Forderungskonto jeweils eindeutig ausgeprägt ist bezüglich jeder dieser Eigenschaften.

 

Wie finde ich in SAP heraus, ob die Geschäftsvorfälle auf meinen Forderungskonten homogen sind?

Im Folgenden erkläre ich Ihnen ein SQL-Query, welches für jedes verwendete Forderungskonto aufzeigt, wie viele Buchungszeilen mit welchen Eigenschaften auf die Forderungskonten gebucht wurden. Verwenden Sie dazu in SAP die Transaktion „DBACOCKPIT“ und navigieren Sie über Diagnose zu SQL-Editor.

Das SQL Query zeigt für jedes der Merkmale 1-4, ob die Buchungen auf dem Konto für die jeweilige Eigenschaft zutreffen oder nicht:

 

1

SELECT HKONT ACCOUNT ,
SKAT.TXT50 ACCOUNT_TITLE, KOART,
BSEG.GJAHR, BSEG.MANDT, BSEG.BUKRS,
CASE WHEN BSEG.VBUND='' THEN 'NO' ELSE 'YES' END INTERCOMPANY,
CASE WHEN T005.XEGLD='X' THEN 'YES' ELSE 'NO' END EU,
CASE WHEN T001.LAND1=KNA1.LAND1 THEN 'YES'ELSE 'NO' END INLAND,
CASE WHEN KNA1.STKZN='X' THEN 'YES' ELSE 'NO'END PERSON,
COUNT (*) ENTRIES

 

Zunächst legen wir wie gewohnt die notwendigen Felder für die finale Ausgabe des SQL Queries fest. Neben der Kontonummer (ACCOUNT), der Beschreibung des Kontos (ACCOUNT_TITLE) und einigen Standardausgaben, wie dem Mandanten (MANDT), dem Buchungskreis (BUKRS) und dem Geschäftsjahr (GJAHR), finden sich diverse CASE WHEN Ausdrücke. Diese ersetzen im Ergebnis lediglich die jeweiligen Ausprägungen der Felder, sodass ein Ergebnis leichter zu lesen ist.

 

2

FROM BSEG
LEFT JOIN T001 ON (BSEG.MANDT=T001.MANDT AND BSEG.BUKRS=T001.BUKRS)
LEFT JOIN SKAT ON (BSEG.MANDT=SKAT.MANDT AND T001.KTOPL=SKAT.KTOPL AND BSEG.HKONT=SKAT.SAKNR AND SKAT.SPRAS='D')
LEFT JOIN KNA1 ON (BSEG.MANDT=KNA1.MANDT AND BSEG.KUNNR=KNA1.KUNNR)
LEFT JOIN T005 ON (KNA1.MANDT=T005.MANDT AND KNA1.LAND1=T005.LAND1)
WHERE KOART='D'

 

Anschließend werden die notwendigen Tabellen für die Analyse jeweils über einen LEFT JOIN miteinander verbunden, um auf die einzelnen Felder der Tabellen (T001, SKAT, KNA1, T005) zugreifen zu können. Danach grenzen wir noch auf die Debitoren ein (KOART='D'), da es sich um Forderungen handeln soll.

 

3

GROUP BY HKONT, KOART, BSEG.MANDT, BSEG.BUKRS, BSEG.GJAHR
CASE WHEN BSEG.VBUND='' THEN 'NO' ELSE 'YES' END,
CASE WHEN T005.XEGLD='X' THEN 'YES' ELSE 'NO' END ,
CASE WHEN T001.LAND1=KNA1.LAND1 THEN 'YES' ELSE 'NO' END,
CASE WHEN KNA1.STKZN='X' THEN 'YES' ELSE 'NO' END,
SKAT.TXT50
ORDER BY HKONT,
COUNT(*) DESC

 

Abschließend werden die Ergebnisse noch gruppiert, bei denen alle Ausprägungen gleich sind. Diese Gruppierungen werden dann nach der Kontonummer (ORDER BY HKONT) sortiert. Bei gleicher Kontonummer, verschiedenen Ausprägungen und unterschiedlichen Anzahlen von Belegen wird zusätzlich absteigend nach der Anzahl an Belegen sortiert (COUNT(*) DESC).

Das vollständige SQL Query sieht dann wie folgt aus:

 

4

SELECT HKONT ACCOUNT, SKAT.TXT50 ACCOUNT_TITLE, KOART, BSEG.GJAHR, BSEG.MANDT, BSEG.BUKRS, CASE WHEN BSEG.VBUND='' THEN 'NO' ELSE 'YES' END INTERCOMPANY, CASE WHEN T005.XEGLD='X' THEN 'YES'ELSE 'NO' END EU, CASE WHEN T001.LAND1=KNA1.LAND1 THEN 'YES'ELSE 'NO' END INLAND, CASE WHEN KNA1.STKZN='X'THEN 'YES'ELSE 'NO'END PERSON, COUNT (*) ENTRIES
FROM BSEG LEFT JOIN T001 ON (BSEG.MANDT=T001.MANDT AND BSEG.BUKRS=T001.BUKRS)
LEFT JOIN SKAT ON (BSEG.MANDT=SKAT.MANDT AND T001.KTOPL=SKAT.KTOPL AND BSEG.HKONT=SKAT.SAKNR AND SKAT.SPRAS='D')
LEFT JOIN KNA1 ON (BSEG.MANDT=KNA1.MANDT AND BSEG.KUNNR=KNA1.KUNNR)
LEFT JOIN T005 ON (KNA1.MANDT=T005.MANDT AND KNA1.LAND1=T005.LAND1)
WHERE KOART='D'
GROUP BY HKONT, KOART, BSEG.MANDT, BSEG.BUKRS, BSEG.GJAHR, CASE WHEN BSEG.VBUND='' THEN 'NO' ELSE 'YES' END , CASE WHEN T005.XEGLD='X' THEN 'YES' ELSE 'NO' END , CASE WHEN T001.LAND1=KNA1.LAND1 THEN 'YES' ELSE 'NO' END, CASE WHEN KNA1.STKZN='X' THEN 'YES' ELSE 'NO' END, SKAT.TXT50
ORDER BY HKONT, COUNT(*) DESC

 

Das SQL-Query bringt für jedes verwendete Forderungskonto mindestens ein Ergebnis zurück. Wenn für ein Forderungskonto mehrere Einträge im Ergebnis sind, heißt dies, dass die Merkmale 1-4 der Buchungen auf dem Forderungskonto nicht immer eindeutig ausgeprägt sind. Es könnte dann sein, dass das Forderungskonto für uneinheitliche Geschäftsvorfälle verwendet wurde.

 

Ein beispielhaftes Ergebnis findet sich in folgender Tabelle:

 

ACCOUNT ACCOUNT_TITLE KOART INTER-
COMPANY
EU INLAND PERSON ENTRIES
140000 Debitoren-Forderungen Inland D NO YES YES NO 685
140000 Debitoren-Forderungen Inland D NO YES YES YES 327
141000 Debitoren-Forderungen Ausland D NO NO NO NO 10
144006 Forderungen an Buchungskreis 2200 D YES YES NO NO 2
196900 IS-RE Vorauszahlungsforderung Betriebskosten D NO YES YES YES 360
196910 IS-RE Vorauszahlung Betriebskosten D NO YES YES YES 224
196920 IS-RE Vorauszahlung Umsatzmiete D NO YES YES YES 13
196930 IS-RE Mietkaution D NO YES YES YES 3

 

Man erkennt, dass alle Forderungskonten nur einmal vorkommen bis auf das Konto 140000 „Debitoren-Forderungen Inland“, welches zweimal vorkommt. Alle Konten, die mehrfach vorkommen, sollte man sich ansehen. Im Falle des Kontos 140000 sieht man, dass dort Forderungen gegenüber Geschäftskunden und gegenüber Privatkunden erfasst wurden. In einem solchen Fall wäre zu hinterfragen, ob dies tatsächlich nicht systematisch ist oder ob es in diesem Fall auf das Merkmal nicht ankommt.

 

Zu kompliziert?

Eine Auswertung zum Check von Forderungskonten haben wir in zap Audit bereits integriert. Wenn Sie also eine automatische Prüfung Ihrer Daten benötigen, probieren Sie zap Audit doch einfach einmal aus. Für kleine Buchungskreise (< 50.000 BKPF Einträge) ist zap Audit kostenlos:

 

Preise