# BR-DE-22 Les noms de fichiers des pièces jointes intégrées doivent être uniques

Conformément à la règle allemande XRechnung BR-DE-22, une facture ne doit pas comporter de pièces jointes intégrées ayant des noms de fichier identiques (BT-125 / attribut filename). Lorsque plusieurs documents justificatifs (BG-24) contiennent des fichiers intégrés (cac:Attachment/cbc:EmbeddedDocumentBinaryObject ou ram:AttachmentBinaryObject), chaque nom de fichier doit être unique. Les doublons risquent d’entraîner l’écrasement ou la perte de justificatifs dans les systèmes de GED.

## Description du problème

Conformément à la règle allemande XRechnung BR-DE-22, une facture ne doit pas comporter de pièces jointes intégrées ayant des noms de fichier identiques (BT-125 / attribut filename). Lorsque plusieurs documents justificatifs (BG-24) contiennent des fichiers intégrés (cac:Attachment/cbc:EmbeddedDocumentBinaryObject ou ram:AttachmentBinaryObject), chaque nom de fichier doit être unique. Les doublons risquent d’entraîner l’écrasement ou la perte de justificatifs dans les systèmes de GED.

> **ERREUR**: XRechnung 3.0

## Contexte et importance

Le validateur allemand XRechnung contrôle strictement les noms de fichiers des pièces jointes intégrées et déclenche l’erreur BR-DE-22 en cas de doublon.

## Solution

Dans votre ERP ou système de GED, assurez-vous que toutes les pièces jointes possèdent des noms de fichier distincts avant l’export XML XRechnung. En UBL 2.1, renseignez des attributs filename uniques sur <cbc:EmbeddedDocumentBinaryObject filename="rapport_activite_janvier.pdf" mimeCode="application/pdf"> sous <cac:AdditionalDocumentReference>. En CII, renseignez des attributs filename uniques sous <ram:AdditionalReferencedDocument>.

- validate
- convert

## Exemples valides

- Facture avec deux pièces jointes: « stundennachweis_januar.pdf » et « leistung_januar.pdf »
- Facture avec une seule pièce jointe: « annexe_contrat_1.pdf »

## Exemples invalides

- La facture contient deux pièces jointes nommées toutes deux « anlage.pdf »
- cac:AdditionalDocumentReference contient plusieurs objets binaires avec des attributs filename identiques

## Exemples de code

### XML valide
```
<cac:AdditionalDocumentReference>
  <cbc:ID>DOC-1</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject filename="stundennachweis.pdf" mimeCode="application/pdf">UEsDBBQ...</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
  <cbc:ID>DOC-2</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject filename="leistungsnachweis.pdf" mimeCode="application/pdf">UEsDBBQ...</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
```

### XML invalide
```
<cac:AdditionalDocumentReference>
  <cbc:ID>DOC-1</cbc:ID>
  <cac:Attachment>
    <cbc:EmbeddedDocumentBinaryObject filename="anhang.pdf" mimeCode="application/pdf">UEsDBBQ...</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
<cac:AdditionalDocumentReference>
  <cbc:ID>DOC-2</cbc:ID>
  <cac:Attachment>
    <!-- Duplicate filename triggers BR-DE-22 -->
    <cbc:EmbeddedDocumentBinaryObject filename="anhang.pdf" mimeCode="application/pdf">UEsDBBQ...</cbc:EmbeddedDocumentBinaryObject>
  </cac:Attachment>
</cac:AdditionalDocumentReference>
```

## Champs concernés

- [BT-125 Pièce jointe](/resources/xrechnung/bt-125-attached-document)
- [BG-24 Pièces justificatives supplémentaires](/resources/xrechnung)
- [BT-122 Référence de la pièce justificative](/resources/xrechnung/bt-122-supporting-document-reference)

## Règles associées

- [BR-DE-23](#)
- [BR-52](/resources/kosit-validator-errors/br-52-supporting-document-reference-required)

## Outils de validation

- [Validateur KoSIT officiel](https://erechnungsvalidator.service-bw.de/): Validez vos fichiers XRechnung par rapport à toutes les règles BR-DE.
- [Convertir un PDF en XRechnung](/pdf-to-xrechnung): Correction automatique des erreurs de validation lors de la conversion.

## Ressources associées

- [Spécification officielle](https://xeinkauf.de/xrechnung/)
- [Suite de tests](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Liste complète des erreurs](/resources/kosit-validator-errors): Aperçu de toutes les règles de validation XRechnung en Allemagne.
