IGIC allowance: VAT rate greater than zero

Error BR-AF-06 EN 16931

In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" the Document level allowance VAT rate (BT-96) 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

For this category L allowance, RateApplicablePercent is not greater than zero. The test explicitly requires a value greater than zero.

What the rule means

The rule requires a positive VAT rate for an allowance in category L. A zero VAT rate does not satisfy the XPath test.

Affected fields BG-20 BT-95 BT-96
Please enter a VAT rate greater than zero for the IGIC allowance

The IGIC allowance is recorded with a VAT rate of zero or a negative value. The test requires a value greater than zero.

What to do
  1. Locate the category L allowance in SpecifiedTradeAllowanceCharge.
  2. Check the AddTradeAllowance(...) call and enter a VAT rate greater than zero.
  3. Generate the invoice again and validate it again.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</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>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>L</ram:CategoryCode>
    <ram:RateApplicablePercent>1</ram:RateApplicablePercent>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
Check in FactoorSharp
  • TaxCategoryCodes (BT-95)
  • FacturXInvoice.AddTradeAllowance(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-20)
  • FacturXInvoice.GetTradeAllowances() (BG-20)
  • FacturXInvoice.TradeAllowanceCharges (BG-20)
  • AbstractTradeAllowanceCharge (Document level allowance: BG-20)
Technical details

The XPath selects allowances with ChargeIndicator equal to false and CategoryCode equal to L, then strictly checks whether RateApplicablePercent is greater than zero.

Where the rule applies

The rule applies to a document-level allowance in SpecifiedTradeAllowanceCharge whose CategoryCode is L for IGIC.

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