VRBL-INV-AU-1p0-6

Basic Info

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

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

Parameter Value
TaxSchemeID = O
TaxSchemeDescription = Not subject to tax

Implementation

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