Naar de inhoud
SyncMyShop

ERP-koppeling

ERP koppeling met je webshop: je ERP blijft leidend, je webshop loopt mee

Voorraad, prijzen en klantafspraken komen uit je ERP, orders gaan er als verkooporder in. Wij bouwen de koppeling tussen je webshop en je ERP op de manier waarop jouw ERP gegevens vrijgeeft, en draaien en bewaken hem daarna.

Wat een ERP-koppeling voor je webshop doet

In je ERP ontstaan de gegevens waar je webshop op draait. Een magazijnontvangst verhoogt de voorraad, een prijsafspraak met een debiteur staat in een prijslijst, een levering sluit een order af. Zonder koppeling is de webshop een los verkoopkanaal met eigen kopieën van die gegevens. Met een koppeling is hij een onderdeel van het bedrijfsproces: hij toont wat het ERP weet en levert orders af in de vorm die het ERP verwacht.

Gegeven Zonder koppeling Met een ERP-koppeling
Voorraad een export, één keer per dag ingelezen de vrije voorraad per magazijn, bij elke ronde
Prijs één prijs voor elke klant de prijslijst en de prijs per debiteur uit het ERP
Order overgetypt in het ERP een verkooporder met debiteur, regels en btw-code
Status de klant belt of mailt verzendstatus en trackcode terug in de webshop

De som bij de derde regel: 80 orders per dag die elk 3 minuten overtypen kosten, zijn 240 minuten. Dat is vier uur per dag.

Het ERP blijft leidend voor wat daar ontstaat. Debiteur 10432 heeft voor artikel 10482 een afgesproken prijs van € 9,60 in plaats van € 12,50. Die afspraak staat op één plek, in het ERP, en de webshop toont hem na het inloggen. Niemand houdt in de webshop een tweede prijslijst bij.

Deze pagina gaat over de kant van het ERP. Welke systemen er nog meer aan een webshop hangen staat op webshop koppeling laten maken, en alle stromen staan op het overzicht van koppelingen.

Per ERP anders

Elk ERP geeft gegevens op een eigen manier vrij. Die manier bepaalt de opzet van de koppeling, meer dan het webshopplatform.

ERP Toegang Grens Wat dat voor de opzet betekent
Exact Online REST API met OAuth 2.0 60 aanroepen per minuut en 5.000 per dag, per app per administratie een tweede administratie is een tweede verbinding met een eigen budget
AFAS Profit GetConnector om te lezen, UpdateConnector om te schrijven geen vast getal, wel fair use; zonder take komen de eerste 100 regels terug je eigen AFAS-beheerder stelt de GetConnectoren en UpdateConnectoren beschikbaar; het token is na het aanmaken niet meer in te zien
Business Central API op OData v4 6.000 aanroepen per 5 minuten per gebruiker, 5 tegelijk, 100 bewerkingen per $batch orders gaan gebundeld in een batch; boven de grens antwoordt de API met een 429
SAP Business One Service Layer, met een sessie na inloggen de sessie verloopt standaard na 30 minuten zonder activiteit de koppeling logt opnieuw in en gaat verder bij de order waar hij was
Exact Globe REST-services op je eigen server, vanaf versie 405 de service luistert op een poort van die server, gewoonlijk 8020 de koppeling heeft een beveiligde verbinding naar die server nodig

De getallen zijn op 3 oktober 2026 nagelezen in de documentatie van Exact Online, AFAS en Microsoft, en voor SAP Business One en Exact Globe in de handleidingen van SAP en Exact.

Bij Exact Online bepaalt ook de editie wat er kan. Het veld WarehouseID op een verkooporder wordt volgens de API-documentatie alleen ondersteund in de edities Plus, Professional en Premium van Handel en Productie. Wie orders per magazijn wil boeken, heeft dus eerst de vraag welke editie er draait. Meer daarover in Exact Online Boekhouden of Handel en de API-limieten van Exact Online.

Andere pakketten waar een webshop op wordt aangesloten: Unit4, King, Kerridge, Prodin, Odoo en NetSuite.

Wat er uit je ERP komt en wat erin gaat

Gegeven Richting Waar het op vastloopt
Artikelen uit het ERP elke kleur als los artikel in het ERP, één product met varianten in de webshop
Voorraad per magazijn uit het ERP fysieke voorraad doorgeven in plaats van vrije voorraad: 20 min 4 gereserveerd is 16
Prijzen en prijslijsten uit het ERP exclusief btw in het ERP, inclusief in de webshop; staffels die de API niet vrijgeeft
Levertijd en verwachte leverdatum uit het ERP de datum staat op de inkooporder, niet bij het artikel
Orderstatus en facturen uit het ERP drie deelleveringen op één order, één statusveld in de webshop
Orders in het ERP het ERP vraagt verwijzingen waar de webshop tekst levert
Nieuwe klanten in het ERP een bestaande debiteur die met een ander e-mailadres bestelt
Retouren in het ERP een creditnota die naar de oorspronkelijke factuur moet verwijzen

De regel "orders" is het zwaarste deel. Een webshop levert een order als tekst: een e-mailadres, een SKU, de naam van een betaalmethode. Een ERP vraagt verwijzingen naar records die al bestaan. In Exact Online zijn OrderedBy (de debiteur) en Item (het artikel) verplichte velden van het type GUID.

Een webshoporder omzetten naar een verkooporder in Exact Online De webshop levert een ordernummer, een e-mailadres, een SKU, een aantal, een prijs en een betaalmethode. Exact Online vraagt een referentie, de GUID van de debiteur, de GUID van het artikel, een aantal, een nettoprijs en een betaalconditie. De debiteur en het artikel worden opgezocht, de betaalmethode gaat door een vertaaltabel. Webshoporder Exact Online, SalesOrders number 20418 billing.email inkoop@bakker.example line_items[].sku 10482 line_items[].quantity 12 line_items[].price 12.50 payment_method ideal YourRef 20418 OrderedBy 3f2a8c1e-5b7d-4e2a-... GUID van debiteur 10432, verplicht SalesOrderLines.Item b81d2f60-7a3c-4f19-... GUID van artikel 10482, verplicht SalesOrderLines.Quantity 12 SalesOrderLines.NetPrice 12.50 PaymentCondition 30 code uit jouw administratie debiteur opzoeken artikel opzoeken vertaaltabel
De webshop levert tekst, Exact Online vraagt verwijzingen. Twee van de zes velden kosten een zoekactie voordat de order kan worden aangemaakt.

Dat kost aanroepen. Voor een order met 6 regels zoekt de koppeling 1 debiteur en 6 artikelen op en maakt hij 1 order aan: 8 aanroepen. Bij 120 orders per dag zijn dat 960 aanroepen, bijna een vijfde van het dagbudget van 5.000 bij Exact Online.

De koppeling houdt daarom zelf een tabel bij van artikelnummer naar GUID. Die ververst hij 's nachts via een sync-endpoint dat 1.000 records per aanroep geeft: 8.000 artikelen zijn 8 aanroepen. Een order kost dan nog 2 aanroepen, debiteur opzoeken en order aanmaken. 120 orders keer 2 is 240, plus 8 is 248 aanroepen per dag in plaats van 960.

Zo ziet de order eruit zoals Exact Online hem aanneemt:

{
  "OrderedBy": "3f2a8c1e-5b7d-4e2a-9c41-0a1b2c3d4e5f",
  "YourRef": "20418",
  "PaymentCondition": "30",
  "SalesOrderLines": [
    {
      "Item": "b81d2f60-7a3c-4f19-8e55-6d4c3b2a1f00",
      "Quantity": 12,
      "NetPrice": 12.50,
      "VATCode": "2"
    }
  ]
}

De codes voor betaalconditie en btw verschillen per administratie. De koppeling vertaalt ze met een tabel die bij de bouw wordt gevuld: betaalmethode ideal wordt de betaalconditie voor vooruitbetaald, 21% btw wordt de btw-code die in jouw administratie bij dat tarief hoort. Ontbreekt een vertaling, dan gaat de order naar de controlelijst en wordt hij niet half geboekt.

B2B vanuit het ERP

Verkoop je zakelijk, dan staan de afspraken in het ERP: prijs per debiteur, kredietlimiet, betaalconditie, assortiment per klant. De vraag is of het webshopplatform ze kan ontvangen. Een voorbeeld: Shopify biedt B2B op alle abonnementen, met op Basic, Grow en Advanced maximaal 3 actieve catalogi. Heeft je ERP 12 prijslijsten, dan passen die niet een op een in 3 catalogi. De koppeling voegt prijslijsten samen waar dat kan, of het platform krijgt een ander abonnement. Het aantal catalogi is op 3 oktober 2026 nagelezen in het helpcentrum van Shopify.

De onderdelen hebben elk een eigen pagina: klantspecifieke prijzen, staffelprijzen en bestellen op rekening.

Twee kanten op: wie wint bij een verschil

De meeste stromen gaan één kant op. Klantgegevens niet: de klant wijzigt zijn adres in de webshop en de binnendienst wijzigt hetzelfde record in het ERP.

Een voorbeeld. Om 10:14 zet Bakker Installatie B.V. in de webshop het afleveradres op Havenweg 8. Om 10:20 verbetert de binnendienst in het ERP de postcode van het oude adres, Dorpsstraat 12 A. De ronde van 10:30 ziet twee wijzigingen op hetzelfde adres. Zonder regel wint wie het laatst schreef: het ERP. De Dorpsstraat staat terug in de webshop en de order van 10:40 gaat naar het verkeerde adres.

Met een regel per veld staat de uitkomst vooraf vast:

Veld Leidend Bij een verschil
Afleveradres webshop het ERP neemt het adres uit de webshop over
Factuuradres en btw-nummer ERP een wijziging in de webshop wordt een verzoek aan de binnendienst
Kredietlimiet en betaalconditie ERP de webshop leest alleen
Contactpersoon en e-mailadres het laatst gewijzigde de koppeling vergelijkt de tijdstippen en bewaart de oude waarde in het log

Vier regels voor vier velden. Een koppeling die twee kanten op gaat heeft zo'n regel voor elk veld dat in beide systemen te wijzigen is, en een test voor elke regel.

Wat de omvang van het werk bepaalt

Twee dingen maken een ERP-koppeling groter dan al het andere: een ERP zonder API, en een stroom die twee kanten op gaat met conflictregels. De andere factoren tellen daarbij op.

Factor Kleinste vorm Grootste vorm
Toegang een API met een testomgeving geen API: een databaseview of een geplande export
Richting elke stroom één kant op klanten en adressen twee kanten op, met een regel per veld
Prijzen één verkoopprijs per artikel 12 prijslijsten op 6.500 artikelen: 78.000 prijsregels
Magazijnen één locatie meerdere locaties met een verdeelregel per order
Systemen webshop en ERP webshop, ERP, WMS en boekhouding

De laatste regel is anders dan hij lijkt. Vier systemen zijn geen vier losse koppelingen. De voorraad van artikel 10482 staat dan in drie systemen: het ERP, het WMS en de webshop. Het werk zit in de afspraak welk van de drie beslist en in welke volgorde de andere twee volgen. Die afspraak geldt voor elk veld dat op meer dan één plek staat.

Wat deze factoren voor de prijs betekenen staat op koppeling laten bouwen. De vragen die je vooraf kunt beantwoorden staan in webshop koppelen aan je ERP.

Wat je krijgt

Wij bouwen de koppeling voor een vaste prijs op jouw ERP, jouw webshop en jouw regels. Daarna hosten, draaien en bewaken wij hem voor een vast bedrag per maand, en passen we hem aan als het ERP of het platform verandert.

  • Niets verdwijnt ongemerkt. Is het ERP onbereikbaar of zit het aan zijn limiet, dan wacht de order in de wachtrij. Elke nieuwe poging gebruikt dezelfde sleutel, zodat order 20418 één keer in het ERP staat.
  • Een controlelijst met de reden. Een order met een onbekend artikel of een ontbrekende btw-code staat op de lijst met de oorspronkelijke inhoud, en wordt na herstel opnieuw verwerkt.
  • Een dashboard met eigen login. Per run zie je wat er is gewijzigd, per artikel en per veld.
  • Dry run en goedkeuring. De eerste ronde schrijft niets. Je ziet de 8.000 artikelen en wat er per artikel zou veranderen voordat er iets in de webshop staat.

Heeft je bedrijf regels die in geen standaard passen, zoals een order verdelen over twee magazijnen, dan staat dat deel op maatwerk koppeling laten maken. Voor groothandels staat de combinatie van prijsafspraken, staffels en voorraad per locatie bij groothandel en distributie.

Noem je ERP, je webshopplatform en de stroom die nu het meeste werk kost. Je hoort hoe jouw ERP de gegevens vrijgeeft en waar de grenzen liggen.

Veelgestelde vragen

Kunnen we ons huidige ERP houden en alleen de webshop erop aansluiten?

Ja. De koppeling sluit aan op het ERP dat je nu gebruikt en verandert niets aan de inrichting ervan. Artikelen, prijslijsten en debiteuren blijven waar ze staan. Wat erbij komt is één afspraak per veld over welk systeem leidend is, bijvoorbeeld de voorraad uit het ERP en het afleveradres uit de webshop.

Hoe weet ik of mijn ERP een API heeft?

Vraag de leverancier of je ERP-partner drie dingen: is er een API, welke gegevens geeft hij vrij, en kun je ermee lezen en schrijven. Het derde punt telt: artikelen lezen is iets anders dan een order aanmaken. Exact Online, Business Central en SAP Business One hebben een gedocumenteerde API, AFAS werkt met connectoren. Is er geen API, dan loopt de koppeling via een databaseview of een geplande export.

Wie moet de toegang tot ons ERP regelen?

De beheerder van het ERP, en dat bepaalt de planning. Bij AFAS maakt je eigen beheerder de app connector aan, voegt de GetConnectoren en UpdateConnectoren toe en genereert het token. Bij Exact Online logt een gebruiker van de administratie in en geeft hij de app toestemming. Zit het beheer bij een ERP-partner, dan loopt de aanvraag via die partner.

We hebben al een script tussen webshop en ERP. Wat gebeurt daarmee?

Het blijft draaien tot de nieuwe koppeling hetzelfde doet. De nieuwe koppeling draait eerst naast het script zonder te schrijven en logt wat hij zou hebben weggeschreven. De verschillen laten zien wat het script precies deed, ook de regels die niemand heeft opgeschreven. Daarna gaat de koppeling per stroom live. Zie een bestaande koppeling vervangen.

Welke ERP-systemen koppelen jullie aan een webshop?

Exact Online, AFAS Profit, Business Central, SAP Business One en Exact Globe, en daarnaast Unit4, King, Kerridge, Prodin, Odoo en NetSuite. Een ERP buiten die lijst is te koppelen als gegevens er op een vaste, herhaalbare manier in en uit kunnen: via een API, een databaseview of een geplande export.

Zien klanten in de webshop hun eigen prijzen uit het ERP?

Ja. De koppeling neemt de opbouw van het ERP over: de basisprijs, de prijslijst van de klant, de prijs per debiteur en de staffel. Een ingelogde klant ziet de prijs die het ERP ook op zijn order zou zetten. Hoe dat per laag werkt staat bij klantspecifieke prijzen.

Kan de webshop doorverkopen als het ERP even onbereikbaar is?

Ja. Orders wachten in de wachtrij en komen in het ERP zodra het weer bereikbaar is, in de volgorde waarin ze zijn geplaatst en elk één keer. De voorraad in de webshop blijft staan op de laatst bekende waarde. Een buffer van bijvoorbeeld 2 stuks per artikel vangt op wat er in die tijd wordt verkocht.

Wat gebeurt er met de koppeling bij een update van het ERP?

Een update kan een veld hernoemen, een endpoint laten vervallen of een limiet veranderen. Wij volgen de aankondigingen van de leverancier en passen de koppeling aan; dat hoort bij het maandelijkse beheer. Komt een wijziging onverwacht, dan stopt de run en meldt hij welk veld ontbreekt. Hij draait niet half door.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com