E-Invoice Error Reference
1374+ documented errors for Peppol, UBL, CII, and EN16931 validation errors.
1374 errors found · Page 6 of 28
IN-PRICE-POSITIVEpeppol-bis-3BLOCKEDItem price should be positive
Item price (PriceAmount) should typically be a positive value.
IN-QUANTITY-POSITIVEpeppol-bis-3BLOCKEDLine quantity should be positive
Invoice line quantity (InvoicedQuantity) should typically be a positive value.
BR-CL-01EN 16931AUTO-FIXInvalid invoice type code
The invoice type code is not a valid value from the UN/EDIFACT code list 1001. Valid codes include 380 for a standard invoice, 381 for a credit note, 383 for a debit note, 384 for a corrected invoice, 386 for a prepayment invoice, and 389 for a self-billed invoice.
BR-CL-03EN 16931AUTO-FIXcurrencyID MUST be coded using ISO code list 4217 alpha-3
A currency attribute (currencyID) contains an invalid ISO 4217 code. Currency codes must be 3-letter codes like EUR, USD, GBP.
BR-AG-01EN 16931BLOCKEDIPSI VAT breakdown required when IPSI used on lines
When using the IPSI VAT category (M) on invoice lines, allowances, or charges, you must have exactly one matching VAT breakdown section for IPSI.
BR-CL-05EN 16931AUTO-FIXTax currency code MUST be coded using ISO code list 4217 alpha-3
The Tax Currency Code (BT-6) is not a valid ISO 4217 code. If using a different currency for tax accounting, it must be a valid 3-letter code.
UBL-CR-411UBL 2.1AUTO-FIXA UBL invoice should not include the PaymentMeans ID
Your invoice contains a PaymentMeans ID element which is not allowed in EN16931 invoices. This element must be removed.
BR-FR-02FRApeppol-bis-3INPUTSIREN vs SIRET confusion
SIREN (9 digits) identifies the company, SIRET (14 digits) identifies the specific establishment. French e-invoices require the full 14-digit SIRET.
BR-E-02EN 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:InvoiceLine`, rule BR-E-02).
BR-DE-25DEUxrechnungBLOCKEDXRechnung invoice type restriction
XRechnung restricts allowed invoice type codes.
BR-CL-04EN 16931AUTO-FIXInvalid currency code
Currency code must be a valid ISO 4217 alpha-3 code (e.g., EUR, USD, GBP). Ensure you are using the three-letter currency code, not a currency symbol or name.
BR-IC-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-IC-03).
BR-CL-06EN 16931AUTO-FIXValue added tax point date code MUST be coded using a restriction of UNTDID...
The VAT Point Date Code (BT-8) is not a valid UNTDID 2005 code. Valid codes indicate when VAT becomes due (e.g., 35=delivery date, 432=payment date).
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.
KSEF-007POLKSeFBLOCKEDDate format invalid
All dates in KSeF invoices must be in YYYY-MM-DD (ISO 8601) format. Other formats are rejected.
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).
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.
BR-CL-18EN 16931AUTO-FIXInvoice line item tax categories MUST be coded using UNCL5305 code list.
PartyTaxScheme/TaxScheme/ID must be "VAT".
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-25EN 16931AUTO-FIXUnit of measure codes MUST be coded according to UN/ECE Recommendation 20.
The scheme identifier for a seller or buyer electronic address (endpoint) is not from the valid Electronic Address Scheme (EAS) code list. Every endpoint ID must specify which numbering system it uses, such as 0088 for GLN, 0007 for Swedish org number, or 0198 for Danish CVR.
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-17EN 16931BLOCKEDA VAT Category Tax Amount (BT-117) doesn't equal the Taxable Amount (BT-116)...
A VAT Category Tax Amount (BT-117) doesn't equal the Taxable Amount (BT-116) multiplied by the Rate (BT-119). The tax calculation is mathematically wrong.
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→