Zum Inhalt springen
SAP, DATEV und Dynamics Experten
Alle Artikel ERP-Integration

Dynamics 365 Business Central an den Shop anbinden

13 Min. Lesezeit
Dynamics 365ERPIntegration

Microsoft Dynamics 365 Business Central hat sich im Mittelstand als ERP-Plattform für Finanzbuchhaltung, Warenwirtschaft und Auftragsabwicklung etabliert. Sobald ein Online-Shop hinzukommt, stellt sich die Frage, wie Artikelstammdaten, Preise, Bestände und Bestellungen zwischen beiden Welten fliessen. Manuelle Pflege in zwei Systemen ist fehleranfällig und teuer: Laut einer Erhebung von Panorama Consulting nennen 62 Prozent (Panorama Consulting, 2025) der Unternehmen die Datenintegration als größte Herausforderung bei ERP-Projekten. Eine saubere Dynamics-365-Anbindung über die offenen Schnittstellen von Business Central beseitigt Medienbrüche und schafft die Basis für automatisierte Prozesse. Dieser Artikel zeigt praxisnah, wie Sie Business Central mit Ihrem Shop verbinden -- von der OData- und AL-API über OAuth2-Authentifizierung und Daten-Mapping bis zu Mengen- und Performance-Aspekten.

Dynamics 365 Business Central - Shop-AnbindungDynamics 365 BCOData v4 / AL-API PagesItems, Prices, Inventory, OrdersOnline-ShopStore API / Admin APIProdukte, Bestellungen, KundenMiddlewareOAuth2-Token, Mapping, QueueDelta-Sync, ValidierungSynchronisierte EntitätenItems / ArtikelBC führt, Delta via SystemModifiedAtInventory / BestandVerfügbarkeit, Multi-LagerSales PricesKundengruppen, StaffelnSales OrdersShop führt, EchtzeitAuthentifizierung (OAuth2)Azure AD AppClient Cred.Bearer TokenToken-Cache, automatische ErneuerungPerformance-StrategieDelta-FilterPaginationRetry-QueueDrosselung respektieren, Last verteilenSynchronisationsintervalleBestellungen: EchtzeitBestand: alle 2-5 MinPreise: alle 15 MinArtikel: Delta 5-10 Min

Warum eine direkte Shop-Anbindung an Business Central

Business Central wird in vielen Unternehmen als zentrales System für Stammdaten, Lagerbestände und Auftragsabwicklung geführt. Der Shop wiederum ist der Vertriebskanal, der rund um die Uhr verfügbar sein muss. Ohne Integration entstehen zwei getrennte Datenbestände, die im Tagesgeschäft auseinanderlaufen: Der Shop zeigt veraltete Preise, Bestellungen müssen manuell ins ERP getippt werden, und Bestandsdifferenzen führen zu Überverkäufen. Eine Untersuchung von McKinsey zeigt, dass automatisierte End-to-End-Prozesse die Durchlaufzeit von der Bestellung bis zur Auftragsanlage deutlich senken (McKinsey, 2024).

Business Central bringt für die Integration gute Voraussetzungen mit. Die Plattform stellt standardisierte Web-Services bereit, die über das OData-Protokoll und eine moderne, AL-basierte API erreichbar sind. Das bedeutet: Es ist kein proprietärer Konnektor nötig, der bei jedem Update bricht. Stattdessen kommuniziert eine Middleware mit dokumentierten REST-Endpunkten, die Microsoft versioniert und langfristig pflegt (Microsoft Learn, 2025). Genau das macht die Anbindung robust und wartbar -- ein Aspekt, der bei der Wahl der Integrationsarchitektur oft unterschätzt wird.

Bidirektionaler Datenfluss

Artikel, Preise und Bestände fliessen von Business Central in den Shop, Bestellungen und Kunden vom Shop zurück ins ERP -- automatisiert statt manuell.

Offene Standard-APIs

OData v4 und die AL-basierte API von Business Central sind dokumentiert und versioniert. Kein proprietärer Konnektor, der bei Updates bricht.

OAuth2 statt Basic-Auth

Authentifizierung über Microsoft Entra ID mit kurzlebigen Tokens -- die frühere Basic-Authentifizierung wird nicht mehr empfohlen.

Delta-Sync mit Zeitstempel

Über das Feld SystemModifiedAt werden nur geänderte Datensätze abgefragt -- entscheidend bei grossen Katalogen mit zehntausenden Artikeln.

Kundenindividuelle Preise

Sales-Price-Listen, Rabattgruppen und Staffeln aus Business Central werden den passenden Kundengruppen im Shop zugeordnet.

Robuste Fehlerbehandlung

Message Queues, Retry mit Exponential Backoff und Monitoring stellen sicher, dass keine Bestellung verloren geht.

Die Schnittstellen von Business Central: OData und AL-API

Business Central stellt seine Daten über mehrere Schnittstellen-Varianten bereit, die sich in Komfort und Flexibilität unterscheiden. Für eine Shop-Anbindung sind vor allem zwei relevant: die generische OData-Schicht und die kuratierte AL-basierte API. Beide sprechen REST und liefern JSON, unterscheiden sich aber im Aufbau und in der Stabilität der Verträge.

Die OData-Endpunkte werden aus veröffentlichten Pages und Queries erzeugt. Sie sind sehr flexibel, weil sich praktisch jede Tabelle als Web-Service freigeben lässt -- inklusive Filter, Sortierung und $expand für verknüpfte Datensätze. Der Nachteil: Die Struktur hängt an der jeweiligen Page-Definition und kann sich bei Anpassungen ändern. Die AL-basierte API hingegen stellt ein stabiles, von Microsoft definiertes Schema bereit (z. B. items, customers, salesOrders) und ist für Integrationen die empfohlene Wahl, weil die Verträge versioniert sind (Microsoft Learn, 2025). Für Spezialfälle lassen sich zudem eigene API-Pages in AL definieren, die genau die Felder liefern, die die Schnittstelle benötigt.

KriteriumOData (Pages/Queries)AL-API (v2.0 / Custom)
VertragsstabilitätAbhängig von Page-DefinitionVersioniert, stabiles Schema
FlexibilitätSehr hoch, jede Page freigebbarDefinierter Entitäten-Satz
Filter / Delta$filter, $select, $expand$filter auf systemModifiedAt
MassendatenPagination über $top/$skipPagination über nextLink
EmpfehlungSonderfälle, ReportingStandard für Integrationen

Custom API-Pages als Best Practice

Statt sich auf generische Standard-Pages zu verlassen, empfiehlt sich für produktive Integrationen das Anlegen dedizierter API-Pages in AL. Diese liefern exakt die benötigten Felder, vermeiden teure $expand-Abfragen und bleiben bei Standard-Updates stabil. Wir definieren diese Pages gemeinsam mit Ihrem Business-Central-Partner.

OAuth2-Authentifizierung über Microsoft Entra ID

Die Authentifizierung ist der erste Stolperstein vieler Business-Central-Anbindungen. Früher liessen sich die Web-Services per Basic-Authentifizierung mit Benutzername und Web-Service-Access-Key ansprechen. Microsoft hat diesen Weg für die Online-Variante zurückgebaut und setzt auf OAuth2 über Microsoft Entra ID (vormals Azure AD). Für Server-zu-Server-Integrationen ohne interaktiven Benutzer ist der Client-Credentials-Flow der richtige Weg (Microsoft Learn, 2025).

Der Ablauf in Kurzform: In Microsoft Entra ID wird eine App-Registrierung angelegt, die ein Client-Secret oder Zertifikat erhält. Dieser App werden die nötigen Berechtigungen für Business Central erteilt und in der Umgebung als Entra-Anwendung mit passenden Berechtigungssätzen registriert. Die Middleware fordert mit Client-ID und Secret ein Bearer-Token an und sendet dieses im Authorization-Header jeder API-Anfrage. Tokens sind kurzlebig, daher hält die Middleware das aktuelle Token in einem Cache vor und erneuert es rechtzeitig vor Ablauf.

Client-Credentials-Token anfordern
curl -X POST "https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token" \
  -d "grant_type=client_credentials" \
  -d "client_id=<client-id>" \
  -d "client_secret=<client-secret>" \
  -d "scope=https://api.businesscentral.dynamics.com/.default"

# Antwort: { "access_token": "...", "expires_in": 3599 }
# Token im Cache halten und vor Ablauf (expires_in) erneuern

Sicherheitsseitig gilt: Client-Secrets gehören nicht in den Quellcode, sondern in einen geschützten Secret-Store, und ein Zertifikat ist einem Secret vorzuziehen. Die erteilten Berechtigungen sollten nach dem Prinzip der minimalen Rechte vergeben werden -- die Integration braucht in der Regel Zugriff auf Artikel, Preise, Bestände, Kunden und Aufträge, aber nicht auf das gesamte Mandanten-Setup. So bleiben die Datenflüsse DSGVO-konform und nachvollziehbar.

Artikel- und Preissynchronisation: Business Central als führendes System

In den meisten Szenarien ist Business Central das führende System für Artikelstammdaten und Preise, der Shop ist führend für redaktionelle Inhalte wie Beschreibungen, Bilder, SEO-Texte und Kategoriezuordnungen. Diese Datenhoheit muss vor Projektstart pro Entität festgelegt und dokumentiert werden, sonst überschreiben sich beide Systeme gegenseitig. Laut einer Analyse von Forrester scheitern viele Integrationsvorhaben weniger an der Technik als an unklaren Verantwortlichkeiten für Datenfelder (Forrester, 2025).

Bei den Artikeln werden Felder wie Nummer, Beschreibung, Basismengeneinheit, Gewicht, Steuerkennzeichen und Sperrkennzeichen übertragen. Wichtig ist die saubere Behandlung von Varianten: Business Central kennt Item Variants, während Shopsysteme Varianten über Eigenschaftsgruppen abbilden. Die Middleware muss diese Struktur übersetzen und einen Stammartikel mit konfigurierbaren Varianten erzeugen. Damit nicht bei jedem Lauf der komplette Katalog gelesen wird, filtert die Synchronisation über das Feld systemModifiedAt und holt nur Datensätze, die sich seit dem letzten Lauf geändert haben.

Delta-Abfrage geänderter Artikel (AL-API)
GET /v2.0/<env>/api/v2.0/companies(<id>)/items
  ?$filter=lastModifiedDateTime gt 2026-06-05T08:00:00Z
  &$select=number,displayName,unitPrice,baseUnitOfMeasureCode
  &$orderby=lastModifiedDateTime
Authorization: Bearer <access_token>

Die Preissynchronisation gehört zu den anspruchsvollsten Teilen. Business Central kennt Verkaufspreislisten (Sales Price Lists), Rabattgruppen und kundenindividuelle Konditionen, die nach Kundengruppe, Menge, Währung und Zeitraum differenziert sein können. Diese Logik muss in das Preismodell des Shops übersetzt werden -- typischerweise über Kundengruppen und Preisregeln mit Staffeln. Da kundenindividuelle Preise im B2B die Regel sind, ist eine verlässliche Preissynchronisation geschäftskritisch. Mehr Tiefe dazu finden Sie im Beitrag zu Webhooks versus Polling, der die Frage beleuchtet, wann ein Push-Mechanismus sinnvoller ist als regelmäßiges Abfragen.

Bestandssynchronisation: Verfügbarkeit statt blosser Lagerzahl

Bestände sind die zeitkritischste Größe der Integration. Jede Lagerbewegung -- Wareneingang, Warenausgang, Umlagerung, Inventurkorrektur -- verändert die Verfügbarkeit, und ein verspätetes Update führt schnell zu Überverkäufen. Eine Untersuchung der Aberdeen Group zeigt, dass aktuelle Bestandsdaten die Quote von Überverkäufen deutlich senken (Aberdeen Group, 2024). Im B2B kommt hinzu, dass Kunden verlässliche Verfügbarkeitsaussagen erwarten, weil sie ihre eigene Disposition daran ausrichten.

Business Central unterscheidet zwischen dem reinen Lagerbestand (Quantity on Hand) und der tatsächlichen Verfügbarkeit, die reservierte Mengen und offene Aufträge berücksichtigt. Für den Shop ist meist die berechnete Verfügbarkeit die relevantere Größe, nicht der nackte Lagerbestand. Bei mehreren Lagerstandorten (Locations) muss zudem definiert werden, wie konsolidiert wird: als Summe aller Standorte, als Bestand eines bestimmten Versandlagers oder regionsspezifisch. Dieses Thema vertiefen wir auch im Hinblick auf Multi-Warehouse-Szenarien gemeinsam mit dem Fachbereich.

Bewährt hat sich eine Kombination aus zwei Mechanismen: ein häufiger Delta-Sync der Bestände alle zwei bis fünf Minuten sowie -- wo verfügbar -- ein ereignisgesteuerter Push aus Business Central. Da die OData-Schicht selbst keine Webhooks für beliebige Tabellen bietet, wird der Push häufig über eine kleine AL-Erweiterung realisiert, die bei relevanten Buchungen einen HTTP-Aufruf an die Middleware sendet. Der periodische Delta-Sync bleibt als Sicherheitsnetz aktiv, damit keine Änderung verloren geht.

Auftragssynchronisation: Vom Shop-Warenkorb zum Sales Order

Bei Bestellungen kehrt sich der Datenfluss um: Der Shop ist die Quelle, Business Central das Ziel. Sobald ein Kunde im Shop bestellt, soll ein Sales Order in Business Central entstehen -- vollständig, korrekt und zeitnah. Die Middleware übersetzt dabei den Warenkorb in einen Auftrag: Shop-Artikelnummern werden auf Business-Central-Items gemappt, der Kunde auf einen Geschäftspartner referenziert und Zahlungs- sowie Versandbedingungen zugeordnet.

Im B2B kommen Zusatzanforderungen hinzu: Bestellreferenznummern des Kunden, Kostenstellen, abweichende Lieferadressen und mehrstufige Freigaben. Die AL-API bietet hierfür die Entitäten salesOrders und salesOrderLines, mit denen sich Kopf- und Positionsdaten in einem strukturierten Vorgang anlegen lassen. Entscheidend ist, dass die Middleware jeden Auftrag vor der Übergabe validiert -- fehlende Pflichtfelder, ungültige Artikelnummern oder gesperrte Kunden werden abgefangen, bevor ein unvollständiger Beleg im ERP landet.

Idempotenz gegen Doppelbuchungen

Bei Netzwerk-Timeouts kann unklar sein, ob ein Auftrag bereits angelegt wurde. Eine eindeutige externe Referenz (z. B. die Shop-Bestellnummer als externalDocumentNumber) macht die Übergabe idempotent: Die Middleware prüft vor dem Anlegen, ob bereits ein Auftrag mit dieser Referenz existiert, und vermeidet so Doppelbuchungen. Diese Logik planen wir in jeder Auftragsanbindung von Anfang an ein.

Mengen und Performance: grosse Kataloge effizient verarbeiten

Bei wachsenden Katalogen und steigendem Bestellvolumen wird die Performance zur kritischen Größe. Ein Händler mit zehntausenden Artikeln und vielen Preislisten erzeugt ein erhebliches Datenvolumen, das die Middleware effizient verarbeiten muss, ohne die Business-Central-Umgebung zu überlasten. Microsoft setzt für die APIs Drosselungsgrenzen (Throttling) und beantwortet zu viele gleichzeitige Anfragen mit dem Statuscode 429 (Microsoft Learn, 2025). Eine robuste Integration respektiert diese Grenzen aktiv.

  • Delta statt Vollabgleich: Über den Filter auf systemModifiedAt bzw. lastModifiedDateTime werden nur geänderte Datensätze gelesen -- das reduziert die Last bei grossen Katalogen erheblich.
  • Pagination konsequent nutzen: Die API liefert Ergebnisse seitenweise über nextLink. Die Middleware arbeitet die Seiten ab, statt riesige Ergebnismengen in einem Aufruf zu erzwingen.
  • 429-Antworten respektieren: Bei Drosselung wird der Retry-After-Hinweis beachtet und mit Exponential Backoff erneut versucht -- nicht stur weiter angefragt.
  • $select einsetzen: Nur die tatsächlich benötigten Felder abfragen, statt komplette Entitäten zu übertragen, spart Bandbreite und Verarbeitungszeit.
  • Sync-Intervalle differenzieren: Bestellungen in Echtzeit, Bestände alle 2-5 Minuten, Artikel im Delta alle 5-10 Minuten, Preise alle 15 Minuten -- nicht alles muss gleich häufig laufen.

In der Praxis erreichen optimierte Integrationen mit diesen Maßnahmen Verarbeitungsraten, die selbst grosse Kataloge in vertretbarer Zeit abgleichen (Projekterfahrung). Der Initialimport bleibt ein Sonderfall: Er wird einmalig mit angepasster Batch-Strategie, temporär reduzierter Shop-Indexierung und über ein Wartungsfenster ausgeführt, damit die laufenden Limits nicht ausgereizt werden.

Typische Stolpersteine und wie wir sie vermeiden

Aus über 50 ERP-Integrationsprojekten (Projekterfahrung) kehren bestimmte Probleme regelmäßig wieder. Wer sie kennt, plant sie von Anfang an ein, statt sie später im Live-Betrieb zu reparieren. Laut IDC ist die Komplexität der Integration einer der Hauptgründe, warum digitale Projekte länger dauern als geplant (IDC, 2024) -- gute Vorbereitung zahlt sich daher direkt aus.

  • Basic-Auth-Sackgasse: Viele ältere Anleitungen setzen auf Basic-Authentifizierung. Für die Online-Variante ist OAuth2 über Entra ID einzuplanen, sonst scheitert die Anbindung beim Go-Live.
  • Verfügbarkeit vs. Lagerbestand verwechseln: Wird der reine Lagerbestand statt der berechneten Verfügbarkeit synchronisiert, kommt es trotz Sync zu Überverkäufen.
  • Drosselung ignorieren: Ohne Beachtung der 429-Antworten und ohne Backoff bricht die Synchronisation bei Massendaten ab oder blockiert sich selbst.
  • Unklare Datenhoheit: Wenn nicht definiert ist, welches System welches Feld führt, überschreiben sich Shop und ERP gegenseitig -- klassische Quelle für verschwundene Beschreibungen.
  • Fehlende Idempotenz: Ohne eindeutige externe Belegnummer entstehen bei Timeouts Doppelaufträge im ERP.
  • Zeichenkodierung: Durchgängig UTF-8 sicherstellen, damit Umlaute und Sonderzeichen sauber zwischen Shop und Business Central übertragen werden.

Middleware statt Punkt-zu-Punkt

Eine entkoppelnde Middleware zwischen Business Central und Shop zahlt sich aus: Sie kapselt Authentifizierung, Mapping, Queue und Monitoring an einer Stelle und lässt sich unabhängig von beiden Systemen weiterentwickeln. Spätere Erweiterungen -- etwa ein PIM oder eine DATEV-Anbindung -- hängen sich an dieselbe Infrastruktur, ohne dass neue Direktverbindungen nötig werden.

Projektablauf einer Business-Central-Anbindung

Ein Anbindungsprojekt folgt einem strukturierten Ablauf. Die Erfahrung zeigt, dass eine gründliche Analysephase die wichtigste Investition ist: Je sauberer Anforderungen, Datenmodelle und Datenhoheit dokumentiert sind, desto reibungsloser verläuft die Umsetzung. Ein typisches Projekt lässt sich in fünf Phasen gliedern.

  1. Analyse und Mapping: Aufnahme der Business-Central-Konfiguration, Festlegung der Datenhoheit pro Entität, Erstellung der Mapping-Tabellen und Klärung der API-Strategie (Standard- vs. Custom-API-Pages).
  2. Architektur und Setup: Entra-ID-App-Registrierung, Berechtigungssätze, Auswahl der Queue-Technologie, Definition von Fehlerbehandlung und Monitoring-Konzept.
  3. Implementierung: Entwicklung der Middleware-Konnektoren für Business Central und Shop, Mapping-Logik, Geschäftsregeln und idempotente Auftragsübergabe.
  4. Test und Optimierung: Integrationstests mit realen Daten, Last- und Drosselungstests, Fehlerszenarien durchspielen, Feinabstimmung der Sync-Intervalle.
  5. Go-Live und Stabilisierung: Produktivschaltung mit Parallelphase, intensives Monitoring und schnelle Reaktion auf unerwartete Szenarien.

Aufwand individuell einschätzen

Der Aufwand hängt von Katalogvolumen, Variantenkomplexität, Preislogik und der Zahl der anzubindenden Entitäten ab. Wir bewerten Ihre konkrete Konstellation und erstellen eine belastbare Aufwandsschätzung -- sprechen Sie uns dazu an.
Dieser Artikel basiert auf Daten aus: Microsoft Learn Business Central Dokumentation (2025), Panorama Consulting ERP Report (2025), Forrester Research (2025), McKinsey Digital (2024), Aberdeen Group (2024), IDC (2024).