Peppol error codes

Peppol error codes and validation errors: explanation and fix

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.

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.

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.

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 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.

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 withAboutUsually
BR-Mandatory fields and core rules, such as invoice number, date and partieserror
BR-CO-Calculations and consistency between fields (totals, VAT)error
BR-CL-Code lists: country codes, currencies, units, file typeserror
BR-DEC-Number of decimals: amounts have at most twoerror
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 VATerror
BR-AF-, BR-AG-, BR-B-Special VAT regimes: Canary Islands (IGIC), Ceuta and Melilla (IPSI), Italian split paymenterror

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 withAboutUsually
UBL-SR-Syntax rules, such as elements that may occur only onceerror
UBL-DT-Data types and attributes, such as decimals and mandatory attributeserror or warning
UBL-CR-UBL elements the standard does not use: they do not belong in the invoicewarning

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 withAboutUsually
PEPPOL-EN16931-RExtra rules on top of the standard, such as the buyer reference, the Peppol address and line amountserror or warning
PEPPOL-EN16931-CLPeppol code lists, such as the scheme of the Peppol address and file typeserror
PEPPOL-EN16931-PProfile and document type: the invoice type code must match the profileerror
PEPPOL-EN16931-FFormat: you write a date as YYYY-MM-DDerror
PEPPOL-COMMON-RIdentifiers, 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 withAboutUsually
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 Icelanderror 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.