VRBL-INV-IT-1p2-234
Basic Info
| Rule | The value of the Withholding Tax Payment Reason Code must be contained in Payment Reason Code [VRBL-CL-IT-PaymentReasonCode] (prefixed by 'VRBL:IT:'). Allowed values: VRBL:IT:A, VRBL:IT:B, VRBL:IT:C, VRBL:IT:D, VRBL:IT:E, VRBL:IT:G, VRBL:IT:H, VRBL:IT:I, VRBL:IT:J, VRBL:IT:K, VRBL:IT:L, VRBL:IT:L1, VRBL:IT:M, VRBL:IT:M1, VRBL:IT:M2, VRBL:IT:N, VRBL:IT:O, VRBL:IT:O1, VRBL:IT:P, VRBL:IT:Q, VRBL:IT:R, VRBL:IT:S, VRBL:IT:T, VRBL:IT:U, VRBL:IT:V, VRBL:IT:V1, VRBL:IT:V2, VRBL:IT:W, VRBL:IT:X, VRBL:IT:Y, VRBL:IT:ZO. |
| Context |
/ubl:Invoice/cac:WithholdingTaxTotal/cec:UBLExtensions/cec:UBLExtension/cec:ExtensionContent/vrbl:WithholdingTaxTotalExtension/vrbl:PaymentReasonCode
|
| Pattern | vrbl-invoice-it-1p2 |
| Severity | fatal |
Used Template: CodeList
| Parameter | Value | |
|---|---|---|
| probe | = |
.
|
| codeList | = |
$VRBL-IT-Prefix:$VRBL-CL-IT-PaymentReasonCode
|
| showValues | = |
true
|
Implementation
not(boolean(.))
or
(
(
substring(normalize-space(.), 1, string-length($VRBL-IT-Prefix)) = $VRBL-IT-Prefix
and
not(
contains(
substring-after(normalize-space(.), $VRBL-IT-Prefix),
substring($VRBL-CL-IT-PaymentReasonCode, 1, 1)
)
)
and
contains(
$VRBL-CL-IT-PaymentReasonCode,
concat(
substring($VRBL-CL-IT-PaymentReasonCode, 1, 1),
substring-after(normalize-space(.), $VRBL-IT-Prefix),
substring($VRBL-CL-IT-PaymentReasonCode, 1, 1)
)
)
)
)