E-Invoice Error Reference

1369+ documented errors for Peppol, UBL, CII, and EN16931 validation errors.

1369 errors found · Page 1 of 28

errorcvc-complex-type.2.4.bxsdBLOCKED

Required 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.

errorcvc-complex-type.4xsdBLOCKED

Required 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.

errorcvc-datatype-valid.1.2.1xsdAUTO-FIX

Invoice 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).

errorBR-03EN 16931AUTO-FIX

Invoice must have an issue date

Every invoice must contain an issue date indicating when the invoice was created.

errorcvc-complex-type.2.2xsdAUTO-FIX

Invoice 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.

errorBR-04EN 16931AUTO-FIX

Missing invoice type code

An Invoice shall have an Invoice type code (BT-3). The most common value is 380 for a standard commercial invoice.

errorBR-53EN 16931BLOCKED

VAT 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.

errorPEPPOL-EN16931-R102Peppol BIS 3.0AUTO-FIX

Document 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.

errorBR-17EN 16931INPUT

Invoice line item name required

Each invoice line must have an item name describing what is being invoiced.

errorBR-19EN 16931INPUT

The 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.

errorBR-20EN 16931INPUT

The 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.

errorKSEF-440PLksefBLOCKED

KSeF 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.

errorBR-22EN 16931INPUT

Invoice currency code required

The invoice must specify the document currency using ISO 4217 alpha-3 code.

errorBR-25EN 16931INPUT

Invoice line item name required

Each Invoice line shall contain the Item name (BT-153). This describes the goods or services being invoiced.

warningPEPPOL-COMMON-R052DKPeppol BIS 3.0AUTO-FIX

Danish 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.

errorBR-24EN 16931BLOCKED

Amount 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.

errorUBL-CR-077UBL 2.1AUTO-FIX

A UBL invoice should not include the StatementDocumentReference

Your invoice contains StatementDocumentReference which is not allowed in EN16931 invoices. Statement references are not supported.

errorZUG-XMP-001zugferdBLOCKED

ZUGFeRD/Factur-X PDF Missing or Invalid XMP Metadata

The ZUGFeRD or Factur-X PDF is missing required XMP metadata properties in the fx namespace.

errorBR-45EN 16931BLOCKED

Each 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.

errorBR-18EN 16931INPUT

Invoice line price required

Each invoice line must have a price amount (item net price).

errorZUG-FILENAME-001zugferdBLOCKED

ZUGFeRD/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.

errorcvc-complex-type.2.4.dxsdBLOCKED

Unexpected 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.

errorCII-SR-02cii-d16bBLOCKED

CII GuidelineSpecifiedDocumentContextParameter required

CII must specify guideline identifier.

errorcvc-complex-type.2.3xsdCONFIRM

Text 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.

errorPEPPOL-EN16931-R040EN 16931AUTO-FIX

Discount 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.

errorCII-SR-046cii-d16bINPUT

GlobalID 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).

errorCII-DT-024cii-d16bAUTO-FIX

Date 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.

errorXML-001ubl-2.1BLOCKED

Invoice 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.

errorPEPPOL-EN16931-R061Peppol BIS 3.0INPUT

Missing 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.

errorUBL-CR-470UBL 2.1AUTO-FIX

A 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.

errorXML-002ubl-2.1BLOCKED

Malformed XML structure

XML document is not well-formed.

errorBR-CO-18EN 16931INPUT

An 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.

errorUBL-CR-491UBL 2.1AUTO-FIX

A 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.

errorXML-004ubl-2.1BLOCKED

Invalid XML characters

Document contains invalid XML characters.

errorBR-21EN 16931AUTO-FIX

Missing 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.

errorBR-13EN 16931BLOCKED

Invoice total without VAT required

The invoice must state the amount due for payment (PayableAmount).

errorPT-R-001PRTubl-2.1INPUT

Portuguese NIF required

Portuguese invoices must include NIF (Numero de Identificacao Fiscal).

errorUBL-CR-079UBL 2.1AUTO-FIX

A UBL invoice should not include the OriginatorDocumentReference UUID

Your invoice contains OriginatorDocumentReference/UUID which is not allowed in EN16931 invoices.

errorBR-DEX-11DEUXRechnung (Germany)AUTO-FIX

Missing 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.

errorBR-G-08EN 16931AUTO-FIX

The 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.

errorUBL-SR-06ubl-2.1CONFIRM

Invalid date format

UBL dates must use YYYY-MM-DD format.

errorBR-G-09EN 16931AUTO-FIX

The 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.

errorUBL-SR-08ubl-2.1CONFIRM

Quantity missing unit code

Quantity elements must have unitCode attribute.

errorBR-G-10EN 16931AUTO-FIX

This 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).

errorBR-IC-05EN 16931AUTO-FIX

When 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).

warningUBL-DT-19EN16931BLOCKED

Language 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.

errorBR-IC-09EN 16931AUTO-FIX

The 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).

errorPT-R-002PRTubl-2.1INPUT

AT document codes required

Portuguese invoices need AT (Autoridade Tributaria) document codes.

errorCII-DT-018cii-d16bAUTO-FIX

TypeCode 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).

errorUBL-CR-019UBL 2.1AUTO-FIX

A 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