VRBL-INV-FR-CIUS-1p0-280

Basic Info

Rule When the Document Level Charge Reason Code is used as UNCL5153, the value of the Document Level Charge Reason Code must be contained in Tax Scheme (UNCL5153) [VRBL-CL-TaxSchemeID], excluding values in Charge Reason Code (forbidden values in UNCL5153 for France) [VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden]. For more information visit: https://service.unece.org/trade/uncefact/vocabulary/uncl5153/
Context /ubl:Invoice/cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']/cbc:AllowanceChargeReasonCode
Pattern vrbl-invoice-fr-cius-1p0
Severity warning

Used Template: CodeList

Parameter Value
probe = .
codeList = $VRBL-CL-TaxSchemeID and !$VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden

Implementation

(
	not(@listID = 'UNCL:5153')
)
or
(
	not(boolean(.))
	or
	(
		(
			not(
				contains(
					normalize-space(.),
					substring($VRBL-CL-TaxSchemeID, 1, 1)
				)
			)
			and
			contains(
				$VRBL-CL-TaxSchemeID,
				concat(
					substring($VRBL-CL-TaxSchemeID, 1, 1),
					normalize-space(.),
					substring($VRBL-CL-TaxSchemeID, 1, 1)
				)
			)
		)
		and
		not(
			not(
				contains(
					normalize-space(.),
					substring($VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden, 1, 1)
				)
			)
			and
			contains(
				$VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden,
				concat(
					substring($VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden, 1, 1),
					normalize-space(.),
					substring($VRBL-CL-FR-ChargeReasonCode-UNCL5153-Forbidden, 1, 1)
				)
			)
		)
	)
)