VRBL-INV-PEPPOL-PINT-AUNZ-1p0-78
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 "Standard" must contain Tax Subtotal with the Tax Subtotal Category ID equal to "Standard". |
| Context |
/ubl:Invoice
|
| Pattern | vrbl-invoice-peppol-pint-au-nz |
| Severity | fatal |
Implementation
(
(
boolean(cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
or
boolean(cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
or
boolean(cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
)
and
count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST'][cbc:ID='S']/cbc:ID) >= 1
)
or
(
not(cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false']/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
and
not(cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
and
not(cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
and
not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/cbc:ID = 'GST']/cbc:ID = 'S')
)