VRBL-INV-FR-CIUS-1p0-160

Basic Info

Rule When the Invoice Subtype Code represents a prepaid invoice, the Legal Monetary Total Prepaid Amount must equal the Legal Monetary Total Tax Inclusive Amount.
Context /ubl:Invoice/cac:LegalMonetaryTotal
Pattern vrbl-invoice-fr-cius-1p0
Severity warning

Used Template: Equality

Parameter Value
DeactivateWhen = not(contains($VRBL-CL-FR-InvoiceSubtypeCode-Prepaid, concat(' ', substring-after(../cec:UBLExtensions/cec:UBLExtension/cec:ExtensionContent/vrbl:InvoiceExtension/vrbl:InvoiceSubtypeCode, $VRBL-FR-Prefix), ' ')))
A = cbc:PrepaidAmount
B = cbc:TaxInclusiveAmount
NumberFormat = '0.00'
ErrorMessage = When the %{../cec:UBLExtensions/cec:UBLExtension/cec:ExtensionContent/vrbl:InvoiceExtension/vrbl:InvoiceSubtypeCode} represents a prepaid invoice, the %{cbc:PrepaidAmount} must equal the %{cbc:TaxInclusiveAmount}.

Implementation

not(contains($VRBL-CL-FR-InvoiceSubtypeCode-Prepaid, concat(' ', substring-after(../cec:UBLExtensions/cec:UBLExtension/cec:ExtensionContent/vrbl:InvoiceExtension/vrbl:InvoiceSubtypeCode, $VRBL-FR-Prefix), ' ')))
or
(
	(
		format-number(
			(
				(cbc:PrepaidAmount)
				-
				(cbc:TaxInclusiveAmount)
			),
			'0.00'
		)
		=
		'0.00'
	)
	or
	(
		format-number(
			(
				(cbc:PrepaidAmount)
				-
				(cbc:TaxInclusiveAmount)
			),
			'0.00'
		)
		=
		concat('-', '0.00')
	)
)