Rule reference

Every validation rule, explained

152 rules from EN 16931, Peppol BIS Billing 3.0, XRechnung and InvoiceVerify's own tax-ID checks — with the business terms involved and how to fix each one.

Foutcodes in het NederlandsCodes d’erreur en françaisCommon Peppol problems →

152 rules

Document & syntax

RuleDescription
IV-SYN-01XML is not well-formed

The file must be well-formed XML: every element closed, attributes quoted and only one root element.

IV-SYN-02Unsupported document type

The root element must be a UBL 2.1 Invoice or CreditNote, or a UN/CEFACT CrossIndustryInvoice, in the correct namespace.

IV-SYN-03Invalid data type

Amounts, quantities and percentages must be decimal numbers; dates must use the syntax date format (YYYY-MM-DD in UBL, YYYYMMDD with format 102 in CII).

IV-SYN-04Profile below EN 16931

Factur-X / ZUGFeRD MINIMUM and BASIC WL profiles do not carry line items and are not valid EN 16931 invoices.

PEPPOL-EN16931-R008Empty element

Document MUST not contain empty elements.

BR-DE-21Specification identifier is not XRechnung

The specification identifier (BT-24) should match the XRechnung standard identifier, e.g. urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.

Header

RuleDescription
BR-01Specification identifier missing

An Invoice shall have a Specification identifier (BT-24).

BR-02Invoice number missing

An Invoice shall have an Invoice number (BT-1).

BR-03Issue date missing

An Invoice shall have an Invoice issue date (BT-2).

BR-04Invoice type code missing

An Invoice shall have an Invoice type code (BT-3).

BR-05Invoice currency code missing

An Invoice shall have an Invoice currency code (BT-5).

BR-29Invoice period ends before it starts

If both Invoicing period start date (BT-73) and end date (BT-74) are given, the end date shall be later or equal to the start date.

BR-55Preceding invoice reference incomplete

Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25).

BR-CO-03Both tax point date and code present

Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.

BR-CO-19Empty invoice period

If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the end date (BT-74) shall be filled, or both.

BR-IC-11Intra-community supply without delivery date

In an Invoice with a VAT breakdown where the category is 'Intra-community supply' the Actual delivery date (BT-72) or the Invoicing period (BG-14) shall not be blank.

BR-CL-01Unknown invoice type code

The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.

BR-CL-04Unknown currency code

Invoice currency code (BT-5) and VAT accounting currency code (BT-6) MUST be coded using ISO 4217 alpha-3.

PEPPOL-EN16931-R001Business process missing

Business process MUST be provided.

PEPPOL-EN16931-R002More than one invoice note

No more than one note is allowed on document level, unless both supplier and buyer are German organisations.

PEPPOL-EN16931-R003Buyer reference or order reference missing

A buyer reference or purchase order reference MUST be provided.

PEPPOL-EN16931-R004Wrong Peppol specification identifier

Specification identifier MUST have the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.

PEPPOL-EN16931-R005Accounting currency equals invoice currency

VAT accounting currency code MUST be different from invoice currency code when provided.

PEPPOL-EN16931-R007Invalid business process format

Business process MUST be in the format 'urn:fdc:peppol.eu:2017:poacc:billing:NN:1.0' where NN indicates the process number.

PEPPOL-EN16931-P0100Invoice type code not allowed in Peppol

Invoice type code MUST be set according to the Peppol BIS 3 subset (e.g. 380, 383, 386, 393, 82, 80, 84, 395, 575, 623, 780 …).

PEPPOL-EN16931-P0101Credit note type code not allowed in Peppol

Credit note type code MUST be set according to the Peppol BIS 3 subset (81, 83, 261, 262, 296, 308, 381, 396, 420, 458, 532).

BR-DE-15Buyer reference (Leitweg-ID) missing

An XRechnung must contain the buyer reference (BT-10). For German public buyers this is the Leitweg-ID.

BR-DE-17Invoice type code not used in XRechnung

XRechnung expects one of the type codes 326 (partial invoice), 380 (commercial invoice), 384 (corrected invoice), 389 (self-billed invoice), 381 (credit note), 875, 876 or 877 (construction invoices).

Parties

RuleDescription
BR-06Seller name missing

An Invoice shall contain the Seller name (BT-27).

BR-07Buyer name missing

An Invoice shall contain the Buyer name (BT-44).

BR-08Seller postal address missing

An Invoice shall contain the Seller postal address (BG-5).

BR-09Seller country code missing

The Seller postal address (BG-5) shall contain a Seller country code (BT-40).

BR-10Buyer postal address missing

An Invoice shall contain the Buyer postal address (BG-8).

BR-11Buyer country code missing

The Buyer postal address shall contain a Buyer country code (BT-55).

BR-17Payee name missing

The Payee name (BT-59) shall be provided if the Payee (BG-10) is different from the Seller.

BR-18Tax representative name missing

The Seller tax representative name (BT-62) shall be provided if the Seller has a tax representative.

BR-19Tax representative address missing

The Seller tax representative postal address (BG-12) shall be provided if the Seller has a tax representative.

BR-56Tax representative VAT number missing

Each Seller tax representative party (BG-11) shall have a Seller tax representative VAT identifier (BT-63).

BR-57Deliver-to country code missing

Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).

BR-62Seller electronic address scheme missing

The Seller electronic address (BT-34) shall have a Scheme identifier.

BR-63Buyer electronic address scheme missing

The Buyer electronic address (BT-49) shall have a Scheme identifier.

BR-CO-09VAT identifier without country prefix

The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix 'EL'.

BR-CO-26Seller cannot be identified

In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.

BR-S-02Standard rated without seller VAT number

An Invoice that contains a line where the VAT category is 'Standard rated' shall contain the Seller VAT identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

BR-AE-02Reverse charge without both VAT numbers

An Invoice that contains a line where the VAT category code is 'Reverse charge' shall contain the Seller VAT identifier (or tax representative VAT identifier) and the Buyer VAT identifier (or Buyer legal registration identifier).

BR-IC-02Intra-community supply without VAT numbers

An Invoice that contains a line where the VAT category code is 'Intra-community supply' shall contain the Seller VAT identifier (or tax representative VAT identifier) and the Buyer VAT identifier.

BR-IC-12Intra-community supply without delivery country

In an Invoice with a VAT breakdown where the category is 'Intra-community supply' the Deliver to country code (BT-80) shall not be blank.

BR-G-02Export without seller VAT number

An Invoice that contains a line where the VAT category code is 'Export outside the EU' shall contain the Seller VAT identifier (BT-31) or the Seller tax representative VAT identifier (BT-63).

BR-O-02VAT numbers on out-of-scope invoice

An Invoice that contains a line where the VAT category code is 'Not subject to VAT' shall not contain the Seller VAT identifier, the Seller tax representative VAT identifier or the Buyer VAT identifier.

BR-CL-14Unknown country code

Country codes in an invoice MUST be coded using ISO code list 3166-1 alpha-2.

BR-CL-25Unknown electronic address scheme

Endpoint identifier scheme identifier MUST belong to the CEF EAS code list.

PEPPOL-EN16931-R010Buyer electronic address missing

Buyer electronic address MUST be provided.

PEPPOL-EN16931-R020Seller electronic address missing

Seller electronic address MUST be provided.

PEPPOL-COMMON-R040Invalid GLN

GLN must have a valid format according to GS1 rules (13 digits with a valid check digit).

IV-VAT-01VAT number has invalid format

The VAT identifier does not match the national format of its country prefix, so tax authorities and VIES will reject it.

IV-VAT-02VAT number check digit mismatch

The VAT identifier has the right shape but its check digit does not match the national algorithm — it is most likely a typo.

IV-VAT-03VAT prefix differs from address country

The seller VAT prefix differs from the seller country. This is legitimate for foreign VAT registrations but is a frequent copy-paste error.

IV-BE-01Belgian enterprise number check failed

The Belgian enterprise number (scheme 0208) does not pass its mod-97 check.

BR-DE-2Seller contact missing

An XRechnung must contain the seller contact group (BG-6).

BR-DE-3Seller city missing

The seller postal address must contain the city (BT-37).

BR-DE-4Seller post code missing

The seller postal address must contain the post code (BT-38).

BR-DE-5Seller contact name missing

The seller contact must contain a contact point (BT-41), e.g. a person or department name.

BR-DE-6Seller contact telephone missing

The seller contact must contain a telephone number (BT-42).

BR-DE-7Seller contact email missing

The seller contact must contain an email address (BT-43).

BR-DE-8Buyer city missing

The buyer postal address must contain the city (BT-52).

BR-DE-9Buyer post code missing

The buyer postal address must contain the post code (BT-53).

BR-DE-16Seller VAT or tax number missing

When VAT categories S, Z, E, AE, K, G, L or M are used, the seller VAT identifier (BT-31), the seller tax registration number (BT-32) or the tax representative VAT identifier (BT-63) must be given.

Line items

RuleDescription
BR-16No invoice lines

An Invoice shall have at least one Invoice line (BG-25).

BR-21Line identifier missing

Each Invoice line shall have an Invoice line identifier (BT-126).

BR-22Invoiced quantity missing

Each Invoice line shall have an Invoiced quantity (BT-129).

BR-23Unit of measure missing

An Invoice line shall have an Invoiced quantity unit of measure code (BT-130).

BR-24Line net amount missing

Each Invoice line shall have an Invoice line net amount (BT-131).

BR-25Item name missing

Each Invoice line shall contain the Item name (BT-153).

BR-26Item net price missing

Each Invoice line shall contain the Item net price (BT-146).

BR-27Negative item net price

The Item net price (BT-146) shall NOT be negative.

BR-28Negative item gross price

The Item gross price (BT-148) shall NOT be negative.

BR-30Line period ends before it starts

If both Invoice line period start date (BT-134) and end date (BT-135) are given, the end date shall be later or equal to the start date.

BR-41Line allowance amount missing

Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).

BR-42Line allowance reason missing

Each Invoice line allowance (BG-27) shall have a reason (BT-139) or reason code (BT-140).

BR-43Line charge amount missing

Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).

BR-44Line charge reason missing

Each Invoice line charge (BG-28) shall have a reason (BT-144) or reason code (BT-145).

BR-54Item attribute incomplete

Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).

BR-64Item standard identifier scheme missing

The Item standard identifier (BT-157) shall have a Scheme identifier.

BR-65Item classification scheme missing

The Item classification identifier (BT-158) shall have a Scheme identifier.

BR-CO-04Line without VAT category

Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

BR-CO-20Empty line period

If Invoice line period (BG-26) is used, the start date (BT-134) or end date (BT-135) shall be filled, or both.

BR-S-05Standard rate must be greater than zero

In an Invoice line where the VAT category code is 'Standard rated' the invoiced item VAT rate (BT-152) shall be greater than zero.

BR-Z-05Zero rated line with non-zero rate

In an Invoice line where the VAT category code is 'Zero rated' the invoiced item VAT rate (BT-152) shall be 0.

BR-E-05Exempt line with non-zero rate

In an Invoice line where the VAT category code is 'Exempt from VAT', the invoiced item VAT rate (BT-152) shall be 0.

BR-AE-05Reverse charge line with non-zero rate

In an Invoice line where the VAT category code is 'Reverse charge' the invoiced item VAT rate (BT-152) shall be 0.

BR-IC-05Intra-community line with non-zero rate

In an Invoice line where the VAT category code is 'Intra-community supply' the invoiced item VAT rate (BT-152) shall be 0.

BR-G-05Export line with non-zero rate

In an Invoice line where the VAT category code is 'Export outside the EU' the invoiced item VAT rate (BT-152) shall be 0.

BR-O-05Out-of-scope line with VAT rate

An Invoice line where the VAT category code is 'Not subject to VAT' shall not contain an invoiced item VAT rate (BT-152).

PEPPOL-EN16931-R044Charge on price level

Charge on price level is NOT allowed. Only value 'false' allowed.

PEPPOL-EN16931-R046Net price ≠ gross price − discount

Item net price MUST equal (Gross price − Allowance amount) when gross price is provided.

PEPPOL-EN16931-R110Line period starts before invoice period

Start date of line period MUST be within invoice period.

PEPPOL-EN16931-R111Line period ends after invoice period

End date of line period MUST be within invoice period.

PEPPOL-EN16931-R120Line net amount calculation error

Invoice line net amount MUST equal (Invoiced quantity × (Item net price / item price base quantity) + Sum of invoice line charge amount − sum of invoice line allowance amount.

PEPPOL-EN16931-R121Base quantity not positive

Base quantity MUST be a positive number above zero.

PEPPOL-EN16931-R130Base quantity unit differs

Unit code of price base quantity MUST be same as invoiced quantity.

IV-UNIT-01Uncommon unit code

The unit of measure code is not in our list of common UN/ECE Recommendation 20/21 codes. It may still be valid.

VAT breakdown

RuleDescription
BR-32Document allowance VAT category missing

Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).

BR-37Document charge VAT category missing

Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).

BR-45VAT taxable amount missing

Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).

BR-46VAT category tax amount missing

Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).

BR-47VAT category code missing

Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).

BR-48VAT category rate missing

Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.

BR-CO-14VAT total does not match breakdown

Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).

BR-CO-17VAT amount does not match rate

VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) × (VAT category rate (BT-119) / 100), rounded to two decimals.

BR-CO-18No VAT breakdown

An Invoice shall at least have one VAT breakdown group (BG-23).

BR-S-01Standard rated items without S breakdown

An Invoice that contains a line, allowance or charge where the VAT category code is 'Standard rated' shall contain in the VAT breakdown at least one VAT category code equal to 'Standard rated'.

BR-S-08Standard rate taxable amount mismatch

For each different value of VAT category rate (BT-119) where the category is 'Standard rated', the taxable amount (BT-116) shall equal the sum of line net amounts plus charges minus allowances with that category and rate.

BR-S-10Exemption reason on standard rate

A VAT breakdown with VAT category code 'Standard rated' shall not have a VAT exemption reason code (BT-121) or text (BT-120).

BR-Z-10Exemption reason on zero rate

A VAT breakdown with category 'Zero rated' shall not have a VAT exemption reason code or text.

BR-E-10Exemption reason missing

A VAT breakdown with VAT category code 'Exempt from VAT' shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

BR-AE-10Reverse charge reason missing

A VAT breakdown with VAT category code 'Reverse charge' shall have a VAT exemption reason code (BT-121), meaning 'Reverse charge', or the VAT exemption reason text (BT-120) 'Reverse charge'.

BR-IC-10Intra-community exemption reason missing

A VAT breakdown with VAT category code 'Intra-community supply' shall have a VAT exemption reason code (BT-121) or text (BT-120).

BR-O-10Out-of-scope exemption reason missing

A VAT breakdown with VAT category code 'Not subject to VAT' shall have a VAT exemption reason code (BT-121) or text (BT-120).

BR-VAT-08Taxable amount per category mismatch

For each VAT category and rate, the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts minus document level allowances plus document level charges with that category and rate (BR-Z-08, BR-E-08, BR-AE-08, BR-IC-08, BR-G-08, BR-O-08).

BR-VAT-01VAT category used but missing in breakdown

An Invoice that contains a line, allowance or charge with a given VAT category code shall contain a VAT breakdown group with the same category (BR-Z-01, BR-E-01, BR-AE-01, BR-IC-01, BR-G-01, BR-O-01).

BR-CL-17Unknown VAT category code

Invoice tax categories MUST be coded using UNCL5305 code list (S, Z, E, AE, K, G, O, L, M).

PEPPOL-EN16931-R053Multiple tax totals with subtotals

Only one tax total with tax subtotals MUST be provided.

PEPPOL-EN16931-R055VAT totals with different signs

Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign.

Totals

RuleDescription
BR-12Sum of line net amounts missing

An Invoice shall have the Sum of Invoice line net amount (BT-106).

BR-13Total without VAT missing

An Invoice shall have the Invoice total amount without VAT (BT-109).

BR-14Total with VAT missing

An Invoice shall have the Invoice total amount with VAT (BT-112).

BR-15Amount due for payment missing

An Invoice shall have the Amount due for payment (BT-115).

BR-31Document allowance amount missing

Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).

BR-33Document allowance reason missing

Each Document level allowance (BG-20) shall have a Document level allowance reason (BT-97) or reason code (BT-98).

BR-36Document charge amount missing

Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).

BR-38Document charge reason missing

Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or reason code (BT-105).

BR-53VAT total in accounting currency missing

If the VAT accounting currency code (BT-6) is present, the Invoice total VAT amount in accounting currency (BT-111) shall be provided.

BR-CO-10Sum of line amounts does not match

Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131).

BR-CO-11Allowance total does not match

Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).

BR-CO-12Charge total does not match

Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).

BR-CO-13Total without VAT does not match

Invoice total amount without VAT (BT-109) = Σ Invoice line net amount (BT-131) − Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

BR-CO-15Total with VAT does not match

Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

BR-CO-16Amount due does not match

Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) − Paid amount (BT-113) + Rounding amount (BT-114).

BR-DECToo many decimals in amount

Document and line amounts (BT-92, 93, 99, 100, 106–117, 131, 136, 137, 141, 142) shall have a maximum of two decimals (BR-DEC-01 … BR-DEC-28).

PEPPOL-EN16931-R040Allowance/charge amount does not match percentage

Allowance/charge amount must equal base amount × percentage / 100 if base amount and percentage exists.

PEPPOL-EN16931-R041Base amount missing for percentage

Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.

PEPPOL-EN16931-R042Percentage missing for base amount

Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.

PEPPOL-EN16931-R043Invalid charge indicator

Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'.

PEPPOL-EN16931-R051Amount in a different currency

All currencyID attributes MUST have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111).

Payment

RuleDescription
BR-49Payment means code missing

A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).

BR-61Payment account missing for credit transfer

If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.

BR-CO-25No due date or payment terms

In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.

BR-CL-16Unknown payment means code

Payment means in an invoice MUST be coded using UNCL4461 code list.

PEPPOL-EN16931-R061Mandate reference missing

Mandate reference MUST be provided for direct debit.

IV-DATE-01Due date before issue date

The payment due date is earlier than the invoice issue date.

IV-IBAN-01IBAN check digits invalid

The payment account looks like an IBAN but its ISO 13616 check digits are invalid.

BR-DE-1Payment instructions missing

An XRechnung must contain payment instructions (BG-16), i.e. at least a payment means code.