Odoo mit anderen Diensten verbinden: Automatisierungsplattformen
Kurz gesagt
Für wenige Vorgänge, die auch mit Stunden Verzögerung ankommen dürfen, genügt eine Automatisierungsregel mit zeitbasiertem Auslöser; Regeln, die auf Erstellung oder Änderung eines Datensatzes reagieren, laufen beim Speichern. Für Ereignisse, die sofort ankommen müssen, nennt die Dokumentation den Webhook (ereignisgesteuert, in Echtzeit); auch ein direkter Aufruf der externen API ist möglich. Eine externe Automatisierungsplattform passt, wenn mehrere Dienste angebunden werden und Fehler nachholbar sind, setzt aber die externe API voraus, die im Tarif Custom enthalten ist. Mehrere zusammengehörige Schreibvorgänge gehören in einen einzigen Methodenaufruf; eine passende Methode kann der Standard schon mitbringen. Die Bedingungen gelten in Deutschland, Österreich und der Schweiz gleich.
Das Wichtigste
- Drei Mittel im Produkt: Automatisierungsregel, eingehender Webhook und die Aktion Webhook-Benachrichtigung; die Dokumentation beschreibt sie über Odoo Studio.
- Die geplante Aktion für Regeln mit zeitbasiertem Auslöser läuft standardmäßig alle vier Stunden; unter 40 Stunden Verzögerung erhöht Odoo den Takt automatisch.
- Die externe API gehört laut Dokumentation 20.0 zum Tarif Custom; API-Schlüssel gelten höchstens drei Monate.
- Jeder API-Aufruf läuft in einer eigenen Transaktion; zusammengehörige Schritte gehören in einen einzigen Methodenaufruf, den der Standard mitbringen kann oder der in einem eigenen Modul entsteht.
- Odoo Online ist laut Dokumentation mit eigenen Modulen und mit Modulen aus dem Apps Store nicht kompatibel; die Apps-FAQ nimmt reine Datenmodule ohne Python-Dateien aus.
- Die Bedingungen hängen an Version, Edition, Hosting und Tarif; in Deutschland, Österreich und der Schweiz gelten dieselben.
Zwei Systeme sollen Daten austauschen: Bestellungen aus dem Webshop, Zahlungen aus einem Kassensystem, Adressen aus einem CRM. Odoo bringt dafür eigene Mittel mit und bietet daneben eine dokumentierte Schnittstelle für Fremdsysteme. Ob eine Automatisierungsplattform ausreicht oder eigenes Modul nötig ist, entscheidet nicht die Zahl der angebundenen Dienste, sondern wie viele Vorgänge laufen, wie schnell sie ankommen müssen und was ein Fehler kosten darf.
Worauf es ankommt
Vier Fragen legen den Weg fest. Erstens die Richtung: Ruft das Fremdsystem Odoo auf, meldet Odoo ein Ereignis nach außen, oder beides? Zweitens die Frist: Muss ein Vorgang in Sekunden ankommen, oder genügt ein Lauf am Abend? Drittens die Fehlertoleranz: Darf ein Vorgang doppelt ankommen, und lässt sich ein verlorener Vorgang nachholen? Viertens der Betrieb: Wer ändert die Regel, wer erneuert die Zugangsdaten, und wer sieht einen Fehler zuerst?
Eine Grenze gehört in die Planung: Eine Plattform liest und schreibt über dieselbe externe Schnittstelle wie jedes andere Programm, mit den Zugriffsrechten, Datensatzregeln und Feldzugriffen des Benutzers, dem der Schlüssel gehört. Sie erweitert also nicht die Rechte, sondern nur die Reichweite, und sie verarbeitet Daten außerhalb Ihrer Odoo-Datenbank. Klären Sie mit Ihrer Datenschutzberatung, welche Angaben das sind und wo sie verarbeitet werden.
Welche Wege es gibt
Die Dokumentation zu 20.0 beschreibt drei Mittel im Produkt und daneben die externe API.
| Weg | Was Odoo tut | Bedingung |
|---|---|---|
| Automatisierungsregel mit Aktion | führt bei einem Auslöser eine oder mehrere Aktionen aus, darunter die Webhook-Benachrichtigung per POST | angelegt in Odoo Studio; löst im Tarif Standard ein Upsell auf Custom aus |
| Eingehender Webhook (Auslöser Extern) | ein Fremdsystem sendet eine Payload per POST an die Odoo-URL und löst dort eine Aktion aus | in Studio angelegt; ohne Code nur beim Verbinden zweier Odoo-Datenbanken |
| Externe Automatisierungsplattform | arbeitet von außen über die externe API mit einem API-Schlüssel | Zugriff ist eine Leistung des Tarifs Custom |
| Eigener Methodenaufruf im Modul | läuft im Server; eine Methode führt alle Schritte eines Vorgangs in einer Transaktion aus, und die Dokumentation nennt search_read und action_confirm (sale.order) als vorhandene Beispiele | eine neue Methode entsteht in einem eigenen Modul; ein solches Codemodul läuft nicht auf Odoo Online, wo laut Apps-FAQ nur reine Datenmodule ohne Python-Dateien zulässig sind; Wartung eigenen Codes nicht in den Tarifpreisen |
Die externe API heißt JSON-2 und arbeitet mit POST-Aufrufen an /json/2/<Modell>/<Methode> und einem API-Schlüssel als Bearer-Token; für dauerhafte Anbindungen empfiehlt die Dokumentation einen eigenen Bot-Benutzer mit knapp bemessenen Rechten. Zwei Eigenschaften zählen für die Entscheidung: Jeder Aufruf läuft in einer eigenen Transaktion, weshalb zusammengehörige Schritte in einen einzigen Methodenaufruf gehören, und ein Schlüssel gilt laut Dokumentation höchstens drei Monate. Modelle, Felder, Schlüssel und RPC-Abschalttermine stehen im Odoo-API im Überblick und unter API-Schlüssel und Zugriff.
Entscheidung nach Menge und Fehlertoleranz
Die Zuordnung ist eine redaktionelle Einschätzung auf Grundlage der Dokumentation 20.0. Die Bedingungen der letzten Spalte sind belegt, die Mengenangaben der ersten nicht; zählen Sie Ihre eigenen Werte. Die Bedingungen gelten in Deutschland, Österreich und der Schweiz gleich, weil sie an Odoo hängen und nicht an nationales Recht.
| Volumen und Fehlertoleranz | Weg | Belegte Bedingung |
|---|---|---|
| wenige Vorgänge pro Tag, Verzögerung von Stunden unkritisch, Fehler nachholbar | Automatisierungsregel mit zeitbasiertem Auslöser, ohne Code | die geplante Aktion prüft zeitbasierte Regeln standardmäßig alle vier Stunden; unter 40 Stunden Verzögerung kürzerer Takt automatisch (Beispiel 18 Minuten); Auslöser wie Bei Erstellung laufen dagegen beim Speichern |
| Ereignis muss in Sekunden ankommen, Volumen klein bis mittel, Wiederholung unschädlich | eingehender oder ausgehender Webhook | Dokumentation nennt Webhooks ereignisgesteuert und in Echtzeit; URL vertraulich, Aufrufe protokollierbar; eigene Zieldatensätze können Programmierkenntnisse verlangen |
| mehrere Dienste, wechselnde Regeln, schwankendes Volumen, wiederholbare Fehler | externe Automatisierungsplattform über die externe API | Zugriff nur im Tarif Custom; Schlüssel höchstens drei Monate; jeder Aufruf in eigener Transaktion |
| ein Vorgang aus mehreren zusammengehörigen Schreibvorgängen, die nur ganz oder gar nicht gelten dürfen | ein einziger Methodenaufruf über die API; die Methode kann im Standard vorhanden sein oder in einem eigenen Modul entstehen | die Dokumentation verlangt für zusammengehörige Operationen einen gemeinsamen Methodenaufruf, weil eine andere Transaktion die Datenbank zwischen zwei Aufrufen ändern kann (genannt: Reservierungen, Zahlungen); eine neue Methode lässt sich in einem eigenen Modul anlegen, das auf Odoo Online nicht installierbar ist |
Zwei Bedingungen schneiden die Auswahl unabhängig von der Menge ab. Odoo Online ist laut Dokumentation mit benutzerdefinierten Modulen und mit Modulen aus dem Apps Store nicht kompatibel; die Apps-FAQ nimmt reine Datenmodule ohne Python-Dateien aus. Dort bleibt sonst der Weg über Studio oder die externe API, die zum Tarif Custom gehört. Regeln und Webhooks beschreibt die Dokumentation über Studio, das der Editionsvergleich nur in Enterprise führt und dessen Installation im Tarif Standard ein Upsell auf Custom auslöst.
Beispielrechnung: ein Ausfall über das Wochenende
Beispielrechnung: Ein Betrieb überträgt 300 Bestellungen am Tag an ein Fremdsystem und lässt sich Zeit, wenn eine Übertragung scheitert. Der API-Schlüssel läuft am Freitag um 18 Uhr ab, erneuert wird er am Montag um 9 Uhr. In diesen 63 Stunden fallen rechnerisch rund 790 Übertragungen an (300 × 63 ÷ 24 = 787,5). Ob die Plattform sie nachholt, hängt an ihrem Wiederholungsverhalten und nicht an Odoo: Die Dokumentation zeigt für einen ungültigen Schlüssel die Antwort 401 mit der Meldung „Invalid apikey“. Rechnen Sie dieselbe Zahl für Ihren Zielprozess aus: Bei 30 Vorgängen am Tag sind es rund 79.
Typische Fehler
- Einen sekundengenauen Prozess an eine Regel mit zeitbasiertem Auslöser hängen. Die geplante Aktion prüft standardmäßig alle vier Stunden, unter 40 Stunden Vorlauf automatisch kürzer. Regeln, die auf Erstellung oder Bearbeitung reagieren, laufen beim Speichern; für eine sofortige Zusage nennt die Dokumentation den ereignisgesteuerten Webhook oder den direkten API-Aufruf.
- Zusammengehörige Schreibvorgänge als mehrere Aufrufe senden. Zwischen den Aufrufen sieht eine andere Transaktion den Zwischenstand; die Dokumentation nennt Reservierungen und Zahlungen als gefährdet.
- Zugangsdaten ohne Erneuerung laufen lassen. Ein Schlüssel gilt höchstens drei Monate; danach antwortet die Schnittstelle mit 401.
- In der Produktivdatenbank testen. Die Dokumentation verlangt eine Kopie. Auf Odoo Online ist dort die Option Zu Testzwecken standardmäßig aktiv; sie schaltet externe Aktionen wie E-Mails, Zahlungen und Lieferaufträge ab. Ob eine ausgehende Webhook-Benachrichtigung dazugehört, nennt die Seite nicht.
- Für Odoo Online ein eigenes Modul einplanen. Odoo Online ist laut Dokumentation mit benutzerdefinierten Modulen und mit Modulen aus dem Apps Store nicht kompatibel; die Apps-FAQ nimmt reine Datenmodule ohne Python-Dateien aus, ein eigener Methodenaufruf im Modul bleibt ausgeschlossen.
So gehen Sie vor
- Zählen Sie je Vorgangsart die Datensätze pro Stunde und pro Tag und notieren Sie die Zahl mit Datum.
- Notieren Sie je Vorgangsart die zulässige Verzögerung und was ein doppelter oder fehlender Datensatz anrichtet.
- Prüfen Sie zuerst die Bedingungen: Hosting, Edition, Tarif und Verfügbarkeit von Studio; auf Odoo Online ist ein eigenes Codemodul ausgeschlossen, zulässig sind dort laut Apps-FAQ nur reine Datenmodule ohne Python-Dateien (Grenzen von Odoo Online).
- Entscheiden Sie je Vorgangsart, nicht für das ganze Projekt: den Mengenfall als Automatisierungsregeln in Odoo oder Webhook, den Rest als einen einzigen Methodenaufruf; prüfen Sie zuerst, ob der Standard schon eine passende Methode mitbringt, sonst entsteht eine im eigenen Modul; die Grenze zur Konfiguration behandelt Standard oder Anpassung in Odoo.
- Testen Sie in einer Datenbankkopie (Testumgebung für Odoo), schalten Sie bei Webhooks Aufrufe protokollieren ein und lösen Sie den Fehlerfall bewusst aus: Schlüssel ablaufen lassen oder Zielsystem abschalten.
- Halten Sie fest, wer Schlüssel erneuert, wer Regeln ändert und wann ein Fehler auffallen muss; jede Regel gehört mit Zweck, Auslöser und Aktion in den Reiter Notizen.