This page explains the most common Peppol error codes. Did an Access Point reject your e-invoice, or does the validator show a message like BR-CO-15 or PEPPOL-EN16931-R120? For each error code, you find what it means, where it comes from and how to fix it. We check every explanation against the official Peppol rules and a real test invoice.
The most common Peppol error codes and validation errors
Peppol error codes for calculations and totals
These rules (BR-CO-) recalculate the invoice. Therefore, a difference of one cent already gives an error.
- BR-CO-15Invoice total with VAT does not add upThe total with VAT is not equal to the total without VAT plus the VAT amount.
- BR-CO-17VAT amount does not match taxable amount × rateThe VAT amount for a VAT rate does not equal the taxable amount × the rate.
- BR-CO-09VAT number without country prefixA VAT number of the seller, buyer or tax representative does not start with a valid country code, such as BE.
- BR-CO-26Seller cannot be identifiedThe invoice contains no number that lets the buyer identify the seller automatically: no seller identifier, no legal registration number and no VAT number.
- BR-CO-10Sum of line amounts does not matchThe total of the invoice lines at the bottom of the invoice does not equal the sum of the line amounts.
- BR-CO-13Total without VAT does not add upThe total without VAT does not equal the sum of lines minus document-level allowances plus charges.
- BR-CO-14VAT total does not match the VAT breakdownThe total VAT amount does not equal the sum of the VAT amounts per category.
- BR-CO-16Amount due does not add upThe amount due does not equal the total with VAT, minus the amount already paid, plus rounding.
- BR-CO-04VAT category missing on an invoice lineAn invoice line has no VAT category.
- BR-CO-18VAT breakdown (BG-23) is missingThe invoice does not contain any VAT breakdown.
- BR-CO-25Payment due date or payment terms are missingThere is still an amount to pay, but the invoice states no due date and no payment terms.
Peppol error codes for mandatory data
These core rules (BR-) check, for example, whether the invoice number, the date and the parties are present. In addition, they check the Peppol address of both parties.
- BR-27Negative unit price on an invoice lineThe net price of an item on an invoice line is negative. That is never allowed.
- BR-06Seller name is missingThe seller's legal name is not on the invoice.
- BR-07Buyer name is missingThe buyer's legal name is not on the invoice.
- BR-09Seller country code is missingThe seller's address has no country code.
- BR-11Buyer country code is missingThe buyer's address has no country code.
- BR-25Item name is missingAn invoice line has no name for the item or service.
- BR-29Period end date is before the start dateThe invoicing period ends before it starts.
- BR-61Account number missing for credit transferThe invoice asks for a credit transfer but does not state an account number.
- BR-62 / BR-63Scheme missing from the electronic addressThe Peppol address of the seller (BR-62) or the buyer (BR-63) has no scheme, such as 0208.
Peppol error codes for VAT categories and code lists
These rules cover, among other things, reverse charge, exemptions, codes and decimals. As a result, a wrong code in the software quickly leads to an error.
- BR-S-02VAT charged without seller VAT numberThe invoice charges VAT at the standard rate (category S), but the seller VAT number is missing.
- BR-CL-24 / PEPPOL-EN16931-CL001Attachment in a format that is not allowedAn attachment in the e-invoice has a file type that Peppol does not accept, such as Word, zip, xml or gif.
- BR-AE-02VAT numbers missing for reverse chargeA reverse charge invoice (AE) lacks the seller's VAT number or the buyer's identification.
- BR-AE-10Reverse charge reason is missingThe VAT breakdown with reverse charge (AE) states no reason.
- BR-E-10Exemption reason is missingThe VAT breakdown with an exemption (E) states no reason.
- BR-CL-14Invalid country codeA country code on the invoice is not a valid two-letter code.
- BR-CL-23Invalid unit codeThe unit of a quantity is not a valid code from the official list.
- BR-DEC-23Line amount has more than two decimalsThe net amount of an invoice line has more than two digits after the decimal point.
- BR-S-08VAT taxable amount per rate does not match the invoice linesThe taxable amount in the VAT breakdown does not equal the sum of the lines at that rate.
Warnings about UBL elements
These rules (UBL-CR-) do not block the invoice. However, they point to elements that the receiver may ignore.
Peppol error codes for the document, the parties and the Peppol address
These rules (PEPPOL-) only apply on the Peppol network. For example, they check the process, the notes, the buyer reference and the Peppol address.
- PEPPOL-EN16931-CL008Invalid scheme for the Peppol addressThe scheme (schemeID) of the seller or buyer electronic address is not from the official Peppol code list.
- PEPPOL-EN16931-R010 / PEPPOL-EN16931-R020Buyer or seller electronic address missingR010: the buyer electronic address is missing. R020: the seller electronic address is missing.
- PEPPOL-EN16931-R003Buyer reference is missingThe invoice contains neither a buyer reference nor a purchase order number. Peppol requires at least one of them.
- PEPPOL-COMMON-R043Invalid Belgian company numberA number with scheme 0208 is not a valid Belgian company number: wrong format or wrong check digits.
- PEPPOL-EN16931-R001Business process (ProfileID) is missingThe invoice does not state the Peppol process it is sent in.
- PEPPOL-EN16931-R002More than one note on the invoiceThe invoice contains more than one note at document level.
- PEPPOL-EN16931-R004Wrong specification (CustomizationID)The CustomizationID does not start with the Peppol BIS Billing 3.0 value.
- PEPPOL-EN16931-R008Empty elements in the invoiceThe invoice contains an element without content.
Peppol error codes for amounts, prices and invoice lines
These rules also apply only on the Peppol network. In particular, they cover line amounts, allowances, VAT totals and periods.
- PEPPOL-EN16931-R120Line amount does not match quantity × priceThe net amount of an invoice line does not equal quantity × unit price, plus charges and minus allowances on that line.
- PEPPOL-EN16931-R051Currency of an amount differsAn amount is in another currency than the invoice currency.
- PEPPOL-EN16931-R061Mandate reference missing for direct debitThe invoice is paid by direct debit but does not state a mandate reference.
- PEPPOL-EN16931-R040Allowance or charge does not match the percentageThe amount of an allowance or charge does not equal the base amount times the percentage.
- PEPPOL-EN16931-R053More than one TaxTotal with VAT subtotalsThe invoice contains more than one tax total (TaxTotal) with subtotals.
- PEPPOL-EN16931-R046 / PEPPOL-EN16931-R044Price allowance does not add upThe net price does not equal the gross price minus the allowance (R046), or there is a charge on price level (R044).
- PEPPOL-EN16931-R110 / PEPPOL-EN16931-R111Line period outside the invoice periodThe period of an invoice line starts before (R110) or ends after (R111) the period of the invoice.
No error code found. Try another keyword, or check your invoice in the validator.
From the European standard to Peppol: four layers
Access Points validate a Peppol invoice in layers. Each layer builds on the previous one and may only make the rules stricter, never looser. That is why Peppol can still reject an invoice that fully complies with the European standard. Moreover, the start of the error code tells you in which layer the problem is.
1. The European standard EN 16931
The semantic model: which data an e-invoice contains (the BT and BG numbers) and the business rules that apply to every European e-invoice.
| Starts with | About | Usually |
|---|---|---|
BR- | Mandatory fields and core rules, such as invoice number, date and parties | error |
BR-CO- | Calculations and consistency between fields (totals, VAT) | error |
BR-CL- | Code lists: country codes, currencies, units, file types | error |
BR-DEC- | Number of decimals: amounts have at most two | error |
BR-S-, BR-Z-, BR-E-, BR-AE-, BR-IC-, BR-G-, BR-O- | Rules per VAT category: standard rate, zero rate, exempt, reverse charge, intra-community supply, export outside the EU, not subject to VAT | error |
BR-AF-, BR-AG-, BR-B- | Special VAT regimes: Canary Islands (IGIC), Ceuta and Melilla (IPSI), Italian split payment | error |
2. The syntax: UBL
The standard says which data must be present, while UBL 2.1 says how to write that data in XML. These rules therefore check that the invoice expresses the standard correctly in UBL.
| Starts with | About | Usually |
|---|---|---|
UBL-SR- | Syntax rules, such as elements that may occur only once | error |
UBL-DT- | Data types and attributes, such as decimals and mandatory attributes | error or warning |
UBL-CR- | UBL elements the standard does not use: they do not belong in the invoice | warning |
3. Peppol BIS Billing 3.0
The OpenPeppol specification for invoices on the Peppol network: a stricter use of the standard (a CIUS). Most Peppol-specific errors come from this layer.
| Starts with | About | Usually |
|---|---|---|
PEPPOL-EN16931-R | Extra rules on top of the standard, such as the buyer reference, the Peppol address and line amounts | error or warning |
PEPPOL-EN16931-CL | Peppol code lists, such as the scheme of the Peppol address and file types | error |
PEPPOL-EN16931-P | Profile and document type: the invoice type code must match the profile | error |
PEPPOL-EN16931-F | Format: you write a date as YYYY-MM-DD | error |
PEPPOL-COMMON-R | Identifiers, such as the Belgian company number (0208) | error or warning |
4. National rules in Peppol BIS
A few countries have extra rules in Peppol BIS. They only apply when the supplier (and sometimes also the customer) has its seat in that country. Belgium, however, has no national rules of its own in Peppol BIS.
| Starts with | About | Usually |
|---|---|---|
NL-R-, DE-R-, DK-R-, SE-R-, NO-R-, IT-R-, GR-R-, IS-R- | The Netherlands, Germany, Denmark, Sweden, Norway, Italy, Greece and Iceland | error or warning |
Before these four layers, an Access Point checks whether the file is a valid UBL document (the XML schema). Such an error has no rule code, but a technical message about an element or the order of elements.
Error or warning?
An error (fatal) means the invoice is not compliant: the sender’s or receiver’s Access Point rejects it. A warning does not block the invoice, but points to something that could be better or may bother the receiver. Always fix errors, and review warnings.
Your error code is not listed?
First, check your invoice in the free validator. Every message links to the official rule and, where we have one, to our explanation. In addition, the official rule texts are on docs.peppol.eu. We extend this list based on the errors that occur most often.
Check an invoice?
The free validator shows all errors and warnings, with a link to the explanation for every message. Your file stays on your own computer.
Frequently asked questions about Peppol error codes
Who has to fix the error: the sender or the receiver?
Always the sender. A receiver may not change a non-compliant invoice. Ask the supplier for a corrected invoice.
My accounting software says the invoice is fine. Why does the validator still show an error?
Some software only checks the XML schema, not the business rules (Schematron). An Access Point checks both. Our validator uses the same official rules as the Access Points.
Are these rules up to date?
Yes. We use the official Peppol release of May 2026. Every example error on these pages was tested against those rules. What changed per release is in our overview of Peppol rule changes.
What is the difference between BR- and PEPPOL- codes?
BR- codes come from the European standard EN 16931 and apply to every e-invoice under that standard. PEPPOL- codes are extra rules that apply only on the Peppol network.