VRBL-INV-AU-1p0-7

Basic Info

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

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

Parameter Value
TaxSchemeID = Z
TaxSchemeDescription = Zero rated

Implementation

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