Faktura

Peppol BIS Billing 3.0

PEPPOL-EN1693149 rules

What Belgium has required of every VAT-registered business since 1 January 2026, and what Peppol delivery enforces everywhere else. An invoice can be perfectly valid EN 16931 and still fail these.

PEPPOL-EN16931-CL001fatalMime code must be according to subset of IANA code list.
PEPPOL-EN16931-CL002fatalReason code MUST be according to subset of UNCL 5189 D.16B.
PEPPOL-EN16931-CL003fatalReason code MUST be according to UNCL 7161 D.16B.
PEPPOL-EN16931-CL006fatalInvoice period description code must be according to UNCL 2005 D.16B.
PEPPOL-EN16931-CL007fatalCurrency code must be according to ISO 4217:2005
PEPPOL-EN16931-CL008fatalElectronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme"
PEPPOL-EN16931-F001fatalA date MUST be formatted YYYY-MM-DD.
PEPPOL-EN16931-P0100fatalInvoice type code MUST be set according to the profile.
PEPPOL-EN16931-P0101fatalCredit note type code MUST be set according to the profile.
PEPPOL-EN16931-P0104fatalTax Category G MUST be used when exemption reason code is VATEX-EU-G
PEPPOL-EN16931-P0105fatalTax Category O MUST be used when exemption reason code is VATEX-EU-O
PEPPOL-EN16931-P0106fatalTax Category K MUST be used when exemption reason code is VATEX-EU-IC
PEPPOL-EN16931-P0107fatalTax Category AE MUST be used when exemption reason code is VATEX-EU-AE
PEPPOL-EN16931-P0108fatalTax Category E MUST be used when exemption reason code is VATEX-EU-D
PEPPOL-EN16931-P0109fatalTax Category E MUST be used when exemption reason code is VATEX-EU-F
PEPPOL-EN16931-P0110fatalTax Category E MUST be used when exemption reason code is VATEX-EU-I
PEPPOL-EN16931-P0111fatalTax Category E MUST be used when exemption reason code is VATEX-EU-J
PEPPOL-EN16931-P0112fatalInvoice type code 326 or 384 are only allowed when both buyer and seller are German organizations
PEPPOL-EN16931-R001fatalBusiness process MUST be provided.
PEPPOL-EN16931-R002fatalNo more than one note is allowed on document level, unless both the buyer and seller are German organizations.
PEPPOL-EN16931-R003fatalA buyer reference or purchase order reference MUST be provided.
PEPPOL-EN16931-R004fatalSpecification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
PEPPOL-EN16931-R005fatalVAT accounting currency code MUST be different from invoice currency code when provided.
PEPPOL-EN16931-R006fatalOnly one invoiced object is allowed on document level
PEPPOL-EN16931-R007fatalBusiness process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number.
PEPPOL-EN16931-R008fatalDocument MUST not contain empty elements.
PEPPOL-EN16931-R010fatalBuyer electronic address MUST be provided
PEPPOL-EN16931-R020fatalSeller electronic address MUST be provided
PEPPOL-EN16931-R040fatalAllowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
PEPPOL-EN16931-R041fatalAllowance/charge base amount MUST be provided when allowance/charge percentage is provided.
PEPPOL-EN16931-R042fatalAllowance/charge percentage MUST be provided when allowance/charge base amount is provided.
PEPPOL-EN16931-R043fatalAllowance/charge ChargeIndicator value MUST equal 'true' or 'false'
PEPPOL-EN16931-R043-1fatalAllowance/charge ChargeIndicator value MUST equal 'true' or 'false'
PEPPOL-EN16931-R043-2fatalAllowance/charge ChargeIndicator value MUST equal 'true' or 'false'
PEPPOL-EN16931-R044fatalCharge on price level is NOT allowed. Only value 'false' allowed.
PEPPOL-EN16931-R046fatalItem net price MUST equal (Gross price - Allowance amount) when gross price is provided.
PEPPOL-EN16931-R051fatalAll currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).
PEPPOL-EN16931-R053fatalOnly one tax total with tax subtotals MUST be provided.
PEPPOL-EN16931-R054fatalOnly one tax total without tax subtotals MUST be provided when tax currency code is provided.
PEPPOL-EN16931-R055fatalInvoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign
PEPPOL-EN16931-R061fatalMandate reference MUST be provided for direct debit.
PEPPOL-EN16931-R080fatalOnly one project reference is allowed on document level
PEPPOL-EN16931-R100fatalOnly one invoiced object is allowed pr line
PEPPOL-EN16931-R101fatalElement Document reference can only be used for Invoice line object
PEPPOL-EN16931-R110fatalStart date of line period MUST be within invoice period.
PEPPOL-EN16931-R111fatalEnd date of line period MUST be within invoice period.
PEPPOL-EN16931-R120fatalInvoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amou…
PEPPOL-EN16931-R121fatalBase quantity MUST be a positive number above zero.
PEPPOL-EN16931-R130fatalUnit code of price base quantity MUST be same as invoiced quantity.

← All rule families · Validate an invoice →