Die Crux mit der Erkennung und Zuordnung von Zahlungsvorgängen

Bei der Analyse von Buchhaltungen stellen sich häufig zwei sehr artverwandte Fragen:

  1. Beim Zusammenmischen mehrerer Buchhaltungen eines Firmenkonsortiums und Betrachtung der Geldkonten (also in erster Linie der Banken) soll häufig herausgefunden werden, welche Überweisungen das System (also den Buchungskreislauf) verlassen haben. Anders ausgedrückt soll festgestellt werden, welche Überweisungen innerhalb des Konsortiums geblieben sind, da sie nur von einer Bank zur anderen überwiesen wurden und welche Überweisungen nach außerhalb des Konsortiums gegangen sind (u.a. an potentielle Anfechtungsgegner)
  2. Beim Betrachten von Kreditoren soll festgestellt werden, welche Rechnungen tatsächlich bezahlt wurden.

Die Beantwortung dieser Fragen (eine eingespielte digitale Buchhaltung vorausgesetzt) ist teilweise überaus kompliziert.

Die erste Frage lässt sich noch vergleichsweise einfach beantworten:
Wenn die Liste der Buchungen (bzw. das Journal) mehrerer Geldkonten (also Bankkonten) betrachtet wird, dann muss eine Haben-Buchung (ein Geldausgang) zeitnah auf einem anderen Geldkonto als identische Soll-Buchung wieder auftauchen. Zeitnah bedeutet in diesem Zusammenhang, dass der zum Geldausgang (Haben-Buchung) zugehörige Geldeingang (Soll-Buchung) spätestens etwa fünf Tage später auf dem anderen Konto erscheinen muss (Wochenende plus ggf. vorhandene Feiertage). Bei internationalen Innercompany-Überweisungen könnte sich die Zeitspanne durchaus auf 10 Tage ausdehnen. Der minimale Zeitabstand zwischen Geldausgang und Geldeingang innerhalb eines Bankkontenkreises beträgt dagegen 0 Tage (Überweisungen zwischen Unterkonten erfolgen in der Regel am selben Tag).
Eine Buchhaltung muss also nur dahingehend geprüft werden, ob zu einer Soll-Buchung auf einem Konto innerhalb von 0 bis 5 (oder 10) Tagen eine identische Haben-Buchung auf einem anderen Konto erscheint. Sicherlich sind Sonderkonstellationen denkbar, bei denen diese Regel nicht gilt, ein entsprechender Abgleich wird jedoch den Großteil der einander zuzuordnenden Buchungen auffinden.
Die in diesem Rahmen nicht zugeordneten Buchungen sind Abflüsse, d.h. das Geld hat das Buchungssystem (oder den zum Konsortium gehörenden Bankenkreislauf) verlassen.
Mit ähnlicher Vorgehensweise können Debitoren betrachtet werden, denn die Geldeingänge auf gestellte Rechnungen folgen der gleichen Logik (allerdings mit anderen Zeiträumen). Bei der Betrachtung von Debitoren ergibt sich jedoch eine Problematik, die essentiell auch bei den Kreditoren aufritt.

Die Betrachtung der Bezahlung von Kreditoren ist im einfachsten Fall spiegelverkehrt identisch zur ersten Frage (allerdings mit anderen Zeiträumen, da Rechnungen in der Regel ja nicht sofort, sondern innerhalb eines Zahlungsziels bezahlt werden).
Nun könnte man einfach sagen: Ob eine Kreditorenrechnung bezahlt wurde, ist daran zu erkennen, dass der Kontensaldo irgendwann wieder 0 werden muss. So einfach ist es jedoch häufig nicht, denn bei einer steten und umfangreichen Geschäftsverbindung wird es ständig Überschneidungen von neu gestellten und alten bezahlten Rechnungen geben. Der Kreditoren-Kontensaldo wird entsprechend selten bei 0 stehen.
Wird eine Rechnung in der gestellten Form irgendwann bezahlt, kann eine Prüfung wie im Fall 1 erfolgen. Dieses Mal ist die erste Buchung eine Soll-Buchung und es muss innerhalb des Zahlungszeitraums eine zugehörige Haben-Buchung vorhanden sein.
Wird eine Rechnung jedoch nicht in einem Stück bezahlt (also Ratenzahlung) oder mehrere Rechnungen zusammengefasst mit einer Überweisung bezahlt, entsteht eine komplizierte Zuordnung. Tatsächlich handelt es sich hierbei um ein Knapsack-Problem. Solche Probleme gehören in die Klasse der NP-Vollständigkeits-Probleme und sind nicht ohne weiteres lösbar.

Für die Buchhaltung übersetzt lautet die Frage:
Was ist die perfekte Kombination einer beliebigen Anzahl von Beträgen (Rechnungen), von denen ein Teil (oder alle) zusammen einen anderen Betrag (Zahlung) ergeben? Die Fragestellung kann weder durch einfache Algorithmen noch durch Suchen schnell beantwortet werden. Stattdessen muss eine kombinatorische Suche erfolgen, deren Aufwand exponentiell mit der Anzahl der beteiligten Zahlen (Buchungen) steigt. Nicht umsonst ist die Lösung von Knapsack-Problemen die Grundlage diverser Kodierungssysteme.
Bei der automatischen Zuordnung von Buchungen kann der auszuwertende Zahlenbereich (die Anzahl der Buchungen) ggf. durch Anwenden bestimmter Regeln eingegrenzt werden, d.h. der Aufwand wird verkleinert. Bei der Buchhaltungsanalyse können allerdings nicht alle Zuordnungs-Kombinationen zahlenbasiert gefunden werden können. Häufig sind Zusatzinformationen notwendig (z.B. Buchungstexte oder weitere Buchhaltungsinformationen), die dann jedoch nur manuell angewendet werden können.

Eine spezielle Herausforderung stellt sich jedoch  bei „n zu m“ Zuordnungen, d.h. eine beliebige Anzahl von Rechnungen wird in einer (mehr oder weniger) beliebigen Stückelung bezahlt.
Auf die Rucksack-Thematik angewendet bedeutet dies:
Bei einer beliebig großen Anzahl verschieden großer Rucksäcke (Rechnungen und Split-Rechnungen) und einer beliebig großen Zahl unterschiedlicher Steine (Zahlungen) sucht man die perfekte Kombination, bei der sämtliche vorhandenen Steine so verteilt werden, dass eine möglichst große Zahl an Rucksäcken perfekt gefüllt ist. Standard-Algorithmen sind außerstande, dies zu lösen. Daraus folgt, dass dergestalte Buchhaltungen nur mit Zusatzinformationen (man würde vielleicht von Intuition sprechen)  dekodiert werden.

INVEP.Quantum enthält Algorithmen zum Lösen (bzw. zur Zuordnung) von Problemen der ersten Kategorie sowie  Suchprogramme zur Lösung einfacher bis mittlerer Konstellationen der zweiten Kategorie. Insbesondere bei komplexen Buchhaltungen oder Kontenkonstellationen der zweiten Kategorie bricht INVEP.Quantum die Zuordnungssuche für einzelne Buchungen jedoch nach einer gewissen Zeit der erfolglosen Suche ab. Zuordnungen der Kategorie „n zu m“ versucht INVEP.Quantum derzeit gar nicht erst zu lösen.

Dieser Beitrag wurde unter Buchhaltung, Datenanalyse veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert