Bankauszüge in Odoo zu importieren ist nur der erste Schritt. Der eigentliche Nutzen entsteht erst dann, wenn eine Bankbewegung zuverlässig der richtigen Ausgangsrechnung, Lieferantenrechnung, Gutschrift oder Zahlung zugeordnet werden kann.
Genau an dieser Stelle fehlt Odoo 19 Community eine komfortable Möglichkeit in der Benutzeroberfläche. Importierte Bankzeilen bleiben dadurch zunächst auf dem Bank-Zwischenkonto liegen und müssen für die weitere Verarbeitung einem offenen Buchungsposten zugewiesen werden.
Für unsere eigene Odoo-19-Community-Installation haben wir deshalb den Bank Statement Matcher entwickelt. Weil dieses Problem nicht nur uns betrifft, stellen wir das Modul unter der freien AGPL-3-Lizenz kostenlos auf GitHub zur Verfügung.
Zum Projekt auf GitHub:
Odoo 19 Bank Statement Matcher
Vom Bankauszugsimport bis zur richtigen Rechnung
Mit unserem bereits veröffentlichten Projekt Odoo 19 Bank Statement Import können verschiedene Bankauszugsformate in Odoo 19 Community eingelesen werden. Dazu gehören unter anderem CAMT.053, CAMT.054, OFX und SWIFT MT940.
Der neue Bank Statement Matcher ergänzt diesen Import um den nächsten entscheidenden Arbeitsschritt:
Welche importierte Bankbewegung gehört zu welchem offenen Posten?
Das Modul durchsucht offene Forderungen und Verbindlichkeiten, bewertet mögliche Treffer und zeigt den Anwendern an, warum eine bestimmte Zuordnung vorgeschlagen wird. Der Vorschlag kann geprüft, bestätigt, korrigiert oder durch eine manuelle Auswahl ersetzt werden.
Damit entsteht für Odoo 19 Community ein durchgängiger Arbeitsablauf:
Bankauszug importieren
mögliche Zuordnungen ermitteln
Vorschläge gesammelt prüfen
eindeutige Treffer übernehmen
unklare Fälle manuell bearbeiten
Was der Odoo 19 Bank Statement Matcher kann
Das Modul wurde für den praktischen Einsatz in der Buchhaltung entwickelt. Es unterstützt unter anderem folgende Funktionen:
Suche nach passenden Rechnungen, Lieferantenrechnungen, Gutschriften und Zahlungen
automatische Ermittlung von Zuordnungsvorschlägen beim Anlegen einer Bankzeile
verständliche Anzeige der verwendeten Zuordnungsregel und ihrer Sicherheit
erneute Suche zu einem späteren Zeitpunkt
Einzelzuordnung oder gemeinsame Bearbeitung mehrerer Bankzeilen
manuelle Auswahl eines offenen Postens, wenn kein Vorschlag passt
Rücknahme einer bereits vorgenommenen Zuordnung
Erkennung mehrerer gleichwertiger Treffer ohne willkürliche Entscheidung
Hinweise auf Angebote oder Bestellungen, zu denen noch kein offener Buchungsposten existiert
optionale direkte Übergabe vom OCA-Bankauszugsimport an die Zuordnungsansicht
deutsche Übersetzung bei englischem Quelltext
Die zentrale Übersicht ist in Odoo unter Buchhaltung → Buchhaltung → Bankzeilen-Zuordnung erreichbar. Dort können noch offene Bankzeilen gemeinsam durchsucht und bearbeitet werden.
Nachvollziehbare Zuordnung statt Blackbox
Bei Finanzdaten ist es nicht ausreichend, lediglich irgendeinen Treffer vorzuschlagen. Anwender müssen erkennen können, warum eine Bankbewegung zu einem bestimmten Dokument passen soll.
Der Bank Statement Matcher arbeitet deshalb mit klar definierten Regeln und verschiedenen Vertrauensstufen:
| Vertrauen | Regel | Bedeutung |
|---|---|---|
| 100 | Referenz | Eine Dokumentnummer, Zahlungsreferenz oder Herkunftsreferenz wurde im Buchungstext gefunden. |
| 80 | Partner und Betrag | Geschäftspartner und offener Betrag stimmen überein. |
| 60 | Eindeutiger Betrag | Der Betrag passt exakt zu nur einem offenen Posten. |
| 30 | Partner | Der Partner stimmt, der Betrag jedoch nicht; dies ist nur ein Hinweis. |
Zu jedem Journal lässt sich festlegen, ab welcher Vertrauensstufe ein eindeutiger Vorschlag über die Sammelaktion übernommen werden darf. Schwächere Treffer bleiben sichtbar, müssen aber einzeln geprüft und bestätigt werden.
Wichtig ist dabei: Das Modul bucht nicht unbeaufsichtigt im Hintergrund. Es erstellt Vorschläge. Eine Zuordnung erfolgt erst durch eine bewusste Aktion des Anwenders – einzeln oder über die kontrollierte Sammelverarbeitung.
Auch schwierige Bankreferenzen werden berücksichtigt
Banken übertragen Zahlungsreferenzen nicht immer in einer einheitlichen Form. Eine Rechnungsnummer kann mit Namen, Ziffern oder anderen Angaben verbunden sein. Trennzeichen können fehlen oder anders dargestellt werden als im ursprünglichen Dokument.
Der Matcher normalisiert deshalb die Vergleichswerte und berücksichtigt auch Übergänge zwischen Buchstaben und Ziffern. So können Referenzen beispielsweise auch dann erkannt werden, wenn sie im Banktext direkt an andere Inhalte angefügt wurden.
Die Suche erfolgt bewusst vom Odoo-Dokument zum Banktext. Dadurch wird vermieden, dass kurze, allgemeine Ziffernfolgen aus dem Buchungstext zu einer großen Anzahl unpassender Treffer führen.
Die Regeln sind weder auf eine bestimmte Bank noch auf ein bestimmtes Land oder ein fest vorgegebenes Nummernschema beschränkt. Das macht das Modul auch für andere Odoo-19-Community-Installationen interessant.
Warum eine erneute Suche wichtig ist
Nicht jede Bankzahlung kann bereits beim Import zugeordnet werden. In der Praxis kann eine Zahlung eingehen, bevor die zugehörige Rechnung in Odoo erstellt oder verbucht wurde. Auch eine Lieferantenrechnung oder Gutschrift kann erst später erfasst werden.
Deshalb lassen sich Bankzeilen mit „Erneut suchen“ zu einem späteren Zeitpunkt nochmals prüfen. Sobald der passende offene Posten vorhanden ist, kann aus einer zuvor nicht zuordenbaren Bankbewegung ein eindeutiger Treffer werden.
Nennt der Banktext beispielsweise ein Angebot oder eine Bestellung, zu der noch keine Rechnung und damit kein offener Posten existiert, liefert das Modul einen hilfreichen Hinweis. Statt lediglich „kein Treffer“ anzuzeigen, macht es darauf aufmerksam, dass möglicherweise zuerst die Rechnung erstellt werden muss.
Sicherheit hat Vorrang
Eine falsche automatische Zuordnung kann in der Buchhaltung mehr Arbeit verursachen als eine offene Bankzeile. Der Bank Statement Matcher wurde deshalb bewusst vorsichtig ausgelegt:
Gleich bewertete Treffer werden nicht willkürlich aufgelöst.
Schwache Vorschläge werden angezeigt, aber nicht über die Sammelaktion übernommen.
Vor dem Zuordnen wird erneut geprüft, ob der offene Posten noch verfügbar ist.
Ein inzwischen von einem anderen Anwender ausgeglichener Posten wird nicht nochmals verarbeitet.
Jede Bankzeile wird innerhalb eines eigenen Datenbank-Sicherungspunkts bearbeitet.
Ein Fehler bei einer Bankzeile verhindert nicht die Verarbeitung aller anderen Zeilen.
Unvollständige Altdaten ohne gültiges Buchungsdatum werden sicherheitshalber ausgeschlossen.
Damit unterstützt das Modul die Automatisierung dort, wo sie Zeit spart, und fordert eine manuelle Entscheidung dort, wo die Datenlage nicht eindeutig genug ist.
Zusammenspiel mit unserem Bank Statement Import
Das Repository besteht aus zwei Modulen:
| Modul | Aufgabe |
|---|---|
| account_statement_matcher | Stellt die eigentliche Suche, Bewertung, Prüfung und Zuordnung bereit. Benötigt nur das Odoo-Modul account. |
| account_statement_matcher_import_oca | Optionale Brücke zum OCA-Bankauszugsimport. Nach einem Import wird direkt die Zuordnungsansicht mit den neu importierten Zeilen geöffnet. |
Die optionale Brücke installiert sich automatisch, wenn sowohl der Matcher als auch das OCA-Modul account_statement_import_file vorhanden sind. Der Bankauszugsimport und die anschließende Zuordnung greifen dadurch direkt ineinander.
Mehr zum Import der unterstützten Bankformate finden Sie in unserem Beitrag:
Odoo 19 Bank Statement Import – unsere Erweiterungen für die Odoo Community
Installation in Odoo 19 Community
Die Installation erfolgt wie bei einem üblichen Odoo-Zusatzmodul:
Die Modulordner in einen konfigurierten Odoo-Addons-Pfad kopieren.
Die App-Liste in Odoo aktualisieren.
Das Modul Bank Statement Matcher installieren.
Je Bankjournal festlegen, ob beim Import Vorschläge gesucht werden sollen.
Den gewünschten Mindestwert für die kontrollierte Sammelzuordnung auswählen.
Das Modul wurde für Odoo 19.0 Community entwickelt und getestet. Vor einem Einsatz mit anderen Odoo-Versionen müssen insbesondere Änderungen an den internen Buchhaltungs- und Abstimmungsfunktionen geprüft werden.
Wie bei jeder Erweiterung im Buchhaltungsbereich empfehlen wir, die Installation zuerst in einer Testumgebung mit einer Kopie der eigenen Datenbank und typischen Bankauszügen zu prüfen.
Kostenlos und Open Source für die Odoo Community
Wir bei Biricon IT Services GmbH entwickeln Lösungen zunächst für konkrete Anforderungen aus unserem eigenen Betrieb. Wenn daraus ein allgemein nutzbares Modul entsteht, möchten wir es nicht in einer einzelnen Installation verstecken.
Der Odoo 19 Bank Statement Matcher steht deshalb kostenlos als Open-Source-Projekt zur Verfügung. Der Quellcode kann eingesehen, geprüft, angepasst und im Rahmen der AGPL-3-Lizenz weiterentwickelt werden.
Unser Ziel ist nicht, möglichst viele Buchungsentscheidungen blind zu automatisieren. Wir möchten wiederkehrende Arbeit reduzieren und gleichzeitig dafür sorgen, dass finanzielle Zuordnungen nachvollziehbar und kontrollierbar bleiben.
So verstehen wir sinnvolle Open-Source-Entwicklung: Ein reales Problem lösen, die Lösung transparent dokumentieren und anschließend der Community zur Verfügung stellen.
Projekt, Quellcode und Mitarbeit
Der vollständige Quellcode, die Installationshinweise und die technische Dokumentation sind auf GitHub verfügbar:
Odoo 19 Bank Statement Matcher auf GitHub öffnen
Wir freuen uns über Praxiserfahrungen, Fehlerberichte, Verbesserungsvorschläge und Beiträge aus der Odoo Community.
Kostenlos. Nachvollziehbar. Open Source. Für Odoo 19 Community.