BR-31: Document level allowance amount (BT-92) is missing
Official message
[BR-31] Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
[BR-31] Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
[BR-31] Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Affected fields
- BG-20, BT-92
What does this mean?
Every document level allowance (BG-20) must contain an amount (Document level allowance amount, BT-92). The element is missing for at least one allowance.
Typical causes
The allowance was only given as a percentage (BT-94), without the amount calculated from it.
An empty allowance without amount was output.
How to fix the error
State the amount without VAT for every allowance, with at most two decimals. For percentage allowances additionally state the base amount (BT-93) and the percentage (BT-94); the amount is base amount × percentage / 100.
CII: ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge (ChargeIndicator false)/ram:ActualAmount, UBL: cac:AllowanceCharge (cbc:ChargeIndicator false)/cbc:Amount.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form ("Experte" view), section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges), fill in the field "Betrag" (amount) for every entry of type "Abschlag (BG-20)" (allowance).
Example
Wrong
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:Indicator>false</udt:Indicator>
</ram:ChargeIndicator>
<ram:CalculationPercent>5.00</ram:CalculationPercent>
<ram:BasisAmount>500.00</ram:BasisAmount>
<ram:Reason>Loyalty discount</ram:Reason>
<ram:CategoryTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Correct
<ram:SpecifiedTradeAllowanceCharge>
<ram:ChargeIndicator>
<udt:Indicator>false</udt:Indicator>
</ram:ChargeIndicator>
<ram:CalculationPercent>5.00</ram:CalculationPercent>
<ram:BasisAmount>500.00</ram:BasisAmount>
<ram:ActualAmount>25.00</ram:ActualAmount>
<ram:Reason>Loyalty discount</ram:Reason>
<ram:CategoryTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
For developers: test expression per syntax
EN 16931 (CII) (CII)
Context: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']
(../ram:ActualAmount)
EN 16931 (UBL) (UBL)
Context: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
exists(cbc:Amount)
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000061
Context: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']
(../ram:ActualAmount)
Related validation rules
Last updated:
Explanation of the validation rule, not legal or tax advice.