Aller au contenu

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

PEPPOL-EN16931-R101 : Réserver la référence de document de ligne à l'objet facturé, avec le code de type 130

Un cac:DocumentReference sur une ligne de facture doit être l'objet facturé, avec le cbc:DocumentTypeCode 130. Les autres documents relèvent du niveau du document.

Peppol BIS BillingErreur : le document n'est pas valideLignes et prixProcessus et références

Sur cette page

La réponse courte

PEPPOL-EN16931-R101 échoue lorsqu'une ligne porte un cac:DocumentReference et qu'aucune de ses références n'a le cbc:DocumentTypeCode 130. Dans l'exemple enregistré, la ligne identifie le compteur METER-0042 mais ne donne aucun code de type. Si la référence est l'objet facturé, comme un compteur, un abonnement ou un véhicule, ajoutez <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode> après son cbc:ID.

S'il s'agit d'un autre document, comme un bon de livraison ou une feuille de temps, il n'a pas sa place sur la ligne. Référencez-le plutôt au niveau du document, par exemple comme référence d'avis d'expédition ou comme document justificatif.

Ce que la règle vérifie

La règle s'exécute sur chaque cac:InvoiceLine et cac:CreditNoteLine. Une ligne sans cac:DocumentReference réussit ; une ligne qui en a une ne réussit que si son cbc:DocumentTypeCode vaut exactement 130.

Tout autre code échoue, de même qu'un code entouré d'espaces. Lors d'un essai, 916, 50 et 130 avec un espace initial ont chacun signalé cette règle ; un code vide l'a signalée avec PEPPOL-EN16931-R008.

Avec plusieurs références sur une ligne, il suffit à cette règle que l'une d'elles ait 130. Lors d'un essai, une ligne portant la référence du compteur et une seconde référence sans code de type a passé cette règle, et a été signalée à la place par PEPPOL-EN16931-R100 et UBL-SR-52, qui n'admettent qu'une référence par ligne.

Un schéma sur l'identifiant ne remplace pas le code de type. Lors d'un essai, ajouter un attribut schemeID au cbc:ID de la référence sans type a toujours signalé cette règle.

TermeSignificationÉlément UBL
BT-128Identifiant d'objet de la ligne de facturecac:InvoiceLine/cac:DocumentReference/cbc:ID (cac:CreditNoteLine/cac:DocumentReference/cbc:ID in a credit note)
-Code de type de document d'une référence de document de lignecac:InvoiceLine/cac:DocumentReference/cbc:DocumentTypeCode

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 :

  • La référence de la ligne sert au bon de livraison ou à la feuille de temps qui justifie la ligne, parce que c'est le seul élément de référence qu'offre une ligne.
  • Le mapping remplit l'identifiant d'objet mais pas le code fixe 130 qui doit l'accompagner.
  • Un code de type de document prévu pour les références au niveau du document est recopié sur la référence de la ligne.

Comment corriger le document

  1. Demandez-vous ce que la référence de la ligne identifie. Un objet facturé est ce pour quoi la ligne est facturée et que l'acheteur suit, comme un compteur, un abonnement ou un véhicule.
  2. Pour un objet facturé, écrivez 130 dans cbc:DocumentTypeCode juste après cbc:ID, et ajoutez schemeID à l'identifiant si l'objet relève d'un schéma d'identification connu.
  3. Pour tout autre document, supprimez la référence de la ligne et référencez le document au niveau du document : cac:DespatchDocumentReference pour un avis d'expédition, ou cac:AdditionalDocumentReference pour un document justificatif, avec le fichier joint à cet endroit si nécessaire.
  4. Gardez un seul cac:DocumentReference par ligne.

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 : la ligne nomme le compteur METER-0042 sans code de type de document

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:DocumentReference>
    <cbc:ID>METER-0042</cbc:ID>
  </cac:DocumentReference>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Fragment de la facture corrigée : la même référence typée comme objet facturé, code 130

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cac:DocumentReference>
    <cbc:ID>METER-0042</cbc:ID>
    <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
  </cac:DocumentReference>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

La facture corrigée ajoute <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode> à la référence de ligne de METER-0042 ; la facture en échec n'a que l'identifiant. Seul PEPPOL-EN16931-R101 est signalé, sur la ligne, et l'étape EN 16931 réussit : le schéma accepte une référence de document sans code de type, et aucune règle EN 16931 n'en exige un sur une ligne.

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 à Invoice et à CreditNote. Lors d'un essai, une ligne d'avoir avec la même référence sans type a signalé cette règle, et a réussi une fois 130 ajouté.
  • Une règle Peppol BIS, signalée à l'étape Peppol uniquement.
  • Les références au niveau du document ne sont pas concernées. Lors d'un essai, un bon de livraison donné en cac:DespatchDocumentReference a passé toutes les étapes.
  • D'autres enfants d'une référence de ligne entraînent des avertissements UBL. Lors d'un essai, une description sur la référence typée du compteur a ajouté l'avertissement UBL-CR-543, et un PDF joint à une référence sans type a ajouté UBL-CR-544 à côté de cette règle.

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

La définition officielle de PEPPOL-EN16931-R101 (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.