Skip to content

BR-45: VAT category taxable amount (BT-116) is missing

Official message

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

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

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

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

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

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BG-23, BT-116

What does this mean?

Every VAT breakdown (BG-23) must contain the VAT category taxable amount (BT-116), i.e. the sum of net amounts to which the rate is applied. The element is missing for at least one breakdown.

Typical causes

The generating system writes only the tax amount (BT-117) per category, but no taxable amount.
For a category without tax (e.g. exempt) the taxable amount was omitted.

How to fix the error

State the taxable amount for every VAT category and rate: sum of the line net amounts of this category minus document level allowances plus document level charges of the same category, rounded to two decimals.
CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:BasisAmount, UBL: cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, the VAT breakdown (BG-23) is built from VAT category and rate of the lines and allowances/charges when the XML is generated; the taxable amount per category is calculated and always output. The values in section "Steueraufstellung (BG-23)" (VAT breakdown) are not used for this. Generate and validate the invoice again.

Example

Wrong

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>190.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>190.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

(ram:BasisAmount)

EN 16931 (UBL) (UBL)

Context: cac:TaxTotal/cac:TaxSubtotal

exists(cbc:TaxableAmount)

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000047

Context: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

(ram:BasisAmount)

Related validation rules

  • BR-01: Specification identifier (BT-24) is missing
  • BR-02: Invoice number (BT-1) is missing
  • BR-03: Invoice issue date (BT-2) is missing
  • BR-04: Invoice type code (BT-3) is missing
  • BR-05: Invoice currency code (BT-5) is missing
  • BR-06: Seller name (BT-27) is missing

Last updated:
Explanation of the validation rule, not legal or tax advice.