VRBL-INV-DK-OIOUBL-2p0-85

Basic Info

Rule The Payment Means Payment Means Code is restricted to certain values, when Payment Means Instruction Note is provided. If it is provided the value of the Payment Means Payment Means Code must not be contained in Subset of UNCL4461 [VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote]. Not allowed values: 31, 42, 48, 49, 97.
Context /ubl:Invoice/cac:PaymentMeans/cbc:PaymentMeansCode
Pattern vrbl-invoice-dk-oioubl-2p0
Severity fatal

Used Template: CodeList

Parameter Value
probe = .
codeList = !$VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote
showValues = true

Implementation

(
	not(boolean(../cbc:InstructionNote))
)
or
(
	not(boolean(.))
	or
	(
		not(
			not(
				contains(
					normalize-space(.),
					substring($VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote, 1, 1)
				)
			)
			and
			contains(
				$VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote,
				concat(
					substring($VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote, 1, 1),
					normalize-space(.),
					substring($VRBL-CL-DK-OIOUBL2p0-PaymentMeansCode-NoInstructionNote, 1, 1)
				)
			)
		)
	)
)