BR-FR-11_BT-47
The rule sets below word this rule differently; each wording is shown with its rule set.
What the rule checks
As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.
[BR-FR-11/BT-47] Si une note contient le code sujet BAR avec la valeur 'B2B', alors le SIREN de l’acheteur (cbc:ID[@schemeID='0002']) est obligatoire et doit être composé exactement de 9 chiffres. BARvalue : … , Valeur actuelle SIREN : " … ". Veuillez renseigner un identifiant SIREN valide.
ubl:Invoice | cn:CreditNote
not($barTreatment='B2B') or ($siren and matches(normalize-space($siren), '^\d{9}$'))
Checked with France e-invoice (UBL), France e-credit note (UBL), France EXTENDED-CTC-FR (UBL)
BR-FR-11/BT-47 : Si une note contient le code sujet BAR avec la valeur 'B2B', alors le SIREN de l’acheteur (BT-47, ram:ID) est obligatoire et doit être composé exactement de 9 chiffres. Valeur actuelle : " … ". Veuillez renseigner un identifiant SIREN valide.
rsm:CrossIndustryInvoice
not($barTreatment = 'B2B') or matches($siren, '^\d{9}$')
Checked with France e-invoice (CII), France Factur-X EN 16931, France EXTENDED-CTC-FR (CII), France Factur-X EXTENDED, France Factur-X BASIC WL