Koppelingen

Magento koppelingen en webshop-integraties die blijven werken

Elke order die iemand overtypt, elke voorraad die een uur achterloopt en elke prijs die in twee systemen anders staat, kost geld. Wij koppelen Magento 2, Shopify en Laravel aan je ERP, boekhouding, PIM, WMS en marketplaces. Eerst kiezen we de juiste route: een standaard connector, Alumio of maatwerk-middleware. Daarna bouwen we.

  • Per datastroom één bron van waarheid
  • Connector, Alumio of Laravel: onderbouwde keuze
  • Monitoring en foutafhandeling vanaf dag één

Een koppeling is een bedrijfsproces, geen stukje techniek

Magento koppelingen bepalen hoe snel een order bij het magazijn ligt, of de voorraad op de site klopt en of de boekhouding aan het eind van de maand sluit. Een Magento ERP koppeling, een Exact Online-sync voor Shopify of een PIM-feed naar Magento lijkt op papier een kwestie van velden mappen. In de praktijk zit het werk in de uitzonderingen: deelleveringen, retouren, creditnota's, btw over landsgrenzen en producten met varianten.

De meeste koppelingen gaan niet stuk op de eerste dag. Ze gaan stuk na een update van het ERP, als een API-limiet wordt geraakt in de drukste week van het jaar, of als iemand in het ERP een veld anders gaat gebruiken. Daarom ontwerpen we elke koppeling met foutafhandeling, logging en een manier om mislukte berichten opnieuw te verwerken zonder dubbele orders.

Op deze pagina vind je per systeemtype wat er moet synchroniseren, hoe je kiest tussen een kant-en-klare extensie, het iPaaS-platform Alumio of maatwerk-middleware in Laravel, en waar koppelingen in de praktijk op vastlopen. Per pakket gaan de onderliggende pagina's verder de diepte in.

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

Welke systemen koppel je aan je webshop, en wie is de baas over welke data?

De belangrijkste ontwerpkeuze is niet de techniek, maar de vraag welk systeem per datatype leidend is. Twee systemen die allebei denken dat ze de voorraad bepalen, geven gegarandeerd fouten.

SysteemtypeVoorbeeldenWat synchroniseertMeestal leidend voorGangbare frequentie
ERPAFAS Profit, Exact Online, Unit4 Multivers, SAP Business One, Microsoft Dynamics NAV / Business CentralArtikelen, prijzen, klantspecifieke prijzen, voorraad, orders, debiteuren, orderstatusPrijzen, voorraad, klantgegevens B2BVoorraad elke paar minuten of via events, orders direct na betaling
BoekhoudingExact Online, Moneybird, Twinfield, e-BoekhoudenFacturen, creditnota's, betalingen, btw-codes, grootboekrekeningenFinanciële administratiePer order of als dagelijkse verzamelboeking
PIMAkeneo, Pimcore, Plytix, eigen PIM in FilamentProducttitels, omschrijvingen, attributen, media, vertalingen, categorieënProductcontentBij wijziging, of in batches per nacht
WMS en fulfilmentPicqer, Monta, eigen WMSOrders, picklijsten, track-and-trace, retouren, voorraad per locatieFysieke voorraad en verzendstatusOrders direct, voorraad elke paar minuten
Marketplaces en feedsBol, Amazon via Vendiro of ChannableAanbod, prijzen, voorraad, marketplace-ordersNiets: marketplaces volgen je ERP of webshopVoorraad zo vaak als het kanaal toestaat
PaymentMollie, MultiSafepay, AdyenBetaalstatus, refunds, uitbetalingen, transactiekostenBetaalstatusRealtime via webhooks
VerzendingSendcloud, MyParcelLabels, verzendmethodes, track-and-traceVerzendstatusPer zending

Magento koppelingen kiezen: standaard connector, Alumio of maatwerk

Er zijn drie routes. Geen ervan is altijd de beste. Het hangt af van het aantal systemen, hoe standaard je processen zijn en wie de koppeling straks onderhoudt.

CriteriumStandaard connector of extensieiPaaS (Alumio)Maatwerk-middleware (Laravel)
Geschikt voorEén systeem, standaardproces, weinig uitzonderingenDrie of meer systemen, veel transformaties, behoefte aan centraal overzichtSpecifieke bedrijfslogica, hoge volumes, legacy-systemen of eigen platform
Snelheid tot livegangSnelst, mits je proces in de extensie pastSnel door bestaande connectoren; mapping en transformaties kosten de tijdLanger: alles wordt ontworpen en gebouwd voor jouw situatie
KostenstructuurLicentie of abonnement plus installatie en configuratieLicentie per maand plus implementatieEenmalige bouw op uurbasis plus hosting en onderhoud
FlexibiliteitBeperkt tot wat de leverancier ondersteuntHoog binnen het platform, configuratie in plaats van codeOnbeperkt
Monitoring en herverwerkingWisselt sterk per extensieIngebouwd dashboard, logging en retriesZelf ingericht, bijvoorbeeld met queues, Horizon en alerts
AfhankelijkheidVan de extensieleverancier en zijn updatetempoVan het platform en de implementatiepartnerVan de codebase en het team dat die onderhoudt
Wisselen van ERP of webshopNieuwe extensie, opnieuw beginnenEén kant van de flow vervangenEén adapter herschrijven als de architectuur goed is opgezet
Belasting op MagentoDraait binnen Magento, belast cron en databaseDraait buiten MagentoDraait buiten Magento

Magento ERP koppeling: waar het in de praktijk misgaat

Een koppeling die in de demo werkt, is nog geen koppeling die een jaar draait. Dit zijn de punten waar we bij elke Magento ERP koppeling als eerste naar kijken.

Dubbele orders. Een order wordt verstuurd, het ERP verwerkt hem, maar het antwoord komt door een time-out niet aan. De koppeling probeert opnieuw en het magazijn pakt twee keer in. De oplossing is idempotentie: elke order krijgt een unieke sleutel, en het ontvangende systeem of de middleware controleert of die sleutel al verwerkt is. Dat moet in het ontwerp zitten, niet achteraf worden toegevoegd.

API-limieten. Elk systeem begrenst het aantal verzoeken. Exact Online hanteert limieten per minuut en per dag per administratie; de actuele waarden lees je uit de response-headers. Shopify werkt met een kostenbudget per query in de GraphQL Admin API. Een koppeling die voorraad van tienduizend artikelen elk kwartier één voor één bijwerkt, loopt daar vroeg of laat tegenaan. Werk met deltas (alleen wat gewijzigd is), batches en een wachtrij die netjes terugschakelt bij een 429-melding.

Voorraad is niet één getal. Magento 2 met Multi-Source Inventory kent een fysieke voorraad per bron en een verkoopbare hoeveelheid die rekening houdt met openstaande reserveringen. Als het ERP elke paar minuten de fysieke voorraad overschrijft terwijl er orders onderweg zijn, verkoop je producten die al weg zijn. Spreek af welk getal het ERP stuurt en hoe Magento reserveringen meeneemt.

Varianten en producttypen. Een configurable product in Magento bestaat uit een ouder en losse simple products. Veel ERP's kennen alleen losse artikelnummers. De mapping tussen artikelgroep, kleur, maat en de configurable in Magento is vaak het meest tijdrovende deel van de bouw, en het deel dat het vaakst breekt als iemand in het ERP een nieuwe variant aanmaakt.

Geld en btw. Kortingen per regel versus kortingen op de hele order, verzendkosten als aparte regel, afronding per regel of per totaal, btw-tarieven bij leveringen naar andere EU-landen onder de OSS-regeling: als de webshop en de boekhouding dit verschillend berekenen, sluit je administratie nooit op de cent. Leg vooraf per scenario vast hoe een order in de boekhouding moet landen, en test met echte orders uit je eigen historie.

Retouren en creditnota's. De heenweg wordt bijna altijd goed gebouwd. De terugweg, een gedeeltelijke retour met refund via Mollie en een creditnota in het ERP, is waar handwerk blijft hangen als het niet expliciet is ontworpen.

Stille fouten. De duurste koppeling is de koppeling die faalt zonder dat iemand het merkt. Elke flow heeft logging per bericht nodig, een melding bij fouten, en een plek waar iemand een mislukt bericht kan inzien en opnieuw kan aanbieden.

Magento import en export: wanneer CSV volstaat en wanneer niet

Niet alles hoeft een realtime koppeling te zijn. Soms is een goed ingerichte import goedkoper en robuuster.

Magento 2 heeft een ingebouwde import en export onder System, Data Transfer. Daarmee importeer je producten, klanten, adressen, staffelprijzen en voorraadbronnen vanuit CSV. Voor een eenmalige migratie, een seizoensupdate van de catalogus of een leverancier die eens per week een prijslijst stuurt is dat vaak genoeg. Geplande, automatische import en export zit in Adobe Commerce; in Magento Open Source los je dat op met een extensie of een eigen cronjob.

De grens ligt bij frequentie, volume en foutafhandeling. Een CSV-import valideert per bestand, niet per bericht. Gaat er halverwege iets mis, dan moet iemand uitzoeken welke regels wel en niet zijn verwerkt. Bij grote catalogi wordt de import bovendien traag door indexering. Voor alles wat meerdere keren per dag moet gebeuren, of waarbij een fout direct omzet kost, is een API-koppeling met wachtrij de betere keuze. De handleiding over producten importeren en exporteren en ons artikel over het versnellen van productimports gaan hier in detail op in.

PIM systeem en Magento: wanneer loont een aparte bron voor productdata?

Een PIM-systeem naast Magento loont vooral bij veel artikelen, meerdere talen of meerdere verkoopkanalen.

Magento kan prima productdata beheren voor één winkel in één taal. Het wringt zodra dezelfde productinformatie naar meerdere storeviews, marketplaces, een printcatalogus en een B2B-portal moet, of als meerdere mensen tegelijk aan verrijking werken. Een PIM zoals Akeneo of Pimcore wordt dan de bron voor content, terwijl het ERP de bron blijft voor prijs en voorraad. De koppeling naar Magento wordt eenrichtingsverkeer: het PIM levert, Magento toont.

Let bij een PIM-koppeling op attribuutsets en optiewaarden. Als het PIM een nieuwe kleur toevoegt die in Magento niet als optie bestaat, moet de koppeling die optie aanmaken of het product tegenhouden. Ook media verdienen aandacht: duizenden afbeeldingen elke nacht opnieuw uploaden is zonde van tijd en opslag. Synchroniseer alleen wat gewijzigd is. Voor kleinere catalogi bouwen we soms een eigen PIM in Laravel met Filament, als een standaardpakket meer is dan nodig.

Magento 2 en Navision of Business Central

Microsoft Dynamics NAV, vroeger Navision, draait nog bij veel groothandels. Dat heeft gevolgen voor de koppeling. Alles over deze koppeling lees je op onze pagina over Business Central en Magento.

Voor Dynamics NAV 2018 eindigde de mainstream support in januari 2023; extended support met alleen nog beveiligingsupdates loopt volgens de gepubliceerde lifecycle tot januari 2028. Wie nu een Magento 2-koppeling met NAV laat bouwen, moet er rekening mee houden dat een overstap naar Business Central binnen enkele jaren waarschijnlijk is. Oudere NAV-versies ontsluiten data vaak via SOAP-webservices of directe databasekoppelingen, Business Central via een moderne REST API.

Dat pleit voor middleware: als de koppeling niet rechtstreeks in Magento zit maar in een tussenlaag, hoef je bij de ERP-wissel alleen de NAV-kant te vervangen. De Magento-kant, de mapping van orders en de foutafhandeling blijven staan. Hetzelfde geldt voor een iPaaS-route, waarbij je in Alumio de ene connector vervangt door de andere.

Laravel koppeling of integratie: maatwerk-middleware zonder lock-in

Laravel gebruiken we als integratielaag als standaardoplossingen tekortschieten, en als koppelplatform voor eigen applicaties.

Een Laravel-integratie zit tussen de systemen in. Webshop, ERP, WMS en PIM praten niet rechtstreeks met elkaar, maar met de middleware. Die vertaalt, valideert, zet berichten in een wachtrij en houdt per bericht bij wat er is gebeurd. Laravel heeft daar de bouwstenen voor: queues met retries en backoff, rate limiting per externe API, scheduled jobs, events en een beheeromgeving in Filament waarin je mislukte berichten kunt inzien en opnieuw kunt aanbieden.

Een Laravel koppeling is ook de logische keuze als het andere systeem geen nette API heeft: SFTP met CSV- of XML-bestanden, EDI, SOAP of een database die je alleen mag uitlezen. En als je een eigen Laravel-applicatie hebt, zoals een klantportaal, een WMS of een planningssysteem, dan is integreren met Exact Online, AFAS, Mollie of Sendcloud vanuit diezelfde codebase vaak eenvoudiger dan een extra platform ertussen.

De keerzijde: maatwerk vraagt onderhoud. API's van derden veranderen, tokens verlopen en PHP- en Laravel-versies moeten bijgehouden worden. Reken dat mee in de totale kosten, naast de bouw.

Magento 2 extensies voor koppelingen: wel of niet?

Voor veel systemen bestaat een kant-en-klare extensie. Dat is een prima start, mits je de juiste vragen stelt.

Een extensie die rechtstreeks in Magento draait, belast je Magento-server met cronjobs en database-queries, ook tijdens piekmomenten. Controleer of de extensie wordt bijgehouden voor de Magento-versie en PHP-versie die je draait, of hij compatibel is met Hyvä als hij iets in de frontend doet, en hoe hij omgaat met fouten. Vraag de leverancier hoe je een mislukte order terugziet en opnieuw verstuurt. Als daar geen goed antwoord op komt, weet je genoeg.

Past je proces voor tachtig procent in de extensie, dan is het vaak verstandiger je proces iets aan te passen dan de extensie te gaan verbouwen. Een zwaar aangepaste extensie combineert de nadelen van standaard en maatwerk: je bent afhankelijk van de leverancier en je updates breken je aanpassingen.

Checklist voordat je een koppeling laat bouwen

Met deze punten op papier is een inschatting vooraf goed te onderbouwen, en voorkom je verrassingen halverwege.

Data en eigenaarschap

  • Per datatype vastgelegd welk systeem leidend is: product, prijs, voorraad, klant, order, status
  • Lijst van velden die heen en terug moeten, met voorbeeldwaarden
  • Afspraken over unieke sleutels: SKU, artikelnummer, debiteurnummer
  • Beslissing over varianten en hoe die in het ERP heten

Processen en uitzonderingen

  • Hoe deelleveringen, backorders en annuleringen moeten lopen
  • Retouren, refunds en creditnota's van webshop tot boekhouding
  • Btw-scenario's: binnenland, EU-particulier, EU-zakelijk met verlegging, buiten de EU
  • B2B-afspraken: klantspecifieke prijzen, betalen op rekening, kredietlimieten

Techniek en randvoorwaarden

  • Welke API of koppelmethode het andere systeem biedt, en welke licentie of module daarvoor nodig is
  • Bekende limieten op het aantal verzoeken per minuut of per dag
  • Testomgeving of testadministratie beschikbaar bij het ERP
  • Volumes: aantal artikelen, orders per dag en piek in de drukste week

Beheer na livegang

  • Wie een melding krijgt als een bericht faalt, en binnen welke tijd
  • Waar mislukte berichten zichtbaar zijn en opnieuw verstuurd kunnen worden
  • Wie de koppeling onderhoudt bij updates van webshop of ERP
  • Hoe je periodiek controleert of voorraad en orders in beide systemen gelijk lopen

Zo pakken we een koppeling aan

Geen projectmanagers of tussenlagen: je praat met de mensen die de koppeling bouwen en onderhouden.

  1. 1

    Inventarisatie van datastromen

    We brengen per systeem in kaart welke data waarheen gaat, wie leidend is en hoe vaak het moet. Inclusief de uitzonderingen die nu met de hand worden opgelost.

  2. 2

    Keuze van de route

    Connector, Alumio of maatwerk in Laravel. We onderbouwen de keuze op aantal systemen, complexiteit, volumes en onderhoud, en geven vooraf een inschatting van de uren.

  3. 3

    Mapping en testscenario's

    Veldmapping, btw- en kortingslogica en statusovergangen worden vastgelegd. We stellen testscenario's op met echte orders uit je historie.

  4. 4

    Bouw tegen een testomgeving

    We bouwen en testen tegen een testadministratie of sandbox, met idempotente verwerking, wachtrijen en respect voor de API-limieten.

  5. 5

    Gecontroleerde livegang

    Eerst parallel draaien of starten met een deel van de datastromen, met controle van voorraad en orders in beide systemen.

  6. 6

    Monitoring en onderhoud

    Meldingen bij fouten, een overzicht van mislukte berichten en onderhoud bij updates van webshop, ERP of API.

Wat je van ons krijgt

  • Overzicht van alle datastromen met per datatype het leidende systeem
  • Veldmapping en vastgelegde regels voor btw, kortingen, retouren en statussen
  • Werkende koppeling via connector, Alumio of Laravel-middleware
  • Idempotente orderverwerking die dubbele orders voorkomt
  • Logging per bericht met de mogelijkheid om mislukte berichten opnieuw te verwerken
  • Meldingen bij fouten naar de juiste persoon
  • Testscenario's en testresultaten op basis van echte orders
  • Documentatie van architectuur, credentials-beheer en onderhoudsafspraken

Waarom Coding.nl voor je koppelingen

We kennen beide kanten

We bouwen zelf Magento 2-, Hyvä-, Shopify- en Laravel-platforms. Een koppeling ontwerpen we dus met kennis van wat er aan de webshopkant gebeurt, inclusief MSI, indexering en checkout.

Geen voorkeursroute

We werken met standaardconnectoren, met Alumio via partner Sinsou en met maatwerk in Laravel. Het advies volgt uit jouw situatie, niet uit wat wij toevallig verkopen.

Eén vast team

De mensen die de koppeling bouwen, onderhouden hem ook. Bij een fout hoeft niemand eerst je systemen te leren kennen.

Gebouwd voor beheer

Monitoring, foutafhandeling en herverwerking horen bij de oplevering, niet bij een vervolgproject.

Hyvä Silver PartnerHypernode Silver Partner

Veelgestelde vragen

Een Magento ERP koppeling verbindt je webshop met je ERP, zodat artikelen, prijzen en voorraad vanuit het ERP naar Magento gaan en orders en klantgegevens terug naar het ERP. Daarmee vervalt het overtypen van orders en loopt de voorraad op de site gelijk met het magazijn. De koppeling kan via een extensie, een iPaaS zoals Alumio of maatwerk-middleware lopen.

Welke koppeling past bij jouw webshop?

Stuur ons welke systemen je gebruikt en waar nu handwerk zit. We brengen de datastromen in kaart, adviseren connector, Alumio of maatwerk en geven een onderbouwde inschatting vooraf.