VRBL-INV-AU-1p0-4

Basic Info

Rule An Invoice that contains Allowance Tax ID, Charge Tax ID or Invoice Line Tax ID equal to "Exempt from Tax" must contain exactly one Tax Subtotal with the Tax Subtotal Category ID equal to "Exempt from Tax".
Context /ubl:Invoice
Pattern vrbl-invoice-au-1p0
Severity fatal

Used Template: VRBL-AU-GST-Tax-Summary

Parameter Value
TaxSchemeID = E
TaxSchemeDescription = Exempt from Tax

Implementation

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