Aller au contenu

Ironfang Finance - Référence des règles

BR-52 : Ajouter un identifiant à chaque référence à un document justificatif

Chaque cac:AdditionalDocumentReference exige un cbc:ID désignant le document justificatif. Un identifiant vide ou composé uniquement d'espaces échoue.

EN 16931Erreur : le document n'est pas valideProcessus et références

Sur cette page

La réponse courte

BR-52 échoue lorsqu'une cac:AdditionalDocumentReference a un cbc:ID sans aucun texte. Écrivez l'identifiant du document justificatif, par exemple le numéro de la feuille de temps ou du bon de livraison, dans ce cbc:ID.

Supprimer le cbc:ID vide n'est pas une solution : le schéma UBL exige l'élément, et une référence qui ne l'a pas échoue donc à l'étape XSD à la place.

Ce que la règle vérifie

La règle s'exécute une fois pour chaque cac:AdditionalDocumentReference du document et lit son cbc:ID. Elle échoue lorsque cet identifiant est vide ou ne contient que des espaces ; lors d'un essai, un identifiant de trois espaces a signalé cette règle.

Rien d'autre n'est nécessaire dans la référence pour réussir. Lors d'un essai, une référence ne contenant qu'un identifiant, sans description ni pièce jointe, a réussi toutes les étapes.

Absent et vide se comportent différemment ici. Sans aucun élément cbc:ID, le document échoue à l'étape XSD, les règles métier sont ignorées et BR-52 n'est pas signalé.

Ni le format ni l'unicité de l'identifiant ne sont vérifiés. N'importe quel texte visible satisfait la règle.

TermeSignificationÉlément UBL
BG-24Documents justificatifs additionnelscac:AdditionalDocumentReference
BT-122Référence du document justificatifcac:AdditionalDocumentReference/cbc:ID

Comment une intégration en arrive là

Causes possibles, déduites de la forme de la règle et non d'une utilisation mesurée :

  • Les pièces jointes sont stockées sans numéro de document, et l'export transforme le numéro manquant en élément vide.
  • La référence est renseignée à partir d'un champ qui existe pour un seul type de pièce jointe, comme les feuilles de temps, et qui est vide pour les autres.
  • Un modèle écrit toujours un bloc cac:AdditionalDocumentReference pour une pièce jointe facultative et laisse ses champs vides lorsqu'il n'y en a pas.
  • La valeur source est une suite d'espaces que l'export traite comme présente.

Comment corriger le document

  1. Déterminez quel document justificatif la référence décrit : le fichier joint, ou le document externe vers lequel elle pointe.
  2. Écrivez son identifiant dans cbc:ID : le numéro imprimé sur le document ou, s'il n'en a pas, un identifiant stable que votre gestion documentaire conserve pour lui, afin que l'acheteur puisse s'y référer.
  3. Si la facture n'a pas de document justificatif, retirez toute la cac:AdditionalDocumentReference au lieu d'envoyer une coquille vide.
  4. Rendez la référence obligatoire partout où des pièces jointes sont ajoutées, afin que l'export n'en rencontre jamais une vide.

Valider votre facture corrigée

Avant et après

Ce sont des extraits, pas des documents complets. Les documents synthétiques complets dont ils proviennent sont liés ci-dessous.

Fragment de la facture en échec : une feuille de temps est jointe, mais sa référence est vide

<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<cac:AdditionalDocumentReference>
  <cbc:ID></cbc:ID>
  <cbc:DocumentDescription>Timesheet</cbc:DocumentDescription>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="timesheet.pdf">JVBERi0xLjQK</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

Fragment de la facture corrigée : la référence identifie la feuille de temps

<cbc:BuyerReference>BUYER-REF-001</cbc:BuyerReference>
<cac:AdditionalDocumentReference>
  <cbc:ID>TIMESHEET-001</cbc:ID>
  <cbc:DocumentDescription>Timesheet</cbc:DocumentDescription>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" filename="timesheet.pdf">JVBERi0xLjQK</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

Seul le cbc:ID à l'intérieur de cac:AdditionalDocumentReference diffère : vide dans la facture en échec, TIMESHEET-001 dans la facture corrigée. Le document en échec signale aussi PEPPOL-EN16931-R008, la règle Peppol contre les éléments vides, qui pointe vers ce même cbc:ID. Renseigner l'identifiant fait disparaître les deux constats.

Ce que le validateur a signalé

Enregistré avec phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, le moteur du validateur gratuit, sur des données synthétiques. Un résultat enregistré est une preuve de non-régression pour ces documents ; ce n'est pas une certification.

Où la règle s'applique

  • S'applique aussi bien à Invoice qu'à CreditNote ; lors d'un essai, un avoir avec une référence vide à un document justificatif a lui aussi signalé BR-52 et PEPPOL-EN16931-R008.
  • Signalé à l'étape EN 16931, avec le constat d'élément vide à côté, à l'étape Peppol.
  • Toute référence à un document additionnel est concernée, y compris celle qui porte un identifiant d'objet facturé avec cbc:DocumentTypeCode 130 ; lors d'un essai, un identifiant vide à cet endroit a aussi signalé cette règle.
  • Le fichier joint a ses propres contrôles : son code MIME est vérifié par BR-CL-24, et un attribut filename manquant est signalé comme UBL-DT-07.

Portée et source

Rédigé pour Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, tel qu'appliqué aux documents Invoice et CreditNote en UBL 2.1. D'autres profils, syntaxes et versions peuvent définir cet identifiant autrement. Version du catalogue d'aide 2026-09-24.1 : source vérifiée le 2026-09-24, explication mise à jour le 2026-09-24.

La définition officielle de BR-52 (en anglais) contient le texte normatif et le test. Cette page en est notre explication, pas une copie.

Cette aide ne modifie pas le verdict du moteur. Corriger ce constat ne signifie pas que le document passe toutes les étapes de validation, et la validation ne certifie pas la conformité juridique ou fiscale et ne transmet aucun document via Peppol.