Wenn gezahlt wird ohne Rechnung ist wohl was faul...
Ist schon merkwürdig, wenn ein Lieferant bezahlt wird, obwohl die Rechnung (noch) nicht vorliegt, oder?!
Natürlich kann dies ein starkes Indiz für Fraud sein: Denn wer bezahlt schon in guten Glauben ohne vorliegenden Beleg? Und wenn es nicht in böser Absicht war einen Lieferanten bevor die Rechnung erhalten wurde zu bezahlen, so weisen solche Fälle dennoch fast immer auf andere Probleme hin. Im Geringsten wurden einfach nur falsche Datumsangaben gemacht. Selbst dann muss der Prüfer weitergehen und prüfen: War diese Falscheingabe absichtlich? Das ist jedoch eine weitergehende Frage.
Wir beschäftigen uns hier und jetzt erstmal damit wie wir herausfinden ob und wenn ja welche Rechnungen bezahlt wurden bevor sie (die Rechnung) vorlag. Dazu klären wir erstmal welche Daten wir für diese Analyse benötigen und wo ich diese in meinem ERP SAP finde.
Tabellen in SAP als Datenquelle
SAP wird bekanntermaßen in vielen, sehr vielen Unternehmen in Europa als ERP - System eingesetzt. So war und ist dies auch bei meinen auditierten Unternehmen der Fall.
Da die Daten für die Analyse, die wir machen wollen, nur aus dem Enterprise Ressource Planning - System (ERP) kommen, gehe ich kurz auf die Tabellen im SAP dafür ein. Doch die Auswertung geht selbstverständlich mit allen Tabellen, die mindestens Angaben über Buchungsnummer, Lieferant, Zahldatum, Wert und Rechnungsdatum verfügen.
Zurück also ins SAP: Hier nutze ich als Auditor für viele Prüfungshandlungen die in SAP hinterliegenden, relationalen Tabellen und ziehe diese mit dem Tabellen- oder Data Browser SE16 oder besser noch SE16n, sofern man speziell auf letzteren Zugriffsrechte hat.
Hier nutze ich nun die Tabelle "BSAK" als hauptsächlische Datenquelle. In dieser finde ich alles was ich für diese Prüfungshandlung brauche -und noch viel mehr. Diese Tabelle nennt sich "Sekundärindex Kreditoren" und soll nur ausgeglichene Posten enthalten.
Dazu ziehe ich dann noch die Tabellen "LFA1" mit Informationen über Lieferanten. Damit ich nachher einzelne Lieferanten nachher beim Namen nennen kann. Außerdem empfehle ich noch die Belegartentabelle und die Zahlungsbedingungen (Tabelle "T052U") mit der primären BSAK-Tabelle zu verknüpfen.
Wie das Verknüpfen von Tabellen in IDEA funktioniert, sprengt hier den Rahmen. Daher habe ich hier einen separaten Post über das visuelle Verbinden von Tabellen geschrieben.
Wenn´s schnell gehen soll, reicht die BSAK aus. Auch beim Import dieser Tabelle bitte darauf achten alle Datumsfelder als solche im richtigen Format ins IDEA zu importieren. Da wir eine Prüfung hinsichtlich Datum machen, weise ich hier extra nochmal darauf hin.
Sobald wir diese also ins IDEA importiert haben, überprüfen wir den Datensatz wie immer zuerst auf Richtigkeit und Vollständigkeit. Dies machen wir mit dem Abgleich der Summe der Datensätze und der Betragssumme im importierten Datensatz in IDEA mit diesen Werten in der Originaldatei in SAP oder Excel.
Bei der Datenanalyse bei Internal Audits des Einkaufs bin ich auf diese Prüfung gekommen.
Ich muss jedoch gestehen, dass ich einen Tippgeber bei dieser Idee hatte. Der Anstoß für diese Analyse ist aus dem Buch "Fraud and Fraud Detection von
Sunder Gee, erhältlich bei:
Auf der Downloadseite dieses Blogs findest Du ein IDEASkript, das die hier beschriebenen Analyseschritte des Datumsvergleiches beinhaltet. Lade es Dir dort kostenfrei herunter.
Generell ist das mit den Zugriffsrechten immer so eine Sache als Prüfer -interner wie externer. Doch auf die Transaktion SE16 muss man einfach Zugriff haben, um Prüfungen gemäß Prüfungsstandards ausführen zu können.
Im Netz gibt es eine Menge an Auflistungen über wichtige SAP Tabellen. Als ersten Überblick empfehle ich diese Webseiten:
Je nach Aufbau des jeweiligen SAP, gibt es bis zu 150.000 Tabellen in dem ERP. Was der Einzelne da braucht, ist daher auch recht individuell. Den Überblick was da wichtig und unwichtig für einen ist erhält man nur durch Übung in dem jeweiligen System. Also ran an die Tabellen!
Darüber hinaus helfen die Feldstatistiken bei der Überprüfung des importierten Datensatzes. Diese findest Du rechts unter der "Eigenschaften". Hier kannst Du die Summe der Wertfelder mit der Originaldatei abgleichen, prüfen ob Negativwerte enthalten sind oder auch in Datumsfeldern nach frühestem und spätestem Datum in der Datei schauen und ob der gewünschte Zeitraum in der Datei enthalten ist:
Anschließend gilt es noch kurz zu überprüfen, ob die Informationen aus den verknüpften Tabellen ebenso vollständig sind. Wenn hier etwas fehlt, muss man meistens im Ursprungssystem nachschauen, ob die Information dort nicht hinterlegt ist oder ob es beim Import oder Verknüpfen Schwierigkeiten gibt. Doch dazu auch mehr in dem entsprechenden Blogartikel.
Datentabelle vorbereiten und Überblick verschaffen
Generell verschaffe ich mir nachdem die Daten korrekt ins IDEA geladen sind, einen Überblick über das was da nun vor mir liegt. Dabei hilft ein weiterer Blick in die Feldstatistiken. Doch darüber hinaus freunde ich mich auch mit der Tabelle an, indem ich schaue welche Informationen sind überhaupt vorhanden: Gerade bei Tabellen aus der SE16 in SAP werden, in der Regel und wie oben zu sehen, keine eindeutigen Spaltenbezeichnungen ins IDEA übernommen.
Damit Du nun weißt, was die einzelnen Spalten bedeuten und welche für die aktuelle Analyse wichtig sind, hilft (sofern man es nicht schon aus den Daten erahnen kann) nur der Blick zurück ins SAP. Drücke in der jeweiligen Tabelle in SAP dazu die Tastenkombi "STRG+F9". Damit werden alle Spaltenbezeichnungen angezeigt.
Finde damit nun die Spalten die wir für unsere Analyse brauchen:
Das ist die Buchungsnummer, der Lieferant, der Betrag und natürlich das Buchungs- und das Rechnungs- oder besser gesagt das Belegdatum.
Noch weitreichendere Aussagen kann man treffen, wenn man statt des Buchungsdatums sogar das Datum der Zahlung hat. Mit der BSAK kann man da das "AUGLDT", also das Ausgleichsdatum verwenden. Das ist das Datum an dem in SAP die Buchung zur Zahlung frei gegeben wurde. Vorsicht: Das ist nicht das tatsächliche Zahldatum, da meistens die Zahllaufliste außerhalb von SAP an die Hausbank weitergegeben wird.
Damit wir diese übersichtlich und beisammen haben, ziehen wir uns diese Spalten soweit wie möglich nach links.
Jetzt haben wir alles beisammen. Nun geht es los mit dem Anhängen einer neuen Spalte. Dazu mit der rechten Maustaste auf die Tabelle klicken und "Feld anhängen" wählen.
Im nächsten Feld einen Namen für die neue Spalte eingeben und als Feldtyp "Rechenfeld-Numerisch" belassen.
Als nächstes neben dem Feld "Parameter" auf den Gleichungseditor klicken, um in eben diesen zu gelangen.
Der Gleichungseditor öffnet sich. Hier können wir -wie in Microsoft Excel- Formeln eingeben, die dann in der neu erstellten Spalte berechnet werden.
Hier suchen wir uns zuerst die richtige Formel, die da wäre: "@Age". Sie ermittelt die Differenz in Tagen zwischen zwei Datumswerten. Also genau das was wir brauchen. Top. Also doppelklicken oder die Formel in den Gleichungseditor rüberziehen.
Wie in der Erklärung zur Formel im rechten Kasten steht, fügen wir als erstes Datum das jüngste ein. Das ist in unserem Fall das Buchungsdatum. Bei mir (und das ist bei SAP Tabellen meistens der Fall) ist das die Spalte "BUDAT". Wir fügen diese also in die Formel ein.
Als zweites Datum fügen wir folglich das Belegdatum, was in diesem Fall "BLDAT" heißt. Die Formel muß bei Dir den Spaltennamen entsprechend dann so ausschauen wie im zweiten Bild des Gleichungseditors.
Zum Abschluss die Formel mit dem Button "Gleichung überprüfen" oben links oder durch Drücken von "STRG+P" immer nochmal prüfen und dann mit "Überprüfen und schließen" links daneben oder durch Drücken von "STRG+U" den Gleichungseditor verlassen.
Mit "ok" fügen wir endlich die neue Spalte mit unserer Formel an. Diese Spalte kannst Du um einen ersten Überblick zu bekommen aufsteigend indizieren. Negative Werte bedeuten, dass tatsächlich Rechnungen eingebucht wurden, obwohl sie noch garnicht vorlagen. Theoretisch!!
Man beachte die Ausrufezeichen! Denn wie so oft in der Datenanalyse, kommt es bei der Analyse auf die Qualität der Daten an und die hängt in unserem Fall stark von der Eingabe ins System ab. Soll heißen: Nur weil wir hier negative Werte rausgefunden haben, haben wir noch lange keinen Fraud aufgedeckt.
Dazu schauen wir uns die Belege mit negativen Werten in der neuen Spalte genauer im SAP an oder kontaktieren die entsprechende Abteilung, die die Buchung durchgeführt hat. In diesem Artikel geht es jedoch rein um die Datenanalyse. Was Du mit dem Ergebnis dieser Analyse machst, liegt dann in Deinem Ermessen.
Für die weitergehende Prüfung der Rechnungen die vor Eingang gebucht oder gar gezahlt wurden, extrahieren wir sie in eine eigene Datei. Dazu gehen wir oben links im Menüpunkt "Analyse" auf "Indiziert". Dort öffnet sich folgendes Feld:
Wähle dort die soeben erstellte Spalte mit der Datumsdifferenz im Punkt Feldnamen aus. Darunter in "Wert ist" möchten wir alle Zeilen extrahieren die kleiner oder gleich Null sind. Damit bekommen wir alle Buchungen oder Zahlungen, die vor dem Belegdatum gemacht wurden. Schließlich benenne die neue Datei und klicke auf "Ok". Damit haben wir diese Analyse abgeschlossen.
Das Erstellen der neuen Spalte brauchst Du nicht händisch zu machen. Ich habe es Dir hier gerne zum Selbermachen beschrieben. Doch ich habe ein IDEASkript für diese Auswertung erstellt. Damit führst Du die oben beschriebenen Schritte im Handumdrehen und noch schneller durch.
Lade das Skript hier kostenlos runter und in das IDEA ein und los geht´s!
Kommentar schreiben