Peppol & e-facturatie

Peppol: drie profielvelden

Een export kan drie herkenbare profielvelden bevatten en toch de verkeerde combinatie tonen. Vergelijk bij een gewone Peppol-factuur de plaats, het aantal en de waarde van specificatie, proces en documenttype. Alleen ergens een bekende identifier vinden is onvoldoende.

Kort antwoord

Leg eerst het bedoelde profiel vast. Lees daarna de drie kopvelden uit dezelfde exportversie en tel ieder element afzonderlijk. Vraag bij een afwijking naar de broninstelling in het pakket en laat een nieuwe export volledig controleren.

Leg de gekozen factuurroute vast

Deze uitleg kiest uitsluitend een gewone commerciële Invoice binnen Profile 01 van Peppol BIS Billing 3.0. De actuele productiepagina’s tonen May 2026 Release; de BIS vermeldt versie 3.0.21. We onderzoeken geen selfbilling, creditnota of werkelijk verzonden klantfactuur.

Vraag je leverancier welke profielkeuze voor deze uitwisseling is afgesproken. Bewaar het antwoord met conceptnummer en exportversie. De algemene controle van formaat, ontvanger en referenties blijft daarnaast nodig. Een bestandsnaam met “Peppol” is geen inhoudscontrole.

Lees drie betekenissen op hun eigen plaats

De syntax beschrijft CustomizationID als BT-24, de toegepaste specificatie. ProfileID, BT-23, benoemt het bedrijfsproces. InvoiceTypeCode, BT-3, geeft het functionele factuurtype. Alle drie hebben cardinaliteit 1..1.

Maak op je eigen blad drie aparte regels. Schrijf per regel elementnaam, aantal gevonden elementen en volledige gelezen inhoud op. “Een identifier aanwezig” beantwoordt de vraag naar de andere twee velden niet. Een dubbele procesregel valt evenmin weg doordat beide teksten hetzelfde zijn.

Gebruik één expliciete vergelijkingsafspraak

Voor Profile 01 noemt de BIS de volgende specificatie en proceswaarde. Onze oefening kiest daarbij type 380, commerciële factuur. Die code is geen universele code voor alle Peppol-documenten.

  • Specificatie, hier kort S genoemd: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
  • Proces, hier kort P genoemd: urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
  • Documenttype: 380.

S en P zijn alleen onze korte bladlabels; ze worden niet als vervanging voor de volledige inhoud geëxporteerd. De BIS waarschuwt dat de specificatie geen spaties bevat, ook wanneer een documentatietabel voor leesbaarheid afbreekt. Een zichtbare regelafbreking op deze webpagina voegt geen spatie aan de identifier toe.

Eigen proef PF3010: drie kleine kopfragmenten

We maken drie fictieve XML-fragmenten met alleen de drie genoemde velden onder een Invoice-hoofdelement. De Invoice- en cbc-naamruimten zijn benoemd. Factuurnummer, partijen, regels en bedragen ontbreken bewust. Het zijn dus geen complete geldige facturen en geen te verzenden voorbeelden.

Eigen kopvergelijking PF3010
FragmentInhoud en beperkte uitkomst
A: verwisseldSpecificatie bevat P.
Proces bevat S.
Type is 380.
1 van 3 sluit aan.
B: afgesprokenEenmaal S, eenmaal P.
Type is 380.
3 van 3 sluiten aan.
C: dubbel procesEenmaal S, tweemaal P.
Type is 380.
2 van 3 sluiten aan.

Onze drie controles vragen ieder: staat precies één element op de bedoelde plaats, met de afgesproken inhoud? Bij A zijn beide identifiers aanwezig, maar verwisseld. Bij C is P correct gespeld, maar het procesveld komt tweemaal voor. Beide situaties verschillen van B.

Een geopende XML is nog geen goedgekeurde factuur

Alle drie fragmenten zijn afzonderlijk gelezen met een naamruimtebewuste XML-parser en met een tweede parser. We vergeleken de elementlijsten ook met een vooraf vastgelegde matrix. De tellingen zijn 1, 3 en 2: samen 6 passende veldcontroles van 9. Die som beschrijft alleen onze oefening.

De regel R004 gebruikt een voorgeschreven beginwaarde en een formaatvoorwaarde. Onze exacte vergelijking met S is geen uitvoering of volledige vervanging van die regel. We hebben geen XPath-regelset, XSD of Schematron gedraaid. B mist bovendien nog alle overige factuurgegevens.

De productie-BIS onderscheidt ook Profile 02. Neem onze gekozen P daarom niet over als bewering dat elk ander proces fout is. Vraag bij een andere gedocumenteerde profielkeuze naar de bijbehorende voorwaarden. De vergelijking toetst hier een afgesproken keuze, geen willekeurig document.

Onderzoek de broninstelling, bewaar de exportversie

Bewaar bij A het onderzochte fragment en vraag waarom de twee broninstellingen op elkaars plaats terechtkwamen. Vraag bij C waarom hetzelfde proces tweemaal wordt uitgevoerd. Verwijder of vervang geen XML-regel uitsluitend om een controle groen te laten worden. Laat de leverancier de ondersteunde instelling onderzoeken en vergelijk daarna de nieuwe versie.

Gebruik voor een document dat de afnemer opstelt de afzonderlijke controle van selfbilling en partijrollen. Een gewone export wordt door één handmatige identifierwijziging geen aangetoond selfbilling-proces. Leg voor iedere route vast welke bronversie werkelijk is gecontroleerd.

Officiële bronnen en controlegrenzen

Vijf primaire pagina’s rechtstreeks gelezen op 30 oktober 2026: de drie volledige syntaxpagina’s, R004 en de volledige BIS-onderdelen 13.1–13.3, 14 en 15. Aanvullend zijn productiehoofdpagina, R007, P0100 en de type-380-vermelding bekeken. Niet de hele BIS is onderzocht. PF3010 is onze eigen beperkte oefening; geen echte pakketexport, registratie, verzending, btw-beoordeling of betaling getest.