Aller au contenu

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

PEPPOL-EN16931-R004 : Utiliser l'identifiant de spécification Peppol BIS Billing 3.0

cbc:CustomizationID est absent ou n'est pas l'identifiant Peppol BIS Billing 3.0. Envoyez la valeur Peppol, pas EN 16931 seul ni une autre CIUS.

Peppol BIS BillingErreur : le document n'est pas valideProcessus et référencesChamps de base

Sur cette page

La réponse courte

PEPPOL-EN16931-R004 échoue lorsque cbc:CustomizationID est absent, vide, ou contient autre chose que l'identifiant Peppol BIS Billing 3.0. Écrivez urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0 comme premier enfant de la racine, caractère pour caractère.

Lorsque l'élément est totalement absent, le document signale aussi BR-01, la règle EN 16931 selon laquelle un identifiant de spécification doit exister. Lorsque l'élément est présent avec une autre valeur, comme urn:cen.eu:en16931:2017 seul, seul PEPPOL-EN16931-R004 est signalé : EN 16931 se satisfait de tout identifiant non vide, Peppol non.

Ce que la règle vérifie

La règle lit le texte de cbc:CustomizationID sous la racine du document, ignore les espaces en début et en fin, et exige qu'il commence par l'identifiant Peppol BIS Billing 3.0. Elle rejette aussi toute valeur contenant deux deux-points consécutifs.

La comparaison est sensible à la casse. Le même identifiant en majuscules échoue.

Comme le test porte sur le début de la valeur, un identifiant qui se prolonge après la valeur Peppol par un segment # supplémentaire n'est pas signalé par cette règle. Ce n'est pas une raison pour ajouter quoi que ce soit : pour un Billing ordinaire, envoyez l'identifiant exactement.

Les identifiants d'autres spécifications échouent : EN 16931 seul, XRechnung, l'identifiant Peppol d'autofacturation et l'identifiant de processus métier placé dans le mauvais élément ont tous été signalés lors d'un essai.

TermeSignificationÉlément UBL
BT-24Identifiant de spécificationcbc:CustomizationID

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 :

  • Le mapping a été écrit pour EN 16931 seul ou pour une autre CIUS, et l'identifiant a été repris sans modification.
  • L'identifiant est une valeur de configuration, vide dans l'environnement testé, si bien que l'élément est omis.
  • Les valeurs de cbc:CustomizationID et cbc:ProfileID ont été interverties ou fusionnées.
  • L'identifiant a été ressaisi à la main et diffère par la casse, par un segment #compliant# manquant ou par un caractère parasite.

Comment corriger le document

  1. Produisez cbc:CustomizationID comme premier enfant de la racine Invoice ou CreditNote. Le schéma UBL exige qu'il précède cbc:ProfileID.
  2. Donnez-lui la valeur urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0. Conservez la valeur comme constante dans le code, copiée et non ressaisie.
  3. Gardez cbc:ProfileID comme élément distinct, avec l'identifiant de processus métier. Ce sont deux termes différents, aux valeurs différentes.
  4. Si le document est en réalité destiné à une autre spécification, comme XRechnung, il sort de ce que ce validateur prend en charge ; ne le réétiquetez pas en Peppol juste pour lever le constat. L'identifiant est une déclaration sur l'ensemble du document, qui revendiquerait alors une spécification pour laquelle il n'a pas été construit.

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 : il n'y a pas d'identifiant de spécification, l'en-tête commence donc au processus métier

<!-- no cbc:CustomizationID in the failing document -->
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<!-- rest of the document omitted from this fragment -->

Fragment de la facture corrigée : l'identifiant Peppol BIS Billing 3.0 vient en premier

<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<!-- rest of the document omitted from this fragment -->

Le document corrigé ajoute la ligne cbc:CustomizationID ; rien d'autre ne diffère. Le document en échec signale BR-01 dans l'étape EN 16931, parce qu'aucun identifiant de spécification n'existe, et PEPPOL-EN16931-R004 dans l'étape Peppol, parce qu'il n'y a aucune valeur qui puisse commencer par l'identifiant Peppol. Un seul élément lève les deux. Cet exemple est partagé avec BR-01.

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 à UBL Invoice qu'à CreditNote, avec le même identifiant pour les deux. Un avoir dont l'identifiant est absent, ou différent, signale les mêmes constats qu'une facture.
  • Un cbc:CustomizationID vide signale trois règles : BR-01, cette règle et PEPPOL-EN16931-R008 pour l'élément vide.
  • Réussir cette règle indique seulement que le document se déclare Peppol BIS Billing 3.0. Toutes les autres règles décident encore s'il l'est.

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-20.

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