Odoo + Shopify Sync: Produkte, Bestellungen und Inventar
Shopify macht über 10 % aller E-Commerce-Einnahmen in den USA aus. Für Unternehmen, die Odoo 19 Enterprise als operatives Rückgrat und Shopify als kundenorientiertes Schaufenster nutzen, ist die Synchronisierung beider Systeme nicht verhandelbar – getrennte Systeme führen zu Bestandsfehlern, Verzögerungen bei der Auftragsabwicklung und Buchhaltungsproblemen.
Dieser Leitfaden deckt die vollständige Odoo-Shopify-Integration ab: Architekturentscheidungen, Synchronisierung von Produktkatalogen, Import von Bestellungen in Echtzeit, bidirektionale Bestandsverwaltung, Abstimmung von Shopify-Zahlungen und Verwaltung mehrerer Filialen.
Wichtige Erkenntnisse
– Shopifys REST- und GraphQL-APIs werden beide unterstützt; GraphQL bevorzugt für Shopify Plus
- Die Produktsynchronisierung erfolgt bidirektional: in Odoo erstellen → in Shopify veröffentlichen oder aus Shopify importieren
- Die Inventarsynchronisierung ist ereignisgesteuert: Wird bei jeder Lagerbewegung in Odoo ausgelöst
- Bestell-Webhook von Shopify zu Odoo ermöglicht einen nahezu sofortigen Bestellimport (< 30 Sekunden)
- Der Shopify Payments-Abgleich wickelt Auszahlungen, Gebühren und Rückerstattungen automatisch ab – Multi-Standort-Inventar wird mit der Multi-Standort-Funktion von Shopify synchronisiert
- Shopify Plus B2B-Kataloge (Großhandel) verweisen auf die Preislisten von Odoo
- Retourenfluss von Shopify zu Odoo RMA mit automatischer Bestandsanpassung
Integrationsarchitektur
API-Ansatz:
Die Integration nutzt die REST Admin API von Shopify für die meisten Vorgänge und Webhooks für ereignisgesteuerte Updates:
- REST API: Produkt-CRUD, Auftragslesen, Bestandsverwaltung
- GraphQL API: Massenvorgänge (großer Katalogexport), B2B-Preisgestaltung (Shopify Plus)
- Webhooks: Auftragserstellung in Echtzeit, Auftragsaktualisierung, Rückerstattungserstellung, Aktualisierung des Lagerbestands
Verbindungstopologie:
Odoo 19 (ERP Backend)
↕ Product, Inventory, Price
Shopify Admin API / Webhooks
↕ Real-time events
Shopify Storefront (Customer-facing)
Authentifizierung:
Shopify verwendet private App-API-Schlüssel oder benutzerdefiniertes App-OAuth:
- Private App: einfacher, empfohlen für Single-Store-Integrationen
- Benutzerdefinierte App (OAuth): erforderlich für die Shopify App Store-Verteilung oder Multi-Store-Verwaltung
Konfigurieren Sie für den ECOSIRE-Connector eine benutzerdefinierte App im Partner-Dashboard von Shopify.
Shopify-App-Konfiguration
Schritt 1: Erstellen Sie eine benutzerdefinierte App in Shopify
- Gehen Sie zu Ihrem Shopify-Adminbereich → Einstellungen → Apps und Vertriebskanäle
- Klicken Sie auf Apps entwickeln → App erstellen
- Legen Sie den App-Namen fest (z. B. „Odoo-Integration“).
- API-Bereiche konfigurieren:
read_products, write_products read_orders, write_orders read_inventory, write_inventory read_shipping, write_shipping read_customers, write_customers read_fulfillments, write_fulfillments read_locations read_price_rules, write_price_rules - Webhook-URL festlegen:
https://your-odoo.com/shopify/webhook - Installieren Sie die App → kopieren Sie Admin API Access Token
Schritt 2: In Odoo konfigurieren
Navigieren Sie zu Verkäufe → Shopify oder Inventar → Shopify Stores:
| Feld | Wert |
|---|---|
| Shopname | Ihr Shopname |
| Shopify-Domain | yourstore.myshopify.com |
| Admin-API-Token | Von der benutzerdefinierten App |
| API-Version | 2024-10 (letzte stabile Version) |
| Webhook-Geheimnis | Automatisch generiert, zur Überprüfung von Webhooks |
| Standardlager | Primärlager für Shopify-Bestellungen |
| Währung | Währung speichern |
| Unternehmen | Odoo-Unternehmen für diesen Shop |
| Zahlungsjournal | Shopify-Zahlungsjournal |
| Rückerstattungsjournal | Shopify-Rückerstattungsjournal |
| Bestellpräfix | z. B. „SHO-“ |
Schritt 3: Webhooks registrieren
Klicken Sie nach dem Speichern der Konfiguration auf Webhooks registrieren. Der Connector abonniert Folgendes:
orders/createorders/updatedorders/paidorders/fulfilledorders/partially_fulfilledorders/cancelledrefunds/createinventory_levels/updateproducts/update
Synchronisierung des Produktkatalogs
Optionen für die Synchronisierungsrichtung:
| Modus | Beschreibung | Anwendungsfall |
|---|---|---|
| Odoo → Shopify | Odoo ist Master, Shopify ist Display | Neue Produkte zuerst in Odoo ERP erstellt |
| Shopify → Odoo | Shopify ist Master, Odoo ist Sklave | Bestehender Shopify-Shop, Odoo |
| Bidirektional | Änderungen in beiden Systemen werden in beide Richtungen synchronisiert | Selten; Konfliktgefahr |
Empfohlen: Odoo → Shopify für neue Bereitstellungen. Der Produktstamm von Odoo stellt umfangreichere Daten (Kaufinformationen, Kosten, Stückliste) bereit, die Shopify nicht benötigt.
Produktfeldzuordnung:
| Odoo-Feld | Shopify-Feld |
|---|---|
| Produktname | Titel |
| Verkaufsbeschreibung | Textkörper HTML |
| Produktkategorie | Produkttyp |
| Schlagworte | Schlagworte |
| Listenpreis | Preis |
| Zum Preis vergleichen | Zum Preis vergleichen |
| Barcode (EAN) | Barcode |
| Gewicht | Gewicht |
| Produktbilder | Bilder |
| Verkauf OK | Veröffentlicht (wahr/falsch) |
| Produkttyp (Dienstleistung/speicherbar) | Erfordert Versand |
Variantensynchronisierung:
Shopify unterstützt bis zu 3 Produktoptionen (Farbe, Größe, Material) mit maximal 100 Varianten pro Produkt. Der Connector bildet die Produktattribute von Odoo ab:
- Odoo
product.template→ Shopify-Produkt - Odoo
product.product(Varianten) → Shopify-Varianten - Odoo-Attributwerte → Shopify-Optionswerte
Massenkatalogsynchronisierung:
Für die Ersteinrichtung mit großen Katalogen (über 1000 Produkte):
- Navigieren Sie zu Shopify → Katalog → Massensynchronisierung
- Wählen Sie die zu synchronisierenden Produktkategorien aus
- Führen Sie den Massensynchronisierungsauftrag aus (Hintergrundprozess).
- Überwachen Sie den Fortschritt im Synchronisierungsprotokoll
- Überprüfen und beheben Sie alle Zuordnungsfehler
Auftragsverwaltung
Bestellimport in Echtzeit über Webhooks:
Wenn ein Kunde eine Bestellung bei Shopify aufgibt, wird der Webhook orders/create innerhalb von Sekunden ausgelöst. Der Stecker:
- Empfängt Webhook-Nutzdaten von Shopify
- Verifiziert die Webhook-Signatur (HMAC-SHA256)
- Erstellt sofort einen Verkaufsauftrag in Odoo
- Gibt 200 OK an Shopify zurück (verhindert einen erneuten Versuch)
Die End-to-End-Zeit vom Shopify-Checkout bis zur Odoo-Verkaufsbestellung: normalerweise 3–15 Sekunden.
Auftragsdatenzuordnung:
| Shopify-Feld | Odoo-Feld |
|---|---|
| Bestell-ID | Referenz (mit Präfix) |
| Kundenname | Res.Partnername |
| Kunden-E-Mail | Partner-E-Mail |
| Rechnungsadresse | Rechnungsadresse |
| Lieferadresse | Lieferadresse |
| Werbebuchungen | Verkaufsauftragszeilen |
| Rabattcodes | Rabattlinien |
| Versandart | Lieferdienstleister |
| Versandkosten | Versandkostenzeile |
| Gesamtsteuer | Steuerzeilen |
| Finanzstatus | Zahlungsstatus |
| Erfüllungsstatus | Lieferstatus |
| Notizen | Kundennotizen |
| Schlagworte | Interne Tags |
Benutzerdefinierte Bestellfelder:
Für Shopify Plus-Händler mit benutzerdefinierten Checkout-Attributen:
- Ordnen Sie Shopify-Bestellnotizattribute benutzerdefinierten Odoo-Feldern zu
- Beispiel: Attribut „Bestellnummer“ →
x_purchase_order_numberbei Verkaufsauftrag - Beispiel: „Geschenknachricht“ →
notebei Verkaufsbestellung
Auftragsabwicklungsablauf:
Nach dem Import verwaltet der Connector die Bestellung über den Standard-Workflow von Odoo:
- Verkaufsauftrag bestätigt
- Lieferauftrag im Odoo WMS erstellt
- Lagerkommissionierung, Verpackung, Versand
- Lieferung in Odoo validiert (Tracking eingegeben)
- Der Connector sendet die Auftragserfüllung mit der Sendungsverfolgungsnummer an Shopify
- Shopify markiert die Bestellung als „erfüllt“ und sendet dem Kunden eine E-Mail
Teilerfüllungen:
Shopify unterstützt Bestellungen mit mehreren Erfüllungen (Versenden Sie, was jetzt verfügbar ist, Rest später). Der Connector verarbeitet:
- Teillieferung in Odoo → Teillieferung an Shopify gesendet
- Shopify zeigt dem Kunden den Teilerfüllungsstatus an
- Für verbleibende Artikel wird eine separate Lieferung erstellt, sofern der Vorrat verfügbar ist
Inventarsynchronisierung
Bidirektionale Inventarsynchronisierung:
Bestandsflüsse in beide Richtungen zur Wahrung der Genauigkeit:
Odoo → Shopify (Hauptrichtung):
- Jede Lagerbewegung in Odoo löst eine Aktualisierung des Lagerbestands in Shopify aus
- Verfügbare Menge = Vorrätig - Reserviert - Sicherheitsbestand
- Aktualisierungen über die Inventarebene-API von Shopify
Shopify → Odoo (Fallback): – Wenn das Shopify-Inventar manuell angepasst wird (Administrator oder App), wird der Webhook ausgelöst – Connector erstellt eine Odoo-Bestandsanpassung mit Prüfvermerk
Shopify für mehrere Standorte:
Die Multi-Standort-Funktion von Shopify verfolgt den Lagerbestand pro physischem Standort. Ordnen Sie Odoo-Lager den Shopify-Standorten zu:
| Odoo-Lager | Shopify-Standort |
|---|---|
| Hauptlager | Hauptstandort |
| Ostküste DC | Lage an der Ostküste |
| Westküste DC | Lage an der Westküste |
| Direktversender | Lieferantenstandort |
Der Konnektor überträgt die Mengen pro Standort basierend auf der Lagerstandortzuordnung an Shopify.
Schutzmaßnahmen zur Bestandsgenauigkeit:
- Der Sicherheitsbestandspuffer verhindert, dass Shopify den gesamten verfügbaren Lagerbestand anzeigt
- Handhabung von Fehlbeständen: Wenn die Menge 0 erreicht, ist der Shopify-Bestand = 0 (nicht negativ).
- Weiterverkaufen, wenn nicht vorrätig: pro Produkt konfigurierbar (einige Verkäufer erlauben Nachbestellungen)
Abgleich von Shopify-Zahlungen
Gebührenstruktur für Shopify Payments:
| Planen | Online-Tarif | Persönlicher Tarif |
|---|---|---|
| Grundlegend | 2,9 % + 30 ¢ | 2,7 % |
| Shopify | 2,6 % + 30¢ | 2,5 % |
| Erweitert | 2,4 % + 30¢ | 2,4 % |
| Plus | 0,2 % (Shopify Payments) | 0,2 % |
Auszahlungsabgleich:
Shopify Payments überweist alle 2–3 Werktage eine Überweisung auf Ihr Bankkonto. Der Connector importiert Auszahlungsdaten:
- Shopify Payments-Auszahlungsbericht herunterladen (oder über API)
- Import über Shopify → Finanzen → Auszahlung importieren
- Connector erstellt Journaleinträge:
- Umsatz (Nettoverkaufsbeträge pro Bestellung)
- Kosten für Shopify-Gebühren (Zahlungsabwicklung)
- Rückerstattungsanpassungen
- Nettoauszahlungsforderung
- Wenn die Banküberweisung eintrifft: Mit dem Shopify Payments-Journal abgleichen
Abwicklung von Shopify-Rückerstattungen:
Wenn eine Rückerstattung in Shopify verarbeitet wird:
refunds/createWebhook wird ausgelöst- Connector erstellt in Odoo eine Gutschrift für die Originalrechnung
- Wenn der Bestand zurückgegeben (wieder aufgefüllt) wurde: Erstellt eine Rückübertragung
- Gutschrift wird gebucht → Saldo wird mit dem Kundenkonto verrechnet
Shopify Plus B2B-Integration
Shopify Plus beinhaltet B2B-Funktionen (Großhandelskataloge, Zahlungsbedingungen, Nettozahlung). Der Connector integriert diese mit der B2B-Preisgestaltung von Odoo:
Firmen- und Katalogzuordnung:
| Shopify B2B | Odoo-Äquivalent |
|---|---|
| Unternehmen | res.company (oder Kundensegment) |
| Katalog | Preisliste |
| Zahlungsbedingungen | Zahlungsbedingungen bei Kaufbestellung |
| Verordnungsentwürfe | Angebote (Verkauf.Bestellung im Entwurf) |
B2B-Preise synchronisieren:
- Erstellen Sie im Connector einen Shopify B2B-Katalog
- Link zu einer Odoo-Preisliste
- Weisen Sie Shopify-B2B-Unternehmen zu
- Preisänderungen in der Odoo-Preisliste → automatisch in den Shopify B2B-Katalog übertragen
Multi-Store-Management
Für Marken, die mehrere Shopify-Shops betreiben (Regionen, Marken, Großhandel vs. Einzelhandel):
Mehrere Store-Konfigurationen:
Erstellen Sie separate Connector-Konfigurationen für jeden Shopify-Shop:
- Unterschiedliche API-Anmeldeinformationen pro Geschäft
- Filialspezifische Produktsichtbarkeit (einige Produkte in allen Filialen, andere spezifisch)
- Filialspezifische Preisgestaltung (regionale Preisgestaltung, Großhandel vs. Einzelhandel)
- Filialspezifische Bestandszuordnung
Bestandsaufteilung über Filialen hinweg:
Available for Store A = On-Hand - Reserve for Store B - Reserve for Store C - Safety Stock
Konfigurieren Sie Zuordnungsregeln, um Überverkäufe zu verhindern, wenn mehrere Filialen aus demselben Lagerbestand greifen.
Häufig gestellte Fragen
Wie verarbeitet der Connector die Produktmetafelder von Shopify für benutzerdefinierte Daten?
Shopify-Metafelder speichern benutzerdefinierte Daten zu Produkten, Bestellungen und Kunden. Der Connector ordnet bestimmte Odoo-Felder Shopify-Metafeldern zu. Ordnen Sie beispielsweise das x_care_instructions-Feld von Odoo einem product.care_instructions-Metafeld zu. Konfigurieren Sie Metafeldzuordnungen in den erweiterten Einstellungen des Connectors pro Ressourcentyp.
Kann der Connector die Abonnementprodukte von Shopify (Shopify Subscriptions oder ReCharge) verarbeiten?
Standard-Shopify-Abonnementbestellungen werden als reguläre Bestellungen in Odoo importiert. Bei ReCharge-Abonnements werden wiederkehrende Bestellungen als einzelne orders/create-Webhooks ausgelöst und normal importiert. Der Connector verwaltet nicht den Abonnementlebenszyklus in Shopify – er verarbeitet jede Bestellung, unabhängig davon, ob es sich um ein Abonnement oder eine einmalige Bestellung handelt.
Was passiert, wenn der Odoo-Server ausfällt, wenn ein Shopify-Webhook ausgelöst wird?
Shopify wiederholt fehlgeschlagene Webhooks innerhalb von 48 Stunden bis zu 19 Mal. Der Connector verarbeitet den Webhook, wenn Odoo wiederhergestellt wird und die Bestellung importiert wird. Für geschäftskritische Zuverlässigkeit konfigurieren Sie Odoo mit redundanter Infrastruktur (Load Balancer + mehrere Worker) und Überwachungswarnungen für Ausfallzeiten. Das 48-Stunden-Wiederholungsfenster bietet einen Puffer für geplante Wartungsarbeiten.
Unterstützt der Connector Shopify Markets (internationaler Verkauf in mehreren Währungen)?
Ja. Shopify Markets ermöglicht den Verkauf in mehreren Währungen von einem einzigen Shop aus. Der Connector importiert Bestellungen in der Checkout-Währung des Käufers und erstellt Verkaufsaufträge in dieser Währung in Odoo. Bei der Währungsumrechnung wird der Wechselkurs zum Zeitpunkt des Auftragsimports verwendet. Konfigurieren Sie separate Preislisten pro Shopify-Markt in Odoo für genaue lokale Preise.
Wie gehe ich mit Shopify-Geschenkkarten in Odoo um?
Shopify-Geschenkkarten werden bei Bestellungen als Zahlungsmethode angezeigt. Der Connector erstellt eine separate Zahlungszeile für den Geschenkkartenteil jeder Bestellung. Konfigurieren Sie in Odoo ein Haftungskonto „Shopify Gift Cards“. Beim Verkauf einer Geschenkkarte (über ein Geschenkkartenprodukt) wird der Umsatz abgegrenzt. Bei der Einlösung einer Bestellung wird die Verbindlichkeit beglichen und der Umsatz erfasst.
Nächste Schritte
Eine gut ausgeführte Odoo-Shopify-Integration wird unsichtbar – sie funktioniert einfach und hält beide Systeme ohne manuelle Eingriffe synchronisiert. Das ECOSIRE-Team hat Shopify-Odoo-Integrationen für alles entwickelt, von D2C-Marken, die 50 Bestellungen pro Tag verarbeiten, bis hin zu Großhändlern, die 10.000 Bestellungen pro Tag abwickeln.
Kontaktieren Sie ECOSIRE bezüglich Ihrer Shopify-Odoo-Integration →
Entdecken Sie die Shopify-Dienste von ECOSIRE →
Teilen Sie Ihre Shop-Details und aktuellen Schwachstellen mit und unser Team wird eine Shopify-Odoo-Integration planen, die die Lücken zwischen Ihrem ERP und Ihrer Storefront schließt.
Geschrieben von
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
Verwandte Artikel
Australian GST Guide for eCommerce Businesses
Complete Australian GST guide for eCommerce businesses covering ATO registration, the $75,000 threshold, low value imports, BAS lodgement, and GST for digital services.
eCommerce Bookkeeping: Revenue Recognition and Sales Tax
Master eCommerce bookkeeping with correct revenue recognition timing, sales tax collection across marketplaces, and reconciliation for Shopify, Amazon, and more.
Odoo Accounting vs QuickBooks: Detailed Comparison 2026
In-depth 2026 comparison of Odoo Accounting vs QuickBooks covering features, pricing, integrations, scalability, and which platform fits your business needs.