Prof. Dr. Nick Gehrke

Verfasst von

Prof. Dr. Nick Gehrke

Businessman standing against room with large window looking on city

Untersucht der Auditor seinen Buchungsstoff, fällt häufig das Stichwort: Journal Entry Testing. Häufig neben den höchsten, häufigsten und glattesten Beträgen ist auch die Frage nach: Buchungen am Wochenende. Buchungen am Wochenende können Sie mit zap Audit natürlich auch sofort entdecken. Aber uns fällt immer häufiger auf: Am Wochenende wird regelmäßig gearbeitet. Das Wochenende sind nicht wirklich Tage, an denen im Regelbetrieb nichts passiert. Was also nützt eine Auswertung der Buchungen am Wochenende und wie kann man Tage entdecken, an denen wirklich nicht viel los war und jemand vielleicht etwas unbeobachtet gebucht hat? Wir zeigen es Ihnen im SAP-System und mit einigen SQL-Tricks!

Am Wochenende passiert im Betrieb doch immer wieder eine ganze Menge: Automatische Prozesse werden gebucht oder im Lager kommen am Samstag und Sonntag immer wieder Wareneingänge an. Ganz getreu dem Motto:

The Company Never Sleeps!

Wann aber war wirklich wenig los im Betrieb und wann gab es dementsprechend Gelegenheit unbeobachtet etwas zu buchen? Wir gehen dieser Frage nach und entwickeln eine Antwort mit ein paar einfachen statistischen Überlegungen.

Was ist los an den Wochentagen?

Dass am Wochenende immer durchgearbeitet wird, stimmt sicherlich so für die meisten Firmen nicht. Man muss viel mehr betrachten, welche Tätigkeiten und Geschäftsvorfälle auch am Wochenende durchgeführt werden und welche nicht. Deshalb erscheint es eine gute Idee, Geschäftsvorfälle an den Belegarten zu unterscheiden.

Ganz unkompliziert gestaltet sich eine Auswertung mit zap Audit. Mit der neuen Version werden wieder einige Indikatoren "geschärft" und neue hinzugefügt. So z.B. auch: "Buchungen an anderen Tagen als normalerweise gebucht wird". Zugegebenermaßen waren wir mal wieder nicht sehr kreativ bei der Namenswahl. Wenn Sie also eine gute Idee haben, dann lassen Sie es uns in den Kommentaren wissen. Die Ergebnisse in zap Audit sehen dann z.B. folgendermaßen aus:

 

ausreisser-beim-Journal-Entry-Testing-zap-audit

 

Um die nachfolgend beschriebene Analyse direkt im SAP auszuprobieren, rufen Sie ganz einfach die Transaktion "DBACOCKPIT" auf. Im linken Baum über "Diagnose" zum "SQL-Editor" navigieren und schon kann es losgehen. Die nachfolgenden SQL Queries haben wir allesamt bereits auf einer SAP HANA Datenbank für Sie getestet.

Wir untersuchen zunächst, wie hoch die durchschnittliche Beleganzahl und die Standardabweichung dieser Beleganzahl pro Wochentag sind. Und dies für jede Belegart separat:

 

SELECT BLART, WEEKDAY, COUNT(DISTINCT CPUDT) DAYS_POSTED, AVG(NUMBER_DOCS) AVG_DOCS, STDDEV(NUMBER_DOCS) STDDEV_DOCS FROM
(

  • SELECT BLART, DAYNAME(CPUDT) WEEKDAY, CPUDT, COUNT(DISTINCT BELNR) NUMBER_DOCS FROM BKPF WHERE BUKRS='1000' AND GJAHR='2018' GROUP BY BLART, CPUDT
)
GROUP BY BLART, WEEKDAY
ORDER BY BLART, AVG_DOCS DESC

Hinweis: Ändern Sie die rot markierten Felder auf Ihren Untersuchungsgegenstand.

 

Schauen wir uns einen Ausschnitt aus der Ergebnismenge an für die Belegart RE (Rechnungseingang):

 

BLART WEEKDAY DAYS_
POSTED
AVG_
DOCS
STDDEV_
DOCS
RE TUESDAY 49 236 104
RE MONDAY 48 229 93
RE WEDNESDAY 49 222 93
RE THURSDAY 46 203 82
RE FRIDAY 45 168 63
RE SATURDAY 7 108 53
RE SUNDAY 1 2 null

 

Was sagt uns das Ergebnis?

Offenbar werden Eingangsrechnungen am Wochenende nicht wirklich häufig bearbeitet. Am Sonntag schon gar nicht. In dem ganzen Jahr wurden lediglich zwei Rechnungen an einem Sonntag gebucht. Die wären es auf jeden Fall schon mal Wert angesehen zu werden, wenn man denn nach Belegen sucht bei denen "im Dunklen gut Munkeln" ist.

Jetzt aber machen wir eine einfache statistische Überlegung. Wie war das noch mit Mittelwert und Standardabweichung? Eine Daumenregel ist: Wenn man eine Normalverteilung der Beleghäufigkeiten an den Wochentagen unterstellt, dann müssten ca. 95% aller Wochentage ein Belegvolumen innerhalb von dem Intervall haben:

 

Mittelwert (AVG_DOCS) +/- 2 * Standardabweichung (STDDEV_DOCS)

 

Das nennt sich dann Konfidenzintervall.
Belegvolumina oberhalb von:

 

Mittelwert + 2 * Standardabweichung

und unterhalb von

Mittelwert - 2 * Standardabweichung

 

dürften jeweils nur an ca. 2,5% dieser Wochentage vorkommen.

Wir interessieren uns für Tage mit besonders wenig Volumen und nutzen das SQL-Query von gerade eben noch einmal und erweitern es lediglich um die untere Konfidenzgrenze:

 

SELECT BLART, WEEKDAY, COUNT(DISTINCT CPUDT) DAYS_POSTED,AVG(NUMBER_DOCS) AVG_DOCS, STDDEV(NUMBER_DOCS) STDDEV_DOCS,AVG(NUMBER_DOCS)-2*STDDEV(NUMBER_DOCS) LOWER_LIMIT FROM
(

  • SELECT BLART, DAYNAME(CPUDT) WEEKDAY, CPUDT, COUNT(DISTINCT BELNR) NUMBER_DOCS FROM BKPF WHERE BUKRS='1000' AND GJAHR='2018' GROUP BY BLART, CPUDT
)
GROUP BY BLART,WEEKDAY
ORDER BY BLART,AVG_DOCS DESC

Hinweis: Ändern Sie die rot markierten Felder auf Ihren Untersuchungsgegenstand.

 

Schauen wir uns wiederum die Belegart RE an:

BLART WEEKDAY DAYS_
POSTED
AVG_
DOCS
STDDEV_
DOCS
LOWER_
LIMIT
RE TUESDAY 49 236 103,96 28,08
RE MONDAY 48 229 93,11 42,78
RE WEDNESDAY 49 222 92,75 36,50
RE THURSDAY 46 203 82,34 38,31
RE FRIDAY 45 168 62,73 42,54
RE SATURDAY 7 108 62,73 42,54
RE SUNDAY 1 2 null null

 

Das LOWER_LIMIT ist stets größer 0 Belege. Das bedeutet, wir sollten jetzt prüfen, ob es für die Belegart RE Tage gibt mit einer Anzahl von Buchungen unterhalb von LOWER_LIMIT. Dies könnte man als seltenes Ereignis werten z.B. könnte es ein Feiertag gewesen sein. Und trotzdem wurden aber Rechnungen gebucht!

Wir untersuchen jetzt einmal den Mittwoch und prüfen, ob es einen Mittwoch gab, an dem weniger als 36 Rechnungen gebucht wurden:

 

SELECT BLART, DAYNAME(CPUDT) WEEKDAY, CPUDT, COUNT(DISTINCT BELNR) NUMBER_DOCS
FROM BKPF

  • WHERE BLART='RE' AND DAYNAME(CPUDT)='WEDNESDAY' AND BUKRS='1000' AND GJAHR='2018'
GROUP BY BLART, CPUDT
HAVING COUNT(DISTINCT BELNR) < 36;

Hinweis: Ändern Sie die rot markierten Felder auf Ihren Untersuchungsgegenstand.

 

In meinem Testdatensatz kommt dabei heraus:

BLART WEEKDAY CPUDT NUMBER_
DOCS
RE WEDNESDAY 26.12.2018 28
RE WEDNESDAY 20.06.2018 18

 

Das ist einigermaßen interessant. Der eine Mittwoch ist der 2. Weihnachtsfeiertag. Da hat wohl jemand in der Belegschaft vor dem Jahreswechsel etwas vergessen. Und der andere Mittwoch scheint Mitten im Sommerloch zu liegen.

Jetzt wissen wir, welches die Tage für diese Belegart ist, wann "im Dunkeln gut Munkeln" ist. Als Auditor können wir jetzt einen Blick gezielt auf solche Belege werfen. Wir kommen vollständig ohne die Prämisse aus, dass das Wochenende besonders "verdächtige" Tage sind. Die Analyse ist vollkommen dynamisch und stützt sich auf empirische Tatsachen.

Weitere Artikel aus der Reihe Journal Entry Testing finden Sie in diesem Artikel: Alle reden drüber - Wir machen's: Journal Entry Testing.

Haben Sie Fragen oder Anregungen zu den SQL Queries oder dem Vorgehen? Hinterlassen Sie einfach einen Kommentar!

zapliance Newsletter

Erhalten Sie wertvolle
News und Angebote zur Prüfung von SAP direkt in Ihr Postfach!

zapliance Kunden

Unsere Empfehlungen für Sie

Kommentare