Kennisbank
Je webshop voorbereiden op een ERP-koppeling
Welke velden, toegang en verantwoordelijkheden je vooraf afspreekt voor een ERP-koppeling. Met praktijkvoorbeelden voor webshopbureaus.
Bijgewerkt op
Waar thema en koppeling elkaar raken
De grens tussen jullie werk en het onze loopt door de webshop. De koppeling schrijft velden, het thema toont ze. Die velden liggen vast voordat iemand begint te bouwen, met hun naam en type:
| Gegeven | De koppeling schrijft | Het thema leest |
|---|---|---|
| Voorraad | available per locatie, met inventorySetQuantities |
de voorraad van de variant |
| Leverdatum | metafield custom.leverbaar_vanaf, type date |
de datum, of een tekst als hij leeg is |
| Klantprijs B2B | prijslijst per catalogus | de prijs van de ingelogde klant |
| ERP-ordernummer | metafield op de order | het nummer in het klantaccount |
| Track-en-trace | trackingInfo bij de fulfilment |
de link in de verzendmail |
B2B-catalogi werken in Shopify op Basic, Grow, Advanced en Plus. Onder Plus zijn het er 3 per winkel; een catalogus direct aan een bedrijfslocatie hangen kan alleen op Plus. Dat bepaalt hoe klantprijzen in het thema terechtkomen, en dus wat het bureau bouwt. Op WooCommerce is de afspraak een productmeta en meta_data op de order, met dezelfde vaste namen.
Commerce en ERP spreken een andere taal
Een ERP-partner kent de boekingen, een webshopbureau de checkout. De koppeling zit precies tussen die twee, en daar gaat het mis op details die geen van beiden dagelijks ziet:
| Webshop | ERP | Wat de koppeling doet |
|---|---|---|
Shopify address1: "Dorpsstraat 12 A" |
AFAS Ad, HmNr (geheel getal), HmAd |
splitst straat, huisnummer en toevoeging |
WooCommerce prices_include_tax |
prijs exclusief btw per regel | rekent om met het btw-tarief van de regel |
| btw afgerond op het subtotaal | btw per regel | vangt het verschil van een cent op een vaste regel op |
gast met customer_id 0 |
debiteur verplicht | zoekt op btw-nummer of e-mail, of boekt op een verzameldebiteur |
| SKU van 24 tekens | Business Central artikelnummer Code[20] |
koppeltabel in plaats van afkappen |
Elk van die regels is een keuze die de klant moet maken. Wij leggen ze aan jullie voor, met een voorbeeld uit de data van de klant. Uitgewerkt staat het in adresvelden mappen en bedragen en btw mappen.
Toegang: wiens account, wiens sleutel
Een koppeling hangt aan een sleutel, en een sleutel hangt aan een account. In een bureau-project zitten daar drie partijen tussen, en daar gaat het na de oplevering het vaakst mis:
| Systeem | Hoe de toegang werkt | Waar het misgaat |
|---|---|---|
| Shopify | app in het Dev Dashboard, aangemaakt door de eigenaar of door personeel met de rechten voor app-ontwikkeling | een samenwerkingsaccount, waarmee bureaus vaak werken, heeft geen toegang tot het Dev Dashboard |
| WooCommerce | REST API-sleutel van een WordPress-gebruiker | wordt die gebruiker verwijderd, bijvoorbeeld de developer na oplevering, dan werkt de sleutel niet meer |
| Exact Online | OAuth-toestemming van een gebruiker van de administratie | het vernieuwingstoken is 30 dagen geldig en wordt bij elk gebruik vervangen |
| AFAS Profit | app connector met een token | klassieke tokens stoppen na 31 augustus 2027 |
Daarom maakt de klant de toegang aan onder een eigen gebruiker voor de koppeling, niet onder het account van een developer van het bureau of van ons. Staging krijgt eigen sleutels en schrijft naar een testadministratie, zodat een testorder nooit in de echte boekhouding komt.
Systemen achter de webshop
| Soort | Systemen |
|---|---|
| ERP en boekhouding | Exact Online, AFAS, Business Central, SAP Business One, Odoo, NetSuite, Itsperfect |
| WMS en fulfilment | Picqer, Monta, Goedgepickt |
| PIM | Akeneo, Pimcore |
| Kanalen | bol, Channable |
| Leveranciers | bestanden van leveranciers via CSV, Excel, XML of API |
Elk systeem heeft zijn eigen grens. Exact Online staat 60 verzoeken per minuut en 5.000 per dag toe. Business Central online 6.000 per 5 minuten per gebruiker. Picqer 500 per minuut. Akeneo 4 gelijktijdige verzoeken per koppeling. Een koppeling die daar niet op is gebouwd, werkt in de test met 20 orders en loopt vast op de eerste drukke maandag.
Na de oplevering
Wij hosten, draaien en bewaken de koppeling. Een run die faalt, komt bij ons binnen als melding, niet als telefoontje van jullie klant. Bij de koppeling hoort een dashboard met een login, met per run wat er is doorgezet en wat niet. Verandert een API of een bestand, dan passen wij de koppeling aan. Dat is geen uitzondering: Shopify ondersteunt elke API-versie minstens 12 maanden. Een koppeling die blijft staan op een versie die is verlopen, krijgt daarna stilzwijgend de oudste versie die nog wel bestaat, met de wijzigingen die daarin zitten. Hoe dat in de praktijk loopt staat op hoe een koppeling werkt.
De bouw heeft een vaste prijs, die jullie in je eigen offerte zetten. Daarna loopt het beheer voor een vast bedrag per maand. Voor een losse koppeling naast jullie eigen werk is maatwerk koppeling laten maken de pagina met de technische kant. Stuur de vorm van het project: welke systemen, welke stromen en welke aantallen.
Veelgestelde vragen
Wat hebben jullie nodig om een prijs te geven?
De systemen aan beide kanten met hun versie of abonnement, de stromen die erover moeten (orders, voorraad, prijzen, artikelen), de aantallen (artikelen, orders per dag, locaties) en de regel waar het nu op vastloopt. Een voorbeeldbestand of een export helpt meer dan een beschrijving.
Wie past de koppeling aan als Shopify of het ERP verandert?
Wij. Shopify brengt elke drie maanden een nieuwe API-versie uit, Business Central online wordt elke maand bijgewerkt, en een leverancier hernoemt een kolom zonder aankondiging. Zo'n wijziging is ons werk, niet dat van jullie developers.
Kunnen jullie een koppeling overnemen die iemand anders bouwde?
Ja. De nieuwe koppeling draait eerst mee naast de oude, zonder te schrijven, zodat de verschillen per order en per artikel zichtbaar worden. Daarna gaat het om per stroom. Hoe dat gaat zonder dat er iets stilvalt staat in een bestaande koppeling vervangen.
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