Wer Microsoft Dynamics 365 Business Central einsetzt und über Shopify verkauft, hat die Schnittstelle eigentlich schon: den Shopify Connector von Microsoft. Er ist in neuen Business-Central-Online-Umgebungen vorinstalliert. Er synchronisiert Artikel, Preise, Bestände, Debitoren, B2B-Unternehmen, Aufträge, Lieferungen, Erstattungen und Auszahlungen und läuft über die Aufgabenwarteschlange.
Die eigentliche Frage lautet deshalb nicht „Wie binden wir Shopify an Business Central an?“, sondern: „Wo endet der Standard-Connector für *unser* Geschäft, und wie schließen wir die Lücke am günstigsten?“ Dieser Leitfaden beantwortet das anhand der Microsoft-Dokumentation (Stand: 25. September 2026). Er richtet sich an Händler in Deutschland, Österreich und der Schweiz, wo Business Central weit verbreitet ist und Endkundenpreise in der Regel inklusive Mehrwertsteuer angezeigt werden.
Die Kurzfassung
- Zuerst den Connector konfigurieren. Für einen Shop mit einer Währung, Standardprodukten und Endkundengeschäft reicht der Connector mit sauber eingerichteter Shopkarte meist aus.
- Mit AL erweitern, wenn die Lücke eine Geschäftsregel ist: welcher Debitor verwendet wird, welche Dimension gesetzt wird oder wie der verfügbare Bestand berechnet wird. Microsoft stellt dafür Ereignisse, öffentliche Fassaden-Codeunits und erweiterbare Enums bereit.
- Individuell entwickeln nur, wenn Sie Shopify-Daten oder API-Aufrufe brauchen, die der Connector nicht abdeckt: Staffelpreise, Metafelder vom Typ Liste, Variantenmatrizen mit mehreren Optionen aus Business Central heraus oder Abläufe nahezu in Echtzeit, die die Aufgabenwarteschlange nicht leistet. Selbst dann ist ein hybrider Ansatz (Connector plus eigene App für die Lücke) meist günstiger als ein kompletter Ersatz.
Was der Microsoft-Connector abdeckt
| Daten | Richtung | Hinweise aus der Microsoft-Dokumentation |
|---|---|---|
| Artikel ↔ Produkte und Varianten | Beide | Bilder, Varianten, Barcodes, Kreditorartikelnummern, Tags, Metafelder. Exportiert Artikelattribute, erweiterte Texte, Marketingtexte und Übersetzungen. |
| Preise | Business Central → Shopify | Preis und Vergleichspreis aus VK-Preis, Debitorenpreisgruppe, Debitorenrabattgruppe und Währung. Markt- und B2B-Kataloge. |
| Bestand | Business Central → Shopify | Pro zugeordnetem Lagerort. Zwei Standardberechnungen: voraussichtlich verfügbarer Bestand zum heutigen Datum und freier (nicht reservierter) Bestand. |
| Debitoren und B2B-Unternehmen | Beide | Debitoren werden per E-Mail oder Telefon bzw. über die Rechnungsadresse zugeordnet, Unternehmen per E-Mail oder Telefon bzw. über die Steuer-ID. Vorlagen pro Land setzen die Buchungsgruppen. |
| Aufträge | Shopify → Business Central | Aufträge aus Onlineshop, POS und B2B, inklusive Versand, Geschenkkarten, Trinkgeld, Transaktionen, Bestellnummer des Käufers und Betrugsrisiko. Erzeugt einen Verkaufsauftrag oder, bei bereits erfüllten Bestellungen, eine Verkaufsrechnung. |
| Lieferungen | Business Central → Shopify | Gebuchte Verkaufslieferungen werden zu Fulfillments mit Sendungsnummer. |
| Rücksendungen und Erstattungen | Shopify → Business Central | Nur importieren oder automatisch Gutschriften bzw. Verkaufsreklamationen anlegen. |
| Transaktionen und Auszahlungen | Shopify → Business Central | Auszahlungen von Shopify Payments dienen nur der Information und buchen nicht ins Hauptbuch. |
| Gebuchte Verkaufsrechnungen | Business Central → Shopify | Werden als Bestellungen exportiert, damit Käufer alle Rechnungen an einem Ort sehen. |
Diese Voraussetzungen sollten Sie vor jeder Planung prüfen:
- Der Connector funktioniert nur mit Business Central Online. Für On-Premises-Installationen und Embed Apps ist er nicht verfügbar, und er arbeitet nicht mit anderen Dynamics-365-Apps wie Sales zusammen.
- Sie brauchen eine Business-Central-Lizenz und einen Shopify-Tarif. Benutzer benötigen den Berechtigungssatz SHPFY – ADMIN.
- Sie können mehrere Shopify-Shops verbinden, jeweils mit eigenen Einstellungen. Derselbe Shop lässt sich aus mehreren Mandanten oder Umgebungen anbinden, was beim Testen hilft.
- Die Synchronisierung läuft über Berichte in der Aufgabenwarteschlange, etwa Bericht 30104 für Aufträge und Bericht 30102 für Bestände. Microsoft empfiehlt, den Bestand alle 15–30 Minuten abzugleichen. Auto Sync Orders startet einen Auftragsimport, sobald Shopify eine neue Bestellung meldet, unterstützt aber keine Filter.
Wo der Connector an Grenzen stößt
Die folgenden Punkte sind von Microsoft dokumentiert, keine Vermutungen. Prüfen Sie jeden gegen Ihr Sortiment und Ihre Prozesse.
Preise
- Der Connector berechnet Preise über ein temporäres Verkaufsangebot mit Menge 1. Mengenabhängige Preise oder Rabatte lassen sich nicht exportieren. Wenn Sie Geschäftskunden Staffelpreise geben, müssen diese in Shopify oder per individueller Entwicklung gepflegt werden.
- Er exportiert einen Preis pro Produkt und überlässt lokale Steuern, Währungen und Rundung Shopify, sofern Sie keine Marktkataloge mit eigenen Preiseinstellungen anlegen.
- Laut Microsoft setzt die Preissynchronisierung für B2B-Kataloge Shopify Plus voraus. Shopify bietet B2B zwar in allen Tarifen an, Kataloge direkt Unternehmen und Unternehmensstandorten zuzuweisen ist aber Plus vorbehalten.
Produkte und Varianten
- Business Central kennt nur einen Variantencode. Nutzt ein Shopify-Produkt zwei oder mehr Optionen (etwa Größe × Farbe), kann der Connector dort keine neuen Varianten anlegen, und Sie können keinen Artikel als Variante hinzufügen.
- Einheiten als Varianten teilen sich eine Verfügbarkeit. Der Bestand für „Karton à 6“ und „Einzelstück“ kann deshalb zwischen zwei Synchronisierungen kurz falsch sein.
- Metafelder: Listentypen, Rich Text, Link und Bewertung werden nicht unterstützt. Wenn Sie einen Wert in Business Central leeren, bleibt er in Shopify bestehen.
- Zuweisen lassen sich nur manuell gepflegte Kollektionen (Custom Collections). Regelbasierte Smart Collections sind nicht abgedeckt.
- Bundles: Die App Shopify Bundles verhindert Bestandsänderungen über die API. Microsoft empfiehlt, Bundle-Produkte Artikeln ohne Lagerhaltung (Typ Non-Inventory) zuzuordnen, die der Bestandsabgleich überspringt.
Aufträge, Lagerorte und Fulfillment
- Archivierte Bestellungen lassen sich nicht importieren. Deaktivieren Sie in Shopify die automatische Bestellarchivierung.
- Wird eine Bestellung in Shopify bearbeitet, nachdem Business Central sie verarbeitet hat, markiert der Connector den Konflikt, ändert Ihren Verkaufsbeleg aber nicht.
- Eine Shopify-Position, die aus zwei Lagerorten erfüllt wird, wird in Business Central zu einer Zeile mit einem Lagerort. Bestellungen mit demselben Produkt auf zwei Zeilen (etwa bei „Kaufe X, erhalte Y“) lassen sich aus Business Central nicht erfüllen.
- Legen Sie in Shopify einen neuen Standort an, erzeugt Shopify dort keine Bestandsdatensätze für bestehende Produkte. Der Connector kann den Bestand dorthin erst übertragen, wenn Sie die Produkte dem Standort zuweisen.
- Steuern werden beim Anlegen des Verkaufsbelegs in Business Central neu berechnet. Falsche Buchungsgruppen führen zu falscher Mehrwertsteuer, auch wenn die Shopify-Bestellung korrekt war.
B2B-Kunden
- Ein Shopify-Unternehmen braucht einen Hauptkontakt, sonst wird es übersprungen. Importiert wird nur der Hauptkontakt, und der Debitor wird aus dem ältesten Unternehmensstandort angelegt.
Feldzuordnung im Überblick
Legen Sie diese Punkte vor der ersten Synchronisierung fest. Wer die SKU-Zuordnung später ändert, muss Produkte neu zuordnen.
| Shopify-Feld | Business-Central-Feld | Richtung | Worauf Sie achten sollten |
|---|---|---|---|
| Produkttitel | Artikelbeschreibung oder Artikelübersetzung | Beide | Wird nur aktualisiert, wenn Can Update Shopify Products aktiv ist |
| Variantentitel | Variantencode | BC → Shopify | Der Code wird verwendet, weil Shopify eindeutige Variantentitel verlangt |
| SKU | Artikelnr., Artikelnr. + Variantencode, Kreditorartikelnr. oder Barcode (je nach SKU Mapping) | Beide | Ein Schema wählen und SKUs vorher eindeutig machen |
| Barcode | Artikelreferenz vom Typ Barcode | Beide | Wird beim Abgleich zuerst geprüft |
| Preis / Vergleichspreis | Berechneter Preis bei Menge 1 | BC → Shopify | Beim Import setzt der Preis nur den VK-Preis neu angelegter Artikel |
| Kosten je Artikel | Einstandspreis | Beide | Beim Import nur für neu angelegte Artikel |
| Produkttyp / Anbieter | Artikelkategorie (über Beschreibung) / Kreditor (über Name) | Beide | Zuordnung über den Namen, also in beiden Systemen identisch halten |
| Bestand | Verfügbarer Bestand pro zugeordnetem Lagerort | BC → Shopify | Artikel ohne Lagerhaltung und Dienstleistungen werden übersprungen |
| Kunde | Debitor, mit Vorlagen pro Land | Beide | Braucht eine Adresse. Für den Export sind E-Mail und eindeutige Telefonnummer Pflicht |
| Steuer-ID des Unternehmens | USt-IdNr. oder Registrierungsnummer | Beide | Festlegen über Company Tax ID Mapping |
| Bestellnummer des Käufers (PO) | Externe Belegnummer | Shopify → BC | |
| Versandposition | Sachkonto, Artikel oder Artikel Zu-/Abschlag für Versandkosten | Shopify → BC | Nur die erste Versandgebühr bestimmt die Lieferbedingung |
| Erstattung | Verkaufsgutschrift oder Verkaufsreklamation | Shopify → BC | Die ursprüngliche Bestellung muss bereits verarbeitet sein |
| Fulfillment und Sendungsverfolgung | Gebuchte Lieferung, Zusteller, Paketverfolgungsnummer | BC → Shopify |
Die Feldnamen des Connectors auf der Shopify-Shopkarte stehen hier in der englischen Originalbezeichnung, da die deutsche Übersetzung je nach Version abweichen kann.
Connector erweitern oder eigene Schnittstelle bauen?
| Ansatz | Was es ist | Geeignet für | Nachteil |
|---|---|---|---|
| Konfigurieren | Einstellungen der Shopkarte, Zuordnungen, Aufgabenwarteschlange | Standard-Onlineshops für Endkunden | Keiner, aber die Grenzen oben kennen |
| Per-Tenant-Extension (AL) | Ereignisse des Connectors abonnieren, Fassaden-Codeunits aufrufen, Enum-Optionen ergänzen | Geschäftsregeln für Daten, die der Connector ohnehin überträgt | Die API-Aufrufe des Connectors lassen sich laut Microsoft nicht ändern |
| Hybrid | Connector plus eigene, nicht gelistete Shopify-App für die fehlenden Aufrufe | Staffelpreise, nicht unterstützte Metafelder, zusätzliche Webhooks | Sie betreiben eine zweite Integration samt API-Updates |
| Komplett individuell | Shopify-App plus Business-Central-APIs oder eigene API-Seiten, meist mit Middleware | Ungewöhnliche Datenmodelle, Business Central On-Premises | Sie verantworten alles: Zuordnung, Wiederholungen, Monitoring, Updates |
Viele Lücken lassen sich mit wenigen Zeilen AL schließen. Die folgende Erweiterung schreibt die Shopify-Bestellnummer in Ihre Referenz, ein Standardfeld im Verkaufskopf, das Ihre Belegvorlagen drucken können. Die externe Belegnummer bleibt unberührt, weil der Connector dort bereits die Bestellnummer des Käufers einträgt:
codeunit 50120 "Shopify Order Reference"
{
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Shpfy Order Events", OnAfterCreateSalesHeader, '', false, false)]
local procedure SetYourReference(OrderHeader: Record "Shpfy Order Header"; var SalesHeader: Record "Sales Header")
begin
// Parameternamen müssen denen des Publishers entsprechen: OrderHeader, SalesHeader.
SalesHeader."Your Reference" := CopyStr(OrderHeader."Shopify Order No.", 1, MaxStrLen(SalesHeader."Your Reference"));
SalesHeader.Modify(true);
end;
}
Wenn Sie selbst entwickeln, planen Sie diese Rahmenbedingungen ein:
- Shopifys API-Bedingungen. Eine App, deren Hauptzweck die Weitergabe von Händlerdaten an Dritte ist, braucht die vorherige schriftliche Zustimmung von Shopify. Microsoft weist darauf hin, wenn jemand einen eigenen Business-Central-Connector veröffentlichen will, und empfiehlt zu prüfen, ob eine nicht gelistete App infrage kommt. Für einen einzelnen Händler ist das meist eine App mit individueller Verteilung (Custom Distribution). Lassen Sie die Bedingungen in jedem Fall von Ihrer Rechtsabteilung prüfen.
- Bestellhistorie. Apps sehen nur die Bestellungen der letzten 60 Tage, solange Shopify den Scope
read_all_ordersnicht freigegeben hat. - Limits von Business Central. OData-Anfragen sind pro Benutzer begrenzt: 6.000 in einem gleitenden Fenster von fünf Minuten, 5 gleichzeitig verarbeitete Anfragen und 100 Operationen pro
$batch. Nach 8 Minuten bricht eine Anfrage ab. Wer das Limit überschreitet, erhält HTTP 429. - Webhooks von Business Central laufen nach drei Tagen ab, wenn Sie sie nicht erneuern. Sie kommen etwa 30 Sekunden nach einer Änderung. Ändern sich mehr als 1.000 Datensätze auf einmal, erhalten Sie eine einzige „collection“-Benachrichtigung und müssen die Daten neu abfragen.
Ihr Client sollte bei 429 und 503 warten und erneut versuchen und vor dem Anlegen prüfen, ob der Beleg schon existiert:
// Node 18+. Legt einen Verkaufsauftrag genau einmal an, eindeutig über die Shopify-Bestellnummer.
async function bc(url, token, options = {}, attempt = 0) {
const res = await fetch(url, {
...options,
headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json" },
});
if ((res.status === 429 || res.status === 503) && attempt < 5) {
await new Promise((r) => setTimeout(r, 2 ** attempt * 1000));
return bc(url, token, options, attempt + 1);
}
if (!res.ok) throw new Error(`Business Central ${res.status}: ${await res.text()}`);
return res.status === 204 ? null : res.json();
}
async function createOrderOnce(base, token, shopifyOrder) {
const ref = shopifyOrder.name.replace(/'/g, "''");
const found = await bc(`${base}/salesOrders?$filter=externalDocumentNumber eq '${ref}'`, token);
if (found.value.length) return found.value[0]; // bei einer früheren Zustellung bereits angelegt
return bc(`${base}/salesOrders`, token, {
method: "POST",
body: JSON.stringify({
customerNumber: shopifyOrder.bcCustomerNumber, // aus Ihrer eigenen Debitorenzuordnung
externalDocumentNumber: shopifyOrder.name,
}),
});
}
So bleibt die Synchronisierung zuverlässig
- Legen Sie pro Datenart ein führendes System fest, bevor Sie live gehen. Microsoft rät selbst dazu, zu entscheiden, ob Artikel- und Debitorendaten in Business Central oder in Shopify gepflegt werden, und die Richtungen nicht ohne klare Regel zu mischen.
- Ordnen Sie zusammenhängende Aufgabenwarteschlangenposten derselben Kategorie zu. Microsoft empfiehlt das, damit sich Auftrags-, Debitoren- und Artikelsynchronisierung nicht in die Quere kommen.
- Prüfen Sie übersprungene Datensätze. Ein Lauf der Aufgabenwarteschlange gilt als erfolgreich, auch wenn er gesperrte Artikel oder ungültige Debitoren überspringt. Werfen Sie deshalb wöchentlich einen Blick auf die Seite „Shopify Skipped Records“.
- Aktualisieren Sie Business Central rechtzeitig. Der Connector nutzt eine feste Shopify-API-Version, die mit jedem Hauptrelease übernommen wird. Shopify unterstützt jede Version mindestens 12 Monate. Microsofts eigenes Beispiel: Der Connector vom Oktober 2025 nutzt die API-Version 2025-07, die bis zum 1. Juli 2026 unterstützt wurde. Verlassen Sie sich nicht darauf, das fünfmonatige Update-Fenster von Business Central voll auszuschöpfen.
- Vertrauen Sie in eigenem Code nicht allein auf Webhooks. Prüfen Sie die Signatur, verwerfen Sie Duplikate und gleichen Sie regelmäßig per Abfrage ab. Bauen Sie auf der GraphQL Admin API auf, nicht auf REST.
Checkliste für den Go-live
- Testen Sie mit einer Business-Central-Sandbox und einem Shopify-Entwicklungsshop oder Testshop. Müssen Sie gegen die produktive Business-Central-Umgebung testen, schalten Sie vorher das automatische Anlegen von Artikeln, Debitoren und Verkaufsbelegen ab.
- Sichern Sie vor der ersten Synchronisierung Ihre Produkte und Kunden aus Shopify.
- Legen Sie das SKU Mapping fest und bereinigen Sie doppelte oder leere SKUs und Barcodes.
- Ordnen Sie Lagerorte, Lieferbedingungen, Zahlungsformen und Zahlungsbedingungen zu.
- Richten Sie Debitorenvorlagen pro Land mit Geschäfts-, Debitoren- und MwSt.-Geschäftsbuchungsgruppe ein.
- Wenn Ihre Preise die Mehrwertsteuer enthalten, wie in Deutschland, Österreich und der Schweiz üblich, aktivieren Sie auf der Shopkarte Prices including VAT und hinterlegen die MwSt.-Geschäftsbuchungsgruppe für Inlandskunden.
- Hinterlegen Sie Sachkonten für Versand, verkaufte Geschenkkarten, Trinkgeld, Erstattungen und (bei POS) Bargeldrundung.
- Deaktivieren Sie in Shopify die automatische Bestellarchivierung.
- Prüfen Sie, ob für die Postleitzahl Ihres Unternehmens eine Zeitzone hinterlegt ist, damit Bestelldaten richtig umgerechnet werden.
- Spielen Sie Testbestellungen für jeden Fall durch: Geschenkkarte, Teilerstattung, Rücksendung, POS, B2B, eine nach dem Import bearbeitete Bestellung und eine Position aus zwei Lagerorten.
- Planen Sie die Aufgabenwarteschlange und legen Sie die Schwellenwerte der Kennzahlen im Bereich „Shopify Activities“ fest.
- Notieren Sie, welche Shopify-API-Version Ihr Business-Central-Release nutzt und wann Ihr nächstes Hauptupdate fällig ist.
Wann Sie uns nicht brauchen
Wenn der Connector Ihr Sortiment und Ihre Prozesse abdeckt, brauchen Sie keine individuelle Entwicklung. Ein Business-Central-Partner kann ihn einrichten, und Microsoft unterstützt den Connector über das reguläre Supportmodell. Entwickler lohnen sich erst, wenn Sie an eine dokumentierte Grenze stoßen, die Sie jede Woche Geld kostet, etwa manuell gepflegte B2B-Preise oder falsche Bestände bei Bundles. Wenn Sie dafür einen externen Entwickler suchen, hilft Ihnen unsere Checkliste für eine risikoarme Beauftragung. Für laufende Anpassungen können Sie auch einen festen Shopify-Entwickler einsetzen.
Brauchen Sie Hilfe bei Ihrer Shopify-Business-Central-Anbindung?
Wir entwickeln AL-Erweiterungen für den Connector, hybride Apps für die Lücken und komplett individuelle Schnittstellen. Außerdem prüfen wir bestehende Setups gegen die oben genannten Grenzen. Beschreiben Sie uns Ihr Problem über unsere Seite zur Shopify-Entwicklung.
Quellen
- Microsoft Learn: Erste Schritte mit dem Konnektor für Shopify
- Microsoft Learn: Artikel mit Shopify synchronisieren
- Microsoft Learn: Preise mit Shopify synchronisieren
- Microsoft Learn: Bestand mit Shopify synchronisieren
- Microsoft Learn: Debitoren und Unternehmen synchronisieren
- Microsoft Learn: Verkaufsaufträge synchronisieren und erfüllen
- Microsoft Learn: Transaktionen und Auszahlungen synchronisieren
- Microsoft Learn: FAQ für technische Details
- Microsoft Learn: Extending Shopify (englisch)
- Microsoft Learn: Operational limits (englisch)
- Microsoft Learn: Working with webhooks (englisch)
- Shopify Help Center: Shopify B2B-Funktionen nach Plan


