Aller au contenu

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

PEPPOL-EN16931-P0100 : Utiliser un code de type de facture autorisé par Peppol BIS Billing

Peppol BIS Billing n'accepte qu'une partie des codes de facture UNTDID 1001. Un code comme 325 (pro forma) réussit EN 16931 et échoue ici.

Peppol BIS BillingErreur : le document n'est pas valideListes de codesProcessus et références

Sur cette page

La réponse courte

PEPPOL-EN16931-P0100 échoue lorsque cbc:InvoiceTypeCode contient un code hors de la liste Peppol BIS Billing. Envoyez 380 pour une facture commerciale, ou un autre code de cette liste qui décrit réellement le document, comme 386 pour une facture d'acompte ou 383 pour une note de débit.

Un code peut être un vrai code de facture UNTDID 1001, accepté par BR-CL-01, et échouer quand même ici. Le 325 enregistré est une facture pro forma, qui ne réclame pas de paiement ; Peppol BIS Billing n'a pas de code pour elle, et la recoder en 380 présenterait comme une demande de paiement un document qui ne demande rien.

Ce que la règle vérifie

La règle lit cbc:InvoiceTypeCode, retire les espaces autour et le compare à 26 codes : 71, 80, 82, 84, 102, 218, 219, 326, 331, 380, 382, 383, 384, 386, 388, 393, 395, 553, 575, 623, 780, 817, 870, 875, 876 et 877.

EN 16931 autorise davantage de codes de facture. Lors d'un essai, 325, 389 (facture d'autofacturation) et 130 ont chacun réussi BR-CL-01 et échoué à cette seule règle.

Elle ne s'applique que lorsque cbc:ProfileID est un identifiant de processus métier que les règles Peppol reconnaissent. Sous un identifiant de processus non reconnu, 325 a produit PEPPOL-EN16931-R007 et aucun constat de cette règle lors d'un essai : corriger l'identifiant de processus peut donc faire apparaître cette règle ensuite.

Figurer sur la liste ne suffit pas toujours. 326 (facture partielle) et 384 (facture rectificative) sont listés, mais PEPPOL-EN16931-P0112 les limite ensuite aux factures entre deux parties allemandes ; lors d'un essai, 326 sur l'exemple britannique a signalé cette règle.

TermeSignificationÉlément UBL
BT-3Code de type de facturecbc:InvoiceTypeCode
BT-23Type de processus métiercbc:ProfileID

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 table de codes a été construite à partir de la liste UNTDID 1001 complète, ou du sous-ensemble EN 16931, au lieu du sous-ensemble Peppol.
  • Les brouillons, factures pro forma ou devis passent par le même export que les factures définitives et gardent leur propre code de type.
  • Les factures d'autofacturation, codées 389, sont envoyées par le processus Billing ordinaire.
  • Un numéro de type de document interne se trouve être un code UNTDID 1001 valide ayant un autre sens.

Comment corriger le document

  1. Déterminez ce qu'est le document. S'il s'agit d'une demande de paiement ordinaire pour des biens ou des services, utilisez 380.
  2. Pour les autres types de facture, choisissez le code correspondant dans la liste Peppol ci-dessus, pas dans la liste UNTDID 1001 complète. S'il s'agit de 326 ou 384, vérifiez aussi la condition des parties allemandes.
  3. Si le document ne réclame pas de paiement, comme une facture pro forma, empêchez son envoi en tant que facture Peppol plutôt que de le recoder.
  4. Restreignez la table de codes de votre mapping à la liste Peppol, afin qu'un code non pris en charge soit détecté dès la création du document.

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 : un processus Billing reconnu avec le code de type 325, facture pro forma

<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:DueDate>2026-10-08</cbc:DueDate>
<cbc:InvoiceTypeCode>325</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>

Fragment de la facture corrigée : code de type 380, facture commerciale

<cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
<cbc:ID>EXAMPLE-INV-001</cbc:ID>
<cbc:IssueDate>2026-09-08</cbc:IssueDate>
<cbc:DueDate>2026-10-08</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>

Seul cbc:InvoiceTypeCode diffère : 325 dans la facture en échec, 380 dans la facture corrigée. Le document en échec ne signale que PEPPOL-EN16931-P0100 ; l'étape EN 16931 réussit, car 325 figure sur la liste plus large que contrôle BR-CL-01. La valeur corrigée convient à cet exemple, qui est une facture ordinaire ; ce n'est pas une recette pour recoder une vraie facture pro forma.

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 uniquement à UBL Invoice. Un CreditNote porte cbc:CreditNoteTypeCode, que PEPPOL-EN16931-P0101 contrôle par rapport à sa propre liste.
  • La même liste s'applique sous chaque identifiant de processus reconnu, y compris urn:peppol:bis:billing_with_response : lors d'un essai, 325 a aussi échoué avec cet identifiant.
  • Un code qui ne figure sur aucune des deux listes, comme 999, ou un élément vide, est signalé ici et par BR-CL-01 ensemble.

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 PEPPOL-EN16931-P0100 (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.