Rule group 28 codes
PEPPOL-EN16931-R: Peppol BIS Billing 3.0 rules
What the Peppol network asks for on top of EN 16931: data that must not be missing and calculations on lines, allowances and charges.
The group has 28 rules. Source: Peppol BIS Billing 3.0 (OpenPEPPOL, peppol-bis-invoice-3).
- PEPPOL-EN16931-R001 The business process (BT-23, cbc:ProfileID) is missing
- PEPPOL-EN16931-R002 Only one invoice note (BT-22, cbc:Note) is allowed on document level
- PEPPOL-EN16931-R003 Add either the buyer reference (BT-10, cbc:BuyerReference) or the purchase order reference
- PEPPOL-EN16931-R004 For Peppol, cbc:CustomizationID (BT-24) has to start with urn:cen.eu:en…
- PEPPOL-EN16931-R005 The VAT accounting currency (BT-6) has to differ from the invoice currency (BT-5)
- PEPPOL-EN16931-R007 The business process (BT-23, cbc:ProfileID) has to look like…
- PEPPOL-EN16931-R008 The element cbc:ProfileID is empty
- PEPPOL-EN16931-R010 The buyer electronic address (BT-49, cbc:EndpointID with a schemeID) is missing
- PEPPOL-EN16931-R020 The seller electronic address (BT-34, cbc:EndpointID with a schemeID) is missing
- PEPPOL-EN16931-R040 The allowance or charge amount should be the base amount times the percentage…
- PEPPOL-EN16931-R041 If the allowance or charge percentage (cbc:MultiplierFactorNumeric) is given, the base amount (cbc:BaseAmount) has to…
- PEPPOL-EN16931-R042 If the allowance or charge base amount (cbc:BaseAmount) is given, the percentage (cbc:MultiplierFactorNumeric) has to…
- PEPPOL-EN16931-R043 cbc:ChargeIndicator has to be true (a charge) or false (an allowance)
- PEPPOL-EN16931-R044 A charge is not allowed on price level
- PEPPOL-EN16931-R046 The item net price (BT-146) should be the gross price minus the price discount
- PEPPOL-EN16931-R051 Every amount has to be in the invoice currency (EUR)
- PEPPOL-EN16931-R053 The document needs exactly one cac:TaxTotal group carrying the VAT breakdown (cac:TaxSubtotal)
- PEPPOL-EN16931-R054 A cac:TaxTotal group without a VAT breakdown is allowed only when the VAT accounting currency (BT-6) is present
- PEPPOL-EN16931-R055 The VAT amount in the invoice currency (BT-110) and in the VAT accounting currency (BT-111) have to carry the same sign
- PEPPOL-EN16931-R061 With a direct debit (payment means 59) the mandate reference identifier (BT-89) has to be given in…
- PEPPOL-EN16931-R080 Only one project reference (BT-11) is allowed on document level
- PEPPOL-EN16931-R100 Line 1: only one invoice line object reference (cac:DocumentReference) is allowed per line
- PEPPOL-EN16931-R101 Line 1: inside a line, cac:DocumentReference is only used for the invoiced object, so it needs cbc:DocumentTypeCode…
- PEPPOL-EN16931-R110 Line 1: the line period starts (…) before the invoicing period starts (2026-09-01)
- PEPPOL-EN16931-R111 Line 1: the line period ends (…) after the invoicing period ends (2026-08-15)
- PEPPOL-EN16931-R120 Line 1: the line net amount should be quantity 6 times price 45 divided by the base quantity 1345 plus charges minus…
- PEPPOL-EN16931-R121 Line 1: the item price base quantity (BT-149, cac:Price/cbc:BaseQuantity) has to be greater than zero
- PEPPOL-EN16931-R130 Line 1: the unit of the price base quantity (…) has to be the same as the unit of the invoiced quantity (HUR)
Check the whole file
The checker holds 332 rules. For each file it runs the ones that match the invoice profile and shows the rule code, a plain sentence and the path to the element for every finding. The file is read in your browser and never uploaded. Free, no account.
What our tool does about this error
The checker finds these codes in your file and shows where they sit in the XML. If you build the invoice in our generator, the finished XML runs through the same checker before the download and will not download while an error remains.
The checker and the preview cost 0 € and need no account. Downloading the finished XML costs 2.90 € excl. VAT, unlocked in the browser for 24 hours, or 9.90 € excl. VAT for 30 days including the CSV batch.
This page in another language: Deutsch · Slovensky · Česky
Our check is not complete: we do not check the XSD schema and we do not implement every rule, and a file that passes says nothing about whether the buyer or the Peppol network will accept it. The source of each quoted wording is given next to the quotation.
Page content last changed: