Odoo Schnittstellen programmieren: wenn deine Systeme endlich miteinander reden

Wenn deine Software nicht mit dem Rest reden kann, pflegst du alles doppelt. Wie Schnittstellenprogrammierung in Odoo-Projekten das löst.

⏱️ ~5 Min. Lesezeit

Bei einem Kunden waren die Angebotsplattform und das Vertriebssystem nicht miteinander verbunden, also pflegte der Vertriebsmitarbeiter beide Seiten von Hand, und weil das doppelte Arbeit war, tat er es nur halbherzig. Am Ende wusste niemand mehr, wo ein Kundenauftrag wirklich stand.

Daten genau einmal erfassen, dort wo sie entstehen. Alles andere läuft automatisch.

Genau deshalb ist Schnittstellenprogrammierung ein fester Bestandteil unserer Odoo-Projekte. In diesem Artikel liest du, was eine Schnittstelle und eine API eigentlich sind, welche Verbindungen wir am häufigsten herstellen und woran du erkennst, ob sich die Programmierung in deinem Fall lohnt.

Was passiert, wenn zwei Systeme nicht miteinander reden

Solange Daten an mehreren Stellen von Hand gepflegt werden, läuft der eigentliche Schaden im Hintergrund mit. Eine Änderung wird nur in einem System gemacht, das andere bleibt auf dem alten Stand, und mit jeder Woche driften die beiden weiter auseinander. Auswertungen werden dadurch unbrauchbar, weil sie auf Zahlen beruhen, die längst veraltet sind, und Entscheidungen fallen auf einer Grundlage, der niemand mehr richtig traut.

Dazu kommt der menschliche Faktor. Wenn das Pflegen doppelte Arbeit bedeutet, wird es zur lästigen Pflicht, die man aufschiebt oder nur oberflächlich erledigt. Das ist keine Frage von Disziplin, sondern die nachvollziehbare Reaktion auf einen Prozess, der von vornherein zu umständlich ist. Bevor wir zu den konkreten Verbindungen kommen, lohnt sich ein kurzer Blick auf die Begriffe, die in diesem Zusammenhang ständig fallen.

Schnittstelle, API, REST: einfach erklärt

Eine Schnittstelle ist nichts anderes als die Stelle, an der zwei Programme Daten aneinander übergeben. Statt dass ein Mensch dazwischensitzt und abtippt, reichen sich die Systeme die Daten direkt weiter.

Eine API legt fest, auf welchem Weg das geschieht. Du kannst sie dir als Regelwerk vorstellen, das beschreibt, wie ein Programm seine Daten bereitstellt und wie es Anfragen von anderen Programmen entgegennimmt. Weil diese Regeln klar definiert sind, weiß jedes andere System genau, wie es andocken kann, ohne dass jemand raten muss.

Die heute gängigste Form ist die REST API. Sie nutzt dieselbe Technik wie der Aufruf einer Webseite und gilt inzwischen als Standard. Wenn ein Anbieter sagt, seine Software habe eine REST API, heißt das vor allem eines: Das Programm lässt sich anbinden. Schnittstellenprogrammierung ist dann die Arbeit, die nötig ist, damit zwei solcher Systeme diese Sprache auch tatsächlich miteinander sprechen, denn eine vorhandene API allein verbindet noch nichts.

Die Verbindungen, die wir in Odoo am häufigsten bauen

Damit ist klar, worum es bei der eigentlichen Programmierung geht. In unseren Odoo-Projekten sind es vor allem drei Anbindungen, die immer wieder gefragt sind.

Typische Schnittstellen in Odoo-Projekten: Zahlungsanbieter, Shopify und andere Shopsysteme sowie Versanddienstleister geben ihre Daten automatisch an Odoo weiter, sodass alles an einer Stelle zusammenläuft.

Bei den Zahlungsanbietern sorgt die Schnittstelle dafür, dass eingehende Zahlungen automatisch dem richtigen Auftrag zugeordnet werden, sodass die Buchhaltung nicht mehr manuell abgleichen muss. Bei Shopify und anderen Shopsystemen wandern Bestellungen, Artikel und Lagerbestände automatisch zwischen Shop und Odoo hin und her, sodass eine Bestellung im Shop direkt als Auftrag im System steht und der Bestand auf beiden Seiten gleich bleibt. Und bei den Versanddienstleistern entstehen Versandlabels und Sendungsnummern direkt aus dem Auftrag heraus, ohne dass jemand Adressen in ein zweites Portal kopiert.

In allen drei Fällen ist das Prinzip dasselbe. Die Daten werden an einer einzigen Stelle erfasst, nämlich dort, wo sie ohnehin entstehen, und von dort aus verteilt das System sie selbstständig an alle anderen Programme.

Standard-Connector oder individuelle Programmierung

Nicht jede Verbindung muss von Grund auf programmiert werden. Für gängige Systeme gibt es fertige Module, die eine Anbindung mit wenig Aufwand erledigen, und solange dein Prozess dem Standard entspricht, ist das der schnellste Weg. Sobald es aber Sonderfälle gibt, etwa eine eigene Logik bei der Auftragsfreigabe oder ein Spezialprogramm ohne fertigen Connector, kommt die eigentliche Schnittstellenprogrammierung ins Spiel.

Dann geht es darum, die API des einen Systems sauber an die des anderen anzubinden, Fehlerfälle abzufangen und dafür zu sorgen, dass auch bei einem kurzen Ausfall keine Daten verloren gehen. Welche Systeme sich bei dir anbinden lassen und wie eine solche Verbindung entsteht, zeigen wir auf unserer Seite zur Schnittstellen-Entwicklung. Wie tief sich Odoo dabei an deine Abläufe anpassen lässt, liest du unter Odoo Apps, Module und Schnittstellen.

Fazit: eine Quelle statt fünf Datenstände

Ob fertiges Modul oder individuelle Programmierung, das Ergebnis ist in beiden Fällen dasselbe. Du pflegst deine Daten nur noch an einer Stelle, und alle anderen Systeme arbeiten mit demselben Stand, sodass die Frage, wo ein Auftrag gerade wirklich steht, gar nicht mehr aufkommt.

Solange jedes System für sich läuft, wächst mit jedem zusätzlichen Auftrag auch die Abtipparbeit mit, und die Auswertungen werden ungenauer. Laufen die Daten dagegen automatisch, bleibt dir und deinem Team mehr Zeit für das eigentliche Geschäft. Wenn du sehen willst, wie andere Betriebe diesen Schritt gehen, schau in unseren Blog. Dort kannst du dich auch für den Newsletter eintragen und bekommst neue Artikel direkt ins Postfach.