Skip to content

BR-DE – XRechnung

BR-DE-16: seller VAT identifier or tax number missing

ErrorXRechnung business rule (KoSIT)

The rule's own wording

[BR-DE-16] Wenn in einer Rechnung die Steuercodes S, Z, E, AE, K, G, L oder M verwendet werden, muss mindestens eines der Elemente "Seller VAT identifier" (BT-31), "Seller tax registration identifier" (BT-32) oder "SELLER TAX REPRESENTATIVE PARTY" (BG-11) übermittelt werden.

Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)

Meaning of the rule

The invoice uses VAT categories such as S (standard rate), yet the seller is not identified for tax: neither a VAT identifier nor a national tax number is given, and there is no tax representative. The recipient needs exactly one of these to deduct input tax and to satisfy the tax office. Without it the recipient rejects the invoice as incomplete.

The fix in the XML

Add a PartyTaxScheme block to the seller: the VAT identifier with TaxScheme VAT (BT-31), or the national tax number with TaxScheme FC (BT-32). One non-empty value is enough.

Before – invalid
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyName><cbc:Name>Muster GmbH</cbc:Name></cac:PartyName>
  </cac:Party>
</cac:AccountingSupplierParty>
After – corrected
<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyName><cbc:Name>Muster GmbH</cbc:Name></cac:PartyName>
    <cac:PartyTaxScheme>
      <cbc:CompanyID>DE123456789</cbc:CompanyID>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>

Questions and answers

Is the national tax number enough when I have no VAT identifier?

Yes. BR-DE-16 accepts the national tax number in BT-32 (TaxScheme FC) instead. One of the two must be present; both may be.

Does BR-DE-16 apply to small businesses exempt from VAT?

Yes, as soon as VAT categories such as S, Z or E are used. Exempt small businesses usually invoice with category E and an exemption reason; the rule still requires a tax number or VAT identifier.

Other typical causes

  • The VAT identifier is missing from the master data or sits in a free-text field instead of the tax block.
  • The software writes the tax number with the scheme VAT instead of FC, or the other way round.
  • Small businesses without a VAT identifier have not stored the tax number as the alternative.

EN 16931 fields

  • BT-31
  • BT-32
  • BG-11

See also

  • BR-AE-02
  • BR-AF-02
  • BR-AG-02

Check your invoice

The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.

Open the XRechnung validator

The rule in detail
UBL · Context (XPath)
/ubl:Invoice | /cn:CreditNote
UBL · Schematron test
(not( ($BT-95-UBL-Inv = $supportedVATCodes or $BT-95-UBL-CN = $supportedVATCodes) or ($BT-102 = $supportedVATCodes) or ($BT-151 = $supportedVATCodes) ) or (cac:TaxRepresentativeParty, $BT-31orBT-32Path))
CII · Context (XPath)
/rsm:CrossIndustryInvoice
CII · Schematron test
not((rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode = 'VAT' and rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M')) or (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax = 'VAT' and rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M')) or (rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode = 'VAT' and rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M'))) or ((rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[normalize-space(@schemeID)='VA' or normalize-space(@schemeID)='FC'][boolean(normalize-space(.))], rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty))

Explanation written on 14 September 2026