HomeError code lexicon › BR-31
BR-31 Field BT-92 EN 16931 core rules (BR)

Fix BR-31: Document level allowance amount (BT-92) missing

[BR-31]-Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).

BR-31 in your own invoice? Upload the file and find every error in seconds.

What does BR-31 mean?

Every document level allowance must state its amount. Otherwise the sum of the allowances cannot be built.

Common causes of BR-31

How to fix BR-31

  1. Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-92 along this XPath://ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount
  2. Apply the fix. Every document level allowance (BG-20) needs a document level allowance amount (BT-92). Add the element ram:ActualAmount with the amount excluding VAT to the allowance (ram:SpecifiedTradeAllowanceCharge with ChargeIndicator false), for example 10.00.
  3. Validate again. Save the file and validate it again to check that BR-31 is no longer reported.
Concrete fix

Every document level allowance (BG-20) needs a document level allowance amount (BT-92). Add the element ram:ActualAmount with the amount excluding VAT to the allowance (ram:SpecifiedTradeAllowanceCharge with ChargeIndicator false), for example 10.00.

XPath//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount

Before / after: the XML example

This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).

Wrong
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <ram:Reason>Treuerabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
  <ram:ActualAmount>10.00</ram:ActualAmount>
  <ram:Reason>Treuerabatt</ram:Reason>
</ram:SpecifiedTradeAllowanceCharge>

Frequent questions about BR-31

How does the XML tell an allowance from a charge?
Through ram:ChargeIndicator/udt:Indicator. The value false means an allowance (BG-20), true means a charge (BG-21). The amount itself is positive in both cases.
Must the allowance amount be positive?
Yes. The amount (BT-92) is always given as a positive value. That it is a deduction is shown by the ChargeIndicator false alone.

Related error codes

Check BR-31 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.

Find every error automatically instead of searching by hand

Upload your ZUGFeRD, Factur-X or XRechnung file – you get every violation back with rule ID, field, fix and XPath.

Validate online for free
Check invoice