Naar de inhoud
SyncMyShop

Moneybird en WooCommerce

Moneybird WooCommerce koppeling

Elke betaalde WooCommerce-order staat als verstuurde factuur met nummer en datum in Moneybird, op het juiste contact, met de betaling er al op geregistreerd. Terugbetalingen worden creditfacturen en betaalde facturen op rekening zetten de order in WooCommerce door. Gebouwd op jouw administratie, en daarna door ons gedraaid en bewaakt.

Wat je tussen Moneybird en WooCommerce koppelt

Moneybird is een boekhoud- en factuurpakket zonder voorraad. Bij deze combinatie gaat het dus om geld: de order wordt een factuur, de betaling wordt een betaling op die factuur, en een terugbetaling wordt een creditfactuur. Aan de Moneybird-kant loopt dat over de REST API op /api/v2/<administratie-id>/, aan de WooCommerce-kant over de REST API v3.

Stroom Richting WooCommerce Moneybird
Order naar Moneybird GET /wc/v3/orders?dp=4 sales_invoices of external_sales_invoices
Klant naar Moneybird customer_id, billing contacts, met customer_id
Betaling naar Moneybird date_paid, transaction_id register_payment
Terugbetaling naar Moneybird orders/<id>/refunds duplicate_creditinvoice
Betaald op rekening naar WooCommerce status processing of completed webhook sales_invoice_state_changed_to_paid
Factuurnummer naar WooCommerce meta_data op de order invoice_id na versturen

De eerste keuze is de route. Een verkoopfactuur maakt Moneybird zelf: nummer, huisstijl, versturen en herinneringen. Een externe verkoopfactuur is een factuur die al ergens anders is gemaakt, bijvoorbeeld door een factuurplugin in WooCommerce, en die Moneybird alleen boekt. De rest van deze pagina gaat uit van de verkoopfactuur, omdat de meeste Moneybird-gebruikers daar hun facturen al mee maken. Hoe een order in andere pakketten landt staat op WooCommerce koppelen aan je boekhoudpakket.

Welk systeem is leidend, per gegeven

Gegeven Leidend Richting Gedrag
Order, regels, bedragen WooCommerce naar Moneybird één keer, reference als sleutel
Factuurnummer en factuurdatum Moneybird naar WooCommerce bij het versturen
Btw-tarief per regel WooCommerce naar Moneybird als tax_rate_id via een tabel naar jouw tarieven
Grootboekrekening Moneybird vaste tabel in de koppeling per tarief, land of categorie
Contact, adres, btw-nummer Moneybird na aanmaken eerste keer uit WooCommerce wijzigingen naar de controlelijst
Betaling bij de checkout WooCommerce naar Moneybird met de transactie-id
Betaling op rekening Moneybird naar WooCommerce via de webhook
Producten en voorraad WooCommerce blijft in WooCommerce Moneybird heeft geen voorraad

Wat Moneybird en WooCommerce anders bewaren

Een concept heeft geen nummer en geen datum

WooCommerce-order 10482 als verstuurde factuur in Moneybird De koppeling zoekt het contact op customer_id, maakt het aan bij een 404, maakt een verkoopfactuur met reference en factuurdatum, verstuurt hem met delivery_method Manual en registreert de betaling met de transactie-id. Pas na het versturen heeft de factuur een nummer. WooCommerce order 10482 Koppeling wachtrij Moneybird administratie order.updated, status processing GET contacts/customer_id/WC-311 404 Not found POST contacts 201, contact_id POST sales_invoices reference WEB-10482, invoice_date 2026-09-30, prices_are_incl_tax true, tax_rate_id per regel 201, state draft, invoice_id null PATCH send_invoice, Manual 200, state open, invoice_id PATCH register_payment payment_date, price en transaction_identifier uit de order factuurnummer in meta_data
Eén order, vijf verzoeken aan Moneybird. Pas na het versturen heeft de factuur een nummer en telt hij mee in de btw-aangifte.

Een verkoopfactuur in Moneybird begint als draft. In die staat is invoice_id, het factuurnummer, null. Laat je invoice_date leeg, dan vult Moneybird de datum pas in bij het versturen. Een factuur die als concept blijft staan, heeft dus geen nummer, en de omzet staat niet in de periode waarin de order betaald is.

Dat speelt rond een kwartaalgrens. Een order die op 30 september om 23:50 betaald wordt en als concept binnenkomt, krijgt bij versturen op 2 oktober de datum 2 oktober en valt in het vierde kwartaal. De koppeling zet daarom invoice_date zelf, uit date_paid omgerekend naar Nederlandse tijd, en verstuurt de factuur direct. Met delivery_method Manual krijgt hij een nummer zonder dat Moneybird iets naar de klant mailt. Zie datums en tijdzones.

Een tarief-ID en een vlag per factuur

WooCommerce legt per order vast of de prijzen inclusief btw zijn, in prices_include_tax. Moneybird heeft prices_are_incl_tax op de factuur, en zonder waarde neemt hij de instelling van de workflow. Per regel vraagt Moneybird een tax_rate_id uit /tax_rates; zonder ID kiest hij het standaardtarief van de administratie. Een regel met 9% wordt dan stil 21%. De koppeling stuurt beide altijd mee. Meer in bedragen en btw mappen.

Klanten: een eigen nummer of een gast

Een contact in Moneybird heeft een customer_id: tekst, uniek in de administratie, en automatisch uitgedeeld als je hem leeg laat. Er is een eigen endpoint om op dat nummer te zoeken, contacts/customer_id/<nummer>. De koppeling gebruikt dat voor geregistreerde klanten: WooCommerce-klant 311 wordt customer_id WC-311, en de volgende order vindt hem met één verzoek.

Een gast heeft in WooCommerce customer_id 0. Die zoekt de koppeling met query op e-mailadres en btw-nummer, en alleen bij geen resultaat maakt hij een nieuw contact. Moneybird vraagt daarvoor een niet-lege company_name, firstname of lastname. Adressen passen goed: Moneybird heeft address1 en address2 als vrije regels, net als WooCommerce, dus er hoeft geen huisnummer gesplitst te worden. Het land is in beide een code van twee letters.

Betalingen en de transactie-id

Een betaling op een factuur heeft verplicht payment_date en price, en optioneel transaction_identifier. Daar zet de koppeling de transaction_id van de WooCommerce-order in, de id van de betaalprovider. Met financial_account_id gaat de betaling op de tussenrekening van die provider, zodat de uitbetaling later tegen één rekening wordt afgeletterd en niet tegen 300 losse facturen.

De technische werkelijkheid van deze combinatie

Onderwerp WooCommerce Moneybird
Limiet op verzoeken geen gedocumenteerd op wc/v3 150 per 5 minuten per IP-adres
Per pagina 10 standaard 50 standaard, maximaal 100
Wijziging melden webhook, uit na meer dan 5 mislukte afleveringen webhook, 10 nieuwe pogingen, Idempotency-Key
Toegang Consumer Key en Secret OAuth of persoonlijk API-token
Id's gehele getallen grote getallen, als tekst te lezen

Nagelezen op 3 oktober 2026 in de documentatie van Moneybird en de WooCommerce REST API.

Vijf verzoeken per order, doorgerekend. Met een verkoopfactuur kost een order: contact zoeken, factuur aanmaken, versturen en betaling registreren. Dat zijn 4 verzoeken, en 5 voor een nieuwe klant. Op een drukke dag met 300 orders, waarvan 120 van nieuwe klanten:

300 orders x 4 verzoeken        = 1.200
120 nieuwe contacten            =   120
totaal                          = 1.320 verzoeken
1.320 / 150 per 5 minuten       = 8,8 vensters = 44 minuten

Verdeeld over de dag is dat geen probleem. Na een storing met 120 orders in de wachtrij is het 120 x 4 + nieuwe contacten, ruim 500 verzoeken en dus ongeveer 17 minuten inhalen. Boven de grens geeft Moneybird een 429 met Retry-After; de koppeling wacht die tijd af. De limiet telt per IP-adres, dus alles wat vanaf hetzelfde adres met Moneybird praat, deelt die 150.

Grote id's. Moneybird adviseert id's als tekst te lezen, omdat het gehele getallen zijn die groter zijn dan sommige JSON-parsers aankunnen. Een id die als getal wordt ingelezen en afgerond, verwijst naar een ander contact of geen. De koppeling bewaart ze als tekst.

Een betaling op rekening terug naar de shop. Moneybird stuurt een webhook bij sales_invoice_state_changed_to_paid en probeert een mislukte aflevering 10 keer opnieuw, met een Idempotency-Key per push. De koppeling gebruikt die sleutel om een push maar één keer te verwerken en zet de WooCommerce-order dan door naar de volgende status.

Wat een standaardkoppeling hier niet doet

Standaardkoppelingen tussen WooCommerce en Moneybird documenteren hun eigen grenzen:

  • Facturen als concept. Ze komen als concept binnen, zodat ze nog aan te passen zijn. In Moneybird betekent dat: geen nummer, geen datum, en iemand moet ze elke dag versturen.
  • Betaalproviders via een aparte dienst. De betaling en de uitbetaling van de provider lopen via een losse koppeling of een tussenrekening die je zelf bijhoudt.
  • Alleen volledige terugbetalingen, binnen een vaste termijn.
  • Geen velden van plugins. Een btw-nummer of inkoopreferentie uit meta_data gaat niet mee.

Een gebouwde koppeling verstuurt de factuur direct met de juiste datum, registreert de betaling met de transactie-id en zet ook gedeeltelijke terugbetalingen door.

Als het misgaat

Wat er misgaat Wat de koppeling doet Wat je ziet
429 met Retry-After wacht de aangegeven tijd, de wachtrij blijft staan niets, tenzij het aanhoudt
422 bij aanmaken order naar de controlelijst de fouten uit de body van Moneybird
401 alle stromen pauzeren een melding dat het token ingetrokken is
Tarief zonder tax_rate_id in de tabel order vastgehouden de order, het tarief en het land
Verbinding weg na het aanmaken eerst find_by_reference op WEB-10482, dan pas opnieuw niets, de factuur staat er één keer
WooCommerce-webhook uitgeschakeld de controleronde haalt orders op met modified_after een regel in het logboek

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 tegen een sandbox-administratie van Moneybird: je ziet per order welk contact, welke regels, tarieven en datum de factuur zou krijgen.

Wij hosten en bewaken de koppeling en passen hem aan als Moneybird of WooCommerce iets wijzigt. De systeemkant staat op Moneybird koppeling, de platformkant op WooCommerce koppeling, en alle stromen op koppelingen. Verwante combinaties: WooCommerce SnelStart koppeling en WooCommerce Exact Online koppeling. Vertel hoe je nu factureert en welke betaalprovider je gebruikt.

Veelgestelde vragen

Wordt een order in Moneybird een verkoopfactuur of een externe factuur?

Dat hangt af van wie de factuur maakt. Maakt Moneybird hem, met jouw nummering en huisstijl, dan wordt het een verkoopfactuur (sales_invoices). Maakt een factuurplugin in WooCommerce hem al, dan wordt het een externe verkoopfactuur (external_sales_invoices) met het nummer uit de plugin als reference en eventueel de pdf als bijlage. Twee factuurnummers voor één order wil je niet, dus het is het een of het ander.

Krijgt de klant de factuur van Moneybird of van WooCommerce?

Dat kies je per route. De koppeling verstuurt een verkoopfactuur met delivery_method Email, Peppol of Manual. Bij Manual krijgt de factuur een nummer en datum zonder dat Moneybird iets mailt; de klant krijgt dan alleen de orderbevestiging van WooCommerce. Bij Email stuurt Moneybird de factuur naar het adres van het contact, met een UBL-bestand als je dat wilt.

Wordt de transactie-id van de betaalprovider doorgezet?

Ja. De betaling op de factuur heeft een veld transaction_identifier. De koppeling zet daar de transaction_id van de WooCommerce-order in, dus de id van de betaalprovider. Bij het afletteren van de uitbetaling van die provider zie je in Moneybird welke betaling bij welke order hoort. Zie wat is afletteren.

Kan Moneybird de voorraad in WooCommerce bijwerken?

Nee. De API van Moneybird heeft wel producten, met prijs, btw-tarief en grootboekrekening, maar geen voorraad. Voorraad in WooCommerce komt dan uit WooCommerce zelf of uit een magazijnsysteem. Wil je dat Moneybird de productgegevens levert, dan zet de koppeling product_id op de factuurregel, zodat tarief en grootboekrekening van het product komen.

Hoe gaat een terugbetaling uit WooCommerce naar Moneybird?

Als creditfactuur. Moneybird heeft daarvoor duplicate_creditinvoice, dat van een verkoopfactuur een nieuwe creditfactuur maakt, en register_payment_creditinvoice, dat de twee tegen elkaar wegboekt. Bij een gedeeltelijke terugbetaling past de koppeling de regels van de creditfactuur aan op de bedragen uit de refund in WooCommerce voordat hij hem verstuurt.

Kunnen zakelijke klanten één factuur per maand krijgen?

Ja, als Moneybird de facturen maakt. Een verkoopfactuur kan met sending_scheduled op een datum worden ingepland, en met mergeable voegt Moneybird ingeplande facturen voor hetzelfde contact met dezelfde factuurdatum, valuta en huisstijl samen tot één. Orders op rekening krijgen zo één verzamelfactuur. Zie bestellen op rekening.

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