3-Way-Match zweiter Teil: Günstig bestellt, teuer gekauft – Wo gibt’s denn sowas?

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):

1SELECT 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_TOTALGesamt saldierter Rechnungswert
FROM EKBETabelle 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:

MANDTEBELNEBELPAMOUNT_INAMOUNT_OUTAMOUNT_TOTAL
1007700256133106,28 €– €6,28 €
10077002488641038,16 €– €38,16 €
100770024997210867,90 €– €867,90 €
1007700256269103.754,73 €– €3.754,73 €
10076002291411023,00 €– €  23,00 €
1007600256269305.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:

2SELECT 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.NETWRnur Fälle auflisten, wo die Rechnungssumme über der Bestellsumme lag
ORDER BY 100.0*AMOUNT_TOTAL/NETWR-100 DESCSortierung 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:

EBELNEBELPAMOUNT_TOTALNETWRPERCENT_TOO_
MUCH
7700226971309,60 €3,10 €209,68
7700213638107,37 €2,52 €192,46
77002297531025,90 €10,26 €152,44
77002491558015,10 €8,15 €85,28
7700242542108,93 €4,93 €81,14
77002292442011,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.

Artikel teilen

Facebook
Twitter
XING
LinkedIn