Schnittstellen gehören zu den kritischen Punkten in jeder ERP-Landschaft. Wer schon mal versucht hat, Odoo mit einer externen API oder einem System sauber zu verbinden, weiß: So trivial, wie es auf den ersten Blick aussieht, ist das selten. Unterschiedliche Datenmodelle, Prozesslogik, Fehlerbehandlung - all das muss robust und wartbar gelöst werden. Genau hier kommt der Zebroo Sync ins Spiel.
Was ist der Zebroo Sync?
Der Zebroo Sync ist ein schlankes, aber durchdachtes Framework zur Integration von Odoo mit externen Systemen. Es baut auf dem Prinzip eines modularen Low-Code Synchronisationsprozesses auf und bietet einen klar strukturierten Weg, wie Daten von A nach B gelangen – und wieder zurück, wenn gewünscht.
Es richtet sich an Entwickler:innen, Odoo-Partner und -Kunden gleichermaßen, die nicht bei jeder neuen Anbindung das Rad neu erfinden wollen, sondern ein erweiterbares und wartbares Fundament für ihre Schnittstellen benötigen.
Warum ein Framework und kein Connector?
Viele Integrationen starten als Einzelprojekt: ein bisschen XML-RPC hier, ein bisschen REST da. Funktioniert anfangs. Doch spätestens bei der dritten API oder beim dritten Cronjob wird das Chaos unübersichtlich.
Ein Framework wie Zebroo Sync trennt die Zuständigkeiten sauber:
- Datenabruf (Pull)
- Datenübertragung (Push)
- Mappings
- Fehlerhandling
- Logs
- Wiederholmechanismen
Das reduziert die Komplexität pro Modul und erlaubt dir, sauber zu entwickeln, zu testen und zu debuggen.
Die Architektur des Zebroo Sync
Zebroo Sync basiert auf einem modularen Plugin-System. Jeder externe Dienst (z. B. ein Webshop, ein CRM oder ein Lagerverwaltungssystem) wird als eigenes Modul mit eigenem Adapter implementiert. Die Kommunikation läuft über klar definierte Pipelines, die in Odoo modelliert werden.
Die Kernkomponenten
- Pipeline: Steuerungseinheit für die Datenübertragung. Enthält Abfolge, Logik und Zeitsteuerung.
- Grabber/Dumper: Schnittstelle zum Drittsystem – egal ob REST, SOAP, GraphQL, Odoo selbst oder was auch immer.
- Mapper: Verknüpft externe Datenmodelle mit Odoo-Modellen – bidirektional.
- Transformer: Für alle Fälle, in denen die Daten vor der Verarbeitung noch angepasst werden müssen.
- Logger & Retry-Mechanismus: Dokumentiert, was passiert (oder schiefläuft) – mit Wiederholversuchen bei temporären Fehlern.
Das Schöne daran: Du kannst jedes Teil einzeln erweitern oder ersetzen. Kein monolithisches Blackbox-Modul, sondern ein klar strukturiertes Framework nach dem Prinzip "convention over configuration".
Ein kurzes Beispiel: Lieferantenpreislisten einpflegen
Stell dir vor, du willst Lieferantendaten aus einer Datei (z. B. CSV oder Excel) nach Odoo synchronisieren.
Mit Zebroo Sync:
- Du erstellst einen Menüeintrag, der dich die Datei hochladen lässt
- Du definierst ein Mapping der Felder (z. B. shop_title → name, shop_sku → default_code).
- Mittels einer eigenen URL-Umgebung kannst du mit einem Klick zwischen Test- und Liveanbindung wechseln
- Du legst einen Cron-Job an, der diesen Prozess regelmäßig ausführt und mittels Dumper die Werte in dein Odoo schreibt.
- Der Zebroo Sync kümmert sich um Logging, Wiederholversuche und sauberes Error-Handling.
Der Vorteil: Du musst dich nur um deine Businesslogik kümmern – nicht um das ganze Drumherum.
Was Zebroo Sync besonders macht
- Erweiterbarkeit: Du kannst eigene Adaptionen entwickeln, ohne das Kernsystem zu verbiegen.
- Transparenz: Jeder Sync-Vorgang ist nachvollziehbar, inklusive Fehler und Warnungen.
- Flexibilität: Ob Pull oder Push, ob REST oder SOAP – du entscheidest, wie synchronisiert wird.
- Odoo-native: Das Framework ist vollständig in Odoo integriert, kein externer Server, keine Middleware nötig.
- Low-Code: Für die meisten Prozesse (Pull, Map, Push) musst du keinerlei eigenen Code schreiben - das erleichtert die Wartbarkeit und hilft dir, selbst Herr über deine Daten zu bleiben.
Ein Beispiel aus der Praxis: Import von Verbrauchsdaten via Datei von Lieferanten
Im Beispiel sollen Lieferantendaten für gelieferte Mengen monatlich abgerechneter Aufträge importiert werden.
Die Daten sind im Beispiel einmal sehr vereinfacht so aufgebaut:
Kunde | Produkt | Laufzeit |
Azure Interior | 1234 | 2,50 |
Deco Addict | 1234 | 1,60 |
Mit dem Zebroo Sync wurde nun folgende Pipeline gebaut:
Wie man sehen kann, besteht die Pipeline aus mehreren Teilschritten (Workern), die den Datenfluss durch die Pipeline veranschaulichen. Dazu gehört ein XLSX-Importer, der die Input-Datei in zebroo-Datensätze importiert.
Anschließend erfolgt ein Premapping, mit dem man z.B. Unterschiede der Feldbezeichnungen verschiedener Lieferanten zu erwarteten Feldnamen/Bezeichnungen normieren kann.
Anschließend erfolgt das Mapping mit dem Hintergrund, die importierten Daten zu Auftragszeilen im Odoo zu mappen. Hierfür nutzen wir im Beispiel eine eindeutige Zuordnung aus Auftrag, Kunde und Produkt und weisen diesem eine abgerechnete Menge zu.
Über einen entsprechenden Dumper können wir die Dateien ins Odoo schreiben.
Es sind noch eine ganze Reihe an weiteren Prozessschritten denkbar. So bietet der Zebroo Sync die Möglichkeit, externe Systeme via SOAP- oder REST-API anzusprechen, SQL-Datenbanken anzubinden oder ganz generalistisch Python-Code auszuführen.
Über den Zebroo Sync lassen sich auch entsprechende UI-Elemente erzeugen, wie z.B. Menüelemente die zum Aufruf eines Datei-Import-Wizards dienen und unsere Beispielpipeline aufrufen.
Hier kann nun die Datei hochgeladen werden:
Anschließend wird eine Pipeline-Instanz erzeugt, welche die einzelnen Schritte (Worker) in der Pipeline darstellt. Für jeden dieser Worker kann man sich nun die ein- und ausgehenden Daten anzeigen lassen.
Beispielhaft nachfolgend der Input in den Excel-Worker:
Die Daten werden also zur besseren Austauschbarkeit in base64 codiert. Da der Zebroo Sync sich dediziert den Dateinamen inkl. Erweiterung übergibt, lassen sich weitere Pipelineschritte (z.B. wenn eine CSV statt einer XSLX importiert werden soll) sehr leicht implementieren.
Nach dem Excel-Import generiert der Zebroo Sync folgende Daten als Output:
Die Daten werden in ein an JSON-angelehntes Austauschformat gebracht und können wie ein Python Dictionary via <obj>.get(‘key’) angesprochen werden. Anschließend erfolgt das Mapping und man erhält folgende Daten, die ins Odoo gespielt werden würden:
Diesen Output erhält man, weil man z.B. Aufträge automatisiert den Auftragszeilen zuordnen und Datensätze mit nicht vorhandenen oder nicht zuordenbaren Aufträgen ausblenden kann.
Das kann man direkt über entsprechenden Code tun:
In diesem Fall haben wir, um das Feld order_id zu befüllen, eine Logik implementiert, die nach einem Auftrag sucht. Hierbei bedienen wir uns dem Zebroo Sync eigener Logik und greifen bspw. auf Daten via record zu, suchen danach mit Odoo eigenen Funktionen wie search() und übergeben die Daten an den anschließenden Pipelineschritt weiter.
Der entsprechende Auftrag sieht dann so aus:
Das Tolle daran:
Diese Pipelines kann man ohne großen Aufwand anpassen und z.B. die Logik für das Mapping ändern, neue Mapping-Felder ergänzen oder auch den Input überarbeiten. Hierbei hilft, dass man sowohl den In- als auch den Output filtern und ggf. sogar manuell überschreiben kann. Und das alles im eigenen Odoo.
Weitere Use Cases
Der Zebroo Sync ist außerdem ideal für Szenarien wie:
- Webshop-Anbindung (Shopify, WooCommerce, Shopware…)
- Versanddienstleister (z. B. DHL, DPD, UPS)
- CRM-Systeme (Hubspot, Salesforce…)
- Lagerverwaltungen (WMS)
- Lieferantendaten (Preislistenpflege, Anbindung von Produktkatalogen…)
Besonders spannend ist der Einsatz, wenn mehrere Systeme gleichzeitig angebunden werden müssen – mit dem Zebroo Sync behältst du immer die Übersicht.
Fazit
Der Zebroo Sync ist kein Alleskönner von der Stange – aber genau das ist seine Stärke. Es bietet dir ein sauberes, wartbares low-code Grundgerüst für deine Integrationen mit Odoo. Statt sich mit wiederholtem Boilerplate-Code herumzuschlagen, kannst du dich auf das konzentrieren, was wirklich zählt - die saubere Umsetzung deiner Businessanforderungen.
Wenn du regelmäßig Integrationen baust oder ein größeres Projekt mit mehreren Schnittstellen planst, dann lohnt sich ein Blick auf Zebroo Sync definitiv. Es spart dir nicht nur Zeit, sondern bringt auch Ordnung und Struktur in deine Schnittstellenlandschaft.
Neugierig geworden? Dann schau dir den Zebroo Sync auf zebroo.de an oder probiere es in einer Testumgebung aus. Wenn du Fragen dazu hast oder tiefer einsteigen willst – wir helfen dir gern weiter!
Quelle: zebroo.de
Schnittstellen verwalten mit dem Odoo Zebroo Sync