WooCommerce en PEPPOL: Is jouw business klaar voor e-facturatie?
Je WooCommerce draait, je bestellingen lopen binnen, en dan komt 2026 met een duidelijke boodschap: in België is e-facturatie via PEPPOL de verplichte standaard voor B2B-transacties. Geen ‘nice to have’ meer, maar pure noodzaak.
Je installeert een plugin, koppelt alles, drukt op ‘factuur versturen’… en PEPPOL zegt: nee. Niet één keer, maar systematisch. Terwijl jij dacht: “Ik héb toch een PEPPOL-plugin?”.
Welkom in de wereld van “Garbage in, garbage out”.
Een goede PEPPOL-plugin – zoals Peppol Commerce van peppolcommerce.eu – is de brug tussen jouw WooCommerce en het PEPPOL-netwerk. Maar een brug kan alleen stabiel zijn als de oevers stevig zijn. En die oevers? Dat zijn jouw WooCommerce-instellingen en data.
In deze blog duiken we diep in de technische en fiscale details die bepalen of jouw e-facturen vlot door PEPPOL vliegen of genadeloos geweigerd worden.
Waarom een plugin alleen niet genoeg is
Een PEPPOL-plugin doet wat hij belooft:
- Hij zet WooCommerce-orders om in gestructureerde e-facturen (XML/UBL).
- Hij stuurt die facturen door via het PEPPOL-netwerk.
- Hij zorgt voor de juiste technische formaten en validaties.
Maar wat hij níet kan:
- Foute btw-instellingen rechttrekken.
- Ontbrekende KBO-nummers raden.
- Zelf SKU’s toekennen aan je producten.
- De juiste juridische omschrijvingen verzinnen bij 0% btw.
Als je brondata rommelig is, krijg je een perfecte technische e-factuur… die fiscaal of boekhoudkundig niet klopt. En dan blokkeert het PEPPOL-netwerk. Of erger: de boekhouder van je klant.
De kernboodschap:
Een PEPPOL-plugin is een brug, geen toverstaf.
En daarom is het “Garbage in, garbage out”-principe belangrijker dan ooit.
De afrondings-check: de ‘Penny Gap’ vermijden
Laten we beginnen met de klassieker: afrondingsverschillen van 0,01 euro. In de boekhoudwereld beter bekend als: de irritante ‘Penny Gap’.
Consumentenlogica vs. boekhoudlogica
WooCommerce is van oorsprong gebouwd voor e-commerce, niet voor boekhouding. Dat merk je aan hoe het met afrondingen omgaat.
- Consumentenlogica
De klant ziet prijzen inclusief btw, mooie ronde bedragen, en WooCommerce rekent per lijn af:- Productprijs incl. btw wordt per stuk afgerond.
- Daarna worden alle lijnen opgeteld.
Dat is prima voor de klant, maar het kan kleine verschillen veroorzaken wanneer je diezelfde order omzet naar factuurlogica.
- Boekhoudlogica
In boekhouding en e-facturatie werk je met:- Subtotaal exclusief btw.
- Daarop wordt btw berekend op het niveau van de totalen.
- Afronding gebeurt op subtotalen, niet per regel.
Als WooCommerce blijft afronden per orderlijn, maar de PEPPOL-factuur rekent op subtotaal-niveau, krijg je af en toe een verschil van 0,01 tussen:
- Totaalbedrag in WooCommerce
- Totaalbedrag op de e-factuur
En dat is exact het soort verschil waar boekhoudsoftware en PEPPOL-validaties niet blij van worden.
Waarom het vinkje ‘Rond belasting af op subtotal-niveau’ verplicht aan moet staan
In WooCommerce > Instellingen > Belastingen vind je een cruciale optie:
“Rond belasting af op subtotal-niveau, in plaats van per regel”

Die moet in een PEPPOL-context gewoon standaard op AAN staan. Punt.
Wat gebeurt er als die UIT staat?
- WooCommerce rekent btw per lijn af en rondt per regel.
- Je PEPPOL-plugin (zoals Peppol Commerce) zet die data netjes om, maar het boekhoudpakket van je klant berekent btw op subtotalen.
- Resultaat: een mini-verschil van 0,01.
- Gevolg: foutmeldingen, discussies met de boekhouder, of een factuur die geweigerd wordt.
Wat gebeurt er als die AAN staat?
- WooCommerce gaat afronden op het niveau van subtotale bedragen.
- Dat sluit veel beter aan bij de boekhoudlogica en PEPPOL-validaties.
- Je minimaliseert afrondingsverschillen en de kans op geweigerde facturen.
Wat te doen?
- Controleer die instelling vandaag nog.
- Test een paar orders en vergelijk:
- Totaal exclusief btw
- Totaal btw
- Totaal inclusief btw
- Zorg dat deze bedragen exact overeenkomen tussen WooCommerce, je plugin en je boekhoudpakket.
BTW op verzending: de vergeten fiscale valkuil
Verzendkosten lijken onschuldig, maar fiscaal gezien zijn ze allesbehalve neutraal. In B2B-context – en zeker via PEPPOL – wordt er streng gekeken naar de btw-behandeling van verzending.
De fiscale regel in mensentaal
In België geldt in de meeste gevallen:
De verzendkosten volgen het btw-tarief van de geleverde goederen.
Concreet:
- Verkoop je goederen aan 21% btw? Dan zijn de verzendkosten onderworpen aan 21% btw.
- Verkoop je gemengde goederen met 6% en 21%? Dan is het complexer en moet je de juiste methode hanteren (bijvoorbeeld pro rata).
Boekhoudpakketten én PEPPOL-validatieprocessen verwachten dat de verzending correct gekoppeld is aan een btw-tarief, niet zomaar ‘0%’ omdat het “maar verzendkosten” zijn.
Wat gaat er vaak mis in WooCommerce?
Typische pijnpunten:
- Verzendkosten staan foutief op 0% btw.
- Verzendmethodes hebben geen btw-tarief gekoppeld.
- De configuratie houdt geen rekening met B2B vs. B2C.
In een PEPPOL-omgeving betekent dat:
- De e-factuur bevat een onjuiste btw-lijn voor verzending.
- De boekhouding van de klant blokkeert de factuur.
- Je krijgt opmerkingen van de accountant (“Die verzendkosten kloppen niet”).
Hoe stel je dit correct in?
In WooCommerce:
- Controleer je verzendmethodes (WooCommerce > Instellingen > Verzending).
- Koppel verzendkosten aan een juist btw-tarief.
- Maak eventueel aparte verzendmethodes voor verschillende btw-scenario’s.
In je PEPPOL-plugin:
- Zorg dat verzending als aparte lijn met het juiste btw-tarief in de XML verschijnt.
- Test expliciet een order met verzendkosten en valideer de gegenereerde e-factuur.
Wat te doen?
Maak minstens één testsituatie met:
- Product aan 21% btw + verzending
- Product aan verlaagd tarief + verzending
En laat je boekhouder even meekijken voor je dit loslaat op al je B2B-klanten.
Identificatie: KBO, ISO-landcodes en SKU’s
PEPPOL draait niet alleen om bedragen en btw, maar ook om correcte identificatie. Boekhoudsoftware en PEPPOL-access points houden van structuur en duidelijkheid. En dat begint bij:
- Jouw businessgegevens
- De gegevens van je klant
- De identificatie van je producten
KBO-nummers: jouw zakelijke rijksregisternummer
In een B2B-context is het KBO-nummer (ondernemingsnummer) cruciale informatie.
Voor jouw eigen business én voor je klant.
Waarom is dit zo belangrijk?
- De e-factuur moet de juiste juridische entiteiten bevatten.
- PEPPOL-berichten gebruiken identificaties (zoals ondernemingsnummer, btw-nummer) om de juiste ontvanger te vinden en te valideren.
- Sommige ontvangende platforms weigeren facturen zonder (of met foutief) ondernemingsnummer.
Tips:
- Zorg dat jouw eigen KBO-nummer correct staat in WooCommerce (en in de PEPPOL-plugininstellingen).
- Voor B2B-klanten: voorzie velden in de checkout voor ondernemingsnummer en btw-nummer, en valideer deze waar mogelijk.
- Bewaar deze gegevens in de klantprofielen in WooCommerce, zodat de plugin ze kan gebruiken in de e-factuur.
ISO-landcodes: ‘BE’ in plaats van ‘België’
Voor ons is “België” duidelijk; voor machines niet. Die verwachten officiële ISO-landcodes.
Voorbeeld:
- Correct: BE
- Fout: België, Belgium, BEL, BE-NL (ja, dat gebeurt allemaal in het wild)
Waarom dit telt:
- De e-factuur moet landen in een gestandaardiseerd formaat.
- Landcodes bepalen soms ook fiscale interpretaties en grensoverschrijdende regels.
- PEPPOL-validaties zijn streng: een verkeerde landcode kan zorgen voor een foutmelding.
In WooCommerce:
- Standaard gebruikt WooCommerce ISO-landcodes intern (zoals BE, NL, FR).
- Problemen ontstaan meestal via custom velden, thema’s, of integraties die ‘België’ als tekst opslaan.
Controleer:
- Dat je klantdata correcte landcodes bevat.
- Dat eventuele aangepaste checkoutvelden of imports niet ‘mooie namen’ in plaats van codes bewaren.
SKU’s: kleine codes, groot verschil
SKU’s (artikelnummers) worden vaak gezien als ‘optioneel’ in WooCommerce. Maar in een B2B- en PEPPOL-context zijn ze goud waard.
Waarom SKU’s essentieel zijn:
- Ze maken producten eenduidig identificeerbaar.
- Boekhoudsoftware kan SKU’s gebruiken om automatisch te koppelen aan artikelbestanden.
- Ze verminderen discussies: iedereen verwijst naar hetzelfde artikelnummer.
In PEPPOL-XML:
- SKU’s komen terecht in de item-identificatie.
- Ontvangende systemen verwachten vaak een vorm van artikelcode.
Wat te doen:
- Voorzie een consequent SKU-systeem (bijv. PRO-001, PRO-002).
- Maak SKU’s verplicht tijdens productaanmaak in je business.
- Vul SKU’s ook in voor variabele producten en varianten.
Legal phrases bij 0% btw: “BTW verlegd” is geen detail
Niet alle facturen hebben btw. Denk aan:
- Intracommunautaire leveringen binnen de EU.
- Specifieke vrijstellingen.
- Bepaalde diensten waarbij de btw wordt verlegd naar de klant.
Maar: 0% btw betekent niet “we schrijven gewoon 0 en klaar”.
Fiscale regelgeving verwacht dat je duidelijk aangeeft waarom er 0% btw wordt toegepast.
Waarom een omschrijving verplicht is in de XML-data
Boekhoudsoftware leest niet alleen cijfers, maar ook:
- Btw-codes
- Juridische omschrijvingen
- Reden van vrijstelling/verlegging
Bij 0% btw moet in de e-factuur (XML/UBL) vaak een tax exemption reason of een juridische omschrijving meegegeven worden. Bijvoorbeeld:
- “BTW verlegd”
- “Intracommunautaire levering – artikel …”
- “Vrijgesteld van btw – artikel …”
Als je plugin geen duidelijke reden vindt:
- Kan het veld leeg blijven → validatiefout.
- Kan er een generieke omschrijving komen die niet voldoet aan de fiscale vereisten → discussie met de fiscus of de boekhouder.
In WooCommerce:
- Gebruik duidelijke btw-classes voor 0% btw (bijv. “Btw verlegd”, “Intracommunautair”).
- Laat je PEPPOL-plugin toe om per btw-class een juridische omschrijving te koppelen.
In Peppol Commerce:
- Kunnen zulke mappings gemaakt worden zodat de juiste legal phrase automatisch in de XML komt.
- Maar die mapping werkt alleen als je btw-classes in WooCommerce logisch en gestructureerd zijn opgezet.
0% btw zonder uitleg? Dat is zoals een factuur sturen zonder klantnaam. Je komt er misschien even mee weg, maar vroeg of laat gaat iemand daar vragen over stellen.
Peppol Commerce als brug – maar jij beslist wat erover gaat
Een plugin zoals Peppol Commerce doet technisch het zware werk:
- WooCommerce-orders omzetten naar geldige PEPPOL-e-facturen.
- Koppelen met het PEPPOL-netwerk.
- Formaat- en syntaxvalidaties afhandelen.
Maar de inhoud – de échte businesslogica – komt rechtstreeks uit jouw WooCommerce-configuratie:
- Correct ingestelde btw-regels
- Afrondingen op subtotalen
- Verzending met juist btw-tarief
- KBO- en btw-nummers van jou en je klant
- ISO-landcodes
- SKU’s per product
- Juiste juridische omschrijvingen bij 0% btw
Als daar “garbage” in zit, krijg je:
- Weigeringen via PEPPOL
- Fouten in de boekhouding van je klant
- Extra werk voor jou én je accountant
- En vooral: veel frustratie voor iets wat “maar een factuur” zou moeten zijn
Klaar om “Garbage in, garbage out” te vermijden?
Je WooCommerce klaarstomen voor PEPPOL is geen kwestie van enkel “even een plugin installeren”. Het is een digitale schoonmaakoperatie waarbij je:
- Je afrondingslogica afstemt op boekhouding
- Je btw op verzending fiscaal correct instelt
- Je identificatie (KBO, landcodes, SKU’s) op orde zet
- Je juridische teksten bij 0% btw structureel vastlegt
Een goede plugin zoals Peppol Commerce is de stabiele brug.
Maar jij bepaalt of er propere, gestructureerde data over die brug gaat.
Wil je zeker zijn dat je niets vergeet?
Dan is er goed nieuws.
Bij Mindyourownbusiness hebben we een gratis gids gemaakt:
“Is jouw WooCommerce klaar voor PEPPOL?”
In die gids vind je:
- Een volledige, praktische checklist van alle kritieke instellingen
- Concrete schermvoorbeelden uit WooCommerce
- De belangrijkste valkuilen rond btw, afrondingen en identificatie
- Extra tips om jouw digitale facturatie future-proof te maken
👉 Download nu gratis de gids “Is jouw WooCommerce klaar voor PEPPOL?” en voorkom dat jouw e-facturen vastlopen in het PEPPOL-netwerk.
Beter één keer slim configureren dan honderd keer “waarom wordt mijn factuur geweigerd?” gaan uitzoeken.


