E-Invoice Error Reference
1375+ documented errors for Peppol, UBL, CII, and EN16931 validation errors.
1375 errors found · Page 6 of 28
BR-CL-20EN 16931AUTO-FIXCoded charge reasons MUST belong to the UNCL 7161 code list
A Charge Reason Code is not a valid UNCL 7161 code. Common codes: FC=freight, AAA=advertising, ABL=handling, DL=delivery.
BR-IC-04EN 16931INPUTWhen using this VAT category, the seller must have a VAT identifier, tax...
When using this VAT category, the seller must have a VAT identifier, tax registration, or tax representative (applies to `cac:AllowanceCharge`, rule BR-IC-04).
BR-CL-07EN 16931AUTO-FIXObject identifier scheme MUST be from UNTDID 1153
An Object Identifier scheme is not a valid UNTDID 1153 code. This identifies what type of reference the object ID represents.
BR-DE-20DEUXRechnung (Germany)BLOCKEDThe Debited Account (BT-91) should contain a valid IBAN for SEPA direct...
The Debited Account (BT-91) should contain a valid IBAN for SEPA direct debit. The current value doesn't match IBAN format.
BR-CL-15EN 16931AUTO-FIXCountry codes in an invoice MUST be coded using ISO code list 3166-1
A country code in the invoice is not a valid ISO 3166-1 alpha-2 code. All country fields must use 2-letter codes.
BR-O-03EN 16931INPUTWhen using this VAT category, the seller must have a VAT identifier, tax...
When using this VAT category, the seller must have a VAT identifier, tax registration, or tax representative (applies to `cac:AllowanceCharge`, rule BR-O-03).
KSEF-007POLKSeFAUTO-FIXKSeF date format invalid — wrong date or timestamp serialisation
KSEF-007 is raised when a date or timestamp in an FA(2)/FA(3) e-invoice does not match the format the KSeF (Krajowy System e-Faktur) XSD requires. The Polish schema uses two different date types: plain calendar dates such as P_1 (data wystawienia / issue date), P_6 (sale date) and the due date must be xs:date in YYYY-MM-DD form, while DataWytworzeniaFa (the technical document creation timestamp in the header) must be a full xs:dateTime with a UTC time-zone designator. Any other shape — a localised 15.04.2026, a slash date, a two-digit year, a date-only value placed in DataWytworzeniaFa, or a timestamp missing its Z / +02:00 offset — is rejected before the business checks even run.
BR-S-09EN 16931AUTO-FIXVAT amount is calculated incorrectly
The VAT amount in the standard-rated breakdown does not match the taxable amount multiplied by the tax rate. For example, if the taxable amount is 1,000.00 and the rate is 21%, the VAT amount should be 210.00.
BR-B-01EN 16931BLOCKEDSplit payment requires domestic Italian invoice
Split payment (scissione pagamenti, VAT category B) is only valid for domestic Italian invoices. Both seller and buyer must be in Italy.
CZ-R-003CZEisdocBLOCKEDISDOC format for Czech domestic
Czech domestic invoices may use ISDOC format.
cvc-pattern-validxsdINPUTValue does not match the regex pattern declared in the schema
cvc-pattern-valid is an XSD facet-validation error raised when an element or attribute value fails the xsd:pattern regular expression declared on its simple type. The canonical message reads: "Value 'X' is not facet-valid with respect to pattern 'P' for type 'T'." In EN 16931 invoice payloads it usually fires on identifier fields (BT-30 Seller legal registration ID, BT-46 Buyer identifier, BT-90 Bank assigned creditor identifier), date fields with a stricter UN/CEFACT format pattern, and country-CIUS extensions like the Italian fattura tax-ID pattern.
ES-R-002ESPfacturaeBLOCKEDInvalid FacturaE format
Spanish B2G invoices must use FacturaE 3.2.x format.
DE-R-004DEUEN 16931INPUTThe element "Seller post code" (BT-38) shall be provided.
Seller postal code is missing. German invoices must include the seller's postal code (BT-38).
cvc-minLength-validxsdINPUTValue is shorter than the minimum length declared in the schema
cvc-minLength-valid is an XSD facet-validation error raised when a string is shorter than the xsd:minLength facet on its simple type. The canonical message reads: "Value 'X' with length = N is not facet-valid with respect to minLength '1' for type 'T'." In EN 16931 invoices the overwhelming majority of cases are minLength=1 violations — i.e. an empty element. The XSD treats the empty string as a structural failure, even though the surrounding element is technically present.
UBL-CR-055UBL 2.1AUTO-FIXA UBL invoice should not include the DespatchDocumentReference...
Your invoice contains DespatchDocumentReference/DocumentStatusCode which is not allowed in EN16931 invoices.
BR-DE-04DEUxrechnungBLOCKEDInvalid XRechnung CustomizationID
XRechnung invoices must use the correct specification identifier for the version.
ES-R-004ESPfacturaeBLOCKEDDigital signature required
Spanish FacturaE invoices require XAdES digital signature.
CII-SR-001cii-d16bBLOCKEDInvalid CII namespace
CII (Cross Industry Invoice) documents must use the correct namespace declaration.
PEPPOL-EN16931-R045EN 16931INPUTEach document level allowance must have a reason or reason code
PEPPOL-EN16931-R045 is a Schematron rule on the Peppol BIS Billing 3.0 invoice. It asserts that every cac:AllowanceCharge element where ChargeIndicator = false (i.e. an allowance/discount, not a charge) at document level must carry either a free-text AllowanceReason (BT-97) or a coded AllowanceReasonCode (BT-98), or both. The rule prevents anonymous discounts that the buyer cannot reconcile against a contract or promotion.
BR-CL-18EN 16931AUTO-FIXInvoice line item tax categories MUST be coded using UNCL5305 code list.
PartyTaxScheme/TaxScheme/ID must be "VAT".
BR-E-01EN 16931BLOCKEDAn Invoice that contains an Invoice line (BG-25), a Document level allowance...
When using VAT category E (exempt), an exemption reason must be provided.
BR-CL-10EN 16931AUTO-FIXInvalid party identifier scheme
The scheme identifier for a seller or buyer party identification number is not a valid code from the ISO 6523 ICD list. Every party identifier must specify which numbering system it belongs to, using a standard code like 0088 for GLN, 0007 for Swedish org number, 0106 for Dutch KvK number, etc.
PEPPOL-EN16931-R048EN 16931AUTO-FIXInvoice line net amount must equal price * quantity ± allowances/charges
PEPPOL-EN16931-R048 is a Schematron calculation rule on the Peppol BIS Billing 3.0 invoice. For each cac:InvoiceLine the rule requires: BT-131 (Invoice line net amount) = (BT-129 Invoiced quantity * BT-146 Item net price / BT-149 Item price base quantity) + sum of BT-141 line-level charges − sum of BT-136 line-level allowances. When the calculated value differs from the value the seller emitted by more than the rounding tolerance, the line is rejected.
KSEF-21177PLksefINPUTInvoice issue date is outside the allowed KSeF window
KSEF-21177 is a server-side validation error returned by the Polish Krajowy System e-Faktur (KSeF) when the FA(2) schema element P_1 (data wystawienia / invoice issue date) is outside the window the platform accepts. KSeF rejects invoices whose issue date is in the future, more than the allowed look-back from the submission timestamp, or in a different reporting period than the one the schema header (DataWytworzeniaFa) declares. The mandate-live behaviour since the February 2026 go-live is strict: the platform returns 400 with this code and the invoice is not stored.
UBL-CR-002ubl-2.1AUTO-FIXInvalid or Missing Namespace
The UBL invoice must use the correct XML namespaces for UBL 2.1.
FR-R-006FRAfactur-xBLOCKEDInvalid Factur-X profile identifier
Factur-X invoices must have valid profile in CustomizationID.
UBL-CR-024UBL 2.1AUTO-FIXA UBL invoice should not include the BillingReference UUID
Your invoice contains BillingReference/UUID which is not allowed in EN16931 invoices.
BR-CL-11EN 16931AUTO-FIXInvalid registration identifier scheme
Any registration identifier identification scheme identifier MUST be coded using one of the ISO 6523 ICD list. This applies to the PartyLegalEntity/CompanyID@schemeID attribute.
BR-Z-01EN 16931BLOCKEDAn Invoice that contains an Invoice line (BG-25), a Document level allowance...
When using VAT category Z (zero rate), an exemption reason code or text must be provided.
BR-AE-05EN 16931AUTO-FIXReverse charge invoice line must have 0% VAT rate
When an invoice line uses the reverse charge VAT category, the VAT rate must be 0%. Reverse charge means the buyer accounts for VAT, so seller charges zero VAT.
UBL-CR-009UBL 2.1AUTO-FIXDisallowed element: cbc:PaymentAlternativeCurrencyCode
UBL 2.1 Invoice schema does not include `cbc:PaymentAlternativeCurrencyCode`. This element must be removed for EN 16931 compliance.
BR-CL-19EN 16931AUTO-FIXInvalid allowance reason code
Coded allowance reasons MUST belong to the UNCL 5189 code list. This applies to AllowanceChargeReasonCode for allowances (ChargeIndicator=false).
BR-CL-21EN 16931AUTO-FIXInvalid product identifier scheme
A line item's standard product identifier uses an invalid scheme code. The most common standard identifier is a GTIN (barcode number), which should use scheme code 0160. Other valid schemes include ISO 6523 ICD codes for industry-specific numbering systems.
BR-ES-02ESPverifactuBLOCKEDMissing VeriFACTU hash chain
Spanish VeriFACTU invoices must include the hash chain for audit trail.
GR-R-002GRCubl-2.1BLOCKEDmyDATA reporting required
Greek invoices must be reported to myDATA (AADE).
BR-CO-03EN 16931AUTO-FIXVAT point date and VAT point date code are mutually exclusive
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive. You cannot specify both - use one or the other to indicate when VAT becomes due.
BR-K-01en16931BLOCKEDIntra-community supply VAT treatment
VAT category K (intra-community) requires zero VAT and both party VAT numbers.
BR-CO-06EN 16931AUTO-FIXSurcharge reason text does not match the reason code
The surcharge (extra charge) reason code and the reason text on your invoice describe different types of charges. For example, code FC means "Freight" but the text says something else. These must match.
BR-G-01EN 16931BLOCKEDExport VAT category requirements
VAT category G (export) requires exemption reason and must have zero VAT.
BR-CO-08EN 16931AUTO-FIXLine charge reason and code must match
Invoice line charge reason code (BT-145) and Invoice line charge reason (BT-144) shall indicate the same type of charge reason. The reason text must semantically match the UNTDID 7161 code.
BR-CO-09EN 16931AUTO-FIXVAT number is missing the country code
A VAT identification number in this invoice does not start with a valid two-letter country code. European VAT numbers must be prefixed with the country code (e.g. DE for Germany, NL for the Netherlands, SE for Sweden). Greece may use EL instead of GR.
BR-CO-19EN 16931AUTO-FIXInvoice period must have at least one date
If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.
PEPPOL-EN16931-CL001Peppol BIS 3.0AUTO-FIXMime code must be according to subset of IANA code list.
Mime code must be according to subset of IANA code list.. This validation rule ensures Invoice compliance with Peppol BIS 3.0.
BR-CO-20EN 16931AUTO-FIXInvoice line period dates required
If Invoice line period (BG-26) is used, the Invoice line period start date (BT-134) or the Invoice line period end date (BT-135) shall be filled, or both.
cvc-complex-type.2.4.axsdBLOCKEDInvoice XML structure does not match the required schema
Your invoice file has a structural problem — required data elements are missing, in the wrong position, or unexpected elements are present. This is an XML Schema validation error, which means the basic structure of the file does not conform to the e-invoicing standard (UBL 2.1 or CII D16B). This is different from a business rule error: business rules check whether the data makes sense, while this error means the file format itself is wrong.
BR-AE-07EN 16931AUTO-FIXDocument level charge with reverse charge must have 0% VAT rate
When a document level charge uses the reverse charge VAT category, the VAT rate must be 0%. Charges in reverse charge scenarios follow the same zero-rate rule.
BR-CO-21EN 16931AUTO-FIXDocument allowance reason required
Each Document level allowance (BG-20) shall contain a Document level allowance reason (BT-97) or a Document level allowance reason code (BT-98), or both.
BR-AE-09EN 16931AUTO-FIXReverse charge VAT breakdown tax amount must be zero
The VAT category tax amount for reverse charge must be 0. Since reverse charge means buyer accounts for VAT, the seller's VAT amount is always zero.
BR-CO-23EN 16931AUTO-FIXInvoice Line Allowance Reason Required
Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.
BR-DEC-21en16931BLOCKEDTax total: max 2 decimals
TaxTotal/TaxAmount allows maximum 2 decimal places.
Handle These Errors Automatically in Your Pipeline
The compliance engine auto-remediates validation errors with controlled safety policies and evidence pack generation.
Get API Access→