Shopify ist ausgezeichnet in dem, was es tut: verkaufen. Aber es ist kein ERP. Sobald Bestand, Einkauf, Produktion, Retouren und Buchhaltung stimmen muessen, und erst recht bei mehreren Kanaelen, lautet die Frage nicht “wie verbinde ich Shopify mit Odoo”, sondern “wo soll die Wahrheit liegen”. Dies ist der tiefe Leitfaden: die Abwaegungen, die Entscheidungen und das Warum. Fuer alle, die eine Integration serioes aufsetzen wollen, und zugleich als Nachschlagewerk fuer unsere eigenen Consultants.
Wann reicht Shopify allein nicht mehr?
Shopify betreibt deinen Webshop gut. Es klemmt, sobald dein Unternehmen groesser wird als der Verkaufskanal. Die Signale, und warum sie auftreten:
- Bestand stimmt nie ganz. Du verkaufst an mehreren Stellen (Webshop, B2B, Marktplaetze, Kasse) und jeder Kanal fuehrt seine eigene Zaehlung. Ohne zentrale Quelle laeuft es unweigerlich auseinander.
- Manuelle Uebertragung 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 Stueckliste 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 Geschaeft 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 ueberhaupt einen Connector installierst: welches System ist fuehrend fuer deinen Bestand?
Ist Shopify fuehrend, haeltst 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 fuehrend, gibt es eine Quelle der Wahrheit. Odoo kennt deinen echten Bestand (Einkauf, Wareneingang, Produktion, Retouren, mehrere Lager) und schiebt die verfuegbaren Mengen an jeden Kanal.
Fuer 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 fuehrend (meist Odoo) | Beide Seiten zu bearbeiten erzeugt Konflikte; waehle die Quelle |
| Bestand / Verfuegbarkeit | Odoo zu Shopify | Odoo kennt den echten Bestand, verhindert Overselling |
| Auftraege | 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 zurueck zum Kunden |
| Retouren / Gutschriften | Shopify zu Odoo | Ruecksetzen 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 fuehrt, bekommt Abweichungen. Zwei Faustregeln fuer Konflikte: (1) definiere pro Feld genau ein fuehrendes System, und (2) lass das nicht-fuehrende System dieses Feld nur anzeigen, nicht bearbeiten.
Bestandsstrategie: das Herz der Integration
Hier steht und faellt das Ganze. Die meisten gescheiterten Integrationen sind im Kern Bestandsprobleme.
Verfuegbar ist nicht gleich physisch. Was du an Shopify schiebst, ist nicht dein physischer Bestand, sondern dein verfuegbarer 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 haeltst (etwa die letzten paar Stueck nicht online zeigen), um Overselling bei gleichzeitigen Verkaeufen zu daempfen. Das ist eine bewusste Marge gegen Race Conditions, kein technisches Detail.
Echtzeit versus geplantes Synchronisieren. Echtzeit fuehlt sich ideal an, aber Shopify hat API-Limits und bei hohem Volumen kann ein kontinuierlicher Push in Rate Limits laufen. Die Abwaegung: Echtzeit fuer Schnelldreher und knappen Bestand, geplant (alle X Minuten) oder ereignisgesteuert fuer den Rest. Waehle 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 erfuellt und welche Summe der Standorte du als verfuegbar an Shopify schiebst. Lege diese Regeln fest, bevor du integrierst.
B2B und B2C trennen. Hier geht es am haeufigsten schief. Zwei Muster:
- Getrennter Bestand: getrennte Lager oder Standorte fuer B2B und B2C. Strikt, planbar, aber du musst Bestand aktiv verteilen.
- Geteilter Pool mit Reservierung: ein Bestand, bei dem B2B-Auftraege frueh 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 fuer einen B2B-Kunden gemeint hast. Die Wahl haengt davon ab, wie strikt die Trennung sein muss und wie viel Handarbeit du akzeptierst.
Produkte und Mapping: die SKU ist dein Schluessel
Alles haengt an einem zuverlaessigen Verknuepfungsschluessel, und das ist die SKU. Ohne konsistente SKUs zwischen Shopify und Odoo bekommst du kein zuverlaessiges Mapping von Bestand und Auftraegen.
- Varianten: ein Shopify-Produkt mit Varianten mappt auf Produktvarianten in Odoo. Sorge dafuer, dass die Varianten-SKUs auf beiden Seiten stimmen, sonst bucht eine verkaufte Variante den falschen Bestand ab.
- Richtung der Produktpflege: waehle, ob du Produkte in Odoo oder in Shopify pflegst. Odoo-fuehrend gibt eine saubere Quelle fuer Preis, Einstandspreis und Bestand; Shopify-fuehrend 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 ueberschreibt.
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 Zaehlungen auseinanderlaufen. Odoo loest das mit Stuecklisten 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 durchlaeuft mehr als “er kommt herein”:
- Auftrag kommt aus Shopify in Odoo, mit Kunde, Positionen, Rabatten und Versandart.
- Zahlung wird verknuepft: Shopify Payments, iDEAL, Kreditkarte. Fuer die Buchhaltung willst du, dass der Eingang gegen den Auftrag abgeglichen wird.
- Fulfilment passiert in Odoo: kommissionieren, verpacken, vom richtigen Standort versenden.
- Tracking geht zurueck an Shopify, damit der Kunde seinen Status sieht.
- Retoure oder Gutschrift kommt zurueck in Odoo: ruecksetzen und, entscheidend, den Bestand am richtigen Standort wiederherstellen, inklusive Teilretouren.
Jeder Schritt ist eine Entscheidung: automatisch oder mit Kontrolle, sofort oder gebuendelt. Fuer die Buchhaltung ist das Abgleichen von Zahlungen gegen Auftraege 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 fuer die Geschaeftsfakturierung in den Niederlanden und der EU.
- Abstimmung und Tagesabschluss: die Bruecke zwischen deinem Verkaufskanal und einer stimmigen Buchhaltung.
Genau deshalb ist “einen Connector installieren” nicht dasselbe wie “deine E-Commerce-Buchhaltung stimmt”.
Mehrere Stores und Kanaele: die Allokationsregeln
Mehrere Stores (pro Land, Marke oder B2B/B2C) koennen an einer Odoo-Umgebung haengen, 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 waehlen: eine Entscheidungsmatrix
Es gibt grob drei Routen. Keine ist universell die beste; waehle nach Szenario:
| Route | Stark wenn | Achtung |
|---|---|---|
| App-Store-Connector (z.B. Webkul, Emipro) | Standardszenario, schnell live, begrenztes Budget | Weniger Kontrolle ueber Edge Cases; Anpassung oft schwierig; Qualitaet variiert je Anbieter |
| Odoos eigener Shopify-Connector | Du willst im Odoo-Oekosystem bleiben | Szenario-Abdeckung kann schmaler sein als eine spezialisierte App |
| Individual-Integration (ueber die API) | Komplexe oder einzigartige Fluesse, volle Kontrolle | Verlangt Odoo.sh oder on-premise und Wartung; jede Anpassung ist Upgrade-Risiko |
Die Auswahlkriterien: Anzahl Stores und Laender, Richtung und Frequenz der Sync, Produkt-Mapping, Bundles/Kits und Varianten, Auftragsstatus, Kontrolle ueber 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. Kaeufer suchen oft nach Connector-Namen, aber der Connector ist das Schlussstueck, nicht der Ausgangspunkt. Wir vergleichen die echten Apps, ihre Preise und Bewertungen, und die Architekturfragen, die die meisten Vergleiche ueberspringen, in den besten Odoo-Shopify-Connector waehlen.
Implementierungsansatz: wie du es richtig aufsetzt
Die Reihenfolge, die den Unterschied macht zwischen einer Integration, die jahrelang haelt, und einer, die du staendig reparierst:
- Fit-Gap zuerst. Bilde deine E-Commerce-Prozesse, Kanaele, Bestandsfluesse und Buchhaltungsanforderungen ab, bevor du einen Connector waehlst.
- Datenstrategie festlegen. Pro Datentyp: welches System ist fuehrend, 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 Kanaelen, ein Auftrag ueber mehrere Lager.
- Go-live mit einer Bestands-Nullmessung. Starte mit stimmigem Bestand auf beiden Seiten, und ueberwache die ersten Wochen aktiv auf Abweichungen.
Fehlermodi und Diagnose (fuer Consultants)
Wenn es schiefgeht, ist die Ursache fast immer eine davon. Erkenne das Muster:
- Bestand laeuft auseinander. Ursache: Bestand an zwei Stellen gefuehrt, oder physisch statt verfuegbar geschoben, oder ein Kanal (Kasse, B2B) bucht an Odoo vorbei ab. Fix: eine Quelle, verfuegbar schieben, alle Kanaele durch Odoo.
- Overselling. Ursache: Sync-Frequenz zu niedrig fuer Schnelldreher, kein Puffer, oder keine B2B/B2C-Trennung. Fix: Echtzeit fuer knappen Bestand, Puffer, Trennung.
- Bestand nach Bundle-Verkauf falsch. Ursache: Bundle als einzelner Artikel statt Komponenten abgebucht. Fix: Kit oder Stueckliste auf Komponentenebene.
- Doppelte Kunden. Ursache: kein Matching per E-Mail bei der Anlage. Fix: Matching-Regel auf einem eindeutigen Feld.
- Auftraege bleiben stecken. Ursache: unbekannte SKU, fehlende steuerliche Position, oder eine Zahlungsart ohne Mapping. Fix: Mapping vervollstaendigen und Fehlerbehandlung einrichten.
- Buchhaltung stimmt nicht ueberein. Ursache: Zahlungen nicht gegen Auftraege 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 laeuft, schiebe verfuegbaren statt physischen Bestand, trenne B2B- und B2C-Bestand bewusst, mappe Bundles auf Komponentenebene, regle Steuern und Abgleich, und waehle 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 groessten 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