Provide the VAT exemption reason in the VAT breakdown

Error BR-E-10 EN 16931

A VAT Breakdown (BG-23) with VAT Category code (BT-118) "Exempt from VAT" shall have a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120).

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

For category E, both ExemptionReasonCode and ExemptionReason are missing. At least one of these fields must be present for supplies exempt from VAT.

What the rule means

The VAT breakdown must state the reason for the VAT exemption. This can be provided as a reason code or as a reason text.

Affected fields BG-23 BT-118 BT-121 BT-120
Please add the VAT exemption reason to the VAT breakdown

The VAT-exempt category (E) is missing a reason. You can add a reason code or a reason text.

What to do
  1. Provide ExemptionReasonCode or enter a reason text in ExemptionReason.
  2. Check the tax information supplied through AddApplicableTradeTax(...).
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:ApplicableTradeTax>
  <ram:CategoryCode>E</ram:CategoryCode>
</ram:ApplicableTradeTax>
✓ Correct
<ram:ApplicableTradeTax>
  <ram:CategoryCode>E</ram:CategoryCode>
  <ram:ExemptionReason>Exempt from VAT</ram:ExemptionReason>
</ram:ApplicableTradeTax>
Check in FactoorSharp
  • TaxCategoryCodes (BT-118)
  • FacturXInvoice.AddApplicableTradeTax(basisAmount, percent, taxAmount, typeCode, categoryCode, allowanceChargeBasisAmount, exemptionReasonCode, exemptionReason, lineTotalBasisAmount) (BG-23)
  • FacturXInvoice.AnyApplicableTradeTaxes() (BG-23)
  • FacturXInvoice.GetApplicableTradeTaxes() (BG-23)
  • FacturXInvoice.Taxes (BG-23)
Technical details

For category E, the test requires at least one of ExemptionReason or ExemptionReasonCode; it does not require both.

Where the rule applies

The rule applies to ApplicableTradeTax in the VAT breakdown when CategoryCode has the value E.

Context (rule/@context)
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ ram:CategoryCode[. = 'E']
Test expression (assert/@test)
(../ram:ExemptionReason) or (../ram:ExemptionReasonCode)
Changes in the KoSIT validation rules
  • 2023-05-122023-05-12 · AddedTests to monitor implementation of BR-E-10