IGIC document-level charge rate greater than zero

Error BR-AF-07 EN 16931

In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

The RateApplicablePercent of the document-level charge in category L is not greater than zero. The test explicitly requires a value greater than 0; a zero rate does not satisfy it.

What the rule means

Category L denotes IGIC. A positive tax rate must be stated for the associated document-level charge.

Affected fields BG-21 BT-102 BT-103
Please enter a VAT rate greater than zero for the IGIC document-level charge

The VAT rate of the document-level charge in category L is not greater than zero. Enter a positive VAT rate to satisfy the check.

What to do
  1. Enter a VAT rate greater than 0 for the document-level charge.
  2. Review the call to AddTradeCharge(...) and the supplied taxPercent parameter.
  3. Generate the invoice again and validate it once more.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>L</ram:CategoryCode>
    <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>L</ram:CategoryCode>
    <ram:RateApplicablePercent>5</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Check in FactoorSharp
  • TaxCategoryCodes (BT-102)
  • FacturXInvoice.AddTradeCharge(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-21)
  • FacturXInvoice.AddTradeeCharge(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-21)
  • FacturXInvoice.GetTradeCharges() (BG-21)
  • AbstractTradeAllowanceCharge (Document level charge: BG-21)
Technical details

The test requires RateApplicablePercent to be numerically greater than 0; equality with zero is not sufficient.

Where the rule applies

The rule applies to a document-level charge in SpecifiedTradeAllowanceCharge whose ChargeIndicator is true and whose tax category is L. It checks RateApplicablePercent in CategoryTradeTax.

Context (rule/@context)
//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ ram:CategoryTradeTax[ram:CategoryCode = 'L']
Test expression (assert/@test)
ram:RateApplicablePercent > 0