Peppol & e-facturatie
Peppol: regelnummer en artikelcode
Een orderregel is geen artikelcode en een factuurregelnummer is geen inkoopordernummer. Controleer bij een Peppol-export daarom eerst welke rol een getal of code heeft. Leg daarna pas de waarden naast elkaar. Twee regels met hetzelfde artikel kunnen verschillende orderregels zijn; hetzelfde woord “ID” in een weergave vertelt onvoldoende over de betekenis.
Maak voor iedere onderzochte factuurregel een overzicht met het eigen regelnummer, de eventuele orderregel en de artikelcode van verkoper of koper. Vergelijk dit met de bevestigde order en dezelfde conceptversie. Controleer zowel de waarde als de plaats in de export. Onze proef hieronder is een documentvergelijking, geen volledige XML-validatie.
Begin bij het nummer van de factuurregel
In de OpenPeppol-syntax voor het factuurregelnummer is BT-126 een unieke identificatie van de afzonderlijke regel binnen de factuur. In een UBL Invoice staat die als cbc:ID direct binnen cac:InvoiceLine. De cardinaliteit is 1..1: dit element hoort één keer bij de regel.
Schrijf op je eigen controleblad ook het factuurnummer en de conceptversie. Regel 2 van concept C1 is niet automatisch dezelfde regel als regel 2 van C2 nadat iemand de regels opnieuw heeft geordend. Bewaar de omschrijving erbij en vergelijk wat is toegevoegd, verwijderd of samengevoegd.
Het regelnummer zegt op zichzelf niets over aantal of prijsbasis. Gebruik daarvoor de afzonderlijke controle van hoeveelheid, eenheid en prijsbasis. Een kloppende berekening maakt een verwijzing naar de verkeerde orderregel niet passend.
Lees de order en de orderregel afzonderlijk
De door de koper uitgegeven inkooporder heeft op factuurniveau zijn eigen OrderReference met ID. De verwijzing naar een regel daarbinnen is BT-132, volgens de syntax voor LineID. Dat tweede kenmerk identificeert een regel uit de inkooporder van de koper.
Op de factuurregel is de groep OrderLineReference optioneel: 0..1. Neem je die groep op, dan bevat zij één cbc:LineID. Verwar de 1..1 van het kind dus niet met een verplichting om op iedere factuurregel een orderregelverwijzing toe te voegen.
Vraag bij een onduidelijke klantinstructie om zowel het ordernummer als de bedoelde orderregel. Noteer hoe die waarden moeten terugkomen. De controle van kopersreferentie en inkooporder helpt bij de gegevens op factuurniveau. Een inkooporder vinden is pas de eerste stap wanneer de koper ook op regelniveau wil vergelijken.
Noteer van wie de artikelcode komt
OpenPeppol onderscheidt de artikelidentificatie van de verkoper en die van de koper. Binnen cac:Item staan daarvoor de groepen cac:SellersItemIdentification en cac:BuyersItemIdentification, elk met een eigen cbc:ID. Beide groepen zijn 0..1; een opgenomen groep bevat één ID.
Een klant kan hetzelfde product onder een ander nummer beheren dan jij. Maak daarom op je eigen overzicht aparte kolommen “artikel verkoper” en “artikel koper”. Schrijf onbekend als je de koppeling nog niet hebt bevestigd. Zet je eigen artikelnummer niet alvast in de koperskolom omdat een invoerscherm weinig ruimte biedt.
Artikelcodes beschrijven hier het artikel, terwijl een orderregel een plaats binnen een order aanwijst. Hetzelfde artikel kan in onze proef op twee orderregels staan. Alleen op artikelcode zoeken kan die twee regels dus niet uit elkaar houden.
Eigen proef: drie regels met twee verschillende ID's
We verzinnen order PO-26-104. De koper heeft regels 10, 20 en 30 opgegeven. Op 10 en 20 staat artikel S88, dat de koper K14 noemt; op 30 staat S91 met koperscode K15. Dit zijn eigen oefencodes. In concept C1 treffen we de onderstaande gegevens aan.
| Regel | Gegevens in ons concept C1 |
|---|---|
| A | Factuurregel 1 · orderregel 10 Verkoper S88 · koper K14 |
| B | Factuurregel 2 · orderregel 20 Verkoper S88 · koper K14 |
| C | Factuurregel 2 · orderregel S91 Verkoper S91 · koper K15 |
Er zijn drie factuurregels met maar twee verschillende regel-ID's: 1 en 2. ID 2 komt twee keer voor. Het verschil is 3 regels − 2 verschillende ID's = 1 extra voorkomen. Daarnaast staat bij C de artikelcode S91 op de plaats van de orderregel, terwijl onze verzonnen order daar 30 noemt.
We noteren twee open punten bij C: het herhaalde factuurregelnummer en de verkeerd gekoppelde orderregel. De gelijke artikelcodes bij A en B zijn in deze proef geen verschil: zij horen bij twee afzonderlijke orderregels voor hetzelfde artikel. Dat onderscheid verdwijnt als je alle codes in één kolom “nummer” zet.
Controleer de volledige plek van een waarde
Vraag in een inhoudsweergave ook om het bovenliggende onderdeel te tonen. Alleen cbc:ID zien is onvoldoende: in deze beperkte vergelijking komt dat label zowel bij de factuurregel als bij de artikelidentificaties terug. cbc:LineID staat voor de genoemde orderregel op een andere plaats.
Maak voor C een eigen notitie: “Orderregelveld bevat S91; order PO-26-104 wijst voor dit artikel naar regel 30.” Voeg de gebruikte orderversie en conceptversie toe. Laat de pakketleverancier aanwijzen welk invoerveld de export bepaalt als het scherm alleen een algemene naam als “Referentie” gebruikt.
Vergelijk de gestructureerde inhoud met de leesbare weergave van dezelfde versie. Alleen een regelnummer op een pdf aanpassen is geen bevestiging dat de gestructureerde factuur ook is veranderd. Bewaar de oorspronkelijke export bij de notitie, zodat je de fout niet alleen uit je geheugen hoeft te beschrijven.
Houd een regelcontrole en een inhoudelijke koppeling apart
BR-21 verlangt een factuurregelidentificatie. De getoonde test controleert of de genormaliseerde ID niet leeg is. De syntax beschrijft de ID daarnaast als uniek binnen de factuur. Verwar een controle op aanwezigheid niet met het vergelijken van de bedoelde order en het juiste artikel.
We hebben deze proef niet als XML uitgevoerd en claimen geen validatieresultaat. Laat het volledige uiteindelijke document met de toepasselijke controles beoordelen. Een melding over één veld geeft geen antwoord op alle andere velden, berekeningen en klantafspraken.
Herstel de bron en vergelijk een nieuwe versie
In onze fictieve C2 krijgt regel C het nog niet gebruikte factuurregelnummer 3. Dat lost één van de twee genoteerde punten op. Zolang de orderregel S91 blijft, is er nog één open punt: 2 − 1 = 1. De artikelcode wissen om het scherm overzichtelijker te maken zou die koppeling niet verklaren.
Laat voor de tweede correctie de bedoelde orderregel 30 in het juiste bronveld vastleggen en maak opnieuw een export. Controleer alle drie de regels: A en B moeten hun eigen orderverwijzing behouden. Bewaar C1 en de gecontroleerde opvolger als verschillende versies. Geef een nieuw validatierapport alleen de bestandsversie mee waarop het werkelijk betrekking heeft.
Bewaar de uitkomst met een beperkte conclusie
Een bruikbare eigen slotnotitie noemt de factuurversie, orderversie, onderzochte regels en open vragen. Schrijf bijvoorbeeld dat regel C twee verklaarde correcties nodig had. Noteer apart welke velden daarna opnieuw zijn bekeken. Het woord “goedgekeurd” is te ruim als je alleen de verwijzingen hebt vergeleken.
Controleer vóór verzending ook de overige factuurinhoud en de afgesproken verwerking bij de koper. Bij een al verzonden factuur bewaar je eerst de verzonden versie en de klantreactie; stem de juiste herstelroute af voordat je een extra document verstuurt. Deze oefening zegt niets over een echte levering, aanvaarding of betaling.
Bronnen en verder lezen
Acht primaire OpenPeppol-pagina's rechtstreeks gecontroleerd op 19 oktober 2026. De documentatie toont de May 2026 Release van BIS Billing 3.0. Order PO-26-104, de codes en concepten C1/C2 zijn onze eigen fictieve uitwerking. Er is geen pakketmapping getest, factuur verstuurd of volledig XML-document gevalideerd.
- OpenPeppol: actuele BIS Billing-documentatie
- OpenPeppol: factuurregel-ID, BT-126
- OpenPeppol: optionele groep voor de orderregel
- OpenPeppol: orderregel-ID, BT-132
- OpenPeppol: artikelidentificatie van de verkoper
- OpenPeppol: artikelidentificatie van de koper
- OpenPeppol: BR-21, aanwezige regelidentificatie
- OpenPeppol: inkooporderreferentie op factuurniveau
Bekijk ook het Peppol-overzicht voor andere controles vóór verzending.