Aller au contenu

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

UBL-CR-666 : Retirer Attachment de la référence de l'objet facturé

Erreur : EN 16931 n'autorise pas cac:Attachment dans la référence de l'objet facturé. Le document est invalide tant que vous ne retirez pas l'élément.

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

Sur cette page

La réponse courte

UBL-CR-666 est une erreur fatale émise lorsque la référence de l'objet facturé, un cac:AdditionalDocumentReference dont le cbc:DocumentTypeCode est 130, a un cac:Attachment. Seuls les documents justificatifs (BG-24) portent des pièces jointes : retirez-le ici.

Tant que l'élément est présent, le document est invalide : l'étape EN 16931 échoue sur cette règle, et un destinataire peut refuser le document.

Ce que la règle vérifie

La règle examine chaque cac:AdditionalDocumentReference dont le cbc:DocumentTypeCode est 130, l'identifiant de l'objet facturé (BT-18), et vérifie s'il a un cac:Attachment. Les documents justificatifs (BG-24), sans le code de type 130, peuvent en porter un.

Elle s'exécute une seule fois sur l'ensemble du document et ne produit donc qu'un constat, quel que soit le nombre de fois où le document contient l'élément. Ce constat pointe vers la racine du document, et non vers l'élément : cherchez cac:AdditionalDocumentReference/cac:Attachment dans le XML.

Tout ce que contient cac:Attachment disparaît avec lui. Des éléments qu'il contient ont leur propre avertissement (UBL-CR-121, UBL-CR-122, UBL-CR-123, UBL-CR-124, UBL-CR-125, UBL-CR-126, UBL-CR-127, UBL-CR-128, UBL-CR-129 et UBL-CR-130) ; retirer cac:Attachment les fait disparaître aussi.

TermeSignificationÉlément UBL
-Attachment (BT-125 sur un document justificatif, pas sur l'objet facturé)cac:AdditionalDocumentReference/cac:Attachment
BT-18Référence de l'objet facturécac:AdditionalDocumentReference

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 :

  • Une structure cac:Attachment entière est reprise d'une fiche de référence ou d'un autre type de document, y compris des parties qu'EN 16931 n'utilise pas.
  • Une bibliothèque UBL 2.1 générique écrit chaque élément et attribut pour lequel elle a une valeur, qu'EN 16931 l'utilise ou non.
  • Un mapping conçu pour un autre document basé sur UBL, comme une commande, un avis d'expédition ou un profil national, est réutilisé pour Peppol BIS Billing.

Comment corriger le document

  1. Retirez cac:Attachment de la référence dont le cbc:DocumentTypeCode est 130.
  2. Envoyez plutôt le fichier comme document justificatif : un cac:AdditionalDocumentReference distinct sans code de type 130, avec son propre cbc:ID et le cac:Attachment (BG-24).
  3. Validez à nouveau : le document est valide une fois l'élément retiré.

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 avec l'erreur : Attachment dans la référence de l'objet facturé

<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="AAB">OBJECT-001</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
  <cac:Attachment>
    <cac:ExternalReference>
      <cbc:URI>https://example.invalid/object-001.pdf</cbc:URI>
    </cac:ExternalReference>
  </cac:Attachment>
</cac:AdditionalDocumentReference>

Fragment de la facture corrigée : les mêmes lignes sans l'élément

<cac:AdditionalDocumentReference>
  <cbc:ID schemeID="AAB">OBJECT-001</cbc:ID>
  <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:AdditionalDocumentReference>

La facture avec l'erreur contient <cac:Attachment> dans la référence de l'objet facturé, et la facture corrigée est le même document sans l'élément. La facture avec l'erreur échoue à l'étape EN 16931 sur cette seule règle ; toutes les autres étapes réussissent.

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 de la même façon aux documents UBL Invoice et CreditNote ; l'exemple enregistré est une facture.
  • L'erreur vient des règles de l'étape EN 16931 pour la syntaxe UBL. Dans l'exemple enregistré, l'étape XSD réussit : l'élément est valide en UBL 2.1 et sort seulement du modèle EN 16931.

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-29.1 : source vérifiée le 2026-09-29, explication mise à jour le 2026-09-29.

La définition officielle de UBL-CR-666 (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.