# BR-AE-03 Reverse charge document allowance needs seller and buyer tax identifiers

An invoice with a document level allowance (BG-20) whose VAT category code (BT-95) is "Reverse charge" (AE) shall contain the Seller VAT identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63), and the Buyer VAT identifier (BT-48) and/or the Buyer legal registration identifier (BT-47).

## Problem Description

> **ERROR**: EN 16931 VAT category rule

## Context and Significance

Reverse charge shifts the VAT liability to the buyer, so EN16931 requires both parties to be tax-identified before a document level allowance can carry category AE. Unlike BR-IC-03, a Seller tax registration identifier (BT-32) or a Buyer legal registration identifier (BT-47) is enough here. In practice, the error occurs when the allowance is coded AE but the customer VAT number is missing from the XML.

## Solution

Populate a seller tax identifier (BT-31, BT-32 or BT-63) and a buyer identifier (BT-48 or BT-47) on the invoice; without both the reverse charge allowance cannot be attributed to identified parties.

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

## Valid Examples

- AE allowance with seller BT-31 = DE123456789 and buyer BT-48 = FR32123456789

## Invalid Examples

- AE allowance where the seller VAT ID is present but no buyer identifier (BT-48/BT-47) is given

## Code Examples

### Valid XML
```
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>FR32123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingCustomerParty>
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">50.00</cbc:Amount>
  <cac:TaxCategory><cbc:ID>AE</cbc:ID><cbc:Percent>0</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
```

### Invalid XML
```
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">50.00</cbc:Amount>
  <cac:TaxCategory><cbc:ID>AE</cbc:ID><cbc:Percent>0</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
```

## Affected Fields

- [BT-95 Document level allowance VAT category code](/resources/xrechnung/bt-95-document-level-allowance-vat-category-code)
- [BT-31 Seller VAT identifier](/resources/xrechnung/bt-31-seller-vat-identifier)
- [BT-32 Seller tax registration identifier](/resources/xrechnung/bt-32-seller-tax-registration-identifier)
- [BT-63 Seller tax representative VAT identifier](/resources/xrechnung/bt-63-seller-tax-representative-vat-identifier)
- [BT-48 Buyer VAT identifier](/resources/xrechnung/bt-48-buyer-vat-identifier)
- [BT-47 Buyer legal registration identifier](/resources/xrechnung/bt-47-buyer-legal-registration-identifier)

## Related Rules

- [BR-AE-01](/resources/kosit-validator-errors/br-ae-01-reverse-charge-vat-breakdown-required)
- [BR-AE-04](/resources/kosit-validator-errors/br-ae-04-reverse-charge-charge-seller-buyer-vat-id)
- [BR-AE-02](/resources/kosit-validator-errors/br-ae-02-reverse-charge-seller-vat-id-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.
