E-invoicing in the Netherlands in short
Suppliers of the Dutch central government (Rijksoverheid) must invoice it electronically, in practice through the Peppol network: in 2025 it received nearly two million e-invoices. Since 1 January 2023 it no longer accepts the old SI-UBL 1.2; invoices follow NLCIUS, the Dutch core invoice usage specification of EN 16931, as SI-UBL 2.0 (its UBL form) or as Peppol BIS Billing 3.0.
Between businesses e-invoicing is not required yet. In its letter to parliament of 11 September 2026 the cabinet chose to require e-invoices for domestic B2B sales from 1 July 2030, the date the EU's ViDA directive sets for cross-border ones, and the digital reporting of selected invoice data to the Belastingdienst from 1 July 2031. Invoices will follow the European standard, small businesses under the KOR scheme stay out, and the network invoices travel on is still to be decided; Peppol is the one the research for the cabinet advised. A public consultation is planned for autumn 2026 and the bill for before the summer recess of 2027.
How to check a Dutch invoice
- Open the validator with the SI-UBL 2.0 invoice profile, or pick the credit note, G-account or CII one. A file opened or pasted picks its profile from its specification identifier (BT-24), Peppol BIS ones included.
- Paste the XML or drop the file, then press Validate.
- Click a rule id for what it checks.
What is checked
For SI-UBL 2.0 and NLCIUS in CII, the validation artefacts of Peppol Autoriteit NL (SI-UBL 2.0.3.13, NLCIUS-CII 1.0.3.13, released on 21 May 2026), which include the EN 16931 rules 1.3.16. The Dutch rules apply to suppliers in the Netherlands: a KVK or OIN number for the seller (BR-NL-1), a buyer reference or order reference (BR-NL-2), the customer's KVK or OIN number when it is Dutch too (BR-NL-10), payment details and the allowed payment means (BR-NL-11, BR-NL-12). Warnings point out fields the specification advises against.
An invoice that sends part of the amount to a blocked G-account (G-rekening) has its own identifier and rules, with two sets of payment details. A Peppol BIS Billing 3.0 invoice runs the Peppol rules, which have Dutch rules of their own for Dutch suppliers, such as NL-R-003.
Profiles to check with
- Netherlands SI-UBL 2.0 Invoice (NLCIUS): A Dutch e-invoice in SI-UBL 2.0, checked against the UBL 2.1 schema and the NLCIUS rules: EN 16931 with the Dutch BR-NL rules. Validate
- Netherlands SI-UBL 2.0 Credit Note (NLCIUS): A Dutch credit note in SI-UBL 2.0, checked against the UBL 2.1 CreditNote schema and the NLCIUS rules (EN 16931 and BR-NL). Validate
- Netherlands SI-UBL 2.0 G-account Invoice: A Dutch invoice that sends part of the amount to a blocked G-account, checked against the UBL 2.1 schema and the SI-UBL G-account rules. Validate
- Netherlands NLCIUS Invoice (CII): A Dutch e-invoice in UN/CEFACT CII D16B, checked against the CII schema and the NLCIUS rules for CII (EN 16931 and BR-NL). Validate
- Peppol BIS Billing 3.0 Invoice: A Peppol invoice checked the way an access point does: UBL 2.1 schema, EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validate
- Peppol BIS Billing 3.0 Credit Note: A Peppol credit note checked against the UBL 2.1 schema, the EN 16931 rules and the Peppol BIS Billing 3.0 rules. Validate
Rules invoices break most
Each one has a page with what it checks, its test and, for many, how to fix it.
BR-NL-1: For suppliers in the Netherlands the supplier MUST provide either a KVK or OIN number for its legal entity identifier (cac:AccountingSupplierParty/cac:Party/cac...BR-NL-2: For suppliers in the Netherlands, the invoice MUST contain either the buyer reference (cbc:BuyerReference) or the order reference (cac:OrderReference/cbc:ID)BR-NL-10: For suppliers in the Netherlands, if the customer is in the Netherlands, the customer's legal entity identifier (cac:AccountingCustomerParty/cac:Party/cac:Party...BR-NL-11: For suppliers in the Netherlands, the supplier MUST provide a means of payment (cac:PaymentMeans) if the payment is from customer to supplierBR-NL-12: For suppliers in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59NL-R-003: For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190)BR-CO-15: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Questions
Is the invoice uploaded?
No. The schema check and the rules both run in your browser. Only the API and URL monitors validate on our servers.
SI-UBL 2.0 or Peppol BIS?
Both are EN 16931 invoices with Dutch rules, and both travel on Peppol. SI-UBL 2.0 is the Dutch specification; Peppol BIS Billing 3.0 is the European one, with its NL rules for Dutch suppliers. The invoice states which it follows, and the validator picks the profile from that.
Which version of the rules is used?
SI-UBL 2.0.3.13 and NLCIUS-CII 1.0.3.13 (21 May 2026), with the EN 16931 rules 1.3.16. A weekly check tells us when Peppol Autoriteit NL publishes a newer release.
Can I check invoices from code?
Yes: the API and the command-line client with --schema nl-si-ubl-invoice, or --schema auto for a folder of mixed invoices.
Official sources
- Rijksoverheid: the cabinet chooses e-invoicing and reporting for businesses, 11 September 2026 (in Dutch)
- Peppol Autoriteit NL: SI-UBL 2.0 and NLCIUS validation artefacts (GitHub)
Other countries
- French e-invoice validator
- German e-invoice validator: XRechnung and ZUGFeRD
- Belgian e-invoice validator: Peppol BIS
- KSeF invoice validator: FA(3)
- Croatian eRačun validator
- RO e-Factura validator
- FatturaPA validator
- UAE e-invoice validator (PINT AE)
- InvoiceNow validator (PINT SG)
- JP PINT validator
- Australian e-invoice validator (PINT A-NZ)
- Spanish e-invoice validator
- Danish e-invoice validator: OIOUBL 2.1
- Norwegian e-invoice validator: EHF
- Swedish e-invoice validator: Peppol BIS
- Finnish e-invoice validator: Finvoice
- Austrian e-invoice validator for e-Rechnung.gv.at
- Czech e-invoice validator: ISDOC
- Portuguese e-invoice validator: CIUS-PT
- ZATCA e-invoice validator (FATOORA)