VRBL-INV-DE-XR-56

Basic Info

Rule The Seller Tax ID or the Seller Tax Representative Tax ID must exist for certain Invoiced Item Tax Category Code values. If they do not exist the value of the Invoiced Item Tax Category Code must not be contained in VAT [VRBL-CL-SupportedVATCode]. Not allowed values: AE, E, G, K, L, M, S, Z.
Context /ubl:Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
Pattern vrbl-invoice-de-xr-3p0
Severity fatal

Used Template: CodeList

Parameter Value
probe = .
codeList = !$VRBL-CL-SupportedVATCode
showValues = true

Implementation

(
	boolean(/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or boolean(/ubl:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID)
)
or
(
	not(boolean(.))
	or
	(
		not(
			not(
				contains(
					normalize-space(.),
					substring($VRBL-CL-SupportedVATCode, 1, 1)
				)
			)
			and
			contains(
				$VRBL-CL-SupportedVATCode,
				concat(
					substring($VRBL-CL-SupportedVATCode, 1, 1),
					normalize-space(.),
					substring($VRBL-CL-SupportedVATCode, 1, 1)
				)
			)
		)
	)
)