Peppol in Duitsland: wat een geldige BIS 3.0-factuur extra vereist
Als de verkoper en de koper allebei in Duitsland gevestigd zijn, moet een Peppol BIS Billing 3.0-factuur aan meer voldoen dan EN 16931 en de algemene Peppol-regels. De officiële OpenPeppol-regelset voegt 31 nationale Duitse regels toe: de DE-R-regels. De meeste zijn verplicht: faalt er één, dan is de factuur ongeldig. Een paar zijn waarschuwingen.
Dit artikel zet op een rij wat de Duitse regels eisen, legt uit waarom “geldig” altijd met een versienummer komt, en laat zien hoe SealDoc elke Duitse Peppol-factuur controleert voordat die bestaat.
Wanneer de Duitse regels gelden
Elke DE-R-regel begint met dezelfde voorwaarde: zowel de leverancier als de klant is in Duitsland gevestigd. Een factuur van een Duitse verkoper aan een koper in Nederland, of van een Franse verkoper aan een Duitse koper, wordt gecontroleerd tegen EN 16931 en de Peppol-regels, maar niet tegen de DE-R-regels.
Wat de Duitse regels eisen
Gegroepeerd per onderdeel van de factuur, met de regelnummers uit de officiële regelset, release 3.0.21.
Verkoper
| Regel | Eis |
|---|---|
| DE-R-002 | De groep verkoperscontact (BG-6) is aanwezig |
| DE-R-005 | Contactpunt van de verkoper (BT-41) |
| DE-R-006 | Telefoonnummer van het verkoperscontact (BT-42) |
| DE-R-007 | E-mailadres van het verkoperscontact (BT-43) |
| DE-R-003, DE-R-004 | Plaats (BT-37) en postcode (BT-38) van de verkoper |
| DE-R-016 | Bij btw-categorie S, Z, E, AE, K, G, L of M: het btw-nummer van de verkoper (BT-31), het fiscale registratienummer (BT-32) of een fiscaal vertegenwoordiger (BG-11) |
| DE-R-027, DE-R-028 (waarschuwingen) | Een plausibel telefoonnummer (minstens drie cijfers) en een correct opgebouwd e-mailadres |
Koper en levering
| Regel | Eis |
|---|---|
| DE-R-015 | Koperreferentie (BT-10) |
| DE-R-008, DE-R-009 | Plaats (BT-52) en postcode (BT-53) van de koper |
| DE-R-010, DE-R-011 | Als er een afleveradres (BG-15) is opgegeven: de plaats (BT-77) en postcode (BT-78) daarvan |
Betaling
| Regel | Eis |
|---|---|
| DE-R-001 | Betaalinstructies (BG-16) |
| DE-R-023-1, DE-R-023-2 | Overschrijving (code 30 of 58): de groep overschrijving (BG-17), en geen groep voor betaalkaart of incasso |
| DE-R-024-1, DE-R-024-2 | Betaalkaart (code 48, 54 of 55): de groep betaalkaart (BG-18), en geen andere betaalgroep |
| DE-R-025-1, DE-R-025-2 | Incasso (code 59): de groep incasso (BG-19), en geen andere betaalgroep |
| DE-R-030, DE-R-031 | Incasso: de door de bank toegekende incassant-ID (BT-90) en de te debiteren rekening (BT-91) |
| DE-R-018 | Skonto in de betalingsvoorwaarden (BT-20) in een vast formaat, bijvoorbeeld #SKONTO#TAGE=14#PROZENT=2.00# |
| DE-R-019, DE-R-020 (waarschuwingen) | Een geldige IBAN bij SEPA-overschrijving (58) en SEPA-incasso (59) |
Btw en document
| Regel | Eis |
|---|---|
| DE-R-014 | Het btw-tarief (BT-119) voor elke btw-categorie |
| DE-R-017 (waarschuwing) | Een factuurtypecode (BT-3) uit een korte lijst: 326, 380, 381, 384, 389, 875, 876 of 877 |
| DE-R-026 (waarschuwing) | Een gecorrigeerde factuur (384) verwijst naar de voorgaande factuur (BG-3) |
| DE-R-022 | Bijlagen (BG-24) hebben unieke bestandsnamen |
| DE-R-T02 (waarschuwing) | Een externe documentlocatie (BT-124) is een absolute URL |
De Skonto-regel is degene die de meeste teams verrast. Het formaat is strikt: elke vermelding begint en eindigt met een #, de segmenten zijn SKONTO, TAGE= en PROZENT= in hoofdletters, het percentage heeft een punt en twee decimalen, en er mag geen andere tekst in die regel staan.
Waarom “geldig” een versienummer heeft
OpenPeppol publiceert zijn regels in releases. Een bestand dat onder de ene release geldig is, kan onder de volgende ongeldig zijn, omdat er regels bijkomen of strenger worden. Release 3.0.21 is sinds 17 augustus 2026 verplicht. Ten opzichte van 3.0.20 voegt hij één Duitse regel toe: DE-R-T02.
Het eerlijke antwoord op “is deze factuur geldig?” bevat dus altijd nog twee aanvullingen: tegen welke regels, en in welke release.
Hoe SealDoc Duitse Peppol-facturen controleert
SealDoc maakt de Peppol BIS 3.0-factuur (UBL 2.1) uit JSON, via de API met het profiel PeppolBis3. Voordat de factuur bestaat, controleert SealDoc hem tegen EN 16931, de Peppol-regels en de Duitse regels. Een factuur die niet slaagt, wordt niet aangemaakt.
Om zeker te weten dat onze eigen controle zegt wat de officiële regels zeggen, lieten we het resultaat door een onafhankelijke validator controleren. Op 2 oktober 2026 draaiden we phive, de opensource-validatie-engine, met de officiële OpenPeppol-regels 3.0.21 in een geïsoleerde container, tegen precies de bytes die SealDoc levert:
- een factuur tegen 19%: geldig, geen fouten, geen waarschuwingen;
- een factuur met 19% en 7% op één factuur: geldig, geen fouten, geen waarschuwingen;
- een creditnota: geldig, geen fouten, geen waarschuwingen.
En een tegenproef: dezelfde factuur zonder het e-mailadres van de verkoper. De validator wijst hem af op DE-R-007. Zo weet je dat de Duitse regels echt draaien.
Versturen via Peppol
Rechtstreeks vanuit SealDoc via Peppol versturen is bijna zover. We ronden de laatste stappen van de aansluiting af.
Veelgestelde vragen
Gelden de Duitse regels voor grensoverschrijdende facturen?
Ze gelden alleen als zowel de verkoper als de koper in Duitsland gevestigd is. Een grensoverschrijdende factuur wordt gecontroleerd tegen EN 16931 en de Peppol-regels.
Maakt SealDoc ook XRechnung?
Ja. SealDoc maakt XRechnung 3.0 (CII) als PDF/A-3 met de XML ingebed, in de browser met SealDoc Invoice en via de API. De XRechnung 3.0-compliancegids legt de Duitse regels voor dat formaat uit.
Waar begin ik?
Met de introductie tot Peppol BIS 3.0 voor de basis, en de developerpagina voor de API.