Peppol & e-facturatie
Peppol: kenmerken
Een artikelkenmerk bestaat uit een naam en een bijbehorende waarde. Controleer bij een Peppol-export daarom niet alleen of beide teksten aanwezig zijn, maar ook of de juiste waarde bij het juiste kenmerk staat. Twee gevulde velden kunnen nog steeds een verkeerde combinatie vormen.
Deze uitleg gebruikt de UBL Invoice van Peppol BIS Billing 3.0.21, May 2026 Release. Ons eigen oefendossier VA2510 bevat een verzonnen notitieboek met twee afgesproken kenmerken. We vergelijken uitsluitend zelfgemaakte XML-fragmenten; er is geen factuur verzonden of ontvangend pakket getest.
Zoek het kenmerk binnen het bedoelde artikel
De actuele syntax van de artikelgroep plaatst aanvullende eigenschappen in cac:AdditionalItemProperty binnen cac:Item van de factuurregel. De kenmerkengroep BG-32 heeft cardinaliteit 0..n: zij kan ontbreken of herhaald worden.
De artikelnaam heeft een andere plaats. BT-153 staat rechtstreeks als Name bij het artikel; de naam van een eigenschap staat een niveau dieper. Alleen het woord Name lezen is dus onvoldoende. Leg regelnummer, artikel en volledige plaats naast elkaar.
Gebruik voor de afzonderlijke nummers de controle van artikelcodes van koper en verkoper. Een eigen artikelcode en een kleur hebben verschillende functies. Vraag bij een algemeen schermlabel zoals Extra veld welke exportplaats de leverancier ermee bedoelt.
Houd de naam en de waarde samen
Elke opgenomen kenmerkengroep bevat volgens de syntax precies één kenmerknaam BT-160 en één kenmerkwaarde BT-161. De namen van de XML-elementen zijn Name en Value. De 1..1 van deze kinderen maakt de optionele hele groep niet verplicht op iedere regel.
Maak op je eigen controleblad een rij per paar. Noteer naast de verwachte combinatie wat werkelijk is teruggelezen. Vergelijk niet eerst alle namen en daarna los alle waarden: daarmee verlies je welke gegevens bij elkaar horen. Spreek bij een echte levering ook af uit welke bron de eigenschap komt.
Leg de bedoelde betekenis vooraf vast
In ons fictieve dossier spreken we Kleur met waarde Blauw en Papierformaat met waarde A5 af. Dit zijn onze oefenafspraken, geen voorgeschreven Peppol-woordenlijst of uitspraak over een echt product. Een vertaling, afkorting of andere productvariant vraagt een gerichte inhoudelijke vergelijking met de bevestigde bron.
Bewaar de bronversie en het onderzochte concept bij elkaar. Controleer bij meerdere factuurregels de koppeling per regel; een juist paar onder een ander artikel verklaart de bedoelde levering niet. Noteer een onbekende eigenschap als open vraag in je werkblad, zonder zelf een productwaarde te verzinnen.
Eigen proef: aanwezig is nog niet passend
We maken drie onvolledige XML-fragmenten A, B en C voor VA2510. Elk bevat twee kenmerkengroepen. In A ontbreekt bij Papierformaat het Value-element. In B zijn beide waarden aanwezig, maar verwisseld. C bevat beide paren zoals op ons eigen oefenblad.
| Fragment | Onze beperkte vergelijking |
|---|---|
| A | Eén van twee paren heeft naam en waarde. Eén paar komt overeen met het oefenblad. |
| B | Twee van twee paren zijn gevuld. Geen paar komt overeen: Kleur/A5 en Papierformaat/Blauw. |
| C | Twee van twee paren zijn gevuld en beide komen overeen: Kleur/Blauw en Papierformaat/A5. |
Een namespacebewuste parser heeft onze drie fragmenten uitgelezen; een afzonderlijke vergelijking controleert elk gevonden paar tegen de eigen afspraak. De groepentelling blijft twee. Het aantal passende paren verandert van één naar nul naar twee. Dit zijn aantallen in onze oefening, geen gemeten foutkans van Peppol of een boekhoudpakket.
Lees de technische controle met haar grens
BR-54 vraagt een naam en waarde bij ieder artikelkenmerk; de getoonde test controleert de aanwezigheid van beide elementen. De veldpagina's noemen deze regel fatal. Het ontbrekende kind in A is daarmee een concreet aandachtspunt.
R008 verbiedt lege elementen en gebruikt daarvoor een genormaliseerde tekstcontrole. Een leeg Value-element toevoegen is dus geen passende oplossing voor een onbekende waarde. Onze parservergelijking voert niet de volledige XSD- of Schematron-validatie uit. Ook twee aanwezige waarden in B bewijzen geen inhoudelijke overeenstemming.
Herstel de bron en vergelijk de opvolgende export
Beschrijf een verschil precies: bij concept VA2510-B staat A5 onder Kleur en Blauw onder Papierformaat. Vraag welk bronveld of welke exportkoppeling deze twee plaatsen bepaalt. Voeg de verwachte paren, regel en conceptversie toe. Alleen melden dat de artikelinformatie verkeerd is laat de leverancier raden waar het verschil zit.
Laat na een verklaarde correctie een nieuwe export maken en lees beide paren opnieuw terug. Bewaar de oorspronkelijke versie en de opvolger afzonderlijk. Vraag daarnaast om het volledige validatierapport voor precies die export. Onze C toont alleen de eigen juiste oefenkoppeling; hij is geen volledige of verzendbare Invoice.
Bewaar kenmerken naast de andere informatie
Een vrije toelichting blijft een afzonderlijke controle. Lees daarvoor de uitleg over vaste kenmerken en factuur- of regelnotities. Controleer bij de ontvanger welke gestructureerde eigenschappen zijn afgesproken en hoe de leesbare weergave eruitziet; ons fragment zegt niets over diens pakket.
Bewaar per onderzocht paar de bron, gevonden combinatie en open vraag. Een bruikbare conclusie luidt dat twee afgesproken paren zijn teruggelezen. Dat bevestigt geen echte productspecificatie, klantacceptatie, volledige factuurcontrole, ontvangst of betaling.
Officiële bronnen
Acht officiële OpenPeppol HTML-pagina's rechtstreeks gelezen op 25 oktober 2026. De release-informatie noemt versie 3.0.21, gepubliceerd op 20 mei 2026 en verplicht vanaf 17 augustus 2026. VA2510 en de drie fragmenten zijn onze eigen fictieve uitwerking.
- OpenPeppol: Artikelgroep en afzonderlijke velden
- OpenPeppol: Optionele artikelkenmerken, BG-32
- OpenPeppol: Naam van een kenmerk, BT-160
- OpenPeppol: Waarde van een kenmerk, BT-161
- OpenPeppol: Artikelnaam, BT-153
- OpenPeppol: BR-54: naam en waarde
- OpenPeppol: R008: lege elementen
- OpenPeppol: Release 3.0.21
Bekijk het Peppol-overzicht voor andere controles.