Kennisbank
Een Peppol-factuur versturen: wat heb je nodig?
Voor een Peppol-factuur heb je drie dingen nodig: een aansluiting op een access point, het Peppol-ID van je klant en een factuur in Peppol BIS Billing 3.0 of SI-UBL 2.0. De aansluiting zit in de meeste boekhoudpakketten. De factuur loopt vast op de gegevens die erin horen te staan: het inkoopordernummer, het KVK-nummer en het adres van de afnemer.
Bijgewerkt op
Wat je nodig hebt
Een Peppol-factuur versturen vraagt drie dingen: een aansluiting, een adres en een geldig bestand.
| Nodig | Wat het is | Waar het vandaan komt |
|---|---|---|
| Access point | De aansluiting op het netwerk, gedraaid door een erkende serviceprovider | Ingebouwd in je boekhoudpakket of ERP, of als losse dienst van een provider |
| Peppol-ID van de klant | Schemacode plus nummer, bijvoorbeeld 0106:87654321 |
Van de klant zelf, of uit het register van het netwerk |
| Factuur in het juiste formaat | UBL 2.1 volgens Peppol BIS Billing 3.0 of SI-UBL 2.0 | Je pakket maakt het bestand uit de factuur en de debiteur |
De Nederlandse Peppolautoriteit (NPa) onderscheidt drie manieren om aan te sluiten: via het pakket waarin je factureert, via een serviceprovider die aan dat pakket wordt gekoppeld, en via een factuurportaal waarin je de factuur met de hand invoert. Het portaal past bij een handvol facturen per jaar. Vanaf enkele tientallen per maand wil je dat de factuur zonder tussenstap uit de administratie vertrekt.
Een eigen Peppol-ID heb je voor het versturen niet nodig in het register. Verzenden vraagt geen publicatie in de SML en de SMP; alleen ontvangers staan daar. Op de factuur zelf staat je elektronisch adres wel, als verplicht veld. Hoe het netwerk en de registers werken staat in wat is Peppol.
De route van factuur tot aflevering
Tussen de knop "versturen" in je pakket en de inkoopadministratie van je klant liggen zes stappen.
- Je maakt de factuur definitief in het ERP of boekhoudpakket.
- Het pakket zet de factuur om naar UBL en geeft het bestand af bij het access point.
- Het access point valideert het bestand tegen de regels van Peppol BIS Billing 3.0. Een verzendende provider is verplicht alleen geldige documenten het netwerk op te sturen.
- Het access point zoekt het Peppol-ID van de ontvanger op: eerst in de SML, dan in de SMP van de provider van de ontvanger.
- De factuur gaat ondertekend en versleuteld over AS4 naar het access point van de ontvanger.
- Dat access point levert de factuur af in het systeem van de afnemer.
Stap 3 is de plek waar de meeste facturen blijven hangen. De validatie kent regels met de status fataal: één overtreding en het bestand gaat niet weg. De afkeuring komt terug met het nummer van de regel, bijvoorbeeld PEPPOL-EN16931-R003.
Na stap 6 houdt de zekerheid op. Volgens de NPa bestaat de techniek voor een terugmelding, maar wordt die nog niet in de hele keten ondersteund. Dat de factuur is afgeleverd, betekent ook niet dat hij is goedgekeurd: de afnemer kan hem in zijn eigen systeem alsnog afwijzen omdat het ordernummer niet bestaat of het bedrag afwijkt van de order.
Wat er op de factuur moet staan
Een Peppol-factuur bevat alles wat een gewone factuur bevat, plus een aantal gegevens die op een pdf vaak ontbreken zonder dat iemand het merkt. Dit is het blok van de afnemer in een factuur aan De Wit Techniek B.V.:
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="0106">87654321</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Industrieweg 14</cbc:StreetName>
<cbc:CityName>Zwolle</cbc:CityName>
<cbc:PostalZone>8011 AB</cbc:PostalZone>
<cac:Country><cbc:IdentificationCode>NL</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Wit Techniek B.V.</cbc:RegistrationName>
<cbc:CompanyID schemeID="0106">87654321</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
Per veld: waar het in je systemen vandaan moet komen en welke regel afkeurt als het ontbreekt.
| Gegeven | Veld in UBL | Regel | Waar het vandaan komt |
|---|---|---|---|
| Elektronisch adres van de afnemer | EndpointID met schemeID |
PEPPOL-EN16931-R010 |
Peppol-ID op de debiteur |
| KVK-nummer of OIN van de afnemer | PartyLegalEntity/CompanyID |
NL-R-005 |
Debiteur; bij een webshoporder het zakelijke account |
| Straat, plaats, postcode | StreetName, CityName, PostalZone |
NL-R-004 |
Factuuradres van de order, gesplitst |
| Inkoopordernummer of kenmerk | OrderReference/ID of BuyerReference |
PEPPOL-EN16931-R003 |
Veld bij de checkout of op de verkooporder |
| Betaalwijze | PaymentMeansCode |
NL-R-007, NL-R-008 |
Betaalconditie van de debiteur |
Het inkoopordernummer verdient aparte aandacht. De regel eist dat er een van de twee velden is gevuld, niet dat de inhoud klopt. Een pakket dat BuyerReference standaard vult met "n.v.t." komt door de validatie, en de factuur strandt daarna bij de afnemer: zijn systeem koppelt de factuur aan de inkooporder op dat nummer, en zonder geldig nummer gaat de factuur naar handmatige verwerking. Bij de Rijksoverheid staat het ordernummer in de opdrachtbrief.
Ook de regel met de prijs heeft een vaste rekensom. Het regelbedrag moet gelijk zijn aan het aantal maal de prijs gedeeld door de prijsbasis (regel PEPPOL-EN16931-R120, met een marge van 2 cent). Voor een artikel met een prijs per 100 stuks:
<cbc:InvoicedQuantity unitCode="C62">250</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">31.25</cbc:LineExtensionAmount>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">12.50</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">100</cbc:BaseQuantity>
</cac:Price>
250 × (12,50 / 100) = 31,25: de regel klopt. Laat het pakket de prijsbasis weg, dan rekent de validatie 250 × 12,50 = 3.125,00 en keurt de factuur af op een verschil van 3.093,75. De eenheid van de prijsbasis moet bovendien dezelfde zijn als die van het gefactureerde aantal (R130). Meer over eenheden staat in eenheden en verpakkingen.
Vanuit je boekhoudpakket, je ERP of je webshop
De NPa houdt bij welke pakketten Peppol ondersteunen en hoe. Een uitsnede van die lijst, stand 3 oktober 2026:
| Pakket | Verzenden | Ontvangen | Peppol first |
|---|---|---|---|
| Exact Online | ja | ja | ja |
| Exact Globe | ja | ja | ja |
| AFAS Profit | ja | ja | nee |
| Business Central | ja | ja | ja |
| SnelStart 12 | ja | ja | ja |
| Moneybird | ja | ja | ja |
| Twinfield | ja | ja | nee |
| King | ja | ja | nee |
| Odoo | ja | ja | ja |
| Oracle NetSuite | ja | ja | nee |
"Peppol first" betekent dat het pakket uit zichzelf Peppol kiest wanneer de klant in het register staat. Zonder die functie kies je de verzendwijze per debiteur, en een klant die later op Peppol aansluit blijft pdf's krijgen tot iemand de instelling omzet.
In Business Central loopt het via de app E-Document Core: je kiest PEPPOL BIS 3 als documentformaat en een access point bij Service Integration. Microsoft documenteert Pagero, Avalara, Logiq, SignUp en B2BRouter, elk met een eigen contract. In Exact Online en de meeste boekhoudpakketten zit de provider in het pakket en is er één contractpartner.
De webshop zelf verstuurt geen Peppol-facturen. Hij levert de order, het pakket maakt de factuur. Daar zit het gat: een order van een zakelijke klant komt de administratie binnen zonder inkoopordernummer, met het adres in één regel en op een verzameldebiteur zonder KVK-nummer. Het pakket kan Peppol, en de factuur gaat toch niet weg.
Waar het misgaat
| Wat je ziet | Oorzaak | Regel of plek |
|---|---|---|
| Afgekeurd bij het versturen | Geen inkoopordernummer en geen kenmerk | PEPPOL-EN16931-R003 |
| Afgekeurd bij het versturen | Debiteur zonder KVK-nummer of OIN | NL-R-005 |
| Afgekeurd bij het versturen | Adres staat in één veld, straat of plaats ontbreekt | NL-R-004 |
| Afgekeurd bij het versturen | Totaal is niet de som van de regels plus btw | BR-CO-13, BR-CO-15 |
| Afgekeurd bij het versturen | Creditnota zonder verwijzing naar de factuur | NL-R-001 |
| Ontvanger niet gevonden | Klant staat onder een ander schema geregistreerd, of niet | Opzoeken in de SML |
| Afgeleverd en niet betaald | Ordernummer onbekend bij de afnemer | Systeem van de afnemer |
De eerste vijf zie je direct. De laatste twee kosten tijd: de factuur lijkt verstuurd, de betaling blijft uit en de oorzaak komt pas boven water bij de aanmaning. Het adres en de bedragen zijn dezelfde problemen als bij elke orderstroom, uitgewerkt in adresvelden mappen en bedragen en btw mappen. De formaten en de verplichting staan in wat is e-facturatie.
Wat betekent dit voor je koppeling?
De aansluiting op Peppol regelt je pakket of je provider. Wat geen van beide regelt, is dat de order uit de webshop de gegevens bij zich heeft die de factuur nodig heeft. Dat is werk aan de koppeling tussen webshop en administratie: een veld voor het inkoopordernummer dat doorloopt tot op de factuur, het KVK-nummer en het Peppol-ID op de juiste debiteur, het adres gesplitst, de bedragen zo doorgegeven dat regels en totaal op elkaar aansluiten.
Wij bouwen die koppeling op jouw systemen en regels, draaien hem en bewaken hem. Een factuur die op een regel is afgekeurd staat met dat regelnummer in het dashboard, zodat hij dezelfde dag opnieuw kan. Wat er verder over de lijn gaat staat op Peppol koppeling en in het overzicht van koppelingen tussen je webshop en de systemen erachter. Vertel welke systemen je gebruikt, dan hoor je welke velden er nu ontbreken.
Veelgestelde vragen
Kan mijn webshop zelf Peppol-facturen versturen?
De factuur vertrekt uit het systeem waarin hij wordt gemaakt, en dat is bij zakelijke klanten het boekhoudpakket of het ERP. De webshop levert de order aan. De koppeling tussen webshop en administratie bepaalt of het inkoopordernummer, het KVK-nummer en het gesplitste adres op de order staan, en daarmee of de factuur door de validatie komt.
Hoe vind ik het Peppol-ID van mijn klant?
Vraag het aan de klant of zoek het op. De Peppol Directory zoekt op organisatienaam. De opzoektool in de Peppol Test Tool van de NPa zoekt op KVK-nummer, OIN of btw-nummer en bevat alle ontvangers op het netwerk. Leg het gevonden ID vast op de debiteur, inclusief de schemacode: 0106:87654321 is een ander adres dan 9944:NL123456789B01.
Wat gebeurt er als mijn klant niet op Peppol zit?
Dan vindt het access point geen adres en kan de factuur niet over Peppol. Hij gaat op de oude manier, meestal als pdf per e-mail. Van de 47 pakketten op de lijst van de NPa kiezen er 21 zelf de route: Peppol als de klant in het register staat, anders de ingestelde verzendwijze. De NPa noemt dat Peppol first.
Hoe verstuur ik een e-factuur aan de Rijksoverheid?
Via je boekhoudpakket als dat Peppol ondersteunt, via een serviceprovider die aan je pakket wordt gekoppeld, via een factuurportaal, of via het Leveranciersportaal van de Rijksoverheid. Die laatste route loopt buiten Peppol om. Op de factuur staan het OIN van het rijksonderdeel, een nummer van 20 cijfers, en het ordernummer uit de opdrachtbrief.
Kan ik een factuur eerst testen?
Ja. De NPa heeft de Peppol Test Tool met vier tests: ontvangers zoeken, een XML-bestand valideren tegen de standaarden, een verstuurtest en een applicatietest voor je ERP of boekhoudpakket. Valideer een factuur met een echte order als basis: een testfactuur met één regel en een rond bedrag laat de afrondingsfouten niet zien.
Mag ik via twee providers versturen?
Versturen kan via zoveel providers als je wilt, daar is geen registratie voor nodig. Ontvangen is anders: in de SML kan per identificatienummer maar één verwijzing naar een SMP staan. Twee administraties onder één KVK-nummer bij twee verschillende providers laten ontvangen vraagt daarom afstemming tussen die providers.
Hoe verstuur ik een creditnota via Peppol?
Als eigen documenttype, CreditNote met typecode 381. Voor Nederlandse leveranciers geldt regel NL-R-001: de creditnota bevat het nummer van de factuur waarop hij betrekking heeft. Een creditnota die in het boekhoudpakket los is aangemaakt, zonder koppeling aan de oorspronkelijke factuur, wordt daarop afgekeurd.
Vertel wat je nodig hebt
Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.
- Je weet de prijs en de doorlooptijd voordat je iets toezegt
- Wij zoeken uit welke koppeling het werk uit handen neemt
- Wij verzorgen de bouw, hosting, bewaking en het onderhoud
- Je team krijgt minder overtypwerk en minder uitzoekwerk