Bild von Prof. Dr. Nick Gehrke

Verfasst von

Prof. Dr. Nick Gehrke

Surveillance and controlling at workplace

In diesem Blog Beitrag kommen wir noch einmal auf den 3-Way-Match zurück. Diesmal geht es darum, dass man am Anfang eines Einkaufsprozesses bestellt und zum Schluss gibt es natürlich eine Rechnung. Interessant wird es, wenn plötzlich die Bestellbeträge von den Rechnungsbeträgen abweichen. Und besonders interessant wird es, wenn auf der Rechnung mehr Euros stehen als in der Bestellung. Ich zeige Ihnen, wie Sie solche Fälle in SAP finden.

 

Der 3-Way-Match ist eine klassische interne Kontrolle und stellt darauf ab das Mengen und/oder Beträge an den drei Punkten Bestellungen – Wareneingang – Rechnung übereinstimmen (müssten). Diesmal geht es um die Übereinstimmung Bestellung – Rechnung: und zwar wertmäßig. Das Thema 3-Way-Match hatten wir schon häufiger im Blog. Hier finden Sie die anderen Artikel zu dem Thema:

 

Wie hoch waren die Rechnungsbeträge für die bestellten Leistungen?

Um festzustellen, wie hoch die Rechnungsbeträge waren, muss pro Bestellposition ermittelt werden, wie hoch die Rechnung oder auch die Rechnungen dafür waren, wenn für eine Bestellposition mehrere Rechnungen geschickt wurden. Zum Glück steht das "Schicksal" einer Bestellposition mit allen Wareneingängen und Rechnungseingängen in der zentralen Tabelle EKBE ("Historie zum Einkaufsbeleg"). Folgendes Query ermittelt alle Rechnungsbeträge pro Bestellposition in Belegwährung. Wenn Sie das in Ihrem SAP System ausprobieren wollen, verwenden Sie die SAP Transaktion "DBACOCKPIT" und navigieren über "Diagnose" zu "SQL-Editor" (getestet auf einer SAP HANA):

 

1 SELECT MANDT, EBELN, EBELP,

Nummer der Bestellung, sowie der Bestellposition

SUM(CASE WHEN SHKZG='S' THEN WRBTR ELSE 0 END) AMOUNT_IN,

Summe des Rechnungseingangs

SUM(CASE WHEN SHKZG='H' THEN WRBTR ELSE 0 END) AMOUNT_OUT,

Summe der z.B. reklamierten Warenbeträge (z.B. wenn auf die Bestellung Gutschriften verbucht wurden)

SUM(CASE WHEN SHKZG='S' THEN WRBTR ELSE 0 END) - SUM(CASE WHEN SHKZG='H' THEN WRBTR ELSE 0 END) AMOUNT_TOTAL

Gesamt saldierter Rechnungswert

FROM EKBE

Tabelle der "Historie zum Einkaufsbeleg"

WHERE BEWTP='Q'

Schlüsselung für Rechnungsvorgänge

GROUP BY MANDT, EBELN, EBELP

 

 

Als Ergebnis kommen in meinem Testdatensatz folgende Ergebnisse:

MANDT

EBELN

EBELP

AMOUNT_IN

AMOUNT_OUT

AMOUNT_TOTAL

100

7700256133

10

6,28 €

- €

6,28 €

100

7700248864

10

38,16 €

- €

38,16 €

100

7700249972

10

867,90 €

- €

867,90 €

100

7700256269

10

3.754,73 €

- €

3.754,73 €

100

7600229141

10

23,00 €

- €

  23,00 €

100

7600256269

30

5.476,45 €

- €

5.476,45 €

 

Man sieht also sehr genau, wie viel in Rechnung gestellt wurde, herunter gebrochen bis auf die einzelne Bestellposition.

 

Vergleich mit der Bestellung

Interessant wird es natürlich erst, wenn wir die Rechnungswerte verproben können mit den Bestellwerten, um zu sehen wo Leistungen plötzlich viel teuer wurden als bei der Bestellung bekannt war. Dazu kann man folgendes Query verwenden:

 

2 SELECT INV.EBELN, INV.EBELP, INV.AMOUNT_TOTAL, EKPO.NETWR, 100.0 * AMOUNT_TOTAL / NETWR-100 PERCENT_TOO_MUCH FROM (

Nummer der Bestellung, der Bestellposition in der Bestellung, Rechnungssumme, Bestellsumme, Kalkulation, wie viel prozentual in der Rechnung mehr fakturiert wurde

SELECT MANDT, EBELN, EBELP,
SUM(CASE WHEN SHKZG='S' THEN WRBTR ELSE 0 END) AMOUNT_IN,
SUM(CASE WHEN SHKZG='H' THEN WRBTR ELSE 0 END) AMOUNT_OUT,
SUM(CASE WHEN SHKZG='S' THEN WRBTR ELSE 0 END) - SUM(CASE WHEN SHKZG='H' THEN WRBTR ELSE 0 END) AMOUNT_TOTAL
FROM EKBE
WHERE BEWTP='Q'
GROUP BY MANDT,EBELN,EBELP) INV

Exakt das Query von weiter oben

LEFT JOIN EKPO ON (EKPO.MANDT = INV.MANDT AND EKPO.EBELN = INV.EBELN AND EKPO.EBELP = INV.EBELP)

Ein JOIN auf die SAP Tabelle EKPO, weil sich die zugehörigen Bestellpositionen in der EKPO befinden

WHERE INV.AMOUNT_TOTAL > EKPO.NETWR

nur Fälle auflisten, wo die Rechnungssumme über der Bestellsumme lag

ORDER BY 100.0*AMOUNT_TOTAL/NETWR-100 DESC

Sortierung nach den Fällen mit der höchsten prozentualen Abweichung

 

Mit dieser Auswertung kann man nun sehr gut sehen in welchen Fällen prozentual viel mehr in Rechnung gestellt wurde als bei der Bestellung angenommen:

 

EBELN

EBELP

AMOUNT_TOTAL

NETWR

PERCENT_TOO_
MUCH

7700226971

30

9,60 €

3,10 €

209,68

7700213638

10

7,37 €

2,52 €

192,46

7700229753

10

25,90 €

10,26 €

152,44

7700249155

80

15,10 €

8,15 €

85,28

7700242542

10

8,93 €

4,93 €

81,14

7700229244

20

11,76 €

6,86 €

71,43

 

Man sieht, dass die obersten Zeilen Fälle sind, wo prozentual viel mehr berechnet wurde (AMOUNT_TOTAL) als der Bestellwert (NETWR). Die gelisteten Fälle sind prozentual beeindruckend, jedoch vom absoluten Betrag eher vernachlässigbar. Also in diesem Datenausschnitt alles halb so schlimm! Aber daraus lässt sich schon eine Empfehlung ableiten: achten Sie auf Fälle mit hoher prozentualer Abweichung, welche auch in Bezug auf den Absolutbetrag hoch sind. Wenn solche Fälle ersichtlich sind, gehen Sie in die Einzelfallprüfung solcher Bestellungen und klären als Moderator gemeinsam mit der Fachabteilung, wie es zu solchen Fällen kommen kann.

 

Zu kompliziert?

Fragestellungen, wie unterschiedliche Summen auf Bestellungen und Rechnungen, oder Überlieferungen haben wir in zap Audit bereits als beta Indikatoren implementiert. Wenn Sie zap Audit einmal kostenlos testen wollen, dann haben Sie jederzeit mit einem kleinen Buchungskreis die Möglichkeit. Wenn Sie Fragen zu einem kostenlosen und unverbindlichen "Ausprobieren" haben, dann vereinbaren Sie ganz einfach einen Termin, um all Ihre Anliegen adressieren zu können:

 

Termin vereinbaren

 

Kommentare