Sur cette page
La réponse courte
BR-CL-24 échoue lorsque l'attribut mimeCode d'un cbc:EmbeddedDocumentBinaryObject n'est pas l'une des six valeurs autorisées. Donnez-lui le type réel du fichier, qui doit être application/pdf, image/png, image/jpeg, text/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ou application/vnd.oasis.opendocument.spreadsheet.
Un fichier dans un autre format ne peut pas être intégré tel quel. Convertissez-le d'abord dans l'un de ces formats, en PDF pour un document, et modifiez le nom du fichier en conséquence.
Ce que la règle vérifie
La règle lit l'attribut mimeCode de chaque pièce jointe intégrée et le compare aux six valeurs autorisées en tant que chaînes exactes. Rien n'est mis en minuscules ni débarrassé de ses espaces : lors d'un essai, application/PDF et application/pdf avec un espace final ont tous deux échoué.
Les valeurs approchantes échouent aussi. Lors d'un essai, image/jpg, application/xml et text/csv; charset=utf-8 ont chacun été rejetés ; la valeur JPEG est image/jpeg, et un paramètre après le type en fait une autre chaîne.
Seul l'attribut est jugé. La règle ne décode pas le contenu Base64 et ne peut donc pas savoir si le fichier est réellement du type annoncé par le code.
Une pièce jointe sans mimeCode échoue à l'étape XSD, car UBL exige l'attribut sur un objet binaire. Un document référencé par cac:ExternalReference/cbc:URI au lieu d'être intégré n'a pas de code MIME et n'est pas contrôlé ; lors d'un essai, il a été accepté.
| Terme | Signification | Élément UBL |
|---|---|---|
| BT-125 | Document joint | cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject |
| BT-125-1 | Code MIME du document joint | cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@mimeCode |
| BT-125-2 | Nom de fichier du document joint | cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename |
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 type provient d'une détection de contenu qui se rabat sur
application/octet-streamlorsqu'elle ne reconnaît pas le fichier, comme dans l'exemple enregistré. - Une recherche par extension de fichier renvoie
image/jpgpour les fichiers.jpgouapplication/vnd.ms-excelpour les fichiers.csv. - La gestion documentaire contient le fichier Word, XML ou ZIP d'origine et l'intègre sans conversion.
- Le type de contenu est copié d'un formulaire d'envoi ou d'un en-tête HTTP qui ajoute un paramètre, comme
text/csv; charset=utf-8.
Comment corriger le document
- Identifiez le format réel de chaque fichier joint.
- S'il s'agit de PDF, PNG, JPEG, CSV, xlsx ou ods, donnez à
mimeCodela valeur exacte de ce format, en minuscules, sans paramètres et sans espaces. - S'il s'agit d'autre chose, convertissez le fichier dans l'un de ces formats avant de l'intégrer, et mettez à jour l'extension dans
filenameen conséquence. - Faites correspondre les formats avec une table fixe des six valeurs plutôt qu'avec une bibliothèque MIME générale, afin qu'un fichier non pris en charge arrête l'export au lieu d'être étiqueté
application/octet-stream.
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 PDF déclarée comme application/octet-stream
<cac:AdditionalDocumentReference>
<cbc:ID>TIMESHEET-001</cbc:ID>
<cbc:DocumentDescription>Timesheet</cbc:DocumentDescription>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="application/octet-stream" filename="timesheet.pdf">JVBERi0xLjQK</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>Fragment de la facture corrigée : le même fichier déclaré comme application/pdf
<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 l'attribut mimeCode diffère : application/octet-stream dans la facture en échec, application/pdf dans la facture corrigée, pour le même contenu et le même nom de fichier. Le document en échec signale aussi PEPPOL-EN16931-CL001, l'étape Peppol répétant ce contrôle par rapport aux six mêmes valeurs : la même correction efface donc les deux constats.
Ce que le validateur a signalé
- La facture en erreur signale BR-CL-24 et
PEPPOL-EN16931-CL001. Le document corrigé passe toutes les étapes de validation sans constat.Télécharger le XML en erreurTélécharger le XML corrigé
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 à
InvoiceetCreditNote; lors d'un essai, une pièce jointe d'avoir déclarée commeapplication/octet-streama signalé les deux règles. - La même liste est contrôlée deux fois :
BR-CL-24à l'étape EN 16931 etPEPPOL-EN16931-CL001à l'étape Peppol. Attendez-vous aux deux constats ensemble. - L'attribut
filenameest contrôlé séparément : lors d'un essai, son omission a signaléUBL-DT-07. - Un élément de pièce jointe avec un code MIME autorisé mais sans contenu est signalé par
PEPPOL-EN16931-R008, et non par cette règle.
Règles liées
- BR-52 exige l'identifiant du justificatif qui porte la pièce jointe
- PEPPOL-EN16931-R008 rejette un élément de pièce jointe qui a un code MIME mais aucun contenu de fichier
- Parcourir toutes les règles de la référence
- Contexte (en anglais) : Understanding EN 16931 validation errors
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-CL-24 (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.

