Skip to content

E-invoice error codes explained

Each code below links to a plain explanation of the rule and how to fix the invoice.

On this page

E-invoice validators report findings with codes such as BR-CO-10 or PEPPOL-EN16931-R001. Prefixes help identify the ruleset, such as EN 16931, XRechnung or Peppol. Klarbon reports findings from the checks it runs, with explanations and fixes where the catalogue has them. Passing those checks is technical validation, not a guarantee of recipient acceptance; warnings do not block it.

Where do the codes come from?

Prefix Ruleset Source
BR-, BR-CO-, BR-S- and similar EN 16931 business rules EN 16931 artefacts
BR-DE- XRechnung, Germany KoSIT
PEPPOL-EN16931- Peppol BIS Billing 3.0 OpenPeppol
other national prefixes national specifications, such as BR-FR- for France, BR-NL- for the Dutch NLCIUS or BR-RO- for Romania the national owner

A schema error, reported before any rule, means the XML itself is not well formed or uses an element the syntax does not allow.

Rulesets

The rule catalogue groups guidance by ruleset, including EN 16931, XRechnung, Peppol BIS Billing, Factur-X and ZUGFeRD, NLCIUS, French BR-FR rules and Romanian CIUS-RO. Catalogue coverage is not a list of checks available in Klarbon. Supported NLCIUS declarations select its rules; French national rules require explicitly selecting France, not a French seller address. These checks are in beta. CIUS-RO checking is not available. Findings link to rule pages where the catalogue has them; not every finding has an explanation, field mapping or fix.

What should I do with an error?

  1. Check the file with Check an e-invoice to review findings from the checks it runs, with guidance where available.
  2. If you made the invoice, correct it in your software and export again, or use Fix a rejected e-invoice.
  3. If you received it, ask the sender for a corrected invoice; changing someone else's invoice yourself makes it a different document.

See why e-invoices are rejected for the most common causes.

EN 16931 (UBL) (184 rules)

EN 16931 (CII) (4 rules)

XRechnung 3.0 (UBL) (47 rules)

Peppol BIS Billing 3.0 (invoice) (9 rules)

Factur-X 1.09 MINIMUM (1 rule)

Factur-X 1.09 BASIC WL (2 rules)

Factur-X 1.09 BASIC (2 rules)

Factur-X 1.09 EN 16931 (1 rule)

Factur-X 1.09 EXTENDED (3 rules)

SI-UBL 2.0 / NLCIUS (invoice) (1 rule)

France CTC (UBL invoice) (11 rules)

CIUS-RO UBL Invoice 1.0.9 (3 rules)

Frequently asked questions

What does an error code like BR-CO-10 mean?

It names a business rule. BR rules come from the European standard EN 16931; BR-CO rules are calculation and consistency checks. BR-CO-10 says the sum of the line amounts must equal the invoice's line total.

How can I tell which ruleset an error comes from?

By the prefix. BR- rules are EN 16931, BR-DE- are XRechnung, PEPPOL-EN16931- are Peppol BIS, and other national rule sets have their own prefixes.

What is the difference between an error and a warning?

An error, or fatal finding, makes the invoice invalid and usually leads to rejection. A warning points to something unusual that does not make the file invalid.

Sources

Updated 6 November 2026