No VAT rate for transactions outside the scope of VAT

Error BR-O-05 EN 16931

An Invoice line (BG-25) where the VAT category code (BT-151) is "Not subject to VAT" shall not contain an Invoiced item VAT rate (BT-152).

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 O, ram:RateApplicablePercent is present. The test requires this element to be absent.

What the rule means

VAT category O identifies transactions that are not subject to VAT. Therefore, no VAT rate is stated on the invoice line for this category.

Affected fields BG-25 BT-151 BT-152
Please omit the VAT rate for VAT category `O`

A VAT rate is present on an invoice line with VAT category O. For this category, ram:RateApplicablePercent must not be included.

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

The test uses not(ram:RateApplicablePercent) to check that the element is absent in the context of VAT category O.

Where the rule applies

The rule applies to ApplicableTradeTax entries on an invoice line with VAT category O.

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