VRBL-INV-FR-CIUS-1p0-286

Basic Info

Rule At least one Tax Breakdown marked as Exempt from VAT is required when Document Level Allowances, Document Level Charges or Invoice Line is marked as Exempt from VAT.
Context /ubl:Invoice/cac:TaxTotal[cbc:TaxAmount/@currencyID = ../cbc:DocumentCurrencyCode]
Pattern vrbl-invoice-fr-cius-1p0-min
Severity fatal

Used Template: VRBL-FR-TaxSubtotal-count

Parameter Value
taxTypeCode = E
taxTypeName = Exempt from VAT

Implementation

not(
	boolean(../cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']/cac:TaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
	or
	boolean(../cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']/cac:TaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
	or
	boolean(../cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
)
or
(
	count(cac:TaxSubtotal[cac:TaxCategory/cbc:ID = 'E' and cac:TaxCategory/cac:TaxScheme/cbc:ID = 'VAT']) >= 1
	and
	(
		boolean(../cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']/cac:TaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
		or
		boolean(../cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']/cac:TaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
		or
		boolean(../cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[cbc:ID = 'E'][cac:TaxScheme/cbc:ID = 'VAT'])
	)
)