Positive VAT rate for IGIC invoice lines

Error BR-AF-05 EN 16931

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be greater than 0 (zero).

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

For an invoice line with tax category L, RateApplicablePercent is not greater than 0. The VAT rate for this IGIC invoice line must be positive.

What the rule means

Category L denotes IGIC. Unlike the categories requiring a zero rate in the related rules, the VAT rate for an invoice line in this category must be greater than zero.

Affected fields BG-25 BT-151 BT-152
Please enter a positive VAT rate for the IGIC invoice line

The invoice line is assigned to IGIC tax category (L), but its VAT rate is zero or negative. For this category, the rate must be greater than zero.

What to do
  1. Check TradeLineItem.TaxCategoryCode and TradeLineItem.TaxPercent for the invoice line concerned.
  2. Enter a rate greater than 0 for tax category L.
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:ApplicableTradeTax>
  <ram:CategoryCode>L</ram:CategoryCode>
  <ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
✓ Correct
<ram:ApplicableTradeTax>
  <ram:CategoryCode>L</ram:CategoryCode>
  <ram:RateApplicablePercent>1</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Check in FactoorSharp
  • TradeLineItem.TaxCategoryCode (BT-151)
  • TradeLineItem.TaxPercent (BT-152)
  • TradeLineItem.TaxType (BT-151-0)
  • TaxCategoryCodes (BT-151)
Technical details

For ApplicableTradeTax with CategoryCode L, the test requires RateApplicablePercent to be strictly greater than 0.

Where the rule applies

The rule applies to an invoice line's ApplicableTradeTax with CategoryCode L and checks its RateApplicablePercent.

Context (rule/@context)
//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ ram:ApplicableTradeTax[ram:CategoryCode = 'L']
Test expression (assert/@test)
ram:RateApplicablePercent > 0