EN 16931 and Peppol rules, explained
Your invoice failed PEPPOL-EN16931-R003 and the validator gave you
a rule ID and an XPath. This is what that actually means, why the rule exists, and what to do
about it — for the 56 rules real invoices actually hit.
29 of these are fixable with no input from you, 15 need one value you already know, and 12 are business decisions that should never be guessed. The API applies the first two and explains the third.
| Rule | What it means | Fix | Field |
|---|---|---|---|
| BR-01 | Specification identifier is missing | AUTO | BT-24 |
| BR-03 | Invoice issue date is missing | MANUAL | BT-2 |
| BR-04 | Invoice type code is missing | AUTO | BT-3 |
| BR-05 | Invoice currency code is missing | AUTO | BT-5 |
| BR-06 | Seller name is missing | INPUT | BT-27 |
| BR-25 | Invoice line has no item name | INPUT | BT-153 |
| BR-48 | VAT breakdown has no category rate | MANUAL | BT-119 |
| BR-49 | Payment instruction has no payment means code | INPUT | BT-81 |
| BR-CL-04 | Invoice currency code is not a valid ISO 4217 code | INPUT | BT-5 |
| BR-CL-14 | Country code is not a valid ISO 3166-1 alpha-2 code | AUTO | BT-40 |
| BR-CO-10 | Sum of line net amounts does not match the total | AUTO | BT-106 |
| BR-CO-13 | Total without VAT does not reconcile | AUTO | BT-109 |
| BR-CO-14 | Total VAT amount does not match the VAT breakdown | AUTO | BT-110 |
| BR-CO-15 | Total with VAT does not reconcile | AUTO | BT-112 |
| BR-CO-16 | Amount due for payment does not reconcile | AUTO | BT-115 |
| BR-CO-17 | VAT category tax amount does not match base times rate | AUTO | BT-117 |
| BR-E-02 | VAT-exempt line without a seller VAT identifier | INPUT | BT-31 |
| BR-S-02 | Standard-rated line without a seller VAT identifier | INPUT | BT-31 |
| BR-S-03 | Standard-rated document allowance without a seller VAT identifier | INPUT | BT-31 |
| BR-S-04 | Standard-rated document charge without a seller VAT identifier | INPUT | BT-31 |
| BR-S-09 | Standard-rated VAT amount does not match base times rate | AUTO | BT-117 |
| DK-R-002 | Danish seller must provide a CVR number | INPUT | BT-30 |
| DK-R-005 | Payment means code not allowed for Danish suppliers | MANUAL | BT-81 |
| DK-R-014 | Danish supplier CompanyID needs schemeID 0184 | AUTO | BT-30 |
| DK-R-017 | Danish customer CompanyID needs schemeID 0184 | AUTO | BT-47 |
| GR-S-008-1 | Greek invoice is missing its invoice URL | INPUT | |
| GR-S-011 | Greek seller tax number is missing the country prefix | AUTO | BT-31 |
| NL-R-003 | Dutch seller legal identifier must be a KVK or OIN number | INPUT | BT-30 |
| NL-R-008 | Payment means not allowed for a Dutch domestic invoice | MANUAL | BT-81 |
| NO-R-001 | Norwegian VAT number is not in NO<orgnr>MVA form | AUTO | BT-31 |
| NO-R-002 | Norwegian seller must state "Foretaksregisteret" | AUTO | BT-27 |
| PEPPOL-COMMON-R040 | GLN fails the GS1 check digit | MANUAL | BT-29 |
| PEPPOL-COMMON-R044 | Italian IPA code has the wrong format | MANUAL | BT-46 |
| PEPPOL-COMMON-R049 | Swedish organisation number has the wrong format | MANUAL | BT-30 |
| PEPPOL-EN16931-CL008 | Electronic address scheme is not in the code list | INPUT | BT-34 |
| PEPPOL-EN16931-R001 | Business process identifier is missing | AUTO | BT-23 |
| PEPPOL-EN16931-R002 | Document-level note is not allowed in this form | AUTO | BT-22 |
| PEPPOL-EN16931-R003 | Buyer reference or order reference is missing | INPUT | BT-10 |
| PEPPOL-EN16931-R004 | Specification identifier is not the Peppol value | AUTO | BT-24 |
| PEPPOL-EN16931-R005 | VAT accounting currency equals the invoice currency | MANUAL | BT-6 |
| PEPPOL-EN16931-R007 | Business process identifier has the wrong format | AUTO | BT-23 |
| PEPPOL-EN16931-R008 | Document contains empty elements | AUTO | |
| PEPPOL-EN16931-R010 | Buyer electronic address is missing | INPUT | BT-49 |
| PEPPOL-EN16931-R020 | Seller electronic address is missing | INPUT | BT-34 |
| PEPPOL-EN16931-R040 | Allowance or charge amount does not match its percentage | AUTO | BT-93 |
| PEPPOL-EN16931-R043 | Charge indicator is not a boolean | AUTO | BG-20 |
| PEPPOL-EN16931-R046 | Item net price does not match gross price minus discount | AUTO | BT-146 |
| PEPPOL-EN16931-R051 | Currency attributes disagree with the invoice currency | AUTO | BT-5 |
| PEPPOL-EN16931-R053 | More than one tax total with subtotals | AUTO | BG-23 |
| PEPPOL-EN16931-R054 | Wrong number of tax totals for the accounting currency | MANUAL | BT-111 |
| PEPPOL-EN16931-R055 | VAT totals have opposite signs | MANUAL | BT-111 |
| PEPPOL-EN16931-R101 | Document reference used outside an invoice line | MANUAL | BG-24 |
| PEPPOL-EN16931-R120 | Invoice line net amount does not reconcile | AUTO | BT-131 |
| PEPPOL-EN16931-R130 | Price base quantity uses a different unit than the invoiced quantity | AUTO | BT-130 |
| SE-R-013 | Swedish organisation number fails the check digit | MANUAL | BT-30 |
| UBL-CR-679 | Disallowed schemeID attribute on the tax category | AUTO |