E-invoice validation error codes
What the BR-*, PEPPOL-* and KSeF error codes mean and how to fix them. Every code explained in plain language – no jargon.
EN 16931 core rules (BR-*)
- BR-01The invoice has no specification identifier (CustomizationID, BT-24) — receivers cannot tell which rule set the invoice follows.
- BR-02The invoice has no invoice number (BT-1). Every invoice must have a unique identifier.
- BR-03The invoice has no issue date (BT-2).
- BR-04The invoice has no type code (BT-3).
- BR-05The invoice has no currency code (BT-5).
- BR-06The seller name is missing (BT-27).
- BR-07The buyer name is missing (BT-44).
- BR-09The seller's postal address has no country code (BT-40).
- BR-11The buyer's postal address has no country code (BT-55).
- BR-16The invoice has no invoice lines — at least one line with goods or services is required.
- BR-25An invoice line has no item name (BT-153).
- BR-CL-04The currency code is not a valid ISO 4217 code — e.g. a typo or lowercase letters.
- BR-CO-04An invoice line has no VAT category (BT-151).
- BR-CO-09A VAT identifier lacks the two-letter country prefix (e.g. LT, PL, LV, DE).
- BR-CO-10The declared sum of line net amounts (BT-106) does not equal the actual sum of the lines (BT-131).
- BR-CO-13Invoice total without VAT (BT-109) must equal: sum of lines − document-level allowances + document-level charges.
- BR-CO-14Invoice total VAT (BT-110) must equal the sum of all VAT category amounts (BT-117).
- BR-CO-15Invoice total with VAT (BT-112) must equal total without VAT (BT-109) plus total VAT (BT-110).
- BR-CO-16Amount due for payment (BT-115) must equal total with VAT (BT-112) minus paid amount (BT-113) plus rounding (BT-114).
- BR-CO-17A VAT category amount (BT-117) does not equal its taxable base (BT-116) × rate (BT-119) / 100, rounded to 2 decimals.
- BR-CO-26The seller has no identifier at all: neither seller ID (BT-29), nor legal registration ID (BT-30), nor VAT ID (BT-31). The buyer cannot identify the supplier automatically.
- BR-S-08For a standard VAT rate, the taxable amount in the VAT breakdown does not match the sum of line amounts (± document-level allowances/charges) taxed at that rate.
- BR-E-10A VAT breakdown marked 'Exempt from VAT' has no exemption reason (code BT-121 or text BT-120).
- BR-08The seller details contain no postal address (BG-5).
- BR-10The buyer details contain no postal address (BG-8).
- BR-12The invoice has no sum of invoice line net amounts (BT-106).
- BR-13The invoice has no total amount without VAT (BT-109).
- BR-14The invoice has no total amount with VAT (BT-112).
- BR-15The invoice has no amount due for payment (BT-115).
- BR-CO-18The invoice has no VAT breakdown (BG-23) — at least one is required.
- BR-S-01There is a line or an allowance / charge with standard-rated VAT (category S), but the seller has no VAT identifier (BT-31).
- BR-S-05In a line with standard-rated VAT (category S) the rate is 0 — a standard rate must be greater than zero.
- BR-AE-05In a line with reverse charge (category AE) the rate is not 0 — under reverse charge the rate must be 0.
- BR-AE-10The VAT breakdown with reverse charge (AE) has no reason — the text "Reverse charge" (BT-120) or the code (BT-121) is required.
- BR-Z-05In a line with zero-rated VAT (category Z) the rate is not 0.
- BR-CL-14The country code is not a valid two-letter ISO 3166-1 code (e.g. a typo or lowercase letters).
- BR-CL-25The electronic address scheme code (EndpointID/@schemeID) is not from the official CEF EAS list.
Peppol BIS Billing 3.0 rules
- PEPPOL-COMMON-R040An identifier is declared as a GLN (schemeID 0088) but its format breaks the GS1 rules: it must be 13 digits with a correct check digit.
- PEPPOL-EN16931-R001The business process (ProfileID) is missing — Peppol requires it.
- PEPPOL-EN16931-R003Peppol requires a buyer reference or a purchase order reference — receivers use it to route and match the invoice.
- PEPPOL-EN16931-R004The specification identifier (CustomizationID) is not the exact Peppol BIS Billing 3.0 value.
- PEPPOL-EN16931-R008The document contains empty XML elements. Peppol forbids them — an element must have a value or be removed.
- PEPPOL-EN16931-R010The buyer's electronic address (Peppol endpoint, BT-49) is missing.
- PEPPOL-EN16931-R020The seller's electronic address (Peppol endpoint, BT-34) is missing.
- PEPPOL-EN16931-F001A date in the document is not in YYYY-MM-DD format.
- PEPPOL-EN16931-R120An invoice line's net amount does not equal quantity × (unit price / price base quantity) + line charges − line allowances.
Peppol Germany rules (DE-R-*)
- DE-R-001When both seller and buyer are located in Germany, the invoice must contain payment instructions (BG-16).
- DE-R-002When both seller and buyer are located in Germany, the seller contact group (BG-6) must be provided.
- DE-R-003When both seller and buyer are located in Germany, the seller city (BT-37) must be provided.
- DE-R-004When both seller and buyer are located in Germany, the seller post code (BT-38) must be provided.
- DE-R-005When both seller and buyer are located in Germany, the seller contact point (BT-41) must be provided.
- DE-R-006When both seller and buyer are located in Germany, the seller contact telephone (BT-42) must be provided.
- DE-R-007When both seller and buyer are located in Germany, the seller contact e-mail (BT-43) must be provided.
- DE-R-008When both seller and buyer are located in Germany, the buyer city (BT-52) must be provided.
- DE-R-009When both seller and buyer are located in Germany, the buyer post code (BT-53) must be provided.
- DE-R-010When both seller and buyer are located in Germany and a deliver-to address (BG-15) is given, the deliver-to city (BT-77) must be provided.
- DE-R-011When both seller and buyer are located in Germany and a deliver-to address (BG-15) is given, the deliver-to post code (BT-78) must be provided.
- DE-R-014When both seller and buyer are located in Germany, the VAT category rate (BT-119) must be provided.
- DE-R-015When both seller and buyer are located in Germany, the buyer reference (BT-10; Leitweg-ID in German B2G) must be provided.
- DE-R-016When both seller and buyer are located in Germany and VAT code S/Z/E/AE/K/G/L/M is used, the seller VAT identifier (BT-31), tax registration identifier (BT-32) or tax representative (BG-11) must be provided.
- DE-R-017When both seller and buyer are located in Germany, the invoice type code (BT-3) must be one of: 326, 380, 381, 384, 389, 875, 876, 877.
- DE-R-018When both seller and buyer are located in Germany, prompt-payment discounts (Skonto) in payment terms (BT-20) must follow the strict format #SKONTO#TAGE=n#PROZENT=n.nn#, in capitals, without extra whitespace, each row ending with # and a line break.
- DE-R-019When both seller and buyer are located in Germany and the payment means code (BT-81) is 58 (SEPA), the payment account identifier (BT-84) must be a valid IBAN.
- DE-R-020When both seller and buyer are located in Germany and the payment means code (BT-81) is 59 (SEPA direct debit), the debited account identifier (BT-91) must be a valid IBAN.
- DE-R-022When both seller and buyer are located in Germany, attachment filenames (BG-24, BT-125) must be unique (case-insensitive).
- DE-R-023-1When both seller and buyer are located in Germany and the payment means is credit transfer (BT-81: 30 or 58), the credit transfer group (BG-17) must be provided.
- DE-R-023-2When both seller and buyer are located in Germany and the payment means is credit transfer (BT-81: 30 or 58), the card (BG-18) and direct debit (BG-19) groups must not be provided.
- DE-R-024-1When both seller and buyer are located in Germany and payment is by card (BT-81: 48, 54 or 55), the payment card information group (BG-18) must be provided.
- DE-R-024-2When both seller and buyer are located in Germany and payment is by card (BT-81: 48, 54 or 55), the credit transfer (BG-17) and direct debit (BG-19) groups must not be provided.
- DE-R-025-1When both seller and buyer are located in Germany and the payment means is direct debit (BT-81: 59), the direct debit group (BG-19) must be provided.
- DE-R-025-2When both seller and buyer are located in Germany and the payment means is direct debit (BT-81: 59), the credit transfer (BG-17) and card (BG-18) groups must not be provided.
- DE-R-026When both seller and buyer are located in Germany and the invoice type is 384 (corrected invoice), a preceding invoice reference (BG-3) must be provided at least once.
- DE-R-027When both seller and buyer are located in Germany, the seller telephone number (BT-42) must be valid – at least 3 digits.
- DE-R-028When both seller and buyer are located in Germany, the seller e-mail (BT-43) must contain exactly one @, not framed by whitespace or dots, with at least two characters on each side; a dot must not be the first or last character.
- DE-R-030When both seller and buyer are located in Germany and direct debit (BG-19) is used, the bank assigned creditor identifier (BT-90) must be provided.
- DE-R-031When both seller and buyer are located in Germany and direct debit (BG-19) is used, the debited account identifier (BT-91) must be provided.
KSeF FA(3) checks
- KSEF-SIZEThe file exceeds 1 MB. KSeF rejects invoices larger than 1 MB (without attachments).
- KSEF-BOMThe file starts with a UTF-8 BOM marker. KSeF requires UTF-8 without BOM.
- KSEF-NS-DRAFTThe invoice uses the withdrawn FA(3) draft namespace (2025-04-03), which is still floating around the web. Production KSeF accepts only the final FA(3) namespace.
- KSEF-FA2This is an FA(2) invoice. Production KSeF rejects FA(2) since 2026-02-01 — only FA(3) is accepted.
- KSEF-NIPA NIP (Polish tax number) in the invoice fails its checksum — most likely a typo. KSeF rejects invoices with invalid NIPs.
File structure and format
- FORMAT-NOT-XMLThe file could not be read as XML. It may be a PDF, an image, or a damaged or renamed file.
- FORMAT-CIIThe invoice uses the UN/CEFACT CII syntax (ZUGFeRD/Factur-X, the CII variant of XRechnung). This validator currently checks UBL invoices only.
- FORMAT-UNKNOWNThe file is XML, but not a UBL invoice or credit note — the root element is something else.
- FORMAT-NON-PEPPOL-CIUSThe invoice is UBL, but declares a national profile (e.g. XRechnung) instead of Peppol BIS Billing 3.0. National rules are not checked yet.
- XSDThe XML structure does not match the UBL 2.1 schema: an element is missing, misspelled, or in the wrong place. In UBL the order of elements matters.
Check your file in the validator
Tiltima is a tool, not legal or tax advice.