Rules 332 codes
E-invoice rules and error codes
Each of the 332 codes our checker reports has a page here: what the rule says, why a validator reports it and how to fix the error. The codes are grouped the way validators write them.
Rule groups
- BR Mandatory data of the document: number and date, seller, buyer, addresses, lines, allowances, charges, the VAT breakdown and payment details. 58 codes.
- BR-CO Totals that have to add up and data that depend on each other: for example the amount due, the VAT breakdown or the reason of an allowance. 20 codes.
- BR-DEC How many decimals the amounts in the document may have. 21 codes.
- BR-CL The value has to come from the prescribed code list: document type, currency, country, unit, VAT category, payment means and more. 23 codes.
- BR-S Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category S, that is standard rated. 10 codes.
- BR-Z Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category Z, that is zero rated. 10 codes.
- BR-E Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category E, that is exempt from VAT. 10 codes.
- BR-AE Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category AE, that is VAT reverse charge. 10 codes.
- BR-G Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category G, that is export outside the EU. 10 codes.
- BR-IC Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category K, that is intra-community supply. 12 codes.
- BR-O Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category O, that is not subject to VAT. 14 codes.
- BR-AF Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category L, that is IGIC (Canary Islands). 10 codes.
- BR-AG Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category M, that is IPSI (Ceuta and Melilla). 10 codes.
- BR-B Rules for documents where a line, an allowance, a charge or the VAT breakdown uses category B, that is split payment (Italy). 2 codes.
- PEPPOL-EN16931-R What the Peppol network asks for on top of EN 16931: data that must not be missing and calculations on lines, allowances and charges. 28 codes.
- PEPPOL-EN16931-P Which document type codes Peppol accepts and which VATEX exemption code belongs to which VAT category. 11 codes.
- PEPPOL-EN16931-CL, F Code lists that Peppol narrows down (attachment types, allowance and charge reasons, currencies, electronic address schemes) and the way a date is written. 7 codes.
- PEPPOL-COMMON-R Length and check digit of identifiers: GLN and national organisation numbers from Norway, Denmark, Belgium, Italy, Sweden and Australia. 13 codes.
- BR-DE, BR-TMP What the German XRechnung asks for on top of EN 16931: seller contact, the Leitweg-ID in BT-10, payment details, and city and post code in the addresses. The BR-TMP rules come from the same schematron. 34 codes.
- BR-DEX Rules for documents that declare the XRechnung extension in cbc:CustomizationID: attachments and the schemeID attribute of identifiers. 6 codes.
- ARL, XML, CII Checks we added ourselves, not taken from a schematron: the shape of the XML file, CII syntax, IBAN, VAT number, Leitweg-ID, dates and currency. 13 codes.
BR: EN 16931 core rules
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 58 codes
- BR-01 The specification identifier (BT-24, element cbc:CustomizationID) is missing
- BR-02 The invoice number (BT-1, element cbc:ID) is missing
- BR-03 The issue date (BT-2, element cbc:IssueDate) is missing
- BR-04 The invoice type code (BT-3) is missing
- BR-05 The invoice currency code (BT-5, element cbc:DocumentCurrencyCode) is…
- BR-06 The seller name (BT-27) is missing
- BR-07 The buyer name (BT-44) is missing
- BR-08 The seller postal address (BG-5, element cac:PostalAddress) is missing
- BR-09 The seller address is missing the country code (BT-40) in…
- BR-10 The buyer postal address (BG-8, element cac:PostalAddress) is missing
- BR-11 The buyer address is missing the country code (BT-55) in…
- BR-12 Missing: the sum of invoice line net amounts (BT-106)
- BR-13 Missing: the invoice total amount without VAT (BT-109)
- BR-14 Missing: the invoice total amount with VAT (BT-112)
- BR-15 Missing: the amount due for payment (BT-115)
- BR-16 The invoice has no lines at all (BG-25)
- BR-17 The payee (BG-10) needs its own name in cac:PartyName/cbc:Name and it has…
- BR-18 The seller tax representative (BG-11) needs a name (BT-62) in…
- BR-19 The seller tax representative (BG-11) needs a postal address
- BR-20 The tax representative address is missing the country code (BT-69)
- BR-21 Line 1 has no identifier (BT-126)
- BR-22 Line 1 has no quantity (BT-129)
- BR-23 Line 1: the quantity needs a unit of measure code (BT-130) in the unitCode…
- BR-24 Line 1 has no net amount (BT-131)
- BR-25 Line 1 has no item name (BT-153) in cac:Item/cbc:Name
- BR-26 Line 1 has no item net price (BT-146) in cac:Price/cbc:PriceAmount
- BR-27 Line 1: the item net price (BT-146) must not be negative
- BR-28 Line 1: the item gross price (BT-148) must not be negative
- BR-29 The end of the period (2026-08-31) is earlier than its start (2026-09-30)
- BR-30 The end of the period (2026-08-31) is earlier than its start (2026-09-30)
- BR-31 The allowance on document level has no amount
- BR-32 The allowance on document level has no VAT category code
- BR-33 The allowance on document level needs a reason
- BR-36 The charge on document level has no amount
- BR-37 The charge on document level has no VAT category code
- BR-38 The charge on document level needs a reason
- BR-41 The allowance on line level has no amount
- BR-42 The allowance on line level needs a reason
- BR-43 The charge on line level has no amount
- BR-44 The charge on line level needs a reason
- BR-45 The VAT breakdown is missing the taxable amount (BT-116, cbc:TaxableAmount)
- BR-46 The VAT breakdown is missing the VAT category tax amount
- BR-47 The VAT breakdown is missing the VAT category code (BT-118)
- BR-48 The VAT breakdown is missing the VAT category rate (BT-119, cbc:Percent)
- BR-49 Payment instructions (BG-16) need a payment means code (BT-81) in…
- BR-50 The payment account identifier (BT-84) is empty
- BR-51 The payment card number (BT-87) is longer than 10 characters
- BR-52 Every supporting document (BG-24) needs a reference (BT-122) in cbc:ID
- BR-53 If the VAT accounting currency code is present…
- BR-54 An item attribute (BG-32) needs both a name (BT-160, cbc:Name) and a value
- BR-55 A reference to a preceding invoice (BG-3) needs that invoice number (BT-25)…
- BR-56 The seller tax representative (BG-11) needs a VAT identifier (BT-63) in…
- BR-57 The deliver to address (BG-15) is missing the country code (BT-80) in…
- BR-61 With payment means 58 (credit transfer) the payment account identifier…
- BR-62 The seller electronic address (BT-34) needs a schemeID attribute, for example…
- BR-63 The buyer electronic address (BT-49) needs a schemeID attribute from the…
- BR-64 The item standard identifier (BT-157) needs a schemeID attribute, for example…
- BR-65 The item classification identifier (BT-158) needs a listID attribute, for…
BR-CO: EN 16931 conditions and totals
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 20 codes
- BR-CO-03 The value added tax point date (BT-7, cbc:TaxPointDate) and its code…
- BR-CO-04 Line 1 has no VAT category code (BT-151)
- BR-CO-09 A VAT identifier has to start with a country code from ISO 3166-1 alpha-2…
- BR-CO-10 Correct the total or the line amounts
- BR-CO-11 The allowance total does not add up: cbc:AllowanceTotalAmount (BT-107) is…
- BR-CO-12 The charge total does not add up: cbc:ChargeTotalAmount (BT-108) is…
- BR-CO-13 The invoice total without VAT (BT-109) should be the line total minus…
- BR-CO-14 The invoice total VAT amount (BT-110, cac:TaxTotal/cbc:TaxAmount) is…
- BR-CO-15 The invoice total with VAT (BT-112) should be the total without VAT…
- BR-CO-16 The amount due for payment (BT-115) should be the total with VAT…
- BR-CO-17 The VAT in the breakdown does not match: taxable amount…
- BR-CO-18 The VAT breakdown (BG-23) is missing
- BR-CO-19 The invoicing period is present but empty
- BR-CO-20 The invoicing period is present but empty
- BR-CO-21 The allowance on document level needs a reason
- BR-CO-22 The charge on document level needs a reason
- BR-CO-23 The allowance on line level needs a reason
- BR-CO-24 The charge on line level needs a reason
- BR-CO-25 The amount due for payment is positive, so the invoice needs either a…
- BR-CO-26 The seller carries no identifier
BR-DEC: decimals of amounts
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 21 codes
- BR-DEC-01 The amount for the document level allowance amount (BT-92, cbc:Amount) has…
- BR-DEC-02 The amount for the document level allowance base amount…
- BR-DEC-05 The amount for the document level charge amount (BT-99, cbc:Amount) has more…
- BR-DEC-06 The amount for the document level charge base amount (BT-100, cbc:BaseAmount)…
- BR-DEC-09 The amount for the sum of invoice line net amounts…
- BR-DEC-10 The amount for the sum of allowances on document level…
- BR-DEC-11 The amount for the sum of charges on document level…
- BR-DEC-12 The amount for the invoice total amount without VAT…
- BR-DEC-13 The invoice total VAT amount (cac:TaxTotal/cbc:TaxAmount) has more than…
- BR-DEC-14 The amount for the invoice total amount with VAT…
- BR-DEC-15 The invoice total VAT amount (cac:TaxTotal/cbc:TaxAmount) has more than…
- BR-DEC-16 The amount for the paid amount (BT-113, cbc:PrepaidAmount) has more than…
- BR-DEC-17 The amount for the rounding amount (BT-114, cbc:PayableRoundingAmount) has…
- BR-DEC-18 The amount for the amount due for payment (BT-115, cbc:PayableAmount) has…
- BR-DEC-19 The amount for the VAT category taxable amount (BT-116, cbc:TaxableAmount)…
- BR-DEC-20 The amount for the VAT category tax amount (BT-117, cbc:TaxAmount) has more…
- BR-DEC-23 The amount for the invoice line net amount (BT-131, cbc:LineExtensionAmount)…
- BR-DEC-24 The amount for the invoice line allowance amount (BT-136, cbc:Amount) has…
- BR-DEC-25 The amount for the invoice line allowance base amount…
- BR-DEC-27 The amount for the invoice line charge amount (BT-141, cbc:Amount) has more…
- BR-DEC-28 The amount for the invoice line charge base amount (BT-142, cbc:BaseAmount)…
BR-CL: EN 16931 code lists
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 23 codes
- BR-CL-01 Use a code from the UNTDID 1001 for invoices…
- BR-CL-03 Use a code from the ISO 4217 alpha-3 (for example EUR) code list
- BR-CL-04 Use a code from the ISO 4217 alpha-3 (for example EUR) code list
- BR-CL-05 Use a code from the ISO 4217 alpha-3 code list
- BR-CL-06 Use a code from the UNTDID 2005 limited to…
- BR-CL-07 Use a code from the UNTDID 1153 code list
- BR-CL-08 Use a code from the UNTDID 4451 code list
- BR-CL-10 Use a code from the ISO 6523 ICD code list
- BR-CL-11 Use a code from the ISO 6523 ICD code list
- BR-CL-13 Use a code from the UNTDID 7143 code list
- BR-CL-14 Use a code from the ISO 3166-1 alpha-2 (for example IE, NL, DE) code list
- BR-CL-15 Use a code from the ISO 3166-1 alpha-2 code list
- BR-CL-16 Use a code from the UNTDID 4461 (for example 58 for a SEPA credit transfer)…
- BR-CL-17 Use a code from the UNTDID 5305 (S, Z, E, AE, K, G, O, L, M, B) code list
- BR-CL-18 Use a code from the UNTDID 5305 (S, Z, E, AE, K, G, O, L, M, B) code list
- BR-CL-19 Use a code from the UNCL 5189 code list
- BR-CL-20 Use a code from the UNCL 7161 code list
- BR-CL-21 Use a code from the ISO 6523 ICD code list
- BR-CL-22 Use a code from the CEF VATEX (for example VATEX-EU-AE) code list
- BR-CL-23 Use a code from the UN/ECE Rec
- BR-CL-24 Use a code from the MIMEMediaType…
- BR-CL-25 Use a code from the CEF EAS code list
- BR-CL-26 Use a code from the ISO 6523 ICD code list
BR-S: VAT category S, standard rated
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-S-01 The document uses VAT category S (standard rated), so the VAT breakdown…
- BR-S-02 With VAT category S (standard rated) the invoice has to carry the seller…
- BR-S-03 With VAT category S (standard rated) the invoice has to carry the seller…
- BR-S-04 With VAT category S (standard rated) the invoice has to carry the seller…
- BR-S-05 Line 1 has VAT category S (standard rated), so the VAT rate has to be…
- BR-S-06 The allowance on document level has VAT category S (standard rated), so the…
- BR-S-07 The charge on document level has VAT category S (standard rated), so the…
- BR-S-08 The taxable amount for VAT category S (standard rated) at the rate % should…
- BR-S-09 With VAT category S (standard rated) the VAT amount should be the taxable…
- BR-S-10 With VAT category S (standard rated) the VAT breakdown must not carry an…
BR-Z: VAT category Z, zero rated
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-Z-01 The document uses VAT category Z (zero rated), so the VAT breakdown (BG-23)…
- BR-Z-02 With VAT category Z (zero rated) the invoice has to carry the seller VAT…
- BR-Z-03 With VAT category Z (zero rated) the invoice has to carry the seller VAT…
- BR-Z-04 With VAT category Z (zero rated) the invoice has to carry the seller VAT…
- BR-Z-05 Line 1 has VAT category Z (zero rated), so the VAT rate has to be 0
- BR-Z-06 The allowance on document level has VAT category Z (zero rated), so the VAT…
- BR-Z-07 The charge on document level has VAT category Z (zero rated), so the VAT rate…
- BR-Z-08 The taxable amount for VAT category Z (zero rated) should be…
- BR-Z-09 With VAT category Z (zero rated) the VAT amount in the breakdown has to be…
- BR-Z-10 With VAT category Z (zero rated) the VAT breakdown must not carry an…
BR-E: VAT category E, exempt from VAT
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-E-01 The document uses VAT category E (exempt from VAT), so the VAT breakdown…
- BR-E-02 With VAT category E (exempt from VAT) the invoice has to carry the seller…
- BR-E-03 With VAT category E (exempt from VAT) the invoice has to carry the seller…
- BR-E-04 With VAT category E (exempt from VAT) the invoice has to carry the seller…
- BR-E-05 Line 3 has VAT category E (exempt from VAT), so the VAT rate has to be 0
- BR-E-06 The allowance on document level has VAT category E (exempt from VAT), so the…
- BR-E-07 The charge on document level has VAT category E (exempt from VAT), so the VAT…
- BR-E-08 The taxable amount for VAT category E (exempt from VAT) should be…
- BR-E-09 With VAT category E (exempt from VAT) the VAT amount in the breakdown has to…
- BR-E-10 With VAT category E (exempt from VAT) the VAT breakdown has to carry an…
BR-AE: VAT category AE, VAT reverse charge
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-AE-01 The document uses VAT category AE (VAT reverse charge), so the VAT…
- BR-AE-02 With VAT category AE (VAT reverse charge) the invoice has to carry the…
- BR-AE-03 With VAT category AE (VAT reverse charge) the invoice has to carry the…
- BR-AE-04 With VAT category AE (VAT reverse charge) the invoice has to carry the…
- BR-AE-05 Line 1 has VAT category AE (VAT reverse charge), so the VAT rate has to be…
- BR-AE-06 The allowance on document level has VAT category AE (VAT reverse charge), so…
- BR-AE-07 The charge on document level has VAT category AE (VAT reverse charge), so the…
- BR-AE-08 The taxable amount for VAT category AE (VAT reverse charge) should be…
- BR-AE-09 With VAT category AE (VAT reverse charge) the VAT amount in the breakdown has…
- BR-AE-10 With VAT category AE (VAT reverse charge) the VAT breakdown has to carry an…
BR-G: VAT category G, export outside the EU
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-G-01 The document uses VAT category G (export outside the EU), so the VAT…
- BR-G-02 With VAT category G (export outside the EU) the invoice has to carry the…
- BR-G-03 With VAT category G (export outside the EU) the invoice has to carry the…
- BR-G-04 With VAT category G (export outside the EU) the invoice has to carry the…
- BR-G-05 Line 1 has VAT category G (export outside the EU), so the VAT rate has to…
- BR-G-06 The allowance on document level has VAT category G (export outside the EU)…
- BR-G-07 The charge on document level has VAT category G (export outside the EU), so…
- BR-G-08 The taxable amount for VAT category G (export outside the EU) should be…
- BR-G-09 With VAT category G (export outside the EU) the VAT amount in the breakdown…
- BR-G-10 With VAT category G (export outside the EU) the VAT breakdown has to carry…
BR-IC: VAT category K, intra-community supply
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 12 codes
- BR-IC-01 The document uses VAT category K (intra-community supply), so the VAT…
- BR-IC-02 With VAT category K (intra-community supply) the invoice has to carry the…
- BR-IC-03 With VAT category K (intra-community supply) the invoice has to carry the…
- BR-IC-04 With VAT category K (intra-community supply) the invoice has to carry the…
- BR-IC-05 Line 1 has VAT category K (intra-community supply), so the VAT rate has to…
- BR-IC-06 The allowance on document level has VAT category K (intra-community supply)…
- BR-IC-07 The charge on document level has VAT category K (intra-community supply), so…
- BR-IC-08 The taxable amount for VAT category K (intra-community supply) should be…
- BR-IC-09 With VAT category K (intra-community supply) the VAT amount in the breakdown…
- BR-IC-10 With VAT category K (intra-community supply) the VAT breakdown has to carry…
- BR-IC-11 With an intra-community supply (category K) the invoice needs either the…
- BR-IC-12 With an intra-community supply (category K) the deliver to country code…
BR-O: VAT category O, not subject to VAT
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 14 codes
- BR-O-01 The document uses VAT category O (not subject to VAT), so the VAT breakdown…
- BR-O-02 With VAT category O (not subject to VAT) the document must not carry a…
- BR-O-03 With VAT category O (not subject to VAT) the document must not carry a…
- BR-O-04 With VAT category O (not subject to VAT) the document must not carry a…
- BR-O-05 Line 1 has VAT category O (not subject to VAT), so no VAT rate…
- BR-O-06 The allowance on document level has VAT category O (not subject to VAT), so…
- BR-O-07 The charge on document level has VAT category O (not subject to VAT), so no…
- BR-O-08 The taxable amount for VAT category O (not subject to VAT) should be…
- BR-O-09 With VAT category O (not subject to VAT) the VAT amount in the breakdown has…
- BR-O-10 With VAT category O (not subject to VAT) the VAT breakdown has to carry an…
- BR-O-11 The document has a VAT breakdown with category O (not subject to VAT), so…
- BR-O-12 The document has a VAT breakdown with category O, so every invoice line has…
- BR-O-13 The document has a VAT breakdown with category O, so every document level…
- BR-O-14 The document has a VAT breakdown with category O, so every document level…
BR-AF: VAT category L, IGIC (Canary Islands)
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-AF-01 The document uses VAT category L (IGIC, Canary Islands), so the VAT…
- BR-AF-02 With VAT category L (IGIC, Canary Islands) the invoice has to carry the…
- BR-AF-03 With VAT category L (IGIC, Canary Islands) the invoice has to carry the…
- BR-AF-04 With VAT category L (IGIC, Canary Islands) the invoice has to carry the…
- BR-AF-05 Line 1 has VAT category L (IGIC, Canary Islands), so the VAT rate has to be…
- BR-AF-06 The allowance on document level has VAT category L (IGIC, Canary Islands)…
- BR-AF-07 The charge on document level has VAT category L (IGIC, Canary Islands), so…
- BR-AF-08 The taxable amount for VAT category L (IGIC, Canary Islands) at the rate…
- BR-AF-09 With VAT category L (IGIC, Canary Islands) the VAT amount should be the…
- BR-AF-10 With VAT category L (IGIC, Canary Islands) the VAT breakdown must not carry…
BR-AG: VAT category M, IPSI (Ceuta and Melilla)
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 10 codes
- BR-AG-01 The document uses VAT category M (IPSI, Ceuta and Melilla), so the VAT…
- BR-AG-02 With VAT category M (IPSI, Ceuta and Melilla) the invoice has to carry the…
- BR-AG-03 With VAT category M (IPSI, Ceuta and Melilla) the invoice has to carry the…
- BR-AG-04 With VAT category M (IPSI, Ceuta and Melilla) the invoice has to carry the…
- BR-AG-05 Line 1 has VAT category M (IPSI, Ceuta and Melilla), so the VAT rate has to…
- BR-AG-06 The allowance on document level has VAT category M…
- BR-AG-07 The charge on document level has VAT category M (IPSI, Ceuta and Melilla)…
- BR-AG-08 The taxable amount for VAT category M (IPSI, Ceuta and Melilla) at the rate…
- BR-AG-09 With VAT category M (IPSI, Ceuta and Melilla) the VAT amount should be the…
- BR-AG-10 With VAT category M (IPSI, Ceuta and Melilla) the VAT breakdown must not…
BR-B: VAT category B, split payment (Italy)
EN 16931 schematron (ConnectingEurope/eInvoicing-EN16931, licence EUPL 1.2), 2 codes
- BR-B-01 VAT category B (split payment) may only be used on a domestic Italian…
- BR-B-02 The document uses VAT category B (split payment) and category S…
PEPPOL-EN16931-R: Peppol BIS Billing 3.0 rules
Peppol BIS Billing 3.0 (OpenPEPPOL, peppol-bis-invoice-3), 28 codes
- PEPPOL-EN16931-R001 The business process (BT-23, cbc:ProfileID) is missing
- PEPPOL-EN16931-R002 Only one invoice note (BT-22, cbc:Note) is allowed on document level
- PEPPOL-EN16931-R003 Add either the buyer reference (BT-10, cbc:BuyerReference) or the purchase…
- PEPPOL-EN16931-R004 For Peppol, cbc:CustomizationID (BT-24) has to start with urn:cen.eu:en…
- PEPPOL-EN16931-R005 The VAT accounting currency (BT-6) has to differ from the invoice currency
- PEPPOL-EN16931-R007 The business process (BT-23, cbc:ProfileID) has to look like…
- PEPPOL-EN16931-R008 The element cbc:ProfileID is empty
- PEPPOL-EN16931-R010 The buyer electronic address (BT-49, cbc:EndpointID with a schemeID) is…
- PEPPOL-EN16931-R020 The seller electronic address (BT-34, cbc:EndpointID with a schemeID) is…
- PEPPOL-EN16931-R040 The allowance or charge amount should be the base amount times the percentage…
- PEPPOL-EN16931-R041 If the allowance or charge percentage (cbc:MultiplierFactorNumeric) is…
- PEPPOL-EN16931-R042 If the allowance or charge base amount (cbc:BaseAmount) is given, the…
- PEPPOL-EN16931-R043 cbc:ChargeIndicator has to be true (a charge) or false (an allowance)
- PEPPOL-EN16931-R044 A charge is not allowed on price level
- PEPPOL-EN16931-R046 The item net price (BT-146) should be the gross price minus the price…
- PEPPOL-EN16931-R051 Every amount has to be in the invoice currency (EUR)
- PEPPOL-EN16931-R053 The document needs exactly one cac:TaxTotal group carrying the VAT…
- PEPPOL-EN16931-R054 A cac:TaxTotal group without a VAT breakdown is allowed only when the VAT…
- PEPPOL-EN16931-R055 The VAT amount in the invoice currency (BT-110) and in the VAT accounting…
- PEPPOL-EN16931-R061 With a direct debit (payment means 59) the mandate reference identifier…
- PEPPOL-EN16931-R080 Only one project reference (BT-11) is allowed on document level
- PEPPOL-EN16931-R100 Line 1: only one invoice line object reference (cac:DocumentReference) is…
- PEPPOL-EN16931-R101 Line 1: inside a line, cac:DocumentReference is only used for the invoiced…
- PEPPOL-EN16931-R110 Line 1: the line period starts (…) before the invoicing period starts
- PEPPOL-EN16931-R111 Line 1: the line period ends (…) after the invoicing period ends
- PEPPOL-EN16931-R120 Line 1: the line net amount should be quantity 6 times price 45 divided by…
- PEPPOL-EN16931-R121 Line 1: the item price base quantity (BT-149, cac:Price/cbc:BaseQuantity)…
- PEPPOL-EN16931-R130 Line 1: the unit of the price base quantity (…) has to be the same as the…
PEPPOL-EN16931-P: document types and VATEX codes in Peppol
Peppol BIS Billing 3.0 (OpenPEPPOL, peppol-bis-invoice-3), 11 codes
- PEPPOL-EN16931-P0100 For an ordinary invoice use 380
- PEPPOL-EN16931-P0101 For an ordinary credit note use 381
- PEPPOL-EN16931-P0104 The exemption reason code VATEX-EU-G belongs to VAT category G, but the…
- PEPPOL-EN16931-P0105 The exemption reason code VATEX-EU-O belongs to VAT category O, but the…
- PEPPOL-EN16931-P0106 The exemption reason code VATEX-EU-IC belongs to VAT category K, but the…
- PEPPOL-EN16931-P0107 The exemption reason code VATEX-EU-AE belongs to VAT category AE, but the…
- PEPPOL-EN16931-P0108 The exemption reason code VATEX-EU-D belongs to VAT category E, but the…
- PEPPOL-EN16931-P0109 The exemption reason code VATEX-EU-F belongs to VAT category E, but the…
- PEPPOL-EN16931-P0110 The exemption reason code VATEX-EU-I belongs to VAT category E, but the…
- PEPPOL-EN16931-P0111 The exemption reason code VATEX-EU-J belongs to VAT category E, but the…
- PEPPOL-EN16931-P0112 In Peppol, invoice type code 326 may be used only when both the seller and…
PEPPOL-EN16931-CL, F: code lists and the date format in Peppol
Peppol BIS Billing 3.0 (OpenPEPPOL, peppol-bis-invoice-3), 7 codes
- PEPPOL-EN16931-CL001 Peppol accepts application/pdf, image/png, image/jpeg, text/csv, xlsx and…
- PEPPOL-EN16931-CL002 The reason code "…" is not in the UNCL 5189 code list
- PEPPOL-EN16931-CL003 The reason code "…" is not in the UNCL 7161 code list
- PEPPOL-EN16931-CL006 The value added tax point date code (BT-8) has to be…
- PEPPOL-EN16931-CL007 The currencyID attribute of cbc:Amount has to be an ISO 4217 currency code…
- PEPPOL-EN16931-CL008 Look up the code for your identifier in the CEF EAS code list…
- PEPPOL-EN16931-F001 The date in cbc:IssueDate has to be written as YYYY-MM-DD and has to exist…
PEPPOL-COMMON-R: identifier formats in Peppol
Peppol BIS Billing 3.0 (OpenPEPPOL, peppol-bis-invoice-3), 13 codes
- PEPPOL-COMMON-R040 A GLN needs a valid check digit under the GS…
- PEPPOL-COMMON-R041 A Norwegian organisation number needs 9 digits and a valid modulo…
- PEPPOL-COMMON-R042 A Danish CVR number is 8 digits, or DK followed by 8 digits
- PEPPOL-COMMON-R043 A Belgian enterprise number needs 10 digits and a valid modulo…
- PEPPOL-COMMON-R044 An Italian IPA code should have 6 alphanumeric characters
- PEPPOL-COMMON-R045 An Italian Codice Fiscale should have 16 characters, or 11 digits with a…
- PEPPOL-COMMON-R046 An Italian Codice Fiscale should have 16 characters, or 11 digits with a…
- PEPPOL-COMMON-R047 An Italian Partita IVA should have 11 digits with a valid check digit
- PEPPOL-COMMON-R048 An Italian Partita IVA should have 11 digits with a valid check digit
- PEPPOL-COMMON-R049 A Swedish organisation number needs 10 digits and a valid check digit
- PEPPOL-COMMON-R050 An Australian ABN needs 11 digits and a valid check
- PEPPOL-COMMON-R052 A Danish P number should have 10 digits
- PEPPOL-COMMON-R053 A Danish SE number should look like DK followed by 8 digits
BR-DE, BR-TMP: national rules of XRechnung
XRechnung 3.x (itplr-kosit/xrechnung-schematron, Apache 2.0 licence), 34 codes
- BR-DE-1 XRechnung requires payment instructions (BG-16)
- BR-DE-2 XRechnung requires seller contact details (BG-6)
- BR-DE-3 The seller address is missing the city (BT-37, cbc:CityName)
- BR-DE-4 The seller address is missing the post code (BT-38, cbc:PostalZone)
- BR-DE-5 The seller contact details are missing the contact point name
- BR-DE-6 The seller contact details are missing the telephone number
- BR-DE-7 The seller contact details are missing the e-mail address
- BR-DE-8 The buyer address is missing the city (BT-52, cbc:CityName)
- BR-DE-9 The buyer address is missing the post code (BT-53, cbc:PostalZone)
- BR-DE-10 The deliver to address is missing the city (BT-77, cbc:CityName)
- BR-DE-11 The deliver to address is missing the post code (BT-78, cbc:PostalZone)
- BR-DE-14 XRechnung requires the VAT rate (BT-119) in every VAT breakdown…
- BR-DE-15 XRechnung requires a buyer reference (BT-10, cbc:BuyerReference)
- BR-DE-16 The document uses VAT categories S, E, so it has to carry the seller VAT…
- BR-DE-17 XRechnung expects an invoice type code (BT-3) from a narrower list…
- BR-DE-18 An early payment discount in the payment terms (BT-20) should be written as…
- BR-DE-19 With a SEPA credit transfer (code 58) cac:PayeeFinancialAccount/cbc:ID…
- BR-DE-20 With a SEPA direct debit (code 59)…
- BR-DE-21 For XRechnung, cbc:CustomizationID (BT-24) should start with urn:cen.eu:en…
- BR-DE-22 Every attachment needs its own filename attribute
- BR-DE-23-a With a credit transfer (code 58) the group cac:PayeeFinancialAccount…
- BR-DE-23-b With a credit transfer (code 58) neither the card group (BG-18) nor the…
- BR-DE-24-a With a card payment (code 48) the group cac:CardAccount (BG-18) has to be…
- BR-DE-24-b With a card payment (code 48) neither the bank account group (BG-17) nor…
- BR-DE-25-a With a direct debit (code 59) the group cac:PaymentMandate (BG-19) has to…
- BR-DE-25-b With a direct debit (code 59) neither the payee account group (BG-17) nor…
- BR-DE-26 A corrected invoice (type code 384) should reference the preceding invoice
- BR-DE-27 The seller telephone number (BT-42) should contain at least three digits
- BR-DE-28 The seller e-mail address (BT-43) should contain exactly one @, at least…
- BR-DE-30 With a direct debit (BG-19) the bank assigned creditor identifier (BT-90)…
- BR-DE-31 With a direct debit (BG-19) the debited account identifier (BT-91) has to…
- BR-DE-TMP-32 The document should state when the supply took place: either BT-72…
- BR-TMP-2 The external document location (BT-124, cbc:URI) has to be a full address…
- BR-TMP-6 The date in cbc:IssueDate has to be written as YYYY-MM-DD, with no time and…
BR-DEX: the XRechnung extension
XRechnung 3.x (itplr-kosit/xrechnung-schematron, Apache 2.0 licence), 6 codes
- BR-DEX-01 The XRechnung extension allows only application/xml on top of the usual…
- BR-DEX-04 In the XRechnung extension, schemeID=…
- BR-DEX-05 In the XRechnung extension, schemeID=…
- BR-DEX-06 In the XRechnung extension, schemeID=…
- BR-DEX-07 In the XRechnung extension, the schemeID of the electronic address has to…
- BR-DEX-08 In the XRechnung extension, schemeID=…
ARL, XML, CII: our own ARLing checks
our own check at ARLing, not from a schematron, 13 codes
- ARL-DATUM The date "…" in cbc:IssueDate is not a valid calendar day written as…
- ARL-DATUM-PORADIE The payment due date (…) is earlier than the issue date (2026-09-11)
- ARL-IBAN Check the account number for a typo
- ARL-ICDPH We expect SK followed by 10 digits, for example SK…
- ARL-LEITWEG The buyer reference "…" looks like a German Leitweg-ID but does not match…
- ARL-MENA The element cbc:Amount carries the currency USD while the invoice is in EUR
- ARL-PROFIL We ran the EN 16931 core rules only, without the Peppol and XRechnung rules
- ARL-SK-DIC-TVAR With schemeID="0245" the electronic address has to hold the Slovak tax…
- ARL-SK-SCHEMEID The seller is in Slovakia
- CII-01 This is an e-invoice in the CII syntax (UN/CEFACT Cross Industry Invoice)
- XML-01 The file contains a DOCTYPE with its own definitions
- XML-02 The root element of the file is Order
- XML-03 The root element Invoice belongs in the namespace…
Check the whole file
The checker holds 332 rules. For each file it runs the ones that match the invoice profile and shows the rule code, a plain sentence and the path to the element for every finding. The file is read in your browser and never uploaded. Free, no account.
What our tool does about this error
The checker finds these codes in your file and shows where they sit in the XML. If you build the invoice in our generator, the finished XML runs through the same checker before the download and will not download while an error remains.
The checker and the preview cost 0 € and need no account. Downloading the finished XML costs 2.90 € excl. VAT, unlocked in the browser for 24 hours, or 9.90 € excl. VAT for 30 days including the CSV batch.
This page in another language: Deutsch · Slovensky · Česky
Our check is not complete: we do not check the XSD schema and we do not implement every rule, and a file that passes says nothing about whether the buyer or the Peppol network will accept it. The source of each quoted wording is given next to the quotation.
Page content last changed: