Peppol & e-facturatie
Peppol: oorsprongsland
Controleer het oorsprongsland van een artikel op zijn eigen plaats in de Peppol-export. Het afleverland vertelt waar de levering heen gaat; dat is een andere vraag. Een bestaande landcode bewijst bovendien niet dat de code bij het bedoelde artikel hoort.
Begin met de betekenis van het artikelgegeven
De officiële syntax omschrijft BT-159 als de code voor het land waaruit het artikel afkomstig is. Deze uitleg gebruikt UBL Invoice binnen Peppol BIS Billing 3.0.21, May 2026 Release. De release notes noemen publicatie op 20 mei 2026 en verplicht gebruik vanaf 17 augustus 2026.
Vraag bij je eigen dossier eerst welk gegeven de leverancier voor dit artikel heeft bevestigd. Bewaar de bron en de betrokken artikel- of regelverwijzing erbij. Wij leiden hier geen juridische oorsprong af uit een verkopersadres, een verzendplaats of een handelsnaam. Een ontbrekende bron is een open vraag, geen uitnodiging om een aannemelijk land in te vullen.
Zoek de code binnen het juiste artikel
De groep OriginCountry staat onder InvoiceLine → Item. De algemene syntax geeft de groep 0..1 en het kind IdentificationCode 1..1. Eén verplicht kind binnen een opgenomen groep maakt die groep niet op iedere factuurregel verplicht. Noteer daarom zowel de bovenliggende plaats als de code.
Een classificatie beschrijft weer iets anders dan oorsprong. Houd bij een artikel ook classificatiecode en stelsel herkenbaar apart. Zoek in je eigen inhoudsweergave niet alleen naar het woord Land. Vraag welk bronveld naar welk UBL-onderdeel gaat, en bij welke factuurregel die koppeling hoort.
Houd afleverland naast oorsprongsland
Het afleverland BT-80 staat op de andere plaats Delivery → DeliveryLocation → Address → Country → IdentificationCode. Dezelfde naam IdentificationCode op twee plekken betekent dus niet hetzelfde dossiergegeven. De code bij het artikel verplaatst de afleverlocatie niet.
Leg voor een eigen vergelijking twee verwachtingen vast: oorsprong van dit artikel en land van het bedoelde afleveradres. Onze uitleg over afleveradres en locatie helpt die tweede rol af te bakenen. Het kan in een dossier om gelijke of verschillende codes gaan. Hun gelijkheid alleen bewijst geen fout; hun verschil alleen evenmin.
Eigen proef: drie onvolledige XML-varianten
We verzinnen OG2510 voor oefenartikel P1. Op ons technische oefenblad spreken we oorsprong BE en afleverland NL af. Dat zijn fictieve verwachtingen voor de koppeling, geen onderzochte oorsprong van een echt product of volledig adres. We lezen met een namespacebewuste parser uitsluitend de twee hierboven genoemde paden uit.
| Eigen variant | Teruggelezen rollen |
|---|---|
| A: afleverland gekopieerd naar oorsprong | Oorsprong NL; afleverland NL. Twee rollen aanwezig, één overeenkomst met ons blad. |
| B: oorsprong afzonderlijk vastgelegd | Oorsprong BE; afleverland NL. Twee rollen aanwezig en twee overeenkomsten. |
| C: oorsprongsgroep weggelaten | Geen oorsprong; afleverland NL. Eén rol aanwezig en één overeenkomst. |
In A vinden we 2 − 1 = één afwijking van onze afspraak. In B passen beide teruggelezen waarden. In C ontbreekt de oorsprong die op ons oefenblad stond. Die derde uitkomst noemen we geen algemene factuurafwijzing: de oorsprongsgroep is in de beschreven syntax optioneel. De beperkte telling vervangt geen beoordeling van toepasselijke afspraken of regels.
Scheid codelijstcontrole van inhoudelijke bevestiging
De gekoppelde ISO3166-landenlijst bevat BE voor België en NL voor Nederland. Wij hebben de aanwezige waarden in onze drie fragmenten onafhankelijk met die huidige Billing-lijst vergeleken: A heeft twee aanwezige lijstwaarden, B twee en C één. Een controle die alleen lijstlidmaatschap bekijkt, verklaart de inhoudelijke afwijking van A dus niet.
BR-CL-15 heeft OriginCountry/IdentificationCode als context en toetst de code aan de opgegeven landenverzameling. De syntax noemt deze regel fatal. Dat beschrijft de officiële regel; wij hebben geen volledige Schematron-validator uitgevoerd. Twee letters herkennen is evenmin hetzelfde als de gekoppelde lijst of de juiste artikelbetekenis controleren.
Behandel een ontbrekende oorsprong als gerichte vraag
Vraag bij variant C waarom de oorsprong niet in de onderzochte uitvoer staat. Is het brongegeven onbekend, is er een afspraak om het mee te leveren of wordt een eerder bestand bekeken? Deze mogelijkheden zijn onderzoeksvragen, geen vastgestelde oorzaken. Vul niet alleen een leeg vak om de telling naar twee te brengen.
Vergelijk bij meerdere factuurregels elke oorsprong met het bijbehorende artikel. Een zoekopdracht die ergens NL vindt, zegt niet welke rol of regel geraakt is. Laat bij een echte controle ook het volledige document toetsen aan de toepasselijke specificatie, profiel- en landregels. Onze fragmenten missen bewust andere verplichte factuurgegevens.
Bewaar bron, exportplaats en nieuwe versie samen
Formuleer de melding concreet: in variant A staat NL bij het artikel waar ons oefenblad BE verwacht. Voeg regelverwijzing, bronafspraak, exportpad en bestandsversie toe. Vraag om de koppeling te onderzoeken in plaats van elk voorkomen van NL te vervangen. Daarmee zou je in ons voorbeeld ook het bedoelde afleverland veranderen.
Vergelijk een nieuwe uitvoer opnieuw op beide paden en bewaar de eerdere versie met de toelichting. Een passende codecontrole bewijst geen echte oorsprong, douanedocument, btw-behandeling, volledige validatie, verzending of ontvangst. Houd nog onbevestigde gegevens zichtbaar op de onderzoekslijst.
Officiële bronnen en proefgrenzen
Zes actuele officiële OpenPeppol HTML-pagina's rechtstreeks gelezen op 25 oktober 2026. OG2510, de verwachtingen en de drie XML-fragmenten zijn onze eigen fictieve uitwerking. Geen echte factuur, productherkomst, ERP-koppeling of verzending getest.
- OriginCountry: optionele groep bij het artikel
- BT-159: oorsprongslandcode
- ISO3166: huidige Billing-landenlijst
- BR-CL-15: context en codelijsttest
- BT-80: afzonderlijk afleverland
- Release notes voor Billing 3.0.21
Bekijk het Peppol-overzicht voor andere controles van gestructureerde factuurgegevens.