Quaterio
EN 16931 error reference

VAT category rules

The VAT on the lines does not reconcile with the breakdown. 96 rules.

The largest family by some distance, and the one that causes the most rejected invoices. Each VAT category has its own conditions, and the rules check that the lines, the breakdown and the totals all tell the same story about them.

Almost every failure here has the same root cause: the VAT breakdown was written by hand instead of being derived by grouping the lines. Build it from the lines, one entry per distinct combination of category and rate, and most of this family stops firing.

The category codes are S for standard rated, Z for zero rated, E for exempt, AE for reverse charge, K for intra-community supply, G for export outside the EU and O for outside the scope of VAT.

BR-AE-01
A line, allowance or charge is marked "Reverse charge" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Reverse charge".
BR-AE-02
A line is marked "Reverse charge", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-AE-03
A document level allowance (BG-20) is marked "Reverse charge", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AE-04
A document level charge (BG-21) is marked "Reverse charge", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AE-05
On an invoice line where the VAT category is "Reverse charge", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-AE-06
On a document level allowance (BG-20) where the VAT category is "Reverse charge", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-AE-07
On a document level charge (BG-21) where the VAT category is "Reverse charge", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-AE-08
The taxable amount (BT-116) for the "Reverse charge" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-AE-09
The VAT amount (BT-117) for the "Reverse charge" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-AE-10
For a "Reverse charge" VAT breakdown, the VAT breakdown must state why no VAT is charged, via an exemption reason code (BT-121) or reason text (BT-120). Supply at least one. The reason is expected to convey "Reverse charge".
BR-AF-01
A line, allowance or charge is marked "IGIC (Canary Islands)" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "IGIC (Canary Islands)".
BR-AF-02
A line is marked "IGIC (Canary Islands)", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-AF-03
A document level allowance (BG-20) is marked "IGIC (Canary Islands)", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AF-04
A document level charge (BG-21) is marked "IGIC (Canary Islands)", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AF-05
On an invoice line where the VAT category is "IGIC (Canary Islands)", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-AF-06
On a document level allowance (BG-20) where the VAT category is "IGIC (Canary Islands)", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-AF-07
On a document level charge (BG-21) where the VAT category is "IGIC (Canary Islands)", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-AF-08
The taxable amount (BT-116) for the "IGIC (Canary Islands)" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-AF-09
The VAT amount (BT-117) for the "IGIC (Canary Islands)" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-AF-10
For a "IGIC (Canary Islands)" VAT breakdown, the VAT breakdown must NOT carry an exemption reason code (BT-121) or reason text (BT-120). VAT is being charged, so there is nothing to exempt. Generators often add one by habit for every category.
BR-AG-01
A line, allowance or charge is marked "IPSI (Ceuta and Melilla)" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "IPSI (Ceuta and Melilla)".
BR-AG-02
A line is marked "IPSI (Ceuta and Melilla)", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-AG-03
A document level allowance (BG-20) is marked "IPSI (Ceuta and Melilla)", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AG-04
A document level charge (BG-21) is marked "IPSI (Ceuta and Melilla)", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-AG-05
On an invoice line where the VAT category is "IPSI (Ceuta and Melilla)", the line VAT rate (BT-152) must be present and either zero or greater. Only a missing rate fails this one.
BR-AG-06
On a document level allowance (BG-20) where the VAT category is "IPSI (Ceuta and Melilla)", the line VAT rate (BT-152) must be present and either zero or greater. Only a missing rate fails this one.
BR-AG-07
On a document level charge (BG-21) where the VAT category is "IPSI (Ceuta and Melilla)", the line VAT rate (BT-152) must be present and either zero or greater. Only a missing rate fails this one.
BR-AG-08
The taxable amount (BT-116) for the "IPSI (Ceuta and Melilla)" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-AG-09
The VAT amount (BT-117) for the "IPSI (Ceuta and Melilla)" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-AG-10
For a "IPSI (Ceuta and Melilla)" VAT breakdown, the VAT breakdown must NOT carry an exemption reason code (BT-121) or reason text (BT-120). VAT is being charged, so there is nothing to exempt. Generators often add one by habit for every category.
BR-E-01
A line, allowance or charge is marked "Exempt from VAT" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Exempt from VAT".
BR-E-02
A line is marked "Exempt from VAT", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-E-03
A document level allowance (BG-20) is marked "Exempt from VAT", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-E-04
A document level charge (BG-21) is marked "Exempt from VAT", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-E-05
On an invoice line where the VAT category is "Exempt from VAT", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-E-06
On a document level allowance (BG-20) where the VAT category is "Exempt from VAT", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-E-07
On a document level charge (BG-21) where the VAT category is "Exempt from VAT", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-E-08
The taxable amount (BT-116) for the "Exempt from VAT" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-E-09
The VAT amount (BT-117) for the "Exempt from VAT" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-E-10
For a "Exempt from VAT" VAT breakdown, the VAT breakdown must state why no VAT is charged, via an exemption reason code (BT-121) or reason text (BT-120). Supply at least one.
BR-G-01
A line, allowance or charge is marked "Export outside the EU" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Export outside the EU".
BR-G-02
A line is marked "Export outside the EU", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-G-03
A document level allowance (BG-20) is marked "Export outside the EU", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-G-04
A document level charge (BG-21) is marked "Export outside the EU", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-G-05
On an invoice line where the VAT category is "Export outside the EU", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-G-06
On a document level allowance (BG-20) where the VAT category is "Export outside the EU", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-G-07
On a document level charge (BG-21) where the VAT category is "Export outside the EU", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-G-08
The taxable amount (BT-116) for the "Export outside the EU" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-G-09
The VAT amount (BT-117) for the "Export outside the EU" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-G-10
For a "Export outside the EU" VAT breakdown, the VAT breakdown must state why no VAT is charged, via an exemption reason code (BT-121) or reason text (BT-120). Supply at least one. The reason is expected to convey "Export outside the EU".
BR-IC-01
A line, allowance or charge is marked "Intra-community supply" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Intra-community supply".
BR-IC-02
A line is marked "Intra-community supply", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-IC-03
A document level allowance (BG-20) is marked "Intra-community supply", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-IC-04
A document level charge (BG-21) is marked "Intra-community supply", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-IC-05
On an invoice line where the VAT category is "Intra-community supply", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-IC-06
On a document level allowance (BG-20) where the VAT category is "Intra-community supply", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-IC-07
On a document level charge (BG-21) where the VAT category is "Intra-community supply", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-IC-08
The taxable amount (BT-116) for the "Intra-community supply" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-IC-09
The VAT amount (BT-117) for the "Intra-community supply" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-IC-10
For a "Intra-community supply" VAT breakdown, the VAT breakdown must state why no VAT is charged, via an exemption reason code (BT-121) or reason text (BT-120). Supply at least one. The reason is expected to convey "Intra-community supply".
BR-IC-11
An intra-community supply must evidence when it was delivered. Add the actual delivery date (BT-72) or an invoicing period (BG-14). This is what lets the tax authority match your invoice to the acquisition declared in the other member state.
BR-IC-12
An intra-community supply must say where the goods went. Add the deliver-to country code (BT-80). Without it the supply cannot be shown to have left the country, which is the basis for zero rating it.
BR-O-01
A line, allowance or charge is marked "Not subject to VAT" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Not subject to VAT".
BR-O-02
A line is marked "Not subject to VAT", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-O-03
A document level allowance (BG-20) is marked "Not subject to VAT", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-O-04
A document level charge (BG-21) is marked "Not subject to VAT", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-O-05
On an invoice line where the VAT category is "Not subject to VAT", the line must not carry a VAT rate (BT-152) at all. Not zero, absent. Remove the element rather than setting it to 0.
BR-O-06
On a document level allowance (BG-20) where the VAT category is "Not subject to VAT", the line must not carry a VAT rate (BT-152) at all. Not zero, absent. Remove the element rather than setting it to 0.
BR-O-07
On a document level charge (BG-21) where the VAT category is "Not subject to VAT", the line must not carry a VAT rate (BT-152) at all. Not zero, absent. Remove the element rather than setting it to 0.
BR-O-08
The taxable amount (BT-116) for the "Not subject to VAT" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-O-09
The VAT amount (BT-117) for the "Not subject to VAT" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-O-10
For a "Not subject to VAT" VAT breakdown, the VAT breakdown must state why no VAT is charged, via an exemption reason code (BT-121) or reason text (BT-120). Supply at least one. The reason is expected to convey "Not subject to VAT".
BR-O-11
"Not subject to VAT" cannot be mixed with other VAT categories on the same invoice. This invoice has a "Not subject to VAT" breakdown alongside at least one other. Split it into separate invoices.
BR-O-12
This invoice has a "Not subject to VAT" breakdown but at least one line uses a different VAT category. Every line must be "Not subject to VAT" too, or the invoice needs splitting.
BR-O-13
This invoice has a "Not subject to VAT" breakdown but carries a document level allowance (BG-20) in another VAT category. All allowances must share the category.
BR-O-14
This invoice has a "Not subject to VAT" breakdown but carries a document level charge (BG-21) in another VAT category. All charges must share the category.
BR-S-01
A line, allowance or charge is marked "Standard rated" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Standard rated".
BR-S-02
A line is marked "Standard rated", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-S-03
A document level allowance (BG-20) is marked "Standard rated", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-S-04
A document level charge (BG-21) is marked "Standard rated", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-S-05
On an invoice line where the VAT category is "Standard rated", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-S-06
On a document level allowance (BG-20) where the VAT category is "Standard rated", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-S-07
On a document level charge (BG-21) where the VAT category is "Standard rated", the line VAT rate (BT-152) must be greater than zero. A zero or missing rate here usually means the category code was set without the matching rate.
BR-S-08
The taxable amount (BT-116) for the "Standard rated" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-S-09
The VAT amount (BT-117) for the "Standard rated" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-S-10
For a "Standard rated" VAT breakdown, the VAT breakdown must NOT carry an exemption reason code (BT-121) or reason text (BT-120). VAT is being charged, so there is nothing to exempt. Generators often add one by habit for every category.
BR-Z-01
A line, allowance or charge is marked "Zero rated" but the VAT breakdown (BG-23) has no matching entry. Every category used anywhere on the invoice needs its own breakdown group. Add one with VAT category code (BT-118) "Zero rated".
BR-Z-02
A line is marked "Zero rated", which requires the seller to be identified for tax. Add the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) or the tax representative VAT identifier (BT-63).
BR-Z-03
A document level allowance (BG-20) is marked "Zero rated", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-Z-04
A document level charge (BG-21) is marked "Zero rated", which requires the seller to be identified for tax. Add BT-31, BT-32 or BT-63.
BR-Z-05
On an invoice line where the VAT category is "Zero rated", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-Z-06
On a document level allowance (BG-20) where the VAT category is "Zero rated", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-Z-07
On a document level charge (BG-21) where the VAT category is "Zero rated", the line VAT rate (BT-152) must be exactly 0. Leaving it empty is not the same as zero, so write the zero explicitly.
BR-Z-08
The taxable amount (BT-116) for the "Zero rated" breakdown does not match the lines it covers. It must equal the sum of line net amounts (BT-131), plus document level charges (BT-99), minus document level allowances (BT-92), counting only those in this category. A mismatch of a few cents is nearly always rounding applied per line instead of to the total.
BR-Z-09
The VAT amount (BT-117) for the "Zero rated" breakdown does not equal the taxable amount (BT-116) multiplied by the rate (BT-119). Recompute it from those two fields rather than summing per-line VAT, and round once at the category level to two decimals.
BR-Z-10
For a "Zero rated" VAT breakdown, the VAT breakdown must NOT carry an exemption reason code (BT-121) or reason text (BT-120). VAT is being charged, so there is nothing to exempt. Generators often add one by habit for every category.

Check your own invoice

Drop a Factur-X or ZUGFeRD file into the free validator and it names every rule that fails, with the explanation from this page attached to each one. The EN 16931 rules run in your browser, so the invoice is never uploaded. The ISO PDF/A-3, XRechnung and PEPPOL BIS checks need a server and are a separate opt in that says so.

Validate an invoice, no signup

The other rule families