# BR-46 VAT breakdown tax amount is required

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

## Problem Description

> **ERROR**: EN 16931 core business rule (CEN)

## Context and Significance

This is an EN 16931 core rule. The VAT amount per category (BT-117) is the figure that feeds the VAT return, so it must be stated even when it is 0.00. The UBL schema already requires cbc:TaxAmount in cac:TaxSubtotal, so BR-46 is mainly reported for CII invoices whose ram:ApplicableTradeTax has no ram:CalculatedAmount, typically for exempt, reverse-charge or out-of-scope categories where the export omits the zero amount.

## Solution

Add cbc:TaxAmount to each cac:TaxSubtotal (CII: ram:CalculatedAmount in ram:ApplicableTradeTax); for exempt, zero-rated or reverse-charge categories the value is 0.00.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-46)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-46)

## Valid Examples

- BT-117 = 19.00 for a standard-rate VAT subtotal
- BT-117 = 0.00 for an exempt subtotal

## Invalid Examples

- CII VAT breakdown with a taxable amount but no ram:CalculatedAmount (BT-117); in UBL a cac:TaxSubtotal without cbc:TaxAmount is already an XML schema error

## Code Examples

### Valid XML
```
<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>19.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>100.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
```

### Invalid XML
```
<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>100.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
```

## Affected Fields

- [BT-117 VAT category tax amount](/resources/xrechnung/bt-117-vat-category-tax-amount)

## Related Rules

- [BR-45](/resources/kosit-validator-errors/br-45-vat-breakdown-taxable-amount-required)
- [BR-48](/resources/kosit-validator-errors/br-48-vat-breakdown-category-rate-required)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
