Naar de inhoud
SyncMyShop

WooCommerce en Exact Online

WooCommerce Exact Online koppeling

WooCommerce-orders staan als verkoopboeking, verkoopfactuur of verkooporder in Exact Online, met de juiste btw-code, debiteur en boekdatum. Met Exact Online Handel gaan voorraad en leveringen terug naar je shop. Gebouwd op jouw administratie en jouw plugins, en daarna door ons gedraaid en bewaakt.

Wat je tussen WooCommerce en Exact Online koppelt

Bij deze combinatie bepaalt je Exact-pakket wat een WooCommerce-order in Exact wordt. Met Exact Online Boekhouden is dat een verkoopboeking of een verkoopfactuur. Met Handel of Productie kan het ook een verkooporder zijn, en dan gaan voorraad en leveringen terug naar de shop.

Stroom Richting WooCommerce Exact Online
Order als boeking naar Exact GET /wc/v3/orders?dp=4 salesentry/SalesEntries
Order als factuur naar Exact idem salesinvoice/SalesInvoices
Order als verkooporder naar Exact, alleen Handel idem salesorder/SalesOrders
Klant naar Exact billing, shipping crm/Accounts, crm/Addresses
Terugbetaling naar Exact orders/<id>/refunds creditboeking of creditnota
Voorraad naar WooCommerce, alleen Handel stock_quantity sync/Inventory/StockPositions
Levering en trackingnummer naar WooCommerce, alleen Handel status en meta_data salesorder/GoodsDeliveries

Het verschil tussen de drie orderroutes zit in de regels. Een verkoopboeking heeft per regel een grootboekrekening (GLAccount) en een bedrag exclusief btw (AmountFC), en geen artikel. Een verkoopfactuur en een verkooporder vragen per regel een artikel als GUID (Item). Wie van boeking naar factuur overstapt, moet dus eerst elk WooCommerce-product als artikel in Exact hebben. De keuze per pakket staat uitgewerkt op Exact Online koppeling.

Welk systeem is leidend, per gegeven

Gegeven Leidend Richting Gedrag
Order, totaal, btw-bedragen WooCommerce naar Exact één keer, met YourRef als sleutel
Debiteur Exact zoeken op e-mail en btw-nummer, anders aanmaken bestaande debiteur niet overschreven
Btw-code, dagboek, grootboekrekening Exact vaste tabel in de koppeling per tarief, land en kanaal
Artikelcode en artikel Exact naar WooCommerce als SKU alleen bij factuur of verkooporder
Productteksten, afbeeldingen, categorieën WooCommerce blijft in WooCommerce de koppeling schrijft er niet overheen
Voorraad Exact, FreeStock of CurrentStock naar WooCommerce alleen wijzigingen, in batches van 100
Betaalstatus WooCommerce, date_paid naar Exact bepaalt of en wanneer de order doorgaat

Wat WooCommerce en Exact Online anders bewaren

Een btw-percentage tegenover een btw-code

WooCommerce rekent met tarieven en geeft bedragen standaard in 2 decimalen. Exact Online vraagt per regel een btw-code uit vat/VATCodes, en elke code heeft daar zijn eigen percentage en vlaggen. Charged markeert verlegde btw en transacties binnen de EU, EUSalesListing met L zegt dat de omzet op de ICP-opgave komt. Een webshop die naar België levert heeft daarom al snel vier codes nodig: hoog tarief, laag tarief, nultarief en intracommunautaire levering met btw-nummer.

Een WooCommerce-order als verkoopboeking in Exact Online Order 10482 uit WooCommerce wordt een verkoopboeking in Exact Online. Het e-mailadres wordt de debiteur, de orderregel en de verzendkosten worden elk een boekingsregel op een eigen grootboekrekening met een btw-code. De besteldatum in GMT ligt op 30 september, de boekdatum in Nederlandse tijd op 1 oktober. WooCommerce, order Exact Online, SalesEntries number 10482 billing.email inkoop@bakker-installatie.nl date_created_gmt 2026-09-30T22:30:00 GMT, nog september line_items[0].total 82.6400 dp=4, exclusief btw line_items[0].total_tax 17.3544 shipping_lines[0].total 4.9500 YourRef WEB-10482 Customer GUID van de debiteur gezocht op Email EntryDate 2026-10-01 boekdatum in Nederlandse tijd Lines[0].GLAccount omzet hoog tarief Lines[0].VATCode 4 voorbeeld, code per administratie Lines[1].GLAccount omzet verzendkosten voorvoegsel zoeken, anders aanmaken omrekenen tarief 21,00% Lines staat hier voor SalesEntryLines. Een boekingsregel heeft geen artikel: GLAccount en AmountFC zijn verplicht.
Order 10482 als verkoopboeking. Een boekingsregel heeft geen artikel, alleen een grootboekrekening en een bedrag. De btw-code 4 is een voorbeeld; codes verschillen per administratie.

De koppeling haalt orders op met dp=4. Bij 2 decimalen wordt de btw over € 82,64 afgerond op € 17,35, en dat is terugrekenend 20,99%. Met 4 decimalen staat er € 17,3544, precies 21,00%. De code komt uit het tarief van de WooCommerce-regel en het leverland, via een tabel die bij de bouw uit jouw VATCodes wordt gevuld. Meer in bedragen en btw mappen.

Verzendkosten als regel, artikel of toeslag

WooCommerce zet verzendkosten in shipping_lines, los van de productregels. In Exact hangt de plek af van de route. Bij een verkoopboeking is het een regel op een eigen omzetrekening. Bij een verkoopfactuur of verkooporder in Handel of Productie kan het naar SalesInvoiceOrderChargeLines of SalesOrderOrderChargeLines. Die resources bestaan niet in Boekhouden, dus daar worden verzendkosten een factuurregel met een apart artikel "verzendkosten". Hetzelfde geldt voor toeslagen uit fee_lines, zoals een betaaltoeslag.

Adressen: drie vrije regels

Exact Online bewaart een adres in crm/Addresses met AddressLine1 tot en met AddressLine3 en Type 3 voor factuur of 4 voor aflevering. Er is geen apart huisnummerveld, dus address_1 en address_2 uit WooCommerce gaan ongesplitst over. Exact controleert bij een POST zelf of het adres al bestaat en geeft dan het bestaande ID terug. Een afleveradres dat gelijk is aan het factuuradres maakt de koppeling niet apart aan.

Gastbestellingen en debiteuren

Een gastbestelling heeft in WooCommerce customer_id 0. Exact heeft voor elke boeking een Customer nodig. De koppeling zoekt op Email en, bij een zakelijke order, op VATNumber, en maakt alleen een nieuwe debiteur aan als beide niets opleveren. Het enige verplichte veld voor een nieuwe debiteur is Name. Een particulier die drie keer als gast bestelt blijft zo één debiteur. Wil je particulieren niet als debiteur, dan gaan ze op een verzameldebiteur en zakelijke klanten op een eigen debiteur.

Datums en het btw-kwartaal

WooCommerce bewaart date_created in de tijdzone van de site en date_created_gmt in GMT. Een order van 00:30 op 1 oktober Nederlandse tijd staat in GMT op 30 september, 22:30. Wie het GMT-veld zonder omrekenen als EntryDate gebruikt, boekt die order in het derde kwartaal in plaats van het vierde, en daarmee in de verkeerde btw-aangifte. De koppeling rekent om naar Nederlandse tijd voordat hij boekt. Zie datums en tijdzones.

De technische werkelijkheid van deze combinatie

Onderwerp WooCommerce Exact Online
Limiet op verzoeken geen gedocumenteerd op wc/v3 60 per minuut, 5.000 per dag
Per pagina 10 standaard, per_page hoger 60, sync-endpoints 1.000
Schrijven batches van 100 één record per verzoek
Fouten geen eigen grens 10 per uur per endpoint, daarna blokkade
Wijziging melden webhook via wp-cron webhook, ook voor StockPositions

De getallen komen uit de documentatie van Exact Online en de WooCommerce REST API, nagelezen op 3 oktober 2026.

Het dagbudget, doorgerekend voor een shop op Boekhouden. Neem 250 orders per dag, waarvan 100 van nieuwe klanten. Per order kost het zoeken van de debiteur 1 verzoek en de verkoopboeking 1. Een nieuwe klant kost 1 extra voor de debiteur. Dat is 250 + 250 + 100 = 600 verzoeken. Op Handel met een voorraadronde elke 10 minuten via de sync-endpoints komen er 6 x 24 = 144 bij, plus 1 verzoek per order om de levering op te halen: 600 + 144 + 250 = 994. Dat is een vijfde van de 5.000. De grens zit eerder bij de minuutlimiet: na een storing van een uur staan er misschien 80 orders klaar, en die gaan in een tempo van hooguit 60 verzoeken per minuut.

Voorraad naar WooCommerce. Exact geeft CurrentStock, ReservedStock, PlanningOut en FreeStock als decimaal getal. WooCommerce schrijft alleen een geheel getal in stock_quantity, en alleen als manage_stock aanstaat. De koppeling rondt naar beneden af, schrijft alleen gewijzigde artikelen en doet dat in batches van 100: 340 gewijzigde artikelen zijn 4 verzoeken aan de WooCommerce-kant.

Fouten tellen mee. Exact staat per endpoint 10 fouten per uur toe en blokkeert de sleutel daarboven. Een order met een btw-code die in de administratie niet bestaat, die elke ronde opnieuw wordt verstuurd, legt na tien pogingen ook de goede orders stil. De koppeling valideert daarom vooraf: bestaat de btw-code, is er een dagboek, heeft elke SKU een artikel als de route dat vraagt. Meer over het budget staat in Exact Online API limieten.

Wat een standaardkoppeling hier niet doet

Standaardkoppelingen en koppelplatformen voor WooCommerce en Exact Online documenteren hun eigen grenzen. Deze komen het vaakst voor:

  • Geen voorraad terug naar de shop, of alleen in de duurste variant. De boekhoudkoppelingen zetten orders door en lezen niets terug.
  • Eén magazijn per koppeling, vast ingesteld bij de installatie.
  • Debiteur alleen op e-mailadres, en een bestaande debiteur wordt nooit bijgewerkt. Een nieuw factuuradres of btw-nummer komt niet in Exact.
  • Alleen volledige terugbetalingen, binnen 30 dagen, en alleen voor orders die de koppeling zelf heeft doorgezet.
  • Velden van plugins blijven liggen. Vrije velden en meta_data van de order worden niet gelezen, omdat elke shop ze anders gebruikt.
  • Prijslijsten alleen per artikel, niet op basis van een artikelgroep, en in één richting.

Een gebouwde koppeling leest de plugins die in jouw shop zitten, gebruikt de btw-codes en dagboeken van jouw administratie en zet ook gedeeltelijke terugbetalingen door. Voor het btw-nummer bij de checkout leggen we per plugin vast onder welke sleutel in meta_data het staat.

Als het misgaat

Wat er misgaat Wat de koppeling doet Wat je ziet
429 van Exact order blijft in de wachtrij tot het venster verder is niets, tenzij het aanhoudt
Btw-tarief zonder code in de tabel order naar de controlelijst de order, het tarief en het land
SKU zonder artikel in Exact order vastgehouden, andere orders gaan door de order en de SKU
Refresh token verlopen na 30 dagen stilstand alle stromen pauzeren een verzoek om opnieuw in te loggen
WooCommerce-webhook uitgeschakeld de controleronde haalt orders op met modified_after een regel in het logboek
Verbinding weg na de POST eerst zoeken op YourRef, dan pas opnieuw niets, de order staat één keer in Exact

Een order die blijft falen bewaart de koppeling met de oorspronkelijke inhoud, en hij biedt hem opnieuw aan zodra de oorzaak is opgelost. Voor livegang draait hij als dry run: je ziet per order welke boeking, welke btw-code en welke debiteur er in Exact zou komen, zonder dat er iets geboekt wordt.

Wij hosten en bewaken de koppeling en passen hem aan als Exact of WooCommerce iets wijzigt. De systeemkant staat op Exact Online koppeling, de platformkant op WooCommerce koppeling, en alle stromen op koppelingen. Gebruik je een ander pakket, kijk dan op WooCommerce koppelen aan je boekhoudpakket. Verwante combinaties: Magento Exact Online koppeling en Shopify Exact Online koppeling. Vertel welk Exact-pakket en welke plugins je shop gebruikt.

Veelgestelde vragen

Heb ik Exact Online Boekhouden of Handel nodig voor een WooCommerce koppeling?

Voor orders als verkoopboeking of verkoopfactuur is Boekhouden genoeg. Verkooporders, leveringen en voorraadposities staan in de API-documentatie van Exact alleen bij Handel en Productie. Wil je voorraad uit Exact in WooCommerce, dan heb je Handel of Productie nodig. Zie Exact Online Boekhouden of Handel.

Moet elk WooCommerce-product ook als artikel in Exact staan?

Alleen als de order als factuur of verkooporder landt: op die regels is Item verplicht. Een verkoopboeking heeft geen artikelen, alleen grootboekrekeningen. Bij een factuur of verkooporder controleert de koppeling vooraf of elke SKU een artikel in Exact heeft. Een order met een onbekende SKU gaat naar de controlelijst en niet naar Exact.

Hoe komt een terugbetaling uit WooCommerce in Exact?

Als creditboeking (Type 21 op een verkoopboeking) of als creditnota (Type 8021 op een verkoopfactuur), met het bedrag van de refund in WooCommerce. Een gedeeltelijke terugbetaling krijgt alleen de regels en bedragen die in de refund staan. Een negatief aantal op een verkooporder is in Exact een inruilregel en geen retour, dus die route gebruikt de koppeling niet.

Kan ik meerdere WooCommerce-shops op één Exact-administratie koppelen?

Ja. Elke shop krijgt een eigen voorvoegsel in YourRef en zo nodig een eigen dagboek en eigen omzetrekeningen. Ze delen één dagbudget van 5.000 verzoeken, want de limiet telt per app en per administratie. De rekensom op deze pagina tel je dan per shop op.

Waarom staat er in WooCommerce een heel getal en in Exact een decimaal?

Exact geeft voorraad als decimaal getal, ook voor artikelen in meters of kilo's. stock_quantity in WooCommerce is een geheel getal. De koppeling rondt naar beneden af, zodat 12,5 meter als 12 in de shop staat en je nooit meer verkoopt dan er ligt. Verkoop je per meter, dan legt de koppeling per artikel de omrekening naar de verkoopeenheid vast.

Wordt een order in Exact bijgewerkt als de klant hem in WooCommerce wijzigt?

Een verkoopfactuur met status 50, verwerkt, is in Exact niet meer te wijzigen, en een afgeronde verkooporder ook niet via de API. De koppeling zet een order daarom pas door als hij in WooCommerce op de afgesproken status staat, bijvoorbeeld processing. Een wijziging daarna wordt een creditboeking plus een nieuwe boeking, of een taak voor een medewerker.

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