WooCommerce en SnelStart
WooCommerce SnelStart koppeling
Orders uit WooCommerce staan als verkooporder of verkoopboeking in SnelStart, met de juiste relatie, artikelen voor verzending, toeslag en korting, en een btw die past bij de omzetgroep. De vrije voorraad uit SnelStart staat in WooCommerce zonder dat open orders dubbel tellen. Gebouwd op jouw administratie, en daarna door ons gedraaid en bewaakt.
Wat je tussen WooCommerce en SnelStart koppelt
SnelStart geeft gegevens vrij via de B2B API op b2bapi.snelstart.nl/v2/, alleen voor een online administratie. WooCommerce via de REST API v3. Welke stromen er zijn, hangt af van of SnelStart ook levert of alleen boekt.
| Stroom | Richting | WooCommerce | SnelStart |
|---|---|---|---|
| Orders | naar SnelStart | /wc/v3/orders, webhook order.updated |
verkooporders, of verkoopboekingen |
| Klanten | naar SnelStart | billing, customer_id |
relaties |
| Artikelen | naar WooCommerce | sku, name, regular_price |
artikelen |
| Voorraad | naar WooCommerce | stock_quantity |
vrije voorraad per artikel |
| Terugbetalingen | naar SnelStart | /orders/<id>/refunds |
creditregel |
Een order gaat naar SnelStart als hij in WooCommerce op processing staat: betaald en afgeboekt. De koppeling bewaart per order het WooCommerce-ordernummer, number, en het nummer dat SnelStart uitgeeft. Hoe dit past in een koppeling met een ERP of boekhoudpakket staat op ERP koppeling met je webshop.
Welk systeem is leidend, per gegeven
| Gegeven | Leidend | Richting | Gedrag |
|---|---|---|---|
| Order, regels, betaalmethode | WooCommerce | naar SnelStart | één keer, met het WooCommerce-nummer als sleutel |
| Relatie en klantnummer | SnelStart | match, anders aanmaken | e-mailadres, bedrijfsnaam en btw-nummer |
| Artikelcode, omschrijving, omzetgroep | SnelStart | naar WooCommerce | sku is de artikelcode |
| Productteksten en afbeeldingen | WooCommerce | blijft in WooCommerce | de koppeling schrijft er niet overheen |
| Vrije voorraad | SnelStart | naar WooCommerce | min open weborders |
| Btw-tarief | SnelStart, via de omzetgroep | controle per regel | afwijking naar de controlelijst |
Wat WooCommerce en SnelStart anders bewaren
Btw-klasse tegenover artikelomzetgroep
Een WooCommerce-orderregel heeft een tax_class, de slug van de belastingklasse, en een lijst taxes met per tarief het bedrag. De order heeft daarnaast tax_lines met rate_id, rate_code en label. Een percentage staat er niet als getal in.
SnelStart neemt geen tarief aan per regel. Het artikel hangt aan een artikelomzetgroep, die groep wijst een omzetrekening aan, en de functie van die rekening bepaalt de btw: functie 12 voor hoog, 11 voor laag. De koppeling rekent dus geen percentage uit total_tax en total terug. Hij legt een tabel vast van belastingklasse in WooCommerce naar omzetgroep in SnelStart, en controleert bij elke regel of het artikel in SnelStart in die groep zit:
tax_class in WooCommerce |
Tarief | Artikelomzetgroep in SnelStart |
|---|---|---|
standard, in de orderregel leeg |
21% | Hoog btw, functie 12 |
reduced-rate |
9% | Laag btw, functie 11 |
zero-rate |
0% | Geen btw, functie 10 |
Een boek dat in WooCommerce op 9% staat en in SnelStart in de groep hoog, wordt zo een melding in plaats van een stille boeking tegen het verkeerde tarief. Meer in bedragen en btw mappen.
Verzendkosten, toeslagen en kortingen als artikel
Elke factuurregel in SnelStart heeft een artikel nodig. WooCommerce zet verzendkosten in shipping_lines, betaaltoeslagen in fee_lines en kortingscodes in coupon_lines, met de korting al verwerkt in het regeltotaal. De koppeling maakt van elk een regel op een vast artikel: een voor verzending, een per soort toeslag en een kortingsartikel per omzetgroep.
Dat laatste is een rekensom. 7 stuks van € 12,95 met 15% korting: subtotal is 90,65, total is 77,05, de korting 13,60. Gaat de regel naar SnelStart als stukprijs, dan is dat 77,05 gedeeld door 7: 11,0071, afgerond 11,01, maal 7 is 77,07. Twee cent verschil met wat de klant betaalde, en dan lukt het automatisch afletteren niet. Als regel van 7 maal 12,95 plus een kortingsregel van min 13,60 klopt het bedrag op de cent. Geldt de kortingscode voor artikelen van 21% en 9%, dan wordt de korting over twee kortingsregels verdeeld in de verhouding van de regels.
SKU's en artikelcodes
Een nieuwe SnelStart-administratie staat op artikelcodes van alleen cijfers, maximaal 10 tekens. In WooCommerce heeft elke variatie een eigen sku, vrije tekst, en een product mag zonder SKU bestaan. Een winkel met 400 producten en 1.600 variaties heeft 2.000 SKU's die als artikelcode in SnelStart moeten passen. De soort artikelcode zet je dus vooraf om naar cijfers en letters, of de koppeling houdt een vertaaltabel bij. Een product zonder SKU gaat op de controlelijst. Zie SKU of EAN.
Voorraad tot de pakbon
WooCommerce verlaagt stock_quantity zodra een order op processing of on-hold komt. SnelStart verlaagt de voorraad van een verkooporder pas op het niveau dat je vanaf inZicht instelt: bij de pakbon of bij de factuur. Tot dat moment telt de webshoporder in SnelStart nog als voorraad. Een voorraadronde die dan de vrije voorraad schrijft, zet de verkochte stuks in WooCommerce terug. De koppeling trekt daarom de aantallen in open weborders af van de vrije voorraad, totdat SnelStart ze zelf heeft afgeboekt.
Staat in SnelStart de instelling Voorraadcontrole bij orderinvoer aan, dan kan een pakbon of factuur niet worden gemaakt voor meer dan er op voorraad is. Een webshop die backorders toestaat, backorders op notify of yes, levert dan orders die in SnelStart vastlopen. Die instelling en de backorderregel in WooCommerce moeten bij elkaar passen.
De technische werkelijkheid van deze combinatie
| Onderwerp | WooCommerce | SnelStart |
|---|---|---|
| Limiet op verzoeken | geen gedocumenteerd op wc/v3 |
niet openbaar, achter de login van het ontwikkelaarsportaal |
| Per verzoek | 100 per pagina, 100 per batch | niet openbaar |
| Wijziging melden | webhook via WP-Cron, uit na 5 mislukte afleveringen | pollen |
| Toegang | sleutelpaar, secret één keer getoond | abonnementssleutel plus token uit de koppelsleutel |
| Sleutel vervalt | als de WordPress-gebruiker wordt verwijderd | als een back-up of herstelpunt wordt teruggezet |
Nagelezen op 3 oktober 2026 in de documentatie van WooCommerce en het kennisplein van SnelStart.
Orders doorgerekend. Een order kost de koppeling aan de SnelStart-kant een zoekopdracht naar de relatie, bij een nieuwe klant een aanmaak, en de verkooporder: twee tot drie verzoeken. 250 orders op een drukke dag zijn 500 tot 750 verzoeken, gespreid over de dag. Omdat SnelStart zijn limieten niet openbaar maakt, schrijft de koppeling met een vast tempo en leest hij elke 429 of 503 als teken om te wachten.
Voorraad doorgerekend. 2.000 artikelen met voorraadcontrole worden 's nachts volledig vergeleken en overdag elk kwartier alleen op wijzigingen bijgewerkt, bijvoorbeeld. Naar WooCommerce zijn 2.000 getallen bij 400 enkelvoudige producten 4 batches van 100; de 1.600 variaties gaan per variabel product, dus alleen de producten waarvan een variatie is gewijzigd.
De sleutels. De koppelsleutel van de administratie wordt in SnelStart Web aangemaakt onder Koppelingen, bij de tegel Maatwerk. Met die sleutel vraagt de koppeling een token op bij auth.snelstart.nl met grant_type=clientkey. Wordt een back-up teruggezet, dan krijgt de administratie een nieuwe sleutel en weigert SnelStart de oude. Meer in WooCommerce REST API koppelen.
Wat een standaardkoppeling hier niet doet
Standaardkoppelingen tussen WooCommerce en een boekhoudpakket documenteren hun grenzen. Voor SnelStart stond er bij een van de grotere aanbieders:
- Debiteuren alleen aanmaken. Een klant wordt herkend op e-mailadres en aangemaakt als hij niet bestaat, maar nooit bijgewerkt.
- Artikelen alleen aanmaken. Bestaande artikelen worden niet gewijzigd. De artikelcode moet naar 25 tekens met letters, voor de hulpartikelen van de koppeling zelf.
- Eén kostenplaats per koppeling en een betaaltermijn van standaard 14 dagen, alleen op nieuwe debiteuren.
- Geen voorraad terug. Er gaat geen voorraad van het boekhoudpakket naar de webshop.
- Alleen volledige terugbetalingen, en alleen binnen 30 dagen.
- Een gewijzigde order wordt na het doorzetten niet meer bijgewerkt.
Een gebouwde koppeling legt per omzetgroep, per artikel en per betaalmethode vast wat er gebeurt, houdt de voorraad in de webshop gelijk met SnelStart en verwerkt een gedeeltelijke terugbetaling op regelniveau.
Als het misgaat
| Wat er misgaat | Wat de koppeling doet | Wat je ziet |
|---|---|---|
| SnelStart antwoordt 401 | alle stromen pauzeren | koppelsleutel of abonnementssleutel ongeldig |
| Artikelcode bestaat niet in SnelStart | de order blijft staan, andere orders gaan door | de order en de SKU |
| Btw-klasse past niet bij de omzetgroep | de order gaat naar de controlelijst | de regel, het tarief en de omzetgroep |
| Ordertotaal wijkt af van de som van de regels | de order gaat niet door | het verschil in centen |
| Webhook van WooCommerce uitgeschakeld | de controleronde haalt de orders op | een regel in het logboek |
| Tijdelijke fout of time-out bij SnelStart | opnieuw, met een langere pauze | niets, tenzij het aanhoudt |
Voordat de koppeling een order schrijft, controleert hij of het WooCommerce-nummer al bij een order in SnelStart hoort. Een herhaling maakt zo geen tweede verkooporder of dubbele omzet. Een order die blijft falen wordt met de oorspronkelijke inhoud bewaard en gaat opnieuw mee zodra de oorzaak is opgelost. Voor livegang draait de koppeling als dry run: per order welke relatie, welke artikelen en welke omzetgroep er in SnelStart zouden ontstaan, zonder iets te boeken.
Wij hosten en bewaken de koppeling en passen hem aan als SnelStart of WooCommerce iets wijzigt. De systeemkant staat op SnelStart koppeling, de platformkant op WooCommerce koppeling, en alle stromen op koppelingen. Verwante combinaties: Magento SnelStart koppeling, WooCommerce koppeling met je boekhoudpakket en WooCommerce Exact Online koppeling. Vertel welk SnelStart-pakket en welke plugins je gebruikt.
Veelgestelde vragen
Welk SnelStart-pakket heb ik nodig?
Voor een eigen koppeling op de API is de tegel Maatwerk nodig, en die werkt volgens SnelStart met inZicht en inControle. Voorraad bijhouden kan vanaf inKaart, prijsafspraken per klant vanaf inBalans. Het niveau waarop een verkooporder de voorraad afboekt stel je in vanaf inZicht. Zie SnelStart koppeling voor het hele overzicht.
Moet een webshoporder een verkooporder of een verkoopboeking worden?
Dat hangt af van wie levert. Pak en verstuur je uit SnelStart, met pakbon en voorraad, dan wordt het een verkooporder. Verstuur je vanuit een ander systeem en wil je alleen de omzet boeken, dan een verkoopboeking. In het tweede geval komt de voorraad niet uit SnelStart en gaat er geen voorraad terug naar WooCommerce.
Wat gebeurt er met gastbestellingen?
Een gastbestelling heeft in WooCommerce customer_id 0. De koppeling zoekt een bestaande relatie op e-mailadres en, bij een zakelijke klant, op bedrijfsnaam en btw-nummer. Vindt hij niets, dan maakt hij een nieuwe relatie aan of boekt hij op een vaste verzameldebiteur voor consumenten. Welke van de twee leg je vooraf vast. Zie dubbele klanten en debiteuren.
Hoe gaan kortingscodes uit WooCommerce naar SnelStart?
WooCommerce verwerkt een kortingscode in de regel: subtotal is de prijs voor korting, total erna. De koppeling zet de korting op een eigen kortingsregel, een per omzetgroep, zodat de btw van de korting bij het juiste tarief hoort. Een korting omrekenen naar een stukprijs geeft afrondingsverschillen van een of twee cent.
Wat als een klant een deel van de order terugstuurt?
Een terugbetaling in WooCommerce staat onder /orders/<id>/refunds, met de regels en aantallen die terugkomen. De koppeling maakt daar in SnelStart een creditregel van voor precies die artikelen en dat bedrag, ook bij een gedeeltelijke terugbetaling. Komt het artikel terug in de voorraad, dan volgt de voorraad in SnelStart.
Wat gebeurt er als SnelStart even niet bereikbaar is?
De orders blijven in de wachtrij staan en gaan door zodra SnelStart weer antwoordt. De webshop merkt er niets van. Is de koppelsleutel vervallen, bijvoorbeeld na het terugzetten van een back-up, dan pauzeren alle stromen en krijg je een melding met wat er nodig is.
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