VRBL-INV-PEPPOL-PINT-AUNZ-1p0-5

Basic Info

Rule An Invoice that contains Document Level Allowance Tax Category Code, Document Level Charge Tax Category Code or Invoiced Item Tax Category Code equal to "Export" must contain exactly one Tax Subtotal with the Tax Subtotal Category ID equal to "Export".
Context /ubl:Invoice
Pattern vrbl-invoice-peppol-pint-au-nz
Severity fatal

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

Parameter Value
TaxSchemeID = G
TaxSchemeDescription = Export

Implementation

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