E-Invoice Error Reference
1369+ documented errors for Peppol, UBL, CII, and EN16931 validation errors.
1369 errors found · Page 1 of 28
cvc-complex-type.2.4.bxsdBLOCKEDRequired element is missing from invoice XML
Your invoice is missing a required XML element. The error message from the validator identifies which element is expected and where it should appear. This is an XML Schema (XSD) validation error — the file structure itself is incomplete, which is different from a business rule violation where the structure is correct but values are wrong.
cvc-complex-type.4xsdBLOCKEDRequired attribute is missing from an invoice element
An XML element in your invoice is missing a required attribute. In Peppol and UBL invoices, this typically means a monetary amount is missing its currencyID attribute, or an identifier is missing its schemeID. The element itself is present, but it lacks required metadata that receiving systems need to process it correctly.
cvc-datatype-valid.1.2.1xsdAUTO-FIXInvoice field value does not match the required data format
A value in your invoice does not match the data format required by the XML Schema. This typically means a number, date, or other value is formatted incorrectly — for example, using a comma instead of a dot for decimals (1.234,56 instead of 1234.56), or a date in DD/MM/YYYY format instead of the required YYYY-MM-DD (ISO 8601).
BR-03EN 16931AUTO-FIXInvoice must have an issue date
Every invoice must contain an issue date indicating when the invoice was created.
cvc-complex-type.2.2xsdAUTO-FIXInvoice XML elements are in the wrong order
The elements in your invoice XML are in the wrong order. UBL 2.1 and CII D16B schemas use strict element ordering (xs:sequence), which means child elements must appear in a specific order. Even if all the right elements are present with correct values, having them in the wrong order causes a schema validation failure.
BR-04EN 16931AUTO-FIXMissing invoice type code
An Invoice shall have an Invoice type code (BT-3). The most common value is 380 for a standard commercial invoice.
BR-53EN 16931BLOCKEDVAT amount in accounting currency is missing
Your invoice declares a tax accounting currency (different from the invoice currency), but the total VAT amount in that accounting currency is not provided. When using a separate tax currency, you must include the VAT total in both currencies.
PEPPOL-EN16931-R102Peppol BIS 3.0AUTO-FIXDocument Reference Only Allowed for Invoice Line Object
PEPPOL-EN16931-R102 fires when a DocumentReference element is used at the wrong level in the invoice. The cac:DocumentReference element can only be used to reference an invoiced object at the line level, not at the document header level.
BR-17EN 16931INPUTInvoice line item name required
Each invoice line must have an item name describing what is being invoiced.
BR-19EN 16931INPUTThe Seller tax representative postal address (BG-12) shall be provided in...
The Seller tax representative postal address (BG-12) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11). This applies to the `cac:PostalAddress` element in the invoice XML.
BR-20EN 16931INPUTThe Seller tax representative postal address (BG-12) shall contain a Tax...
The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11). This applies to the `cac:PostalAddress` element in the invoice XML.
KSEF-440PLksefBLOCKEDKSeF Duplicate Invoice Rejection (HTTP 440)
The KSeF system rejected your invoice because it detected a duplicate submission. KSeF checks the combination of seller NIP, invoice number, and invoice date against all invoices submitted in the last 10 years. If a match is found, the API returns HTTP status 440 and the invoice is not accepted.
BR-22EN 16931INPUTInvoice currency code required
The invoice must specify the document currency using ISO 4217 alpha-3 code.
BR-25EN 16931INPUTInvoice line item name required
Each Invoice line shall contain the Item name (BT-153). This describes the goods or services being invoiced.
PEPPOL-COMMON-R052DKPeppol BIS 3.0AUTO-FIXDanish Chamber of Commerce P-Number Format Invalid
PEPPOL-COMMON-R052 validates that a Danish chamber of commerce production unit number (P-number) is in the correct format. The P-number must consist of exactly 10 digits. This rule fires when a party identifier uses scheme 0198 but the value does not meet the format requirements.
BR-24EN 16931BLOCKEDAmount currency must match document currency
Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).. Check the `cbc:LineExtensionAmount` element in your invoice XML.
UBL-CR-077UBL 2.1AUTO-FIXA UBL invoice should not include the StatementDocumentReference
Your invoice contains StatementDocumentReference which is not allowed in EN16931 invoices. Statement references are not supported.
ZUG-XMP-001zugferdBLOCKEDZUGFeRD/Factur-X PDF Missing or Invalid XMP Metadata
The ZUGFeRD or Factur-X PDF is missing required XMP metadata properties in the fx namespace.
BR-45EN 16931BLOCKEDEach VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).
Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).. Check the `cac:TaxSubtotal` element in your invoice XML.
BR-18EN 16931INPUTInvoice line price required
Each invoice line must have a price amount (item net price).
ZUG-FILENAME-001zugferdBLOCKEDZUGFeRD/Factur-X Wrong Embedded XML Filename
The embedded XML in your ZUGFeRD/Factur-X PDF has the wrong filename. It must be exactly factur-x.xml since ZUGFeRD 2.1.
cvc-complex-type.2.4.dxsdBLOCKEDUnexpected child element in invoice XML
cvc-complex-type.2.4.d is an XSD schema-validation error raised by Xerces-based parsers when the invoice contains an element the schema does not allow at that position. The parser has finished accepting the declared children for the current parent and encountered one more element it was not expecting.
CII-SR-02cii-d16bBLOCKEDCII GuidelineSpecifiedDocumentContextParameter required
CII must specify guideline identifier.
cvc-complex-type.2.3xsdCONFIRMText content inside an element-only element
cvc-complex-type.2.3 is an XSD error raised when an element declared as element-only has non-whitespace text inside it. Mixing text and structural children is not allowed for that complex type.
PEPPOL-EN16931-R040EN 16931AUTO-FIXDiscount or surcharge amount doesn't match the calculation
A discount or surcharge amount does not match its base amount multiplied by the percentage. When all three values are provided (amount, base amount, and percentage), they must be consistent: amount = base amount × percentage ÷ 100.
CII-SR-046cii-d16bINPUTGlobalID present without schemeID attribute
CII-SR-046 is a fatal EN 16931 Schematron assertion on the CII binding used by ZUGFeRD and Factur-X. If ram:GlobalID is present, it must carry a schemeID attribute. Formal test: not(ram:GlobalID) or (ram:GlobalID/@schemeID).
CII-DT-024cii-d16bAUTO-FIXDate element missing format="102" attribute
CII-DT-024 is an EN 16931 datatype assertion on the CII binding. Every udt:DateTimeString or udt:DateString must carry format="102" — the UN/EDIFACT code for an eight-digit CCYYMMDD date.
XML-001ubl-2.1BLOCKEDInvoice file is not well-formed XML
XML-001 is raised when the invoice file fails XML well-formedness before any schema or Schematron rule can apply. The parser cannot build a DOM tree because the bytes do not conform to XML 1.0 grammar.
PEPPOL-EN16931-R061Peppol BIS 3.0INPUTMissing direct debit mandate reference
When payment is by direct debit (SEPA or other), the invoice must include the mandate reference number. This is the unique identifier of the agreement that authorizes the seller to collect payment from the buyer's bank account.
UBL-CR-470UBL 2.1AUTO-FIXA UBL invoice should not include the PrepaidPayment
Your invoice contains a PrepaidPayment element which is not allowed in EN16931 invoices. This element must be removed.
XML-002ubl-2.1BLOCKEDMalformed XML structure
XML document is not well-formed.
BR-CO-18EN 16931INPUTAn Invoice shall at least have one VAT breakdown group (BG-23)
An Invoice shall at least have one VAT breakdown group (BG-23). This applies to the `cac:TaxSubtotal` element in the invoice XML.
UBL-CR-491UBL 2.1AUTO-FIXA UBL invoice should not include the PricingExchangeRate
Your invoice contains a PricingExchangeRate element which is not allowed in EN16931 invoices. This element must be removed.
XML-004ubl-2.1BLOCKEDInvalid XML characters
Document contains invalid XML characters.
BR-21EN 16931AUTO-FIXMissing invoice line identifier
Each Invoice line shall have an Invoice line identifier (BT-126). This is a unique sequential number identifying each line item on the invoice.
BR-13EN 16931BLOCKEDInvoice total without VAT required
The invoice must state the amount due for payment (PayableAmount).
PT-R-001PRTubl-2.1INPUTPortuguese NIF required
Portuguese invoices must include NIF (Numero de Identificacao Fiscal).
UBL-CR-079UBL 2.1AUTO-FIXA UBL invoice should not include the OriginatorDocumentReference UUID
Your invoice contains OriginatorDocumentReference/UUID which is not allowed in EN16931 invoices.
BR-DEX-11DEUXRechnung (Germany)AUTO-FIXMissing third party payment amount. When using third party payment group...
Missing third party payment amount. When using third party payment group (BG-DEX-09), the amount (BT-DEX-002) is required.
BR-G-08EN 16931AUTO-FIXThe taxable amount for this VAT category must equal the sum of line amounts...
The taxable amount for this VAT category must equal the sum of line amounts minus allowances plus charges for this category.
UBL-SR-06ubl-2.1CONFIRMInvalid date format
UBL dates must use YYYY-MM-DD format.
BR-G-09EN 16931AUTO-FIXThe tax amount for this VAT category must be 0 (zero). This category does...
The tax amount for this VAT category must be 0 (zero). This category does not generate tax.
UBL-SR-08ubl-2.1CONFIRMQuantity missing unit code
Quantity elements must have unitCode attribute.
BR-G-10EN 16931AUTO-FIXThis VAT category requires an exemption reason code or text explaining why...
This VAT category requires an exemption reason code or text explaining why no tax is charged (applies to `cac:TaxSubtotal`, rule BR-G-10).
BR-IC-05EN 16931AUTO-FIXWhen using this VAT category, the VAT rate must be 0 (zero). This category...
When using this VAT category, the VAT rate must be 0 (zero). This category does not have a positive tax rate (applies to `cac:InvoiceLine`, rule BR-IC-05).
UBL-DT-19EN16931BLOCKEDLanguage identifier attribute should not be present
Your invoice contains the languageID attribute on a text element. This attribute is not allowed in EN16931 and must be removed.
BR-IC-09EN 16931AUTO-FIXThe tax amount for this VAT category must be 0 (zero). This category does...
The tax amount for this VAT category must be 0 (zero). This category does not generate tax (applies to `cbc:TaxAmount`, rule BR-IC-09).
PT-R-002PRTubl-2.1INPUTAT document codes required
Portuguese invoices need AT (Autoridade Tributaria) document codes.
CII-DT-018cii-d16bAUTO-FIXTypeCode should not be present on this element
CII-DT-018 is an EN 16931 datatype assertion on the CII binding. It forbids a ram:TypeCode child on any element except ram:AdditionalReferencedDocument, and even there restricts the value to UNTDID 1001 codes 50 (price/sales catalogue), 130 (invoicing data sheet), or 916 (related document).
UBL-CR-019UBL 2.1AUTO-FIXA UBL invoice should not include the OrderReference IssueTime
Your invoice contains OrderReference/IssueTime which is not allowed in EN16931 invoices.
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→