Koppelingen · Business Central

Business Central Magento koppeling: je ERP en webshop op één lijn

Draait je administratie op Microsoft Dynamics 365 Business Central of nog op Dynamics NAV (Navision), en je webshop op Magento 2? Dan wil je dat artikelen, klantprijzen, voorraad en orders zonder handwerk tussen beide systemen lopen. Wij bouwen die koppeling, met een eerlijk advies over standaard connector, middleware of maatwerk.

  • Business Central online en Dynamics NAV on-premise
  • B2B-klantprijzen, staffels en kortingen correct in Magento
  • Foutafhandeling en monitoring vanaf dag één

Waarom een Business Central Magento koppeling meer is dan een API aanroepen

Een Business Central Magento koppeling zorgt dat je ERP de bron blijft voor artikelen, prijzen, voorraad en debiteuren, terwijl Magento verkoopt en orders terugstuurt. In theorie is dat een paar API-calls. In de praktijk zit de complexiteit in de details: klantspecifieke prijzen, varianten, meerdere magazijnen, btw, creditnota's en wat er gebeurt als een van beide systemen even niet bereikbaar is.

Business Central is de cloudopvolger van Dynamics NAV, dat veel bedrijven nog als Navision kennen. Veel Nederlandse groothandels en producenten draaien nog op een on-premise NAV-versie, of zitten midden in de overstap naar Business Central online. Dat bepaalt welke koppelvorm technisch kan: de moderne REST API v2.0, OData-webservices, SOAP of in het slechtste geval directe database-toegang.

Wij kijken eerst naar je processen en datastromen, en pas daarna naar techniek. Soms volstaat een standaard connector uit Microsoft AppSource. Soms is middleware via Alumio of een eigen Laravel-service de betere keuze, omdat je logica, wachtrijen en monitoring nodig hebt die een plug-in niet biedt. Je krijgt vooraf een onderbouwde inschatting op uurbasis, zodat je weet waar je aan begint.

Wat je synchroniseert tussen Business Central en Magento

Per datastroom leggen we vast welk systeem leidend is, hoe vaak er gesynchroniseerd wordt en wat er gebeurt bij een fout. Dit is het overzicht dat we in vrijwel elk traject doorlopen.

DataRichtingFrequentieWaar het vaak misgaat
Artikelen en variantenBusiness Central naar MagentoBij wijziging of elk uurVarianten in BC passen niet één op één op configurable products in Magento. Er is een mapping per attribuut nodig.
Verkoopprijzen en staffelsBusiness Central naar MagentoDagelijks of bij wijzigingPrijzen inclusief of exclusief btw, valuta en ingangsdatums worden verkeerd overgenomen.
B2B-klantprijzen en kortingenBusiness Central naar MagentoDagelijks, of live opvragenDuizenden klant-artikelcombinaties. Naar Magento kopiëren kan traag en foutgevoelig worden.
VoorraadBusiness Central naar MagentoElke paar minuten of via webhookMeerdere locaties, gereserveerde aantallen en verkoop zonder voorraad worden niet goed vertaald naar Magento MSI.
DebiteurenTwee richtingenBij aanmaakDubbele klanten, ontbrekende debiteurnummers en afwijkende adresvelden.
OrdersMagento naar Business CentralDirect na betalingVerzendkosten, kortingsregels en betaalmethode moeten een eigen grootboek- of artikelregel krijgen.
Verzendstatus en track and traceBusiness Central naar MagentoBij zendingDeelleveringen worden als volledige levering gemeld.
Facturen en creditnota'sBusiness Central naar MagentoNa boekingPDF ontbreekt in het klantaccount of creditnota's worden niet aan de order gekoppeld.

Plan een vrijblijvend gesprek over je project

Een half uur via video met de mensen die het werk ook echt doen. Kies hieronder een moment dat jou past.

  • Direct met het vaste team, geen tussenlagen
  • Concrete feedback op je huidige situatie of plannen
  • Eerlijk advies, ook als het antwoord "niet doen" is
  • Indicatie van kosten en tijdlijn
Liever bellen? 0591-239 299
Beschikbaar deze week

Plan een gratis Tech Check

Vrijblijvend jouw uitdagingen bespreken

Of bel direct: 0591-239 299

Business Central API v2.0: wat technisch kan en waar de grenzen liggen

Business Central online heeft een standaard REST API op basis van OData v4, met endpoints per bedrijf voor onder meer items, customers, salesOrders, salesInvoices, salesCreditMemos en vendors. Voor online omgevingen staan die API's standaard aan. Authenticatie loopt via OAuth met Microsoft Entra ID. Volgens de documentatie van Microsoft worden web service access keys (basic authentication) in Business Central online niet meer ondersteund. Een oude koppeling die nog op gebruikersnaam en sleutel draait, moet dus om.

Voor koppelingen gebruiken we service-to-service authenticatie: een app-registratie in Entra ID met eigen rechten in Business Central. Zo hangt de koppeling niet aan het account van een medewerker die vertrekt, en geef je de koppeling alleen de rechten die nodig zijn.

Belangrijk om vooraf te weten: de standaard API v2.0 kun je niet uitbreiden met extra velden. Heb je eigen velden in Business Central, zoals een webshopomschrijving, een merk of een B2B-prijsgroep, dan is een custom API-pagina in AL nodig. Dat is een kleine extensie in Business Central zelf. Die afweging maken we per veld, want elk extra stuk AL-code moet ook mee bij BC-updates.

Business Central online kent operationele limieten. Microsoft noemt per gebruiker maximaal 6.000 OData-verzoeken in een glijdend venster van vijf minuten, vijf gelijktijdig verwerkte verzoeken, maximaal 20.000 records per pagina, 100 operaties per batch-verzoek en een time-out van acht minuten per verzoek. Wie dat overschrijdt, krijgt een HTTP 429 terug. Voor een catalogus met tienduizenden artikelen of een import van klantprijzen betekent dat: werken met delta's op basis van lastModifiedDateTime, batches gebruiken en een wachtrij met retry-logica bouwen. Niet elke nacht de hele catalogus opnieuw ophalen.

Business Central ondersteunt webhooks voor onder meer items, customers, salesOrders en salesInvoices. Een subscription verloopt na drie dagen en moet actief verlengd worden. Notificaties komen met een vertraging van standaard 30 seconden, en bij meer dan 1.000 wijzigingen in dat venster stuurt BC één collection-melding in plaats van losse meldingen. Je middleware moet dus beide kunnen verwerken. Webhooks zijn handig voor voorraad en artikelwijzigingen, maar we bouwen altijd een periodieke controle als vangnet, omdat een gemiste melding anders niemand opvalt.

Bij Dynamics NAV on-premise ligt het anders. Recentere NAV-versies bieden OData- en SOAP-webservices die je per pagina of codeunit publiceert. Oudere versies hebben soms alleen SOAP. Microsoft heeft aangegeven SOAP in Business Central op termijn uit te faseren, dus bij een nieuwe koppeling kiezen we waar het kan voor OData of de API. Draai je nog op NAV 2018 of ouder, dan raden we aan de koppeling zo te bouwen dat de NAV-kant later vervangen kan worden door de BC API, zonder de Magento-kant opnieuw te bouwen.

Standaard connector, middleware of maatwerk: drie routes voor je Magento ERP koppeling

Er is geen beste keuze, wel een passende. Dit zijn de drie routes die we in de praktijk tegenkomen, met wanneer ze werken.

B2B webshop op Magento met Business Central: klantprijzen goed regelen

De meeste Business Central Magento koppelingen die we zien zijn B2B. En daar zit de lastigste vraag: hoe krijg je de prijs die een klant in Business Central heeft, ook in de webshop? Business Central kan prijzen en kortingen vastleggen per klant, per klantprijsgroep, per artikel of artikelcategorie, met staffels en ingangsdatums. Afhankelijk van je BC-versie en instellingen werk je met de oudere verkoopprijzen en verkoopregelkortingen, of met de nieuwere prijslijsten. Dat bepaalt welke tabellen we moeten uitlezen.

In Magento Open Source heb je klantgroepen, tier prices en catalogusprijsregels. Adobe Commerce voegt daar met de B2B-module bedrijfsaccounts, shared catalogs en offerteaanvragen aan toe. Een groothandel met een handvol prijsgroepen kan die prima mappen op Magento-klantgroepen. Een groothandel met per klant afwijkende nettoprijzen op duizenden artikelen niet: dan exporteer je al snel miljoenen prijsregels, die je ook nog moet indexeren.

Daarom kiezen we per situatie tussen twee modellen. Bij beperkte prijsvariatie synchroniseren we prijzen vooraf naar Magento, zodat de shop snel blijft en niet afhankelijk is van BC. Bij veel klantspecifieke prijzen berekenen we de prijs in een eigen prijsservice of cache in de middleware, gevoed vanuit Business Central, en vraagt Magento die op voor de ingelogde klant. Rechtstreeks voor elke productpagina Business Central bevragen doen we niet: dat loopt tegen de limieten van de API aan en maakt je webshop zo traag als je ERP.

Hetzelfde geldt voor kredietlimieten, betalingscondities en op rekening bestellen. Die liggen vast in Business Central en moeten in Magento zichtbaar zijn bij het afrekenen. Vaak koppelen we ook openstaande facturen en orderhistorie uit BC, zodat de klant in zijn account ziet wat hij ook telefonisch zou opvragen. Dat scheelt je binnendienst direct werk.

Magento boekhouding: orders, facturen en btw goed in Business Central

Wie zoekt op Magento boekhouding, wil meestal één ding: dat elke webshoporder zonder overtypen en met de juiste btw in de administratie staat. Dit zijn de keuzes die je moet maken.

Orderverwerking

  • Order pas naar Business Central na geslaagde betaling, niet bij aanmaak
  • Verzendkosten, betaalkosten en kortingen als aparte regels met vaste artikel- of grootboekcodes
  • Gastbestellingen op een verzameldebiteur of altijd een nieuwe debiteur: vooraf kiezen
  • Idempotent verwerken: een order die twee keer binnenkomt, mag maar één verkooporder opleveren

Facturen en btw

  • Facturen in Business Central aanmaken, niet in Magento, zodat er één nummerreeks is
  • Btw-instellingen in Magento en btw-boekingsgroepen in BC op elkaar afgestemd, ook voor EU-klanten en verlegde btw
  • Factuur-PDF terug naar het klantaccount in Magento
  • Rekening houden met e-facturatie via Peppol als je B2B-klanten dat vragen

Betalingen en retouren

  • Betaling van de payment provider afletteren op de juiste factuur
  • Retouren en creditnota's één keer vastleggen en naar beide systemen doorzetten
  • Afspraak wie de bron is bij een geannuleerde order na verzending
  • Dagelijkse controle: aantal orders in Magento gelijk aan aantal verkooporders in BC

Beheer en monitoring

  • Logging per bericht met de reden van een fout, leesbaar voor je binnendienst
  • Melding bij vastgelopen berichten, niet pas als een klant belt
  • Aparte sandbox-omgeving in Business Central om wijzigingen te testen
  • Documentatie van alle veldmappings, zodat kennis niet in één hoofd zit

Navision koppelen aan Magento 2: eerst koppelen of eerst migreren?

Veel bedrijven die zoeken op een Magento 2 Navision koppeling zitten op een oudere NAV-versie en weten dat de overstap naar Business Central eraan komt. Partnerbronnen noemen voor NAV 2018 het einde van extended support in januari 2028. Controleer dat bij je ERP-partner of op de lifecycle-pagina van Microsoft. Extended support betekent alleen nog security-updates, geen nieuwe functies.

Wachten met koppelen tot de ERP-migratie klaar is, kost je in de tussentijd handwerk en fouten. Nu een koppeling bouwen die straks weggegooid wordt, kost geld. Onze aanpak: we leggen de Magento-kant en de businesslogica in middleware vast, en houden de ERP-kant een dunne adapter. Gaat NAV over naar Business Central, dan vervangen we alleen die adapter van SOAP of OData naar API v2.0. Mappings, prijslogica, foutafhandeling en monitoring blijven staan.

Draai je nog op Magento 1 of een verouderde Magento 2-versie, dan nemen we de koppeling mee in de migratie. Twee migraties tegelijk vraagt goede planning, maar voorkomt dat je een koppeling twee keer bouwt.

Business Central koppelen aan Shopify

Voor Shopify is de situatie anders dan voor Magento. Microsoft levert zelf een Shopify Connector voor Business Central, die volgens Microsoft standaard is voorgeïnstalleerd bij nieuwe Business Central-omgevingen. Die connector synchroniseert onder meer artikelen, voorraad, klanten en orders. Voor een standaard B2C-shop is dat vaak genoeg.

Loop je tegen grenzen aan, bijvoorbeeld bij meerdere shops met eigen prijslogica, Shopify Plus B2B met bedrijfsprijslijsten of extra systemen zoals een WMS, dan bouwen we een aanvulling of eigen koppellaag. Op Shopify houd je daarbij ook rekening met de rate limits van de Shopify API.

Zo bouwen we je koppeling

Je praat met de mensen die het bouwen. Geen accountmanager ertussen.

  1. 1

    Processen en datastromen in kaart

    Samen met je binnendienst en ERP-partner bepalen we per datastroom welk systeem leidend is, hoe vaak gesynchroniseerd wordt en welke uitzonderingen er zijn. Daarna volgt een onderbouwde inschatting.

  2. 2

    Toegang en API-verkenning

    App-registratie in Entra ID met minimale rechten, toegang tot een BC-sandbox en een Magento-staging. We controleren welke data de standaard API levert en waar een custom API nodig is.

  3. 3

    Mapping en architectuurkeuze

    We leggen veldmappings vast en kiezen tussen connector, Alumio of Laravel-middleware. Je krijgt de mapping als document, niet alleen in code.

  4. 4

    Bouwen en testen met echte data

    We bouwen per datastroom en testen met een kopie van je eigen artikelen, klanten en prijzen. Uitzonderingen zoals deelleveringen en creditnota's testen we expliciet.

  5. 5

    Gefaseerd live

    Eerst artikelen en voorraad, dan orders, dan facturen en klantprijzen. Een tijd parallel controleren voordat het handmatige proces stopt.

  6. 6

    Monitoring en onderhoud

    Meldingen bij fouten, een vast aanspreekpunt en updates mee bij nieuwe Magento- en Business Central-releases.

Wat je krijgt

  • Een werkende koppeling tussen Business Central of NAV en Magento 2, of Shopify
  • Een document met alle datastromen, bronsystemen en veldmappings
  • Service-to-service authenticatie met minimale rechten, geen gedeelde gebruikersaccounts
  • Wachtrij met retry-logica die omgaat met API-limieten en tijdelijke storingen
  • Logging en meldingen per bericht, leesbaar voor je binnendienst
  • Waar nodig een custom API-extensie in Business Central voor eigen velden
  • Een testprotocol en een gefaseerd livegangplan
  • Afspraken over onderhoud bij Magento- en Business Central-updates

Waarom Coding.nl

15+ jaar e-commerce en koppelingen

We weten waar ERP-koppelingen in de praktijk vastlopen: prijzen, varianten, btw en foutafhandeling. Daar beginnen we, niet bij de demo.

Magento, Hyvä en Laravel onder één dak

Hyvä Silver Partner en Hyvä Certified voor de shop, Laravel voor de middleware. Het team dat de webshop bouwt, bouwt ook de koppeling.

Advies zonder vaste voorkeur

We adviseren een standaard connector als die volstaat. Alumio als je veel systemen koppelt. Maatwerk alleen als het zich terugbetaalt.

Vast team, direct contact

Geen projectmanagers of tussenlagen. Bij een vastgelopen order spreek je de persoon die de koppeling kent.

Hyvä Silver PartnerHypernode Silver Partner

Veelgestelde vragen

Microsoft levert zelf geen Magento-connector, wel een voor Shopify. Op Microsoft AppSource staan wel Magento-connectors van andere leveranciers. Die werken goed bij standaardprocessen. Bij afwijkende B2B-prijzen, meerdere webshops of veel eigen velden loop je er sneller tegenaan, en dan is middleware vaak de betere keuze.

Business Central en Magento laten samenwerken?

Vertel ons welke versie van Business Central of NAV je draait en welke data je wilt koppelen. Je krijgt een eerlijk advies over de route en een onderbouwde inschatting, van de mensen die het bouwen.