Shopify ist ausgezeichnet in dem, was es tut: verkaufen. Aber es ist kein ERP. Sobald Bestand, Einkauf, Produktion, Retouren und Buchhaltung stimmen müssen, und erst recht bei mehreren Kanälen, lautet die Frage nicht “wie verbinde ich Shopify mit Odoo”, sondern “wo soll die Wahrheit liegen”. Dies ist der tiefe Leitfaden: die Abwägungen, die Entscheidungen und das Warum. Für alle, die eine Integration serioes aufsetzen wollen, und zugleich als Nachschlagewerk für unsere eigenen Consultants.
Wann reicht Shopify allein nicht mehr?
Shopify betreibt deinen Webshop gut. Es klemmt, sobald dein Unternehmen größer wird als der Verkaufskanal. Die Signale, und warum sie auftreten:
- Bestand stimmt nie ganz. Du verkaufst an mehreren Stellen (Webshop, B2B, Marktplätze, Kasse) und jeder Kanal führt seine eigene Zählung. Ohne zentrale Quelle läuft es unweigerlich auseinander.
- Manuelle Übertragung in Buchhaltung oder Bestandssystem. Jeder manuelle Schritt ist eine Fehler- und Verzoegerungsquelle und skaliert nicht mit deinem Auftragsvolumen.
- Einkauf, Produktion oder Montage, die Shopify nicht kennt. Shopify weiss nicht, was eine Bestellung, eine Stückliste oder ein Fertigungsauftrag ist. Sobald Bestand aus Einkauf oder Produktion entsteht, brauchst du ein System, das diese Prozesse kennt.
- Marge nicht sichtbar. Einstandspreis, Einkauf und Verkauf sitzen in getrennten Systemen, also weisst du pro Auftrag oder Produkt nicht, was du wirklich verdienst.
- Verbraucher und Geschäft vermischt. Unterschiedliche Preise, Umsatzsteuerbehandlung und Bestand pro Zielgruppe sind in Shopify allein schwer strikt zu trennen.
Das sind keine Webshop-Probleme. Es sind Signale, dass du eine Unternehmensplattform hinter deinem Webshop brauchst. Genau dort sitzt Odoo.
Die Kernentscheidung: wo soll die Wahrheit liegen?
Die wichtigste Entscheidung triffst du, bevor du überhaupt einen Connector installierst: welches System ist führend für deinen Bestand?
Ist Shopify führend, hältst du fortlaufend zwei Systeme von Hand gleich und verlierst, sobald du auf mehr als einem Kanal verkaufst: der Webshop weiss nicht, was dein B2B-Verkauf oder deine Kasse gerade abgebucht hat. Ist Odoo führend, gibt es eine Quelle der Wahrheit. Odoo kennt deinen echten Bestand (Einkauf, Wareneingang, Produktion, Retouren, mehrere Lager) und schiebt die verfügbaren Mengen an jeden Kanal.
Für nahezu jedes Unternehmen, das mehr als einen einzelnen Webshop betreibt, lautet die Antwort: Odoo ist die single source of truth, Shopify ist ein Verkaufskanal. Der Rest dieses Leitfadens geht davon aus, dass du diese Wahl triffst, und zeigt, wie du sie umsetzt.
Die Datenarchitektur: was synchronisiert, in welche Richtung, und warum
Eine gute Integration ist nicht “alles mit allem”, sondern eine bewusste Wahl pro Datentyp. Jede Zeile unten ist eine explizite Entscheidung, mit einem Grund:
| Daten | Richtung | Warum diese Richtung |
|---|---|---|
| Produkte (Titel, Preis, Beschreibung, Medien) | Eine Seite führend (meist Odoo) | Beide Seiten zu bearbeiten erzeugt Konflikte; wähle die Quelle |
| Bestand / Verfügbarkeit | Odoo zu Shopify | Odoo kennt den echten Bestand, verhindert Overselling |
| Aufträge | Shopify zu Odoo | Verkauf entsteht auf dem Kanal, wird in Odoo verarbeitet |
| Kunden | Shopify zu Odoo | Angelegt oder gematcht beim Eingang des Auftrags |
| Versand / Tracking | Odoo zu Shopify | Fulfilment passiert in Odoo, Status zurück zum Kunden |
| Retouren / Gutschriften | Shopify zu Odoo | Rücksetzen plus Bestand am richtigen Standort wiederherstellen |
| Zahlung / Abstimmung | Shopify zu Odoo | Automatisch gebucht und gegen die Bank abgeglichen |
Die Richtung ist wichtiger als der Connector. Wer Produkte in beiden Systemen bearbeitet, erzeugt Konflikte; wer Bestand in Shopify neben Odoo führt, bekommt Abweichungen. Zwei Faustregeln für Konflikte: (1) definiere pro Feld genau ein führendes System, und (2) lass das nicht-führende System dieses Feld nur anzeigen, nicht bearbeiten.
Bestandsstrategie: das Herz der Integration
Hier steht und fällt das Ganze. Die meisten gescheiterten Integrationen sind im Kern Bestandsprobleme.
Verfügbar ist nicht gleich physisch. Was du an Shopify schiebst, ist nicht dein physischer Bestand, sondern dein verfügbarer Bestand: physisch minus reserviert minus optionaler Puffer. Schiebst du physischen Bestand, verkaufst du Dinge, die bereits reserviert sind.
Reservierungen und Sicherheitspuffer. Entscheide pro Kanal, ob du einen Puffer hältst (etwa die letzten paar Stück nicht online zeigen), um Overselling bei gleichzeitigen Verkäufen zu daempfen. Das ist eine bewusste Marge gegen Race Conditions, kein technisches Detail.
Echtzeit versus geplantes Synchronisieren. Echtzeit fühlt sich ideal an, aber Shopify hat API-Limits und bei hohem Volumen kann ein kontinuierlicher Push in Rate Limits laufen. Die Abwägung: Echtzeit für Schnelldreher und knappen Bestand, geplant (alle X Minuten) oder ereignisgesteuert für den Rest. Wähle bewusst pro Produktgruppe, statt alles in Echtzeit zu wollen.
Mehrere Lager und Standorte. Verkaufst du aus mehreren Lagern oder dropshippst du teilweise, entscheidet Odoo, welcher Standort einen Auftrag erfüllt und welche Summe der Standorte du als verfügbar an Shopify schiebst. Lege diese Regeln fest, bevor du integrierst.
B2B und B2C trennen. Hier geht es am häufigsten schief. Zwei Muster:
- Getrennter Bestand: getrennte Lager oder Standorte für B2B und B2C. Strikt, planbar, aber du musst Bestand aktiv verteilen.
- Geteilter Pool mit Reservierung: ein Bestand, bei dem B2B-Aufträge früh reservieren, damit sie nicht vom B2C-Webshop weggekauft werden. Flexibler, aber verlangt Disziplin im Reservierungsprozess. Ohne eines dieser zwei verkauft dein B2C-Webshop den Bestand, den du für einen B2B-Kunden gemeint hast. Die Wahl hängt davon ab, wie strikt die Trennung sein muss und wie viel Handarbeit du akzeptierst.
Produkte und Mapping: die SKU ist dein Schlüssel
Alles hängt an einem zuverlässigen Verknüpfungsschlüssel, und das ist die SKU. Ohne konsistente SKUs zwischen Shopify und Odoo bekommst du kein zuverlaessiges Mapping von Bestand und Aufträgen.
- Varianten: ein Shopify-Produkt mit Varianten mappt auf Produktvarianten in Odoo. Sorge dafür, dass die Varianten-SKUs auf beiden Seiten stimmen, sonst bucht eine verkaufte Variante den falschen Bestand ab.
- Richtung der Produktpflege: wähle, ob du Produkte in Odoo oder in Shopify pflegst. Odoo-führend gibt eine saubere Quelle für Preis, Einstandspreis und Bestand; Shopify-führend passt zu Teams, die content-first arbeiten. Nicht beides.
- Metafields und Content: SEO-Texte und Rich Content leben oft lieber in Shopify. Vereinbare, welche Felder Shopify-only sind, damit eine Sync sie nicht überschreibt.
Bundles und Kits: wo es leise schiefgeht
Shopify-Bundles und Odoo-Kits sehen gleich aus, funktionieren aber unterschiedlich, und dieser Unterschied bricht leise deinen Bestand.
Ein Bundle, das auf Shopify als ein Produkt verkauft, muss in Odoo den Bestand der Komponenten abbuchen, nicht eines fiktiven Bundle-Produkts. Bucht die Integration das Bundle als einen einzelnen Artikel ab, stimmt dein Komponentenbestand nach jedem Bundle-Verkauf nicht mehr, und du siehst es erst, wenn die Zählungen auseinanderlaufen. Odoo löst das mit Stücklisten oder Kit-Produkten, die auf Komponentenebene abbuchen. Vereinbare vorab, wie Bundles, Kits und Varianten gemappt werden, und teste explizit, dass ein Bundle-Verkauf die richtigen Komponenten reduziert.
Der Auftragsfluss: von der Kasse bis zur Buchung
Ein Auftrag durchläuft mehr als “er kommt herein”:
- Auftrag kommt aus Shopify in Odoo, mit Kunde, Positionen, Rabatten und Versandart.
- Zahlung wird verknüpft: Shopify Payments, iDEAL, Kreditkarte. Für die Buchhaltung willst du, dass der Eingang gegen den Auftrag abgeglichen wird.
- Fulfilment passiert in Odoo: kommissionieren, verpacken, vom richtigen Standort versenden.
- Tracking geht zurück an Shopify, damit der Kunde seinen Status sieht.
- Retoure oder Gutschrift kommt zurück in Odoo: rücksetzen und, entscheidend, den Bestand am richtigen Standort wiederherstellen, inklusive Teilretouren.
Jeder Schritt ist eine Entscheidung: automatisch oder mit Kontrolle, sofort oder gebündelt. Für die Buchhaltung ist das Abgleichen von Zahlungen gegen Aufträge der Punkt, an dem viele Integrationen auf halbem Weg steckenbleiben.
Steuern und Buchhaltung: wo ein lokaler Partner gewinnt
Hier kommt ein generischer internationaler Connector oft zu kurz und lokales Wissen macht den Unterschied:
- Umsatzsteuer und steuerliche Positionen: B2C mit Umsatzsteuer, B2B mit Reverse Charge oder innergemeinschaftlich, das verlangt die richtigen steuerlichen Positionen in Odoo.
- EU-Verkauf und OSS: verkaufst du grenzueberschreitend an Verbraucher, kommen die One-Stop-Shop-Regelung und Umsatzsteuer pro Land ins Spiel.
- Peppol und E-Rechnung: zunehmend relevant für die Geschaeftsfakturierung in den Niederlanden und der EU.
- Abstimmung und Tagesabschluss: die Brücke zwischen deinem Verkaufskanal und einer stimmigen Buchhaltung.
Genau deshalb ist “einen Connector installieren” nicht dasselbe wie “deine E-Commerce-Buchhaltung stimmt”.
Mehrere Stores und Kanäle: die Allokationsregeln
Mehrere Stores (pro Land, Marke oder B2B/B2C) können an einer Odoo-Umgebung hängen, jeweils mit eigenem Lager, eigener Preisliste und eigenem Kanal. Die Falle ist die Bestandsverteilung: ohne Regeln verkauft ein Store die anderen leer. Lege vorab fest, wie Bestand verteilt und reserviert wird, ob du pro Store einen eigenen Standort nutzt, und wie du mit geteiltem Bestand umgehst. Das ist dieselbe Frage wie die B2B/B2C-Trennung, eine Ebene breiter.
Den Connector wählen: eine Entscheidungsmatrix
Es gibt grob drei Routen. Keine ist universell die beste; wähle nach Szenario:
| Route | Stark wenn | Achtung |
|---|---|---|
| App-Store-Connector (z.B. Webkul, Emipro) | Standardszenario, schnell live, begrenztes Budget | Weniger Kontrolle über Edge Cases; Anpassung oft schwierig; Qualität variiert je Anbieter |
| Odoos eigener Shopify-Connector | Du willst im Odoo-Oekosystem bleiben | Szenario-Abdeckung kann schmaler sein als eine spezialisierte App |
| Individual-Integration (über die API) | Komplexe oder einzigartige Flüsse, volle Kontrolle | Verlangt Odoo.sh oder on-premise und Wartung; jede Anpassung ist Upgrade-Risiko |
Die Auswahlkriterien: Anzahl Stores und Länder, Richtung und Frequenz der Sync, Produkt-Mapping, Bundles/Kits und Varianten, Auftragsstatus, Kontrolle über Bestandsupdates, und deine Hostingform (Anpassung verlangt Odoo.sh oder on-premise). Wiege auch die Wartung: eine Integration ist kein einmaliges Projekt, sondern ein lebendiger Bestandteil, der bei jedem Shopify- und Odoo-Upgrade weiter funktionieren muss. Käufer suchen oft nach Connector-Namen, aber der Connector ist das Schlussstück, nicht der Ausgangspunkt. Wir vergleichen die echten Apps, ihre Preise und Bewertungen, und die Architekturfragen, die die meisten Vergleiche überspringen, in den besten Odoo-Shopify-Connector wählen.
Implementierungsansatz: wie du es richtig aufsetzt
Die Reihenfolge, die den Unterschied macht zwischen einer Integration, die jahrelang hält, und einer, die du ständig reparierst:
- Fit-Gap zuerst. Bilde deine E-Commerce-Prozesse, Kanäle, Bestandsflüsse und Buchhaltungsanforderungen ab, bevor du einen Connector wählst.
- Datenstrategie festlegen. Pro Datentyp: welches System ist führend, in welche Richtung wird synchronisiert, Echtzeit oder geplant.
- Bestandsmodell entwerfen. Lager, Standorte, Puffer, B2B/B2C-Trennung, Allokationsregeln.
- Auf Staging bauen und trockenlaufen. Teste mit echten Szenarien: Bundle-Verkauf, Teilretoure, gleichzeitiger Verkauf auf zwei Kanälen, ein Auftrag über mehrere Lager.
- Go-live mit einer Bestands-Nullmessung. Starte mit stimmigem Bestand auf beiden Seiten, und überwache die ersten Wochen aktiv auf Abweichungen.
Fehlermodi und Diagnose (für Consultants)
Wenn es schiefgeht, ist die Ursache fast immer eine davon. Erkenne das Muster:
- Bestand läuft auseinander. Ursache: Bestand an zwei Stellen geführt, oder physisch statt verfügbar geschoben, oder ein Kanal (Kasse, B2B) bucht an Odoo vorbei ab. Fix: eine Quelle, verfügbar schieben, alle Kanäle durch Odoo.
- Overselling. Ursache: Sync-Frequenz zu niedrig für Schnelldreher, kein Puffer, oder keine B2B/B2C-Trennung. Fix: Echtzeit für knappen Bestand, Puffer, Trennung.
- Bestand nach Bundle-Verkauf falsch. Ursache: Bundle als einzelner Artikel statt Komponenten abgebucht. Fix: Kit oder Stückliste auf Komponentenebene.
- Doppelte Kunden. Ursache: kein Matching per E-Mail bei der Anlage. Fix: Matching-Regel auf einem eindeutigen Feld.
- Aufträge bleiben stecken. Ursache: unbekannte SKU, fehlende steuerliche Position, oder eine Zahlungsart ohne Mapping. Fix: Mapping vervollständigen und Fehlerbehandlung einrichten.
- Buchhaltung stimmt nicht überein. Ursache: Zahlungen nicht gegen Aufträge abgeglichen, oder falsche Umsatzsteuerbehandlung. Fix: Abgleich automatisieren, steuerliche Positionen pro Zielgruppe.
Kurz zusammengefasst
Shopify verkauft, Odoo betreibt dein Unternehmen. Mach Odoo zur single source of truth, entscheide pro Datentyp, in welche Richtung die Sync läuft, schiebe verfügbaren statt physischen Bestand, trenne B2B- und B2C-Bestand bewusst, mappe Bundles auf Komponentenebene, regle Steuern und Abgleich, und wähle den Connector erst, wenn die Datenstrategie steht. Dann wird die Integration ein Fundament statt eines Risikos - und 42 ist endlich in beiden Systemen die Antwort.
Willst du wissen, ob dein Bestands- oder Kanalproblem eine Integration oder eine Plattformwahl ist? Vereinbare einen unverbindlichen Quickscan und wir bilden deine E-Commerce-Prozesse, deinen Scope und deine größten Risiken in 20 Minuten ab.
Mehr lesen: Odoo Hosting: Online, Odoo.sh oder selbst hosten? · Odoo Community vs Enterprise · Was kostet eine Odoo-Implementierung? · Odoo-Erfahrungen: 2.500+ Rezensionen · Alle Odoo-Vergleiche