EBICS mit Odoo: Kontoauszüge direkt von der Bank
Kurz gesagt
EBICS richten Sie nicht in Odoo ein, sondern bei Ihrer Bank: In den geöffneten offiziellen Seiten der Odoo-Dokumentation 20.0 ist kein EBICS-Client dokumentiert. Im deutschen Firmenkundenverkehr vereinbaren Sie den Abruf elektronischer Kontoinformationen (Auftrag EOP, camt.053), tauschen die Schlüssel über INI- und HIA-Briefe und importieren den entpackten Tagesauszug im Bankjournal. Den automatischen Bank-Feed beschreibt die Dokumentation über Drittanbieter; er setzt ein gültiges Enterprise-Abonnement voraus.
Das Wichtigste
- Seit 23. November 2025 sind camt.052 und camt.053 in Deutschland der einzige DK-Standard für Kontoinformationen.
- Bankseitig zuerst: Zugangsvertrag, Teilnehmer- und Kunden-ID sowie der Schlüsselaustausch über INI- und HIA-Briefe.
- Der Tagesauszug kommt als Auftrag EOP in der Nachricht camt.053 und in einem ZIP-Container.
- Im Zustand Initialisiert (nach INI und HIA) weist das Banksystem jeden Auftrag ab; die Bank setzt den Teilnehmer erst nach der Prüfung auf Bereit.
- Odoo 20.0 importiert die Datei im Bankjournal über das Journalmenü und Datei importieren (Import file).
- Ab November 2027 verlangt der Krypto LifeCycle der Deutschen Kreditwirtschaft RSA-Schlüssel mit mindestens 4.096 Bit, für Chipkarten 3.072 Bit.
Odoo hat keinen dokumentierten EBICS-Client: Für Kontoauszüge gibt es den automatischen Bank-Feed und den Import der Datei, die Sie von Ihrem Institut abholen. Diese Anleitung beschreibt den zweiten Weg über EBICS, und sie beginnt mit der bankseitigen Vorbereitung: Ohne freigeschalteten Teilnehmer und ohne die Berechtigung für den Auszugsabruf landet keine Zeile in Odoo. Den ersten Weg beschreibt der Artikel Bankanbindung in Odoo.
Was Sie vorab brauchen
- Ein Bankkonto bei einem Institut, das EBICS anbietet, und die Zeichnungsberechtigung für den Zugangsvertrag.
- Die Entscheidung, welche Konten und welche Personen den Zugang nutzen; beides wird im Vertrag festgehalten.
- Ein EBICS-Kundenprodukt Ihrer Bank oder eines Dienstleisters, mit dem Sie Schlüssel erzeugen und Aufträge abrufen. Die Spezifikation nennt diese Software Kundenprodukt.
- Einen Arbeitsplatz für den Schlüsselaustausch, an dem Sie die privaten Schlüssel erzeugen und aufbewahren — bei einer Chipkartenlösung die Karte samt Lesegerät.
- Die Zugangsdaten der Bank: EBICS-Adresse (URL oder IP), Host-ID, Kunden-ID (PartnerID) und Teilnehmer-ID (UserID).
- In Odoo ein Bankjournal für das Konto. Die Editionsseite von Odoo S.A. führt die App Buchhaltung (Accounting) nur in der Spalte Enterprise, Invoicing in beiden Spalten; prüfen Sie in Ihrer Datenbank, welche Bankmenüs vorhanden sind.
Schritt für Schritt: EBICS-Zugang einrichten und Auszug importieren
Schritt 1: Zugangsvertrag mit der Bank schließen
EBICS setzt einen Vertrag zwischen Ihrem Unternehmen und dem Kreditinstitut voraus. Darin steht nach Kapitel 4.4 der Spezifikation, welche Geschäftsvorfälle als BTF-Parameterwerte Sie abwickeln, welche Konten betroffen sind, welche Personen als Teilnehmer arbeiten und welche Berechtigungen sie haben. Die Ausgestaltung des Vertrags ist bankindividuell und ausdrücklich nicht Gegenstand des Standards. Verlangen Sie den Abruf elektronischer Kontoinformationen und nennen Sie alle Konten, die im Auszug erscheinen sollen.
Schritt 2: Kunden-ID, Teilnehmer-ID und Host-ID aufnehmen
Die Bank richtet Ihre Kunden- und Teilnehmerstammdaten ein; der Teilnehmer erhält zunächst den Status Neu. Mit dem Vertrag teilt sie die Zugangsdaten mit: die EBICS-Adresse und die Host-ID, die den Bankrechner kennzeichnet. Kunden-ID und Teilnehmer-ID vergibt ebenfalls die Bank; beide bestehen aus ein bis 35 Zeichen aus den Buchstaben a bis z und A bis Z, den Ziffern 0 bis 9 sowie Komma und Gleichheitszeichen (Kapitel 12.4). Halten Sie die drei Angaben getrennt, weil sie im Kundenprodukt und in den Briefen in eigenen Feldern stehen.
Schritt 3: Schlüsselpaare erzeugen und INI und HIA senden
Die privaten Schlüssel bleiben bei Ihnen. Ihr Kundenprodukt erzeugt nach Kapitel 4.4 der Spezifikation ein Schlüsselpaar für die bankfachliche elektronische Unterschrift, eines für die Authentifikationssignatur und eines für die Verschlüsselung. Mit dem Auftrag INI senden Sie den öffentlichen bankfachlichen Schlüssel an die Bank, mit HIA den öffentlichen Authentifikations- und Verschlüsselungsschlüssel. Die Reihenfolge ist frei, es gehört aber genau ein INI- und genau ein HIA-Auftrag zur Initialisierung; eine bankfachliche Unterschrift tragen beide nicht, weil die Bank die Schlüssel noch nicht geprüft hat.
Schritt 4: Initialisierungsbriefe schicken und Freischaltung abwarten
Zu INI und HIA erzeugt Ihr Kundenprodukt je einen Initialisierungsbrief. Darin stehen Host-ID, Teilnehmer-ID, Kunden-ID, Datum und Uhrzeit des Auftrags, das Zertifikat im PEM-Format und dessen SHA-256-Hashwert; Sie unterschreiben und schicken ihn per Post an die Bank (Beispiele in Kapitel 11.5 der Spezifikation). Die Bank braucht diesen zweiten, vom EBICS-Weg unabhängigen Kanal, um die Schlüssel zu vergleichen, bevor sie sie anerkennt. Haben Kunde und Bank für den bankfachlichen Schlüssel ein von einer Zertifizierungsstelle ausgestelltes Zertifikat vereinbart, übermittelt der Auftrag H3K alle öffentlichen Teilnehmerschlüssel in einem Schritt; dann sind keine Initialisierungsbriefe nötig (Kapitel 4.4.1.3). Nach INI und HIA steht der Teilnehmer auf Initialisiert und kann noch keine Aufträge einreichen; erst nach der Prüfung setzt die Bank den Zustand auf Bereit. Danach holen Sie mit dem Auftrag HPB die öffentlichen Schlüssel der Bank ab und prüfen sie vor dem ersten Einsatz.
Schritt 5: Bankjournal in Odoo anlegen
Legen Sie in Odoo das Konto an, für das Sie künftig Auszüge importieren: Öffnen Sie das Buchhaltungsdashboard (Accounting Dashboard) und wählen an der Karte Bank den Weg Neu und Bank oder im Fenster Bankkonto hinzufügen den Eintrag Hinzufügen einer neuen Bank (Add new bank). Füllen Sie Kontonummer, Bank und SWIFT-Code aus. Die Dokumentation 20.0 hält fest, dass Odoo in diesem Fall ein Bankjournal anlegt und das Konto nicht synchronisiert — genau das ist für den Dateiweg gewollt. Wählen Sie keinen Anbieter: Der automatische Abruf läuft laut Dokumentation über Drittanbieter und setzt ein gültiges Enterprise-Abonnement voraus. Einen eigenen EBICS-Anschluss beschreibt die Dokumentation nicht: Weder die Seiten Bank synchronization, Transactions und Bank and cash accounts der Fassung 20.0 noch der Suchindex der Zweige 16.0 bis 20.0 nennen das Protokoll.
Schritt 6: Tagesauszug abholen und camt.053 importieren
Holen Sie mit Ihrem Kundenprodukt den Tagesauszug ab. Im deutschen Firmenkundenverkehr heißt der Auftrag EOP (End of Period Statement) und liefert die Nachricht camt.053; die Mapping-Tabelle der Deutschen Kreditwirtschaft führt ihn unter der Auftragsart C53, und seit dem 23. November 2025 sind camt.052 und camt.053 der einzige DK-Standard für elektronische Kontoinformationen. Der Auszug kommt in der ISO-Version 2019 (camt.053.001.08) in einem ZIP-Container. Entpacken Sie den Container und importieren Sie die XML-Datei im Bankjournal: Buchhaltungsdashboard, Symbol (vertikale Auslassungspunkte) am Journal Bank, Datei importieren (Import file). Alternativ laden Sie die Datei mit Hochladen (Upload) hoch oder ziehen sie auf die Karte der Bank. CAMT.053 ordnet Odoo automatisch zu; bei Dateitypen wie CSV und XLSX setzen Sie Formatoptionen und ordnen die Spalten den Feldern in Odoo zu. Kurzfristige Vormerkposten bringt der Auftrag STM mit der Nachricht camt.052 (Auftragsart C52).
Schritt 7: Banktransaktionen abstimmen
Die importierten Umsätze stehen in der Ansicht Bankabgleich (Bank Matching) und sind noch nicht abgestimmt. Ordnen Sie sie den offenen Rechnungen, Zahlungen und Konten zu; wie Regeln und Teilzahlungen dabei wirken, beschreibt der Artikel Bankabstimmung in Odoo. Arbeiten Sie den Auszug vollständig ab, bevor Sie den Zeitraum sperren.
So prüfen Sie das Ergebnis
Vergleichen Sie nach jedem Import den Endsaldo des Bankjournals mit dem Endsaldo des Auszugs und die Zahl der neuen Zeilen mit der Zahl der Umsätze im Zeitraum. Für den Anfangssaldo empfiehlt die Dokumentation eine Eröffnungstransaktion mit dem Kontostand zum Start des Imports, damit sich die Salden der Kontoauszüge in Odoo und bei der Bank entsprechen. Prüfen Sie außerdem die Liste auf mögliche Doppelungen: Aktionen und Doppelte Transaktionen finden zeigt nach der Dokumentation potenzielle Duplikate, die sie anhand von Betrag, Datum und Kontonummer eingrenzt — bei Zeilen aus der Banksynchronisierung tritt die Transaktions-ID an die Stelle dieser drei Merkmale, sie kommt also nicht zusätzlich hinzu. Die Ansicht liefert damit einen Prüfvorschlag und keine Feststellung; sehen Sie die Auswahl durch und löschen Sie nur, was wirklich doppelt ist. Hängen Sie die camt.053-Datei an den Kontoauszug, den Sie in Odoo anlegen, oder an die erzeugte Buchung, damit nachvollziehbar bleibt, welche Datei die Zeilen erzeugt hat.
Wenn etwas nicht klappt
| Symptom | Ursache | Lösung |
|---|---|---|
| Der erste Auftrag im Kundenprodukt wird abgewiesen | Der Teilnehmer steht nach INI und HIA noch auf Initialisiert; in diesem Zustand weist das Banksystem Aufträge ab | Prüfen, ob beide unterschriebenen Initialisierungsbriefe bei der Bank vorliegen; die Bank setzt den Zustand nach der Prüfung auf Bereit |
| Der Abruf meldet einen fehlenden Auftrag oder liefert keine Umsätze | Der Geschäftsvorfall EOP/camt.053 ist im Vertrag nicht vereinbart oder dem Teilnehmer nicht zugeordnet | Vertrag und Berechtigung mit der Bank klären; mit dem Auftrag HKD zeigt das Kundenprodukt die zugeordneten Aufträge und Konten, wenn die Bank diesen Abruf unterstützt |
| Ein älterer Zeitraum fehlt | Der Auftrag EOP deckt nur den bestellten Zeitraum ab | Den Zeitraum im Auftrag über die Felder für Start und Ende erneut abrufen |
| Odoo öffnet die heruntergeladene Datei nicht | Die Datei ist noch der ZIP-Container der Bank | Container entpacken und die enthaltene camt.053-XML-Datei importieren |
| Zeilen stehen möglicherweise doppelt in der Liste | Die Ansicht Doppelte Transaktionen finden schlägt Zeilen anhand von Betrag, Datum und Kontonummer als potenzielle Duplikate vor; bei Zeilen aus der Banksynchronisierung anhand der Transaktions-ID statt dieser drei Merkmale | Aktionen und Doppelte Transaktionen finden, Auswahl prüfen und nur tatsächliche Doppelungen löschen |
| Der Schlüsselaustausch scheitert | Schlüssellänge oder TLS-Version unter der Vorgabe des Krypto LifeCycle | Neue Schlüsselpaare erzeugen: mindestens 2.048 Bit; ab November 2027 sind 4.096 Bit vorgeschrieben, für Chipkarten 3.072 Bit |
Wann Sie Hilfe holen sollten
Sollen über denselben Zugang später auch Zahlungsaufträge laufen oder müssen mehrere Personen unterschreiben, ist das eine eigene Einrichtung mit verteilter elektronischer Unterschrift; ziehen Sie dafür Ihre Bank oder einen Dienstleister hinzu. Bei mehreren Konten, mehreren Teilnehmern oder einer Chipkartenlösung lohnt sich vor dem ersten Echtabruf ein Testlauf mit einem einzelnen Konto. Wie lange Sie die Auszugsdateien aufbewahren und in welcher Form, klären Sie mit Ihrer Steuerberatung; die Fristenübersicht für Belege steht im Artikel Aufbewahrung in Odoo: Belege und Fristen in Deutschland.