Skip to main content

BR-DE-14 VAT category rate must be provided

In XRechnung, every VAT breakdown group (BG-23 / VAT BREAKDOWN) must contain the VAT category rate (BT-119) expressed as a percentage. While the base European standard EN 16931 allows the percentage to be omitted in specific non-taxable or exempt scenarios (such as reverse charge AE or exempt E), the German XRechnung profile strictly enforces the presence of BT-119 (e.g. 0.00 for zero/exempt/reverse charge, or 19.00 / 7.00 for standard / reduced rates) so that automated tax calculation engines can calculate and verify tax amounts deterministically.

Problem Description

ERROR

German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0

Interactive pipeline

Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.

Try:

BR-DE-14 XRechnung rule (Germany)

Reported in stage 3: National rules (CIUS).

Level error: the report recommends rejecting the invoice.

Stage 3 · What it checks

  • The specification identifier in BT-24 selects the rule set, for example XRechnung 3.0 or Peppol BIS Billing 3.0.
  • XRechnung adds the German BR-DE rules: buyer reference (BT-10), seller contact, payment instructions.
  • Peppol adds PEPPOL-EN16931 and country rules. XRechnung applies some PEPPOL-EN16931 rules too.

Example codes

Typical fix

Fill the fields the rule set requires in your master data, such as the Leitweg-ID in BT-10 or the seller contact.

A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. BR-DE-14: XRechnung rule (Germany), reported in the stage “National rules (CIUS)”. Rule sets: KoSIT validator 1.6.3 with the XRechnung configuration of 31 Aug 2026 (EN 16931 artefacts 1.3.16), Peppol BIS Billing 3.0.21.

Context and Significance

Without BT-119, validator engines cannot execute the arithmetic consistency formula TaxAmount = round(TaxableAmount * Percent / 100). The presence of BT-119 is mandatory across all VAT breakdowns in XRechnung.

Solution

In your ERP tax determination configuration, ensure the tax percentage is exported in all VAT breakdown subtotals. For reverse charge (code AE), export transactions (code G), zero-rated supplies (code Z), and tax-exempt sales (code E), explicitly output a rate of 0.00 in BT-119. In UBL 2.1 syntax, populate <cbc:Percent> inside <cac:TaxTotal><cac:TaxSubtotal><cac:TaxCategory>. In UN/CEFACT CII syntax, populate <ram:RateApplicablePercent> inside <ram:ApplicableHeaderTradeSettlement><ram:ApplicableTradeTax>.

Quick actions

Valid Examples

  • Standard rate VAT breakdown with BT-118 = "S", BT-119 = 19.00, BT-116 = 100.00, BT-117 = 19.00
  • Reverse charge VAT breakdown with BT-118 = "AE", BT-119 = 0.00, BT-116 = 500.00, BT-117 = 0.00

Invalid Examples

  • TaxSubtotal element specifies category S and taxable amount but omits the cbc:Percent element
  • Reverse charge breakdown (category AE) exported without rate percentage element under the assumption that zero rate is implicit

Code Examples

Valid XML
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>19.00</cbc:Percent>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>
Invalid XML
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
  </cac:TaxCategory>
</cac:TaxSubtotal>

Affected Fields

Validation Tools