E-invoice validation errors explained
Before an e-invoice is delivered or accepted, it is checked against business rules. When a rule fails, the validator reports a code such as BR-CO-15 or PEPPOL-EN16931-R010, the business terms involved and the place in the file. Below we explain the most common codes in plain language: what they mean, why they usually happen and who fixes them.
The rule families
- EN 16931 (BR-…): the core rules of the European standard, written by CEN/TC 434 and published as validation artefacts by the European Commission [1]. They apply to every European e-invoice. BR-CO-… are calculations; BR-S-…, BR-AE-…, BR-E-… and BR-Z-… check the VAT categories (standard rate, reverse charge, exempt, zero rate); BR-CL-… check code lists; BR-01 to BR-65 check mandatory fields.
- Peppol BIS Billing 3.0 (PEPPOL-EN16931-…, PEPPOL-COMMON-…): extra rules for invoices sent over the Peppol network, used in Belgium, Norway and many other countries [2]. Country rules such as NO-R-… belong to the same set.
- XRechnung (BR-DE-…): the German rules on top of EN 16931, maintained by KoSIT [3].
- PINT AE (ibr-…-ae, aligned-ibrp-…): the rules of the UAE e-invoice format, based on Peppol's international invoice model [4].
How to read an error
- The code names the rule set and the rule. Find it in the list below.
- Fatal (or error) means the invoice is invalid and is normally rejected. Warning means it passes but should be fixed.
- BT-… and BG-… are the business terms of EN 16931, for example BT-112 (total with VAT). They tell you which field to check. PINT AE writes the same terms as IBT-… and adds BTAE-… for UAE-only fields.
- The location, a path such as
/Invoice/cac:LegalMonetaryTotal, points to the place in the file.
Almost every error is fixed by the sender, in the invoicing software or its master data, followed by a new invoice. The receiver cannot repair a rejected invoice.
Check a file yourself
Our e-invoice viewer shows an invoice file as a readable document, in your browser: the file is never uploaded. A check against these rule sets is being prepared. Open the viewer for Belgium, Germany, Norway, France or the UAE.
The explanations are in our own words, not the official rule texts; the linked rule files have the exact wording. Information, not legal or tax advice.
EN 16931 (European standard)
BR-CO-10The line total doesn't match the sum of the invoice linesBR-CO-13The total without VAT doesn't add upBR-CO-14The VAT total doesn't match the VAT breakdownBR-CO-15The total with VAT isn't the net total plus VATBR-CO-16The amount due doesn't match total, prepayment and roundingBR-CO-17The VAT amount doesn't match the taxable amount and rateBR-CO-09A VAT number is missing its country prefixBR-CO-26The seller can't be identified: no ID, registration or VAT numberBR-S-02VAT is charged, but the seller's VAT number is missingBR-S-08The taxable amount for a VAT rate doesn't match the linesBR-AE-02Reverse charge is used, but a VAT number is missingBR-AE-10Reverse-charge VAT entry has no exemption reasonBR-E-10VAT-exempt entry has no exemption reasonBR-Z-05A zero-rated line has a VAT rate other than 0BR-25An invoice line has no item nameBR-61Payment by bank transfer, but no account number (IBAN)BR-CL-24An attachment has a file type that isn't allowed
Peppol BIS Billing 3.0
PEPPOL-EN16931-R001The business process (ProfileID) is missingPEPPOL-EN16931-R003No buyer reference and no purchase order numberPEPPOL-EN16931-R004The specification identifier isn't the Peppol BIS Billing 3.0 onePEPPOL-EN16931-R008The file contains empty elementsPEPPOL-EN16931-R010The buyer's electronic address is missingPEPPOL-EN16931-R020The seller's electronic address is missingPEPPOL-EN16931-R053There must be exactly one VAT total with a breakdownPEPPOL-EN16931-R061Direct debit without a mandate referencePEPPOL-EN16931-R120A line amount isn't quantity × price plus charges minus discountsPEPPOL-EN16931-R121The price base quantity is zero or negativePEPPOL-EN16931-CL008The electronic address uses an unknown scheme codePEPPOL-COMMON-R040A GLN (scheme 0088) has an invalid format or check digitPEPPOL-COMMON-R043A Belgian enterprise number (scheme 0208) is in the wrong formatNO-R-001A Norwegian seller's VAT number isn't in the NO…MVA format
XRechnung (Germany)
BR-DE-1The XRechnung has no payment instructionsBR-DE-15The buyer reference (Leitweg-ID) is missingBR-DE-17The invoice type code isn't one XRechnung expects (warning)BR-DE-18The early-payment discount (Skonto) isn't in the XRechnung formatBR-DE-21The specification identifier isn't the XRechnung one (warning)
PINT AE (United Arab Emirates)
aligned-ibrp-001-aeThe specification identifier isn't the UAE PINT oneibr-132-aeA UAE VAT number (TRN) isn't 15 digits starting with 1 and ending in 03ibr-128-aeA UAE address has no valid emirate codeibr-154-aeThe UAE transaction type code is missing or not 8 zeros and onesibr-159-aeA non-AED invoice has no exchange rate
Stuck on this error in your own software? We can help: Integration help →
Sources
- EN 16931 validation artefacts 1.3.16 (European Commission, CEN/TC 434) (checked on )
- Peppol BIS Billing 3.0: rules for UBL (OpenPeppol) (checked on )
- XRechnung Schematron 2.6.0 (KoSIT) (checked on )
- PINT AE Billing specification (OpenPeppol) (checked on )
Last updated: