E-Invoice · Check

Exploration prototype · free · not for sale · runs in your browser; your invoice is not uploaded

Check an e-invoice's mandatory fields and totals.

Open an XRechnung, the XML of a ZUGFeRD / Factur-X invoice or a Peppol invoice and see what it says — number, dates, seller and buyer, lines, VAT and totals — and which of the listed EN 16931 rules — a subset, not the full official validation — it passes or fails, with the values behind each result.

Check an invoiceWhat it does not check →

In Germany, businesses must be able to receive structured e-invoices for domestic B2B supplies since 1 January 2025. This page checks the invoice data only. It is not the official validation and not tax advice.

Result · official sample, one line changed
failBR-CO-10BT-106 1500.00 ≠ Σ lines 1600.00
failBR-S-08taxable 1600.00 ≠ 1700.00
passBR-CO-151500.00 + 304.00 = 1804.00

Check your invoice

1 Your e-invoice XML

An XRechnung (UBL or CII), the XML of a ZUGFeRD / Factur-X invoice, or a Peppol BIS invoice, up to 5 MB. It is read by this page in your browser: it is not uploaded, not stored and not sent anywhere.

Or paste the XML

The sample is business case 03.06a of the official XRechnung test suite (KoSIT, Apache License 2.0), with fictional parties.

How it checks

  1. Reads the XML safely. A small XML reader in this page: namespaces are matched by their URI, DOCTYPE and entity declarations are refused (so nothing is expanded or loaded from elsewhere), and depth and size are limited.
  2. Recognises the syntax and profile. UBL 2.1 Invoice / Credit Note or UN/CEFACT CII, and from the specification identifier (BT-24) XRechnung, Factur-X / ZUGFeRD profiles or Peppol BIS.
  3. Extracts the business terms (BT-…) of EN 16931 into one summary, whichever syntax the invoice uses.
  4. Applies the rules below with exact decimal arithmetic — no floating point — and the rounding and tolerances of the official CEN Schematron. Where the UBL and CII versions of a rule use different tolerances, the more lenient one is used.
  5. Factur-X / ZUGFeRD EXTENDED (CII). Its own rules from the FeRD EXTENDED Schematron replace the matching EN 16931 rules: sums count the DETAIL lines (sub-lines in GROUP / INFORMATION structures are handled), logistics service charges count as charges, the sum rules allow 0.01 per amount, a VAT breakdown is needed at least once per category, and the VAT sums may match per exemption reason or overall. Rules the FeRD Schematron only flags as warnings are shown as warnings, not failures; BR-27 and BR-CO-17 are not part of the EXTENDED rules and are not applied. In all other profiles, and in UBL files, sub-line fields are ignored and the EN 16931 rules apply.

The rules checked (117)

A subset of the EN 16931 business rules (IDs and texts from the official CEN Schematron, shortened in places). EN 16931 has many more rules; national rules such as XRechnung's BR-DE rules are not included.

Mandatory content (33)
  • BR-01 An Invoice shall have a Specification identifier (BT-24).
  • BR-02 An Invoice shall have an Invoice number (BT-1).
  • BR-03 An Invoice shall have an Invoice issue date (BT-2).
  • BR-04 An Invoice shall have an Invoice type code (BT-3).
  • BR-05 An Invoice shall have an Invoice currency code (BT-5).
  • BR-06 An Invoice shall contain the Seller name (BT-27).
  • BR-07 An Invoice shall contain the Buyer name (BT-44).
  • BR-08 An Invoice shall contain the Seller postal address (BG-5).
  • BR-09 The Seller postal address (BG-5) shall contain a Seller country code (BT-40).
  • BR-10 An Invoice shall contain the Buyer postal address (BG-8).
  • BR-11 The Buyer postal address shall contain a Buyer country code (BT-55).
  • BR-12 An Invoice shall have the Sum of Invoice line net amount (BT-106).
  • BR-13 An Invoice shall have the Invoice total amount without VAT (BT-109).
  • BR-14 An Invoice shall have the Invoice total amount with VAT (BT-112).
  • BR-15 An Invoice shall have the Amount due for payment (BT-115).
  • BR-16 An Invoice shall have at least one Invoice line (BG-25).
  • BR-21 Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).
  • BR-22 Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).
  • BR-23 An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).
  • BR-24 Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).
  • BR-25 Each Invoice line (BG-25) shall contain the Item name (BT-153).
  • BR-26 Each Invoice line (BG-25) shall contain the Item net price (BT-146).
  • BR-27 The Item net price (BT-146) shall NOT be negative.
  • BR-CO-04 Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).
  • BR-31 Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
  • BR-32 Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).
  • BR-36 Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).
  • BR-37 Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).
  • BR-CO-18 An Invoice shall at least have one VAT breakdown group (BG-23).
  • BR-45 Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).
  • BR-46 Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).
  • BR-47 Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).
  • BR-48 Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.
Calculations (8)
  • BR-CO-10 Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131). Tolerance: exact after rounding the sum to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-11 Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92). Tolerance: exact after rounding the sum to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-12 Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99). Tolerance: exact after rounding the sum to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-13 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). Tolerance: exact after rounding the result to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-14 Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117). Tolerance: exact after rounding the sum to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-15 Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110). Tolerance: exact after rounding the result to 2 decimals — UBL and CII Schematron alike.
  • BR-CO-16 Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) − Paid amount (BT-113) + Rounding amount (BT-114). Tolerance: exact (both sides compared at 2 decimals) — UBL and CII Schematron alike.
  • BR-CO-17 VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) × (VAT category rate (BT-119) / 100), rounded to two decimals. Tolerance: within ±1.00 inclusive — from the CII Schematron; the UBL Schematron requires a difference below 1.00.
VAT breakdown per category (18)
  • BR-S-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Standard rated” (S) shall contain at least one VAT breakdown (BG-23) with that category.
  • BR-S-08 For each VAT rate of category “Standard rated” (S), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) + Σ Document level charges (BT-99) − Σ Document level allowances (BT-92) with that category and rate. Tolerance: difference below 1.00 — from the UBL Schematron; the CII Schematron requires an exact match (each part rounded to 2 decimals).
  • BR-Z-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Zero rated” (Z) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-Z-08 In the VAT breakdown of category “Zero rated” (Z), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: difference below 1.00 — from the CII Schematron; the UBL Schematron requires an exact match.
  • BR-E-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Exempt from VAT” (E) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-E-08 In the VAT breakdown of category “Exempt from VAT” (E), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: difference below 1.00 — from the CII Schematron; the UBL Schematron requires an exact match.
  • BR-AE-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Reverse charge” (AE) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-AE-08 In the VAT breakdown of category “Reverse charge” (AE), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: difference below 1.00 — from the CII Schematron; the UBL Schematron requires an exact match.
  • BR-IC-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Intra-community supply” (K) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-IC-08 In the VAT breakdown of category “Intra-community supply” (K), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: difference below 1.00 — from the CII Schematron; the UBL Schematron requires an exact match.
  • BR-G-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Export outside the EU” (G) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-G-08 In the VAT breakdown of category “Export outside the EU” (G), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: difference below 1.00 — from the CII Schematron; the UBL Schematron requires an exact match.
  • BR-O-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “Not subject to VAT” (O) shall contain exactly one VAT breakdown (BG-23) with that category.
  • BR-O-08 In the VAT breakdown of category “Not subject to VAT” (O), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) − Σ Document level allowances (BT-92) + Σ Document level charges (BT-99) of that category. Tolerance: exact — the CII Schematron rounds each part to 2 decimals (used here), the UBL Schematron compares the unrounded sum.
  • BR-IG-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “IGIC (Canary Islands)” (L) shall contain at least one VAT breakdown (BG-23) with that category.
  • BR-IG-08 For each VAT rate of category “IGIC (Canary Islands)” (L), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) + Σ Document level charges (BT-99) − Σ Document level allowances (BT-92) with that category and rate. Tolerance: difference below 1.00 — from the UBL Schematron; the CII Schematron requires an exact match (each part rounded to 2 decimals).
  • BR-IP-01 An Invoice with an Invoice line, Document level allowance or charge whose VAT category code is “IPSI (Ceuta and Melilla)” (M) shall contain at least one VAT breakdown (BG-23) with that category.
  • BR-IP-08 For each VAT rate of category “IPSI (Ceuta and Melilla)” (M), the VAT category taxable amount (BT-116) shall equal Σ Invoice line net amounts (BT-131) + Σ Document level charges (BT-99) − Σ Document level allowances (BT-92) with that category and rate. Tolerance: difference below 1.00 — from the UBL Schematron; the CII Schematron requires an exact match (each part rounded to 2 decimals).
Factur-X / ZUGFeRD EXTENDED (49)
  • BR-FXEXT-11 Each ID of parent line (BT-X-304) must refer to an existing invoice line ID (BT-126); here a referenced ID must also be unique. Applied only to Factur-X / ZUGFeRD EXTENDED.
  • BR-FXEXT-08 A GROUP line (BT-X-8 = GROUP) with a net amount (BT-131) must equal the sum of the net amounts of its next lower DETAIL and GROUP lines, rounded to 2 decimals. Tolerance: exact — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-BR-22 Each invoice line whose subtype (BT-X-8) is DETAIL or not given shall have an Invoiced quantity (BT-129). Replaces BR-22 in EXTENDED.
  • BR-FXEXT-BR-23 Each invoice line whose subtype is DETAIL or not given shall have a unit of measure code (BT-130). Replaces BR-23 in EXTENDED.
  • BR-FXEXT-BR-24 Each invoice line whose subtype is DETAIL or not given shall have a net amount (BT-131). Replaces BR-24 in EXTENDED.
  • BR-FXEXT-BR-26 Each invoice line whose subtype is DETAIL or not given shall have an Item net price (BT-146). Replaces BR-26 in EXTENDED.
  • BR-FXEXT-CO-04 Each invoice line whose subtype is DETAIL or not given shall have an Invoiced item VAT category code (BT-151). Replaces BR-CO-04 in EXTENDED.
  • BR-FXEXT-CO-10 |Sum of Invoice line net amount (BT-106) − Σ BT-131 of the lines whose subtype is DETAIL or not given| ≤ 0.01 × number of invoice lines. Replaces BR-CO-10 in EXTENDED. Tolerance: 0.01 per invoice line — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-CO-11 |BT-107 − Σ document level allowances (BT-92)| ≤ 0.01 × number of allowances. Replaces BR-CO-11 in EXTENDED. Tolerance: 0.01 per allowance — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-CO-12 |BT-108 − Σ document level charges (BT-99) − Σ logistics service charges (BT-X-272)| ≤ 0.01 × number of those charges. Replaces BR-CO-12 in EXTENDED. Tolerance: 0.01 per charge — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-CO-13 |BT-109 − Σ BT-131 (DETAIL / no subtype) + Σ BT-92 − Σ BT-99 − Σ BT-X-272| ≤ 0.01 × number of those amounts. Replaces BR-CO-13 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-CO-15 If BT-110 in the invoice currency is given once: |BT-112 − BT-109 − BT-110| ≤ 0.01 × number of line, allowance and charge amounts; otherwise BT-112 = BT-109. Replaces BR-CO-15 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-CO-16 Amount due (BT-115) = BT-112 − Paid amount (BT-113) + Rounding amount (BT-114) + Σ charges collected on behalf of a third party (BT-179). Replaces BR-CO-16 in EXTENDED. Tolerance: exact — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-S-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Standard rated” (S) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-S-01 in EXTENDED.
  • BR-FXEXT-S08b Per VAT breakdown of category S: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-S-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-S-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-S-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-Z-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Zero rated” (Z) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-Z-01 in EXTENDED.
  • BR-FXEXT-Z-08b Per VAT breakdown of category Z: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-Z-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-Z-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-Z-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-E-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Exempt from VAT” (E) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-E-01 in EXTENDED.
  • BR-FXEXT-E-08b Per VAT breakdown of category E: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-E-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-E-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-E-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AE-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Reverse charge” (AE) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-AE-01 in EXTENDED.
  • BR-FXEXT-AE-08b Per VAT breakdown of category AE: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-AE-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AE-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AE-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-IC-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Intra-community supply” (K) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-IC-01 in EXTENDED.
  • BR-FXEXT-IC-08b Per VAT breakdown of category K: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-IC-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-IC-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-IC-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-G-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Export outside the EU” (G) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-G-01 in EXTENDED.
  • BR-FXEXT-G-08b Per VAT breakdown of category G: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-G-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-G-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-G-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-O-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “Not subject to VAT” (O) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-O-01 in EXTENDED.
  • BR-FXEXT-O-08b Per VAT breakdown of category O: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-O-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-O-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-O-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AF-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “IGIC (Canary Islands)” (L) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-IG-01 in EXTENDED.
  • BR-FXEXT-AF-08b Per VAT breakdown of category L: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-IG-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AF-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AF-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AG-01 An EXTENDED invoice with a DETAIL line, allowance, charge or logistics charge of category “IPSI (Ceuta and Melilla)” (M) shall contain at least one VAT breakdown with that category (and a breakdown of that category needs such an item). Replaces BR-IP-01 in EXTENDED.
  • BR-FXEXT-AG-08b Per VAT breakdown of category M: BT-116 matches Σ BT-131 (DETAIL / no-subtype lines) − Σ BT-92 + Σ BT-99 + Σ BT-X-272 of the items with that category and rate — either counting only items with the same exemption reason (BT-120/121), or all of them. Replaces BR-IP-08 in EXTENDED. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AG-08rev As -08b, items with the same category, rate and exemption reason only. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
  • BR-FXEXT-AG-08ini As -08b, all items with the same category and rate. A warning in the FeRD Schematron, shown as a warning here. Tolerance: 0.01 per amount — from the FeRD Factur-X / ZUGFeRD EXTENDED Schematron (ZF 2.5).
Code lists and formats (9)
  • BR-CL-01 The document type code (BT-3) MUST be coded by the invoice and credit note related code lists of UNTDID 1001.
  • BR-CL-04 Invoice currency code (BT-5) MUST be coded using ISO code list 4217 alpha-3.
  • BR-CL-05 Tax currency code (BT-6) MUST be coded using ISO code list 4217 alpha-3.
  • BR-CL-14 Country codes in an invoice (here: BT-40, BT-55) MUST be coded using ISO code list 3166-1.
  • BR-CL-17 VAT category codes of the VAT breakdown and of document level allowances and charges (BT-118, BT-95, BT-102) MUST be coded using the UNCL5305 code list.
  • BR-CL-18 Invoiced item VAT category codes (BT-151) MUST be coded using the UNCL5305 code list.
  • BR-CO-09 The Seller VAT identifier (BT-31) and the Buyer VAT identifier (BT-48) shall have an ISO 3166-1 alpha-2 country prefix (Greece may use “EL”).
  • BR-DEC Amounts BT-92, BT-99, BT-106 to BT-110, BT-112 to BT-117 and BT-131 shall have at most 2 decimals (BR-DEC-01, -05, -09 … -20, -23).
  • Date format Dates (BT-2, BT-9) shall be real calendar dates in the format of the syntax: UBL xs:date (YYYY-MM-DD), CII format 102 (YYYYMMDD). From the syntax schemas, not a numbered EN 16931 rule.

What it does not check

  • Not the official validation. No XML schema (XSD) check and not the complete official Schematron of EN 16931, XRechnung or Peppol. For that, use the KoSIT validator with the XRechnung configuration, or your e-invoicing software.
  • Only simple code lists. Currencies, countries, VAT categories and invoice type codes. Units of measure, payment means, electronic address schemes and other code lists are not checked.
  • Only the XML of ZUGFeRD / Factur-X. The PDF/A-3 container and whether the PDF shows the same as the XML are not checked. Save the embedded XML file from the PDF and open that here.
  • No signatures, no transmission. Electronic signatures, Peppol or other delivery channels and archiving are out of scope.
  • Not tax or legal advice. Whether the VAT treatment, rates and exemption reasons are right for the supply, or whether a VAT ID is valid (no VIES lookup), is not checked.
  • Up to 5 MB. Larger files are refused; so are files with a DOCTYPE, which e-invoices never need.

Official sources: KoSIT validator · XRechnung validator configuration · CEN EN 16931 validation artefacts (rules) · XRechnung test suite

Your invoice contains names, addresses and bank details. It is read only by this page in your browser: it is not uploaded, not stored (no cookies, no local storage) and not sent anywhere; the downloads are made in your browser too. See the privacy policy for this website.

An exploration prototype built by the 28/28 AI venture builder to learn whether this is useful. It makes no claim of demand and sells nothing. Checked against official samples of the XRechnung test suite and the CEN EN 16931 examples by automated tests.