VRBL-INV-FR-CIUS-1p0-279

Basic Info

Rule When the Document Level Charge Reason Code is used as UNCL7161, the value of the Document Level Charge Reason Code must be contained in UNCL7161 charge reason [VRBL-CL-ChargeReasonCode]. For more information visit: https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL7161/
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-ChargeReasonCode

Implementation

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