Blog / success stories

Success-Story: Kontoauszug trifft Praxissoftware – wie eine Praxisgemeinschaft 9.000 Altbuchungen loswurde und keine offene Rechnung übersah

Wie wir für eine Praxisgemeinschaft Kontoauszüge automatisch mit dem Rechnungsbuch abgleichen – und rund 9.000 Altbuchungen aus der Arbeit genommen haben.

Symbolbild: Wand aus hunderten geschlossenen Holzschubladen, eine einzige steht offen und ist beleuchtet, darin liegt ein Blatt Papier

Kontoauszug trifft Praxissoftware: 9.000 Altbuchungen weniger – und keine offene Rechnung übersehen

Für eine Praxisgemeinschaft aus mehreren Firmen haben wir einen automatischen Zahlungsabgleich gebaut. Die Buchhaltung lädt Kontoauszüge hoch, das System gleicht jede Gutschrift gegen das Rechnungsbuch aus der Praxissoftware ab: Eindeutige Fälle verbucht es selbst, alles Zweifelhafte landet in einer Prüfliste. Ende September ging die entscheidende Ausbaustufe live – abgestimmt direkt im Termin mit dem Kunden. Seitdem sind rund 9.000 Zahlungen aus der Vergangenheit keine Arbeit mehr, und Fehlüberweisungen zwischen den Firmen werden nicht länger in einer handgepflegten Excel-Liste nachgehalten. Das Projekt beschreiben wir hier anonymisiert, ohne Kundennamen.

Die Herausforderung

Zahlungseingänge Rechnungen zuzuordnen klingt nach einer Aufgabe, die längst gelöst sein müsste. In der Praxis scheitert sie an Details:

  • Patienten überweisen mit gespeicherter Vorlage. Die Gemeinschaft besteht aus mehreren Firmen mit eigenen Konten. Wer einmal an die eine überwiesen hat, nimmt beim nächsten Mal dieselbe Vorlage – auch wenn die neue Rechnung von der anderen Firma stammt. Das Geld ist da, nur auf dem falschen Konto, und zwischen den Firmen baut sich ein Saldo auf.
  • Mahngebühren verändern Beträge. Mal wird die Gebühr mitbezahlt, mal nur der Rechnungsbetrag. Ein simpler Vergleich „Betrag gleich Rechnung“ greift dann ins Leere.
  • Die Buchhaltung verbucht von Hand und ist im Rückstand. Was bezahlt ist, steht erst dann in der Praxissoftware, wenn es jemand eingetragen hat.
  • Ein System, das mitten im laufenden Betrieb startet, erbt die Vergangenheit. Die ersten hochgeladenen Kontoauszüge reichten weit zurück. Fast alles darin war längst verbucht – für das neue System sah es trotzdem aus wie Arbeit. Nach dem ersten Upload standen 7.654 Zahlungen in der Prüfliste. Die Liste war damit unbrauchbar.
  • Ein Fehler kostet hier echtes Geld. Eine falsch als bezahlt markierte Rechnung wird nie wieder angemahnt. Lieber hundertmal zu oft nachfragen als einmal falsch verbuchen.

Unsere Lösung

1. Eindeutig heißt: Rechnungsnummer und Betrag

Die Bankseite ist bewusst einfach: Die Buchhaltung lädt Kontoauszüge im Format camt.053 hoch, das jede Bank liefert. Gutschriften werden gespeichert, doppelt hochgeladene oder sich überschneidende Auszüge erkennt das System und zählt sie nur einmal. Das Rechnungsbuch liefert die Praxissoftware über eine Schnittstelle, und bei jeder neuen Lieferung läuft der Abgleich erneut. Eine Zahlung, die vor ihrer Rechnung eintraf, findet so beim nächsten Abgleich von selbst ihr Gegenstück.

Automatisch verbucht wird nur, was eindeutig ist: Die Rechnungsnummer steht im Verwendungszweck und der Betrag passt. Sobald irgendetwas mehrdeutig ist – mehrere Rechnungsnummern, ein abweichender Betrag, eine stornierte Rechnung, ein nicht zugeordnetes Konto –, entscheidet ein Mensch. Die Datenbank selbst erzwingt, dass eine Rechnung höchstens einmal automatisch beglichen wird: Kommt eine zweite Überweisung für dieselbe Forderung, ist das ein Prüffall und keine zweite Verbuchung.

Was dabei nicht im Spiel ist: geschätzte Wahrscheinlichkeiten und KI. Die Regeln sind fest, jede Zuordnung trägt eine Begründung in ganzen Sätzen, und derselbe Datenbestand führt immer zum selben Ergebnis.

2. Die Prüfliste: Der Mensch entscheidet – und die Maschine merkt es sich

In der Prüfliste steht zu jeder Zahlung, welche Rechnung in Frage kommt und warum das System nicht selbst verbucht hat. Bestätigen, ablehnen, einer anderen Rechnung zuordnen: Jede Entscheidung wird als neue Zeile festgehalten, keine wird überschrieben. Dasselbe gilt für das Audit-Protokoll, das jeden Upload, jeden Abgleich und jede Entscheidung aufzeichnet – Ändern und Löschen sind dort technisch ausgeschlossen.

Ein Fehler aus unserer eigenen Qualitätssicherung zeigt, worauf es dabei ankommt. In der ersten Fassung konnte eine Zuordnung, die ein Mensch ausdrücklich abgelehnt hatte, später doch automatisch verbucht werden – nämlich dann, wenn sich die Lage änderte und die Rechnung plötzlich „sauber“ passte. Genau das darf nicht passieren: Jemand hat gesagt, dass diese Paarung falsch ist. Seitdem gilt: Eine abgelehnte Zuordnung erreicht nie wieder den automatischen Weg. Ändern sich die Fakten, taucht der Fall erneut in der Prüfliste auf, mit dem Hinweis „Schon abgelehnt“.

3. Der Stichtag „Abgleich ab“ – und die eine Ausnahme, die ihn sicher macht

  • 7.654 Prüffälle nach dem ersten Upload
  • 7.367 davon als längst verbucht erkannt
  • 61 Zahlungen blieben bewusst in der Arbeit

Die 7.654 Prüffälle nach dem ersten Upload waren fast alle dasselbe: Zahlungen auf Rechnungen, die in der Praxissoftware längst als bezahlt geführt wurden. Eine erste Regel hat diese Fälle als „historisch“ erkannt und 7.367 davon erledigt. Übrig blieben 350 – und die Auswertung zeigte, dass 188 davon dasselbe Muster waren, nur mit einer mitbezahlten Mahngebühr. Dazu kamen 332 alte Fehlüberweisungen und 1.238 Zahlungen auf Rechnungen aus früheren Jahren, die die Praxissoftware gar nicht mehr liefert.

Statt für jede Spielart der Vergangenheit eine weitere Sonderregel zu schreiben, bekam der Mandant eine einzige Einstellung: „Abgleich ab“. Zahlungen, die vor diesem Tag gebucht wurden, bleiben gespeichert und sichtbar, werden aber niemandem zur Entscheidung vorgelegt. Rund 9.000 Zahlungen sind damit keine Arbeit mehr.

Ein Stichtag allein wäre allerdings gefährlich. Die Buchhaltung ist im Rückstand – es gibt also Zahlungen aus der Zeit davor, die tatsächlich nie verbucht wurden. Die würden still mitverschwinden. Deshalb gilt eine Ausnahme: Ist die zugehörige Rechnung in der Praxissoftware noch offen, bleibt die Zahlung ganz normale Arbeit, egal wie alt sie ist. Die offene Rechnung ist der Beleg, dass niemand sie verbucht hat. Im Echtbestand waren das 61 Zahlungen aus neun Monaten – 33 davon konnte das System sofort selbst zuordnen.

Die Ausnahme korrigiert sich selbst: Meldet die Praxissoftware die Rechnung später als bezahlt, fällt die Zahlung in den Bereich „vor dem Start“ zurück. Solange sie offen bleibt, fragt das System weiter nach.

Die offene Rechnung ist der Beleg, dass niemand sie verbucht hat.

Auch hier hat die Qualitätssicherung den entscheidenden Punkt gefunden: In der ersten Umsetzung fehlte genau diese Ausnahme, und die 61 Zahlungen wären in der Versenkung verschwunden. Für die Korrektur gilt eine strikte Vorgabe, die ein eigener Test absichert: Durch den Stichtag darf keine einzige Zahlung automatisch verbucht werden, die ohne ihn nicht ebenfalls automatisch verbucht worden wäre.

4. Fehlüberweisungen: aus der Excel-Tabelle wird eine Saldenübersicht

Eine Zahlung auf dem Konto der falschen Firma war zunächst grundsätzlich ein Prüffall. Im Termin mit dem Kunden wurde klar, dass das an der Sache vorbeigeht: Nennt die Zahlung genau eine Rechnungsnummer und stimmt der Betrag, gibt es nichts zu entscheiden. Was bleibt, ist der Ausgleich zwischen den Firmen – und den hielt die Buchhaltung bisher in einer Excel-Tabelle nach.

Seitdem werden eindeutige Fehlüberweisungen automatisch der richtigen Rechnung zugeordnet. Die Liste „Fehlüberweisungen“ ist keine Warteschlange für Entscheidungen mehr, sondern die Saldenübersicht zwischen den Firmen: wie viel in welche Richtung falsch geflossen ist, wie viel davon bereits ausgeglichen wurde und was noch offen steht. Jeder Ausgleich wird mit einem Klick markiert und protokolliert. Die Excel-Tabelle hat ausgedient.

Alles Mehrdeutige bleibt ein Prüffall wie zuvor. Und weil andere Mandanten das anders handhaben können, ist das Verhalten eine Einstellung und keine fest verdrahtete Regel.

5. Mahngebühren: ausbuchen statt stapeln

Die Mahngebühr soll Druck erzeugen. Zahlt jemand nur den Rechnungsbetrag, wird den drei Euro nicht hinterhergelaufen – so hat es der Kunde entschieden. Für den Abgleich heißt das: Die Rechnung gilt als beglichen, die Gebühr wird ausgebucht.

Ausgebucht heißt nicht versteckt. In der Übersicht der Abweichungen steht jede abgeschriebene Gebühr mit eigener Kennzeichnung und als Summe pro Monat, damit die Praxis sieht, worauf sie verzichtet. Festlegen lässt sich das je Firma in den Einstellungen: offen ausweisen, abschreiben oder nachfassen.

Auch hier lag die Tücke im Detail. In der ersten Fassung wurde eine Gebühr schon dann als „abgeschrieben“ gezählt, wenn die Zahlung aus einem anderen Grund noch auf eine Entscheidung wartete – die Kennzahl meldete also einen Verzicht, der nie stattgefunden hatte. Jetzt zählt eine Gebühr erst als abgeschrieben, wenn die Verbuchung tatsächlich steht, und die Kennzahl ist immer genau die Summe der Monatswerte.

6. Sammelzahlungen: Die Rechenarbeit macht das System

Überweist jemand mehrere Rechnungen in einem Betrag, teilt das System die Zahlung nicht eigenmächtig auf. Die Entscheidung bleibt beim Menschen, die Rechenarbeit aber nicht: Unter den vorgeschlagenen Rechnungen steht deren Summe neben dem Zahlbetrag, dazu ein Satz in Klartext – „Die Rechnungen ergeben genau den Zahlbetrag“ oder die Differenz in Euro. Was aufgeht, lässt sich durchwinken, alles andere bekommt die Aufmerksamkeit, die es braucht.

7. Regeln ändern, ohne im Bestand zu raten

Sechs Regelversionen in zwei Tagen, auf einem System mit echten Daten – das geht nur, wenn eine Änderung berechenbar ist. Drei Dinge sorgen dafür:

  • Jede Zuordnung kennt ihre Regelversion. Damit lässt sich jederzeit beantworten, welche Regeln eine Verbuchung erzeugt haben.
  • Probelauf vor dem Anwenden. Die Verwaltung kann den gesamten Bestand neu abgleichen lassen. Der erste Schritt ist immer ein Probelauf, der nur zeigt, was sich ändern würde – wie viele Zahlungen wohin wandern, wie viele Verbuchungen zurückgenommen würden. Erst danach lässt sich die Änderung anwenden. Entscheidungen von Menschen werden dabei nie überschrieben, sondern höchstens als Widerspruch ausgewiesen.
  • Importiertes wird nie verändert. Kontoauszüge und Lieferungen aus der Praxissoftware sind Fakten und bleiben, wie sie kamen. Alles Abgeleitete – Zuordnungen, Verbuchungen – lässt sich daraus jederzeit neu berechnen.

Wurde eine Verbuchung bereits an die Buchhaltung übergeben und fällt durch eine Regeländerung weg, verschwindet sie nicht einfach. Sie wird als Storno ausgewiesen.

8. Geld ist keine Kommazahl – und eine Bankdatei kein vertrauenswürdiger Inhalt

Zwei Grundsätze ziehen sich durch den gesamten Code. Beträge werden durchgehend als exakte Dezimalzahlen gerechnet, nie als Fließkommazahlen – bei einer Toleranz von einem Cent wäre jeder Rundungsfehler ein falscher Prüffall oder eine falsche Verbuchung.

Und eine hochgeladene Datei ist eine Eingabe von außen, auch wenn sie von der Hausbank stammt. XML-Dateien können Verweise auf andere Dateien des Servers enthalten oder sich beim Einlesen auf ein Vielfaches ihrer Größe aufblähen. Der Parser für die Kontoauszüge löst deshalb keine solchen Verweise auf, greift nie aufs Netz zu und weist jede Datei mit einer Dokumenttyp-Deklaration vollständig ab – ein echter Kontoauszug enthält so etwas nie. Diese Härtung ging am selben Tag live, an dem der Upload freigeschaltet wurde.

Das Ergebnis

  • Rund 9.000 Altbuchungen sind keine Arbeit mehr – 7.367 längst verbuchte Zahlungen, 332 alte Fehlüberweisungen und 1.238 Zahlungen auf Rechnungen aus Vorjahren.
  • Keine offene Rechnung übersehen – 61 Zahlungen aus der Zeit vor dem Stichtag blieben bewusst in der Arbeit, weil ihre Rechnung noch offen war.
  • Die Prüfliste ist wieder benutzbar – aus 7.654 Fällen nach dem ersten Upload wurden die, über die tatsächlich jemand nachdenken muss.
  • Fehlüberweisungen als Saldo – automatisch zugeordnet, zwischen den Firmen nachgehalten, ohne Excel-Tabelle.
  • Mahngebühren nach Entscheidung des Kunden – ausgebucht, je Firma einstellbar und Monat für Monat ausgewiesen.
  • Nachvollziehbar bis zur einzelnen Buchung – unveränderliches Protokoll, versionierte Regeln, Probelauf vor jeder Änderung.

Fazit

Einen Zahlungsabgleich zu automatisieren heißt nicht, möglichst viel automatisch zu verbuchen. Es heißt, genau zu wissen, wo die Grenze zwischen „eindeutig“ und „fast eindeutig“ verläuft – und alles jenseits davon einem Menschen so vorzulegen, dass die Entscheidung Sekunden dauert. Der größte Hebel lag in diesem Projekt am Ende nicht in einer schlaueren Zuordnung, sondern in einer einzigen Einstellung mit einer gut gewählten Ausnahme: ein Stichtag, der die Vergangenheit ruhen lässt, und eine offene Rechnung, die ihn außer Kraft setzt.

Ihre Buchhaltung ordnet Zahlungseingänge noch von Hand Rechnungen zu?

Wir schauen uns gemeinsam mit Ihnen an, was sich davon sicher automatisieren lässt und wo ein Mensch entscheiden sollte.

Projekt besprechen
Christopher Zechendorf
Christopher Zechendorf Christopher Zechendorf leitet die ext.dev GmbH und bringt über 25 Jahre Erfahrung in Webentwicklung, CMS-Systemen und Infrastruktur mit.