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