VRBL-INV-SG-1p4-40

Basic Info

Rule An Invoice that contains Allowance Tax ID used for GST = 'VRBL:SG:NG', shall not contain the Tax Representative Tax Company ID used for GST ID, the Seller Tax ID used for GST ID or the Buyer Tax Company ID used for GST ID.
Context /ubl:Invoice
Pattern vrbl-invoice-sg-1p4
Severity fatal

Implementation

not(
	cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'VRBL:SG:NG'
)
or
(
	not(boolean(/ubl:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'GST']/cbc:CompanyID))
	and
	not(boolean(/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'GST']/cbc:CompanyID))
	and
	not(boolean(/ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme[cac:TaxScheme/cbc:ID = 'GST']/cbc:CompanyID))
)