Odoo-Schnittstelle und API-Integration
Odoo ist ein Open-Source-ERP, das Unternehmen jeder Größe in mehr als 100 Ländern einsetzen, in der Cloud auf Odoo.sh oder selbst gehostet auf der eigenen Infrastruktur eines Kunden. Binden Sie es über Maesn an, und Sie erreichen es mit derselben REST API und demselben Datenmodell wie jedes andere unterstützte System.
Eine Odoo-Anbindung in Tagen
Odoo ist kein schwieriges System, es ist ein ungewohntes: kein REST, hinter jedem Kunden eine andere Instanz und eine Session, die endet, wann sie will. Diese drei landen zuerst bei Ihren Entwicklern. Hier steht, was Maesn mit ihnen macht.
RPC hinein, REST heraus
Odoo läuft auf XML-RPC und JSON-RPC über einen einzigen Endpunkt, der Modellnamen, Methodenaufrufe und Zugangsdaten im Rumpf der Anfrage erwartet. Maesn spricht JSON-RPC mit ihm und antwortet Ihnen als REST, RPC-Wissen erreicht Ihr Team also nicht.
URL und Datenbank je Mandant
Ob Cloud oder selbst gehostet, jeder Kunde bringt seine eigene Basis-URL und seinen eigenen Datenbanknamen mit, und beide sind bei jeder Anfrage Pflicht. Maesn sammelt sie beim Onboarding ein und setzt sie ein. Ein Codepfad bedient damit jede Installation.
Neu authentifiziert, bevor Sie es merken
Odoo authentifiziert je Sitzung statt über einen langlebigen Schlüssel, und eine Sitzung kann jederzeit ungültig werden. Maesn hält den ganzen Lebenszyklus, vom Login über die Verwahrung bis zur erneuten Authentifizierung. Ein Ablauf ist damit kein Ausfall.
In Ihrem Code kommen ein REST-Aufruf und ein Account-Key an. Teams gehen in Tagen live, und das System nach Odoo ist ein Konfigurationsschritt und kein zweites Projekt.
Ein kurzes Gespräch genügt meist, um zu klären, ob Maesn zu Ihrem Anwendungsfall passt.
HERO Software baut gegen klare Dokumentation und echte Sandboxes
HERO Software digitalisiert das Backoffice für Handwerksbetriebe, vom Angebot bis zur Rechnung.
“Die Unterstützung ist wirklich erstklassig, mit beeindruckend kurzen Reaktionszeiten. Die Dokumentation ist gründlich und leicht nachvollziehbar, und dadurch war die Integration für mich ein reibungsloser Ablauf.”


Drei Gründe, die Odoo-Schnittstelle über Maesn anzubinden
Eine Odoo-Instanz anzubinden ist ein Projekt, das Sie abschließen können. Die Instanz des nächsten Kunden anzubinden, auf einem anderen Host und in einer anderen Version, ist die Stelle, an der eine direkte Integration jedes Quartal zu kosten beginnt.
Kein RPC, nur REST
Die RPC-Schicht bleibt auf unserer Seite der Linie. Ihr Team schreibt hier dieselbe Anfrage wie für jedes andere System, ohne Modellnamen und ohne Methodenaufrufe im Rumpf.
Jede Installation, ein Codepfad
Basis-URL, Datenbankname und die Sitzung dahinter werden je Mandant verwahrt. Ob ein Kunde Odoo.sh oder den eigenen Server betreibt, ändert an Ihrer Integration nichts.
Das nächste System kostet nichts
Sobald Odoo läuft, antwortet jedes andere unterstützte Buchhaltungs- und ERP-System auf derselben Schnittstelle. Ihre zweite Integration ist ein Konfigurationsschritt.
Gelistet im Odoo Apps Store, einem der größten überhaupt
Die meisten Anbieter hören bei der API auf. Maesn übernimmt die technische Seite und die Beziehung, und der Marketplace von Odoo ist eines der größten ERP-Ökosysteme überhaupt, mit Community- und Enterprise-Installationen dahinter.
Technische Unterstützung
Eine Integration gegen die Unified API und ein Datenmodell, identisch zu jedem anderen System, das Maesn unterstützt. Ihre Entwickler treffen hier auf dieselbe Schnittstelle wie beim nächsten System.
Unterstützung beim Eintrag
Maesn führt Sie durch die technische Vorbereitung und die Einhaltung der Richtlinien. Der Eintrag geht damit ohne Korrekturrunde live statt nach einer.
Selbstbedienung, über GitHub
Der Eintrag läuft über ein GitHub-Repository, das mit Ihrem Odoo-Konto verbunden ist. Nichts wartet in einer Freigabeschlange, bevor Sie anfangen können.
Die Darstellung entscheidet über die Sichtbarkeit
App-Seiten werden nach der Qualität der Beschreibung, nach Screenshots und nach Vollständigkeit bewertet. Auf diesem Marketplace ist der Text keine Verpackung, sondern Platzierung.
Die Vorgaben bereiten wir mit Ihnen vor
An den Richtlinien bleiben Einträge in Selbstbedienung meistens hängen. Maesn geht sie mit Ihnen durch, bevor Sie veröffentlichen, und nicht nach einer Ablehnung.
Der Eintrag läuft unter Ihrer Marke, nicht unter der von Maesn. Ihr Name ist das, was der Kunde beim Verbinden sieht.
Maesn bereitet den Eintrag parallel zu Ihrer Integration vor.
Vier Felder von Ihrem Kunden, die Odoo-Session von uns
Odoo hat weder einen Redirect noch ein langlebiges API-Token. Ihr Kunde übergibt einmal vier Werte, und was danach gegen Odoo läuft, ist eine Session, die Maesn öffnet, speichert und erneuert.
- Instanz-Zugangsdaten
- Vier Felder je Kunde
Maesn hält die Session hinter diesen Feldern am Leben. Ein Ablauf wird damit nie zu Ihrem Störfall.
- Instanz-URL und Datenbank
- Die Basis-URL des Kunden-Odoo, ohne /web und ohne weiteren Pfad, dazu der Datenbankname dahinter.
- Benutzer und API-Schlüssel
- Die Login-E-Mail-Adresse des Kunden plus ein API-Schlüssel aus Einstellungen, Benutzer, Sicherheit. Ein Passwort geht, ein Schlüssel ist die bessere Gewohnheit.
Hier lohnt es sich, zwei Schichten zu trennen. Was Ihr Kunde übergibt, sind Zugangsdaten. Was danach mit Odoo spricht, ist eine Session, und Sessions laufen ab und können ohne Vorwarnung ungültig werden. Maesn meldet sich dann neu an, statt Ihnen einen Fehler durchzureichen.
- 1
Ihr Kunde sammelt die vier Werte
Zwei davon kennt er bereits, der Datenbankname ist der Wert, für den er gelegentlich seinen Odoo-Administrator braucht. Bei Odoo Online steckt er meist als Subdomain in der URL, die er täglich benutzt.
- 2
Die Felder erreichen Maesn
Über Maesn Connect, ein Formular in Ihrem eigenen Erscheinungsbild: Ihr Kunde fügt die Werte ein und sendet ab. Die Zugangsdaten landen bei Maesn und laufen nie durch Ihr Produkt.
- 3
Sie arbeiten mit einem Account-Key
Maesn speichert die Verbindung und gibt einen Account-Key zurück. Ab da trägt jede Anfrage Ihren API-Schlüssel und diesen Account-Key, dieselben zwei Header, die Sie für jedes andere System im Katalog ohnehin schon senden.
Jedes System im Katalog authentifiziert anders, und Odoo steht am Ende der Skala, an dem es gar keinen Redirect gibt: Zugangsdaten, eine Instanzadresse und eine Session, die altert. Unified Authentication hält das von Ihrer Seite fern, der Ablauf, den Sie für ein OAuth-System bauen, ist also der Ablauf, den Sie hier wiederverwenden. Eine Schritt-für-Schritt-Anleitung für die Odoo-Seite steht im Leitfaden darunter.
Keine Events von Odoo, Events in beide Richtungen
Kein Objekt trägt hier ein natives Event, und das ist normalerweise der Punkt, an dem eine Integration eine Abfrageschleife, eine Tabelle zur Änderungserkennung und einen Rückstand an Sonderfällen ansetzt. Über Maesn taucht diese Arbeit auf Ihrer Seite gar nicht erst auf.
Keine Events. Nichts in der Abdeckungsmatrix trägt einen nativen Webhook. Eine Änderung in der Instanz eines Kunden bleibt also unsichtbar, bis etwas nachsieht.
Ein vereinheitlichtes Event mit demselben Rumpf, demselben Vokabular und derselben Signatur, die ein natives tragen würde. Maesn übernimmt das Abfragen und die Änderungserkennung. Ihr Handler merkt den Unterschied also nicht.
Weil die Erkennung ein Abfragelauf ist und kein Push, ist die Aktualität eine Frage des Intervalls und nicht von Millisekunden. Für eine Abstimmung oder zum Aufholen nach einem Ausfall ist ein geplanter Delta-Lesezugriff das bessere Werkzeug, und derselbe REST-Aufruf bedient ihn.
Ein System, das nichts sendet, ist der Grund, warum ein Event-Modell über den ganzen Katalog existiert: Der Handler, den Sie für eine Odoo-Rechnung schreiben, ist derselbe Handler, der ein natives Event von einem System annimmt, das sendet. Das Lesen funktioniert genauso, bis hin zur Paginierung, die Odoo an seine RPC-Schicht bindet und Maesn auf das gemeinsame Limit- und Seitenmodell vereinheitlicht.
Was Odoo vorab verlangt
Odoo verlangt vier Dinge, bevor eine Integration beginnt, und alle lassen sich leichter einplanen als auf halber Strecke entdecken.
- Ein Odoo-Konto mit Administratorrechten
- Nötig, um in die Benutzereinstellungen zu kommen, in denen der Schlüssel erzeugt wird. Ein kostenloses Testkonto genügt, wenn Sie Odoo nicht selbst betreiben.
- Instanz-URL und Datenbankname, je Kunde
- Nur die Basis-URL, ohne /web und ohne weiteren Pfad. Bei Odoo Online ist die Datenbank meist die Subdomain, bei einem selbst gehosteten Kunden kennt sie derjenige, der die Instanz betreibt. Beides ist bei jedem Kunden, den Sie anbinden, anders.
- Ein Benutzer und, besser als ein Passwort, ein API-Schlüssel
- Die Login-E-Mail-Adresse plus ein Zugangsmerkmal. Odoo erlaubt das Kontopasswort, aber ein Schlüssel, erzeugt unter Einstellungen, Benutzer, Sicherheit, ist die bessere Wahl: Er gilt nur für diesen Benutzer und lässt sich rotieren, ohne ein Login zu ändern.
- Eine Umgebung zum Bauen, die nicht die Live-Instanz eines Kunden ist
- Odoo veröffentlicht keine öffentliche Sandbox. Eine erste Integration zeigt sonst also auf ein Produktivsystem mit echter Buchhaltung darin. Ein eigenes kostenloses Odoo-Testkonto ist die übliche Antwort, und wo das nicht geht, richten wir Ihnen eines ein.
Wir gehen die Felder und die Sandbox mit Ihnen durch.
Eine Form für Odoo, und für das nächste System
Odoo ist ein ERP mit Buchhaltungsmodul und kein Buchhaltungsprodukt. Hinter dem, was Sie lesen, steht deshalb mehr als bei einem reinen Hauptbuchsystem.
Sechs Objekte sind heute freigeschaltet
Konten, Kontakte, Rechnungen, Journale, Buchungssätze und Zahlungen sind lesbar, Konten, Kontakte und Buchungssätze auch schreibbar. Das ist der Standardsatz, und er ist die Grundlage für Ihre Planung, nicht die Länge der Tabelle.
Der größte Teil steht auf Anfrage
Das ist die ERP-Oberfläche. Die Objekte gibt es in Odoo, und die meisten davon sind auf Anfrage verfügbar statt standardmäßig, welche eine Verbindung trägt, folgt also aus Ihrem Anwendungsfall.
Keine Aktualisierungen und kein Löschen an Ort und Stelle
Für Aktualisieren und Löschen ist heute nichts freigeschaltet. Planen Sie Korrekturen als neue Belege, so wie die Buchhaltungspraxis es ohnehin erwartet, und sagen Sie uns früh Bescheid, wenn Ihr Produkt Datensätze bearbeiten statt buchen muss.
Was Sie lesen, kommt im gemeinsamen Common Data Model zurück, eine Rechnung aus Odoo hat also dieselbe Form wie eine Rechnung aus einem reinen Buchhaltungssystem, und der Code, den Sie hier schreiben, ist der Code, den Sie für das nächste wiederverwenden.
Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was möglich ist.











