A VAT Breakdown (BG-23) with the VAT Category code (BT-118) "Intra-community supply" shall have a VAT exemption reason code (BT-121), meaning "Intra-community supply" or the VAT exemption reason text (BT-120) "Intra-community supply" (or the equivalent standard text in another language).
For category K, both ExemptionReason and ExemptionReasonCode are missing. The VAT breakdown must include an appropriate exemption reason as text or as a code.
The exemption reason explains why the VAT breakdown is treated as an intra-community supply. It must be provided either as the exemption reason text BT-120 or the exemption reason code BT-121.
No exemption reason is provided for the VAT breakdown with code K. You can add the reason as text or as a code.
- Add either
ExemptionReasonorExemptionReasonCodeto the affectedApplicableTradeTax. - Provide the exemption reason for the intra-community supply.
- Check the call to
AddApplicableTradeTax(...). - Generate the invoice again and validate it.
<ram:ApplicableTradeTax> <ram:CategoryCode>K</ram:CategoryCode> </ram:ApplicableTradeTax>
<ram:ApplicableTradeTax> <ram:CategoryCode>K</ram:CategoryCode> <ram:ExemptionReason>Intra-community supply</ram:ExemptionReason> </ram:ApplicableTradeTax>
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 CategoryCode K, the XPath checks whether at least one of the sibling elements ExemptionReason or ExemptionReasonCode is present.
The rule applies to a document-level VAT breakdown ApplicableTradeTax when its CategoryCode is K.
rule/@context)assert/@test)