Odoo boekhouding

Peppol-foutmeldingen oplossen in Odoo: btw-nummer, eenheden, bijlagen en medecontractant

Een factuur die niet via Peppol vertrekt, heeft bijna altijd een concrete oorzaak in je gegevens. Zo vind je de echte foutmelding en los je de vier vaakste problemen op.

Gepubliceerd op 05-11-2026 · Odoo 19 en 20

Eerst: lees de echte foutmelding

De pop-up bij het verzenden zegt vaak alleen dat er iets misliep. De echte reden staat in de chatter van de factuur. Open de factuur en scrol naar beneden. Een weigering door het netwerk zie je ook aan de Peppol-status Foutmelding. Codes zoals BR-CL-23 of PEPPOL-EN16931-P0107 verwijzen naar een regel uit de Peppol BIS Billing 3.0-documentatie. Daar kun je opzoeken wat de regel controleert.

Lukt het bij één klant niet en bij andere wel? Dan zit het probleem meestal in de gegevens van die klant. Controleer op het tabblad Boekhouding van de klant het Formaat e-factuur, het eindpunt en de Peppol-status.

1. 'Errors occurred while creating the EDI document'

In het Nederlands: Er zijn fouten opgetreden bij het maken van het EDI-document. Odoo maakt eerst het XML-bestand (UBL) en controleert het, nog voor er iets naar Peppol vertrekt. Onder die zin staat wat er ontbreekt. Een klassieker van het Odoo-forum:

- The VAT of the supplier should be prefixed with its country code.

Peppol eist dat een btw-nummer begint met de landcode, dus BE0123456789. Odoo geeft deze fout wanneer het btw-nummer in het bestand niet met twee letters begint. Supplier is je eigen bedrijf, customer is je klant. De oplossing is dus niet om BE weg te halen:

  • Vul het veld Btw nr. op de fiche van je bedrijf en van je klant in met BE ervoor.
  • Controleer of het land op beide fiches ingevuld is. Zonder land kan Odoo het bestand ook niet correct opbouwen.
  • Heeft de partij helemaal geen btw-nummer? Oudere builds van Odoo 19 zetten dan het Peppol-eindpunt (het ondernemingsnummer zonder BE) in het btw-veld van het XML-bestand. Dat is in oktober 2026 rechtgezet. Werk je Odoo bij als je zelf host.

2. BR-CL-23: ongeldige eenheidscode

Elke factuurregel krijgt een eenheidscode uit de UN/ECE-lijst, zoals C62 (stuk), HUR (uur), DAY (dag) of MTK (vierkante meter). BR-CL-23 geeft een fout als die code niet in de lijst staat.

  • Odoo 19: Odoo zet de standaardeenheden zelf om naar de juiste code. Een eenheid die je zelf aanmaakte, zoals 'pallet' of 'forfait', gaat zonder waarschuwing mee als C62. Dat geeft geen fout, maar je klant ziet dan stuks in plaats van pallets.
  • Odoo 20: elke maateenheid heeft een veld UN/ECE Code. Een tikfout daar levert BR-CL-23 op. Open de eenheid en vul een geldige code in uit de officiële lijst.

3. Een pdf of bijlage meesturen

Neem een aannemer die bij zijn factuur ook een vorderingsstaat moet meesturen. Odoo steekt de pdf van de factuur zelf automatisch in het Peppol-bestand. Een fix van februari 2026 zorgt dat dat ook gebeurt als de pdf al eerder gemaakt was, bijvoorbeeld omdat je de factuur eerst gemaild had.

Extra bijlagen kunnen sinds december 2025 ook mee in Odoo 19. Voeg ze toe in het verzendvenster. Bij het formaat BIS Billing 3.0 neemt Odoo pdf-, ods-, xlsx-, jpeg-, png- en csv-bestanden op in het XML-bestand. Andere bestandstypes krijgen een waarschuwing. Op het forum meldde een gebruiker dat het op zijn database niet werkte, en hij koos een betalende module uit de App Store. Test daarom eerst met een eigen factuur en kijk of de bijlage echt in het XML-bestand zit.

4. P0107 bij facturen met medecontractant

Sinds een update van juli 2026 weigert Peppol sommige facturen met fiscale positie Medecontractant en de btw 0% Cocont, met deze fout:

[PEPPOL-EN16931-P0107]-Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE

Volgens dit GitHub-issue treft het databases waarvan de Belgische btw-codes zijn aangemaakt voor Odoo de Peppol-categorie op btw-codes bijhield. Odoo vult nu de vrijstellingscode VATEX-EU-AE in, maar de btw-code zelf heeft geen categorie. Odoo valt dan terug op E (vrijgesteld), en die combinatie is ongeldig. Nieuwe databases hebben het probleem niet. Bij het schrijven van dit artikel staat het issue nog open. Zo los je het zelf op:

  1. Open de btw-code

    Ga naar Boekhouding → Configuratie → Btw en open 0% Cocont. Zet zo nodig de ontwikkelaarsmodus aan om alle velden te zien.

  2. Vul de categorie in

    Zet Code belastingcategorie op AE - Vat Reverse Charge en de vrijstellingsreden op VATEX-EU-AE. Zo staat het ook in het standaardsjabloon van de Belgische boekhouding.

  3. Verstuur opnieuw en kijk de rest na

    Verstuur de factuur opnieuw. Kijk ook je andere 0%-codes na. Volgens het issue missen die vaak ook hun categorie, ook al geeft dat vandaag nog geen fout.

Blijven er fouten opduiken, of gebruik je veel eigen btw-codes en eenheden? Wij lopen je Peppol-instellingen graag één keer volledig na, zie boekhouding in Odoo. Krijg je facturen wel weg, maar komen inkomende facturen niet binnen? Lees dan Peppol-facturen ontvangen in Odoo.

Veelgestelde vragen

Waar zie ik waarom een Peppol-factuur geweigerd werd?

In de chatter van de factuur. De pop-up bij het verzenden toont meestal niet de echte reden. Een geweigerde factuur heeft de Peppol-status Foutmelding.

Moet ik BE uit mijn btw-nummer halen als Odoo klaagt over de landcode?

Nee. Peppol eist juist dat het btw-nummer met de landcode begint. Vul het in als BE gevolgd door het nummer, op de fiche van je bedrijf en van je klant.

Kan ik bijlagen meesturen met een Peppol-factuur in Odoo 19?

De factuur-pdf gaat altijd mee. Extra bijlagen die je in het verzendvenster toevoegt, worden op een recente Odoo 19-build ook in het XML-bestand opgenomen, voor pdf, ods, xlsx, jpeg, png en csv. Test het eerst met een eigen factuur.

Wat betekent P0107 bij een factuur met medecontractant?

De btw-code 0% Cocont heeft geen Peppol-categorie AE, terwijl Odoo wel de vrijstellingscode VATEX-EU-AE meestuurt. Zet de Code belastingcategorie van die btw-code op AE en verstuur opnieuw.

← Alle artikels

WhatsApp