Peppol error codes: what they mean and how to fix them

Your access point rejected an invoice with a code like PEPPOL-EN16931-R120 or BR-CO-09? Here are the codes senders meet most, grouped by cause. Click a code for details.

Peppol address of the customer

  • PEPPOL-EN16931-CL008: The electronic address scheme (the schemeID of EndpointID) must be a valid EAS code, e.g. 0208 for a Belgian enterprise number or 9925 for a Belgian VAT number.
  • PEPPOL-EN16931-R010: Peppol requires the buyer's electronic address (EndpointID), i.e. their Peppol participant ID.
  • PEPPOL-EN16931-R020: Peppol requires the seller's electronic address (EndpointID), i.e. your Peppol participant ID.
  • PEPPOL-COMMON-R043: The Belgian enterprise number (KBO/BCE, scheme 0208) is wrong. It must be 10 digits with a valid mod-97 check.

Totals and rounding

  • BR-CO-10: The sum of the line amounts doesn't match the 'sum of invoice line net amount' total. Re-add the line totals.
  • BR-CO-13: The invoice total without VAT doesn't equal line total minus allowances plus charges.
  • BR-CO-15: The total with VAT doesn't equal the total without VAT plus the VAT amount.
  • BR-CO-17: The VAT amount in a VAT breakdown row doesn't equal its taxable amount × rate. Check rounding: EN 16931 calculates VAT per rate on the summed base, not per line.
  • PEPPOL-EN16931-R120: A line's net amount doesn't equal quantity × net price (÷ base quantity) plus line charges minus line discounts. Recalculate the line.

VAT IDs and VAT categories

  • BR-CO-09: VAT IDs (seller BT-31, tax representative BT-63, buyer BT-48) must start with the 2-letter country code, e.g. BE0123456789, not 0123456789; Greece uses EL. A customer outside the EU has no VAT ID in this sense.
  • BR-CO-26: The seller must be identifiable: give the seller identifier (BT-29), the legal registration number (BT-30, e.g. the KBO/BCE number) and/or the VAT ID (BT-31).
  • BR-S-02: A line with standard-rated VAT (S) needs the seller's VAT ID (BT-31), tax registration number (BT-32) or tax representative's VAT ID (BT-63).
  • BR-AE-02: Reverse charge (AE) needs the seller's VAT ID or tax number (BT-31/32/63) and the buyer's VAT ID (BT-48) or legal registration number (BT-47).
  • BR-E-10: The exempt (E) VAT breakdown needs an exemption reason: a code (BT-121, e.g. VATEX-EU-132) or a text (BT-120).

Empty elements

  • PEPPOL-EN16931-R008: The file contains an empty element (an opening and closing tag with nothing in between). Remove empty elements instead of leaving them blank.

Attachments

  • PEPPOL-EN16931-CL001: An attachment's file type (mimeCode) isn't allowed. Peppol accepts: application/pdf, image/png, image/jpeg, text/csv, XLSX (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), ODS (application/vnd.oasis.opendocument.spreadsheet).
  • BR-CL-24: An attachment's file type (mimeCode) isn't allowed. Peppol accepts: application/pdf, image/png, image/jpeg, text/csv, XLSX (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), ODS (application/vnd.oasis.opendocument.spreadsheet).

Invoice lines

  • BR-25: Every invoice line needs an item name (BT-153).
  • BR-22: Every invoice line needs a quantity (BT-129).
  • BR-23: Every invoice line needs a unit of measure code (BT-130), e.g. C62 for piece or HUR for hour.
  • BR-26: Every invoice line needs a net unit price (BT-146).

Buyer reference

  • PEPPOL-EN16931-R003: Peppol needs a buyer reference (BT-10) or a purchase order reference (BT-13), e.g. the customer's PO number or any reference you agreed with them.

Who fixes the error?

Who fixes it? The sender. A receiver can't correct an e-invoice: ask the sender to fix the invoice in their software and send it again. Our free validator checks a file against the same official rules before you send it.

Invoiceer for Stripe: XRechnung, ZUGFeRD and Peppol from every Stripe invoice, validated with the official rules. Free for 5 e-invoices a month.

See the Stripe app Read the setup guide

Questions

What does PEPPOL-EN16931-CL008 mean?

The electronic address scheme (the schemeID of EndpointID) must be a valid EAS code, e.g. 0208 for a Belgian enterprise number or 9925 for a Belgian VAT number.

What does BR-CO-15 mean?

The total with VAT doesn't equal the total without VAT plus the VAT amount.

What does PEPPOL-EN16931-R120 mean?

A line's net amount doesn't equal quantity × net price (÷ base quantity) plus line charges minus line discounts. Recalculate the line.

What does BR-CO-09 mean?

VAT IDs (seller BT-31, tax representative BT-63, buyer BT-48) must start with the 2-letter country code, e.g. BE0123456789, not 0123456789; Greece uses EL. A customer outside the EU has no VAT ID in this sense.

More: XRechnung + Stripe · ZUGFeRD + Stripe · Peppol + Stripe · Peppol registration · XRechnung 4.0 · Slovakia 2027 · ZUGFeRD: PDF vs XML · Skonto in XRechnung · Statuts et codes motifs (FR) · Billit after 2027 · BMF-Schreiben 15.10.2026 · PDF → e-invoice · Peppol BIS 3.0.21 changes