VAT rate for the IPSI VAT category

Error BR-AG-05 EN 16931

In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) 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 an invoice line with VAT category M, the value of ram:RateApplicablePercent is less than zero. Under the test, the VAT rate must not be negative.

What the rule means

The rule text describes VAT category M as IPSI. For this category, the rule allows a zero or positive VAT rate.

Affected fields BG-25 BT-151 BT-152
Please enter a non-negative VAT rate for the IPSI VAT category

The VAT rate for an invoice line with VAT category M is below zero. A value of zero or higher meets this rule.

What to do
  1. Check the VAT rate in TradeLineItem.TaxPercent.
  2. Make sure the value is zero or greater.
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:ApplicableTradeTax>
  <ram:CategoryCode>M</ram:CategoryCode>
  <ram:RateApplicablePercent>-1</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
✓ Correct
<ram:ApplicableTradeTax>
  <ram:CategoryCode>M</ram:CategoryCode>
  <ram:RateApplicablePercent>0</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

The test checks whether ram:RateApplicablePercent is numerically greater than or equal to zero. The context limits the check to ram:CategoryCode M.

Where the rule applies

The rule applies to the ram:RateApplicablePercent of an ApplicableTradeTax entry on an invoice line with VAT category M.

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