VRBL-INV-CH-YELLOWBILL-3p0-32

Basic Info

Rule The value of the Payment Terms Settlement Period Duration Measure Unit Code must be contained in Duration Unit Code [VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode].
Context /ubl:Invoice/cac:PaymentTerms/cac:SettlementPeriod/cbc:DurationMeasure
Pattern vrbl-ch-yellowbill-3p0
Severity fatal

Used Template: CodeList

Parameter Value
probe = @unitCode
codeList = $VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode

Implementation

not(boolean(@unitCode))
or
(
	(
		not(
			contains(
				normalize-space(@unitCode),
				substring($VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode, 1, 1)
			)
		)
		and
		contains(
			$VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode,
			concat(
				substring($VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode, 1, 1),
				normalize-space(@unitCode),
				substring($VRBL-CL-CH-SettlementPeriodDurationMeasureUnitCode, 1, 1)
			)
		)
	)
)