What does BR-DE-16 mean?
If an invoice uses the tax category codes S, Z, E, AE, K, G, L or M, it must carry at least one of the elements "Seller VAT identifier" (BT-31), "Seller tax registration identifier" (BT-32) or "SELLER TAX REPRESENTATIVE PARTY" (BG-11). This is a national KoSIT rule (XRechnung) that goes beyond EN 16931 and is mandatory for German e-invoices.
Common causes of BR-DE-16
- The element required by the German KoSIT rule is missing from the XML.
- The value appears only in the PDF, not in the structured data set.
- The entry was left empty.
How to fix BR-DE-16
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-31 along this XPath:
//ram:SellerTradeParty/ram:SpecifiedTaxRegistration - Apply the fix. If tax category codes S/Z/E/AE/K/G/L/M are used, the seller's VAT identifier (BT-31) OR tax registration identifier (BT-32) must be present in 'ram:SellerTradeParty/ram:SpecifiedTaxRegistration' (schemeID 'VA' or 'FC').
- Validate again. Save the file and validate it again to check that BR-DE-16 is no longer reported.
If tax category codes S/Z/E/AE/K/G/L/M are used, the seller's VAT identifier (BT-31) OR tax registration identifier (BT-32) must be present in 'ram:SellerTradeParty/ram:SpecifiedTaxRegistration' (schemeID 'VA' or 'FC').
//ram:SellerTradeParty/ram:SpecifiedTaxRegistrationBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:SellerTradeParty>
<ram:Name>Musterfirma GmbH</ram:Name>
<!-- ram:SpecifiedTaxRegistration fehlt -->
</ram:SellerTradeParty>
<ram:SellerTradeParty>
<ram:Name>Musterfirma GmbH</ram:Name>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">DE123456789</ram:ID>
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
Frequent questions about BR-DE-16
How do I fix BR-DE-16?
Related error codes
Check BR-DE-16 automatically
Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.