VRBL-INV-FR-CIUS-1p0-106

Basic Info

Rule If the Seller Service Provider Party Identification ID is marked as a SIRET-CODE, it must be consistent with the reported SIREN in Seller Service Provider Party Legal Entity Company ID.
Context /ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:ServiceProviderParty/cac:Party/cac:PartyIdentification/cbc:ID
Pattern vrbl-invoice-fr-cius-1p0
Severity warning

Used Template: VRBL-FR-schemeID-0009-and-SIREN

Parameter Value
probeSIREN = ../../cac:PartyLegalEntity/cbc:CompanyID[not(@schemeID) or @schemeID='0002']
displayName_probeSIREN = %{../../cac:PartyLegalEntity/cbc:CompanyID}

Implementation

not(@schemeID = '0009')
or
not(boolean(../../cac:PartyLegalEntity/cbc:CompanyID[not(@schemeID) or @schemeID='0002']))
or
not(
	string-length(normalize-space(../../cac:PartyLegalEntity/cbc:CompanyID[not(@schemeID) or @schemeID='0002'])) = 9
	and
	translate(normalize-space(../../cac:PartyLegalEntity/cbc:CompanyID[not(@schemeID) or @schemeID='0002']), $Numerics, '') = ''
)
or
substring(normalize-space(.), 1, 9) = normalize-space(../../cac:PartyLegalEntity/cbc:CompanyID[not(@schemeID) or @schemeID='0002'])