# Mandats et adresses électroniques Peppol

Lorsque vous enregistrez un mandat, l'API le convertit en **adresse électronique Peppol** — l'identifiant utilisé pour router les factures sur le réseau Peppol. Comprendre ce mapping est indispensable pour renseigner correctement vos factures XML.

## Comment fonctionne le mapping

Toutes les entités françaises sont adressées via le schéma Peppol **`0225`** (FRCTC), défini dans l'annexe A de la norme AFNOR XP Z12-014. La valeur de l'identifiant est dérivée des champs de l'entrée d'annuaire du mandat, selon la même structure à quatre niveaux que l'annuaire PPF/AIFE.

| Type de mandat | Champs de l'entrée d'annuaire | Adresse électronique Peppol |
|  --- | --- | --- |
| SIREN | `siren` | `0225:<siren>` |
| SIREN + suffixe | `siren` + `suffix` | `0225:<siren>_<suffixe>` |
| SIRET | `siren` + `siret` | `0225:<siret>` |
| SIRET + code de routage | `siren` + `siret` + `routing_identifier` | `0225:<siret>_<code_routage>` |


### Exemples

| Entrée d'annuaire du mandat | Adresse électronique Peppol |
|  --- | --- |
| `siren: "884553033"` | `0225:884553033` |
| `siren: "884553033"`, `suffix: "Achats"` | `0225:884553033_Achats` |
| `siret: "88455303300017"` | `0225:88455303300017` |
| `siret: "88455303300017"`, `routing_identifier: "GLN-123"` | `0225:88455303300017_GLN-123` |


### Entités belges

Les entités belges utilisent le schéma **`0208`** (numéro de TVA), avec le numéro BCE (10 chiffres, sans le préfixe `BE`) :

| Entrée d'annuaire | Adresse électronique Peppol |
|  --- | --- |
| `siren: "0878065378"` (BE) | `0208:0878065378` |


## Validation des mandats lors de la soumission de fichiers

Lors de l'appel à `POST /invoicing/files/submit`, l'API extrait l'**adresse électronique Peppol de l'émetteur** depuis la facture XML et la compare aux mandats actifs du client demandeur (`X-PDP-Client-Id`).

La vérification contrôle que :

- Le mandat appartient au client demandeur
- Le statut du mandat est `CREATED` ou `ACTIVE`
- `start_date` ≤ aujourd'hui ≤ `end_date` (ou pas de `end_date`)


Si aucun mandat actif ne correspond à l'adresse émetteur extraite de la facture, la requête est rejetée avec une erreur `403`.

Cela signifie que **l'adresse électronique renseignée dans votre facture XML doit correspondre exactement à l'adresse Peppol dérivée d'un de vos mandats actifs**.

## Renseigner l'adresse électronique dans les factures XML

### UBL 2.1

En UBL, l'adresse électronique est portée par l'élément `EndpointID` dans les parties fournisseur et client, avec un attribut `schemeID`.

**Vendeur (BT-34) — `AccountingSupplierParty` :**


```xml
<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0225">884553033</cbc:EndpointID>
    <!-- ... -->
  </cac:Party>
</cac:AccountingSupplierParty>
```

**Acheteur (BT-49) — `AccountingCustomerParty` :**


```xml
<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0225">88455303300017</cbc:EndpointID>
    <!-- ... -->
  </cac:Party>
</cac:AccountingCustomerParty>
```

Pour un mandat SIREN + suffixe :


```xml
<cbc:EndpointID schemeID="0225">884553033_Achats</cbc:EndpointID>
```

Pour une entité belge :


```xml
<cbc:EndpointID schemeID="0208">0878065378</cbc:EndpointID>
```

### CII D22B (Cross Industry Invoice)

En CII, l'adresse électronique est portée par `URIUniversalCommunication/URIID` dans les éléments de partie commerciale.

**Vendeur — `SellerTradeParty` :**


```xml
<ram:SellerTradeParty>
  <ram:URIUniversalCommunication>
    <ram:URIID schemeID="0225">884553033</ram:URIID>
  </ram:URIUniversalCommunication>
  <!-- ... -->
</ram:SellerTradeParty>
```

**Acheteur — `BuyerTradeParty` :**


```xml
<ram:BuyerTradeParty>
  <ram:URIUniversalCommunication>
    <ram:URIID schemeID="0225">88455303300017</ram:URIID>
  </ram:URIUniversalCommunication>
  <!-- ... -->
</ram:BuyerTradeParty>
```

Ces éléments se trouvent sous :


```
rsm:CrossIndustryInvoice
  > rsm:SupplyChainTradeTransaction
    > ram:ApplicableHeaderTradeAgreement
      > ram:SellerTradeParty / ram:BuyerTradeParty
        > ram:URIUniversalCommunication
          > ram:URIID
```

## Tableau récapitulatif

| Type de mandat | `schemeID` | Format de la valeur | Élément XML (UBL) | Élément XML (CII) |
|  --- | --- | --- | --- | --- |
| SIREN | `0225` | SIREN 9 chiffres | `cbc:EndpointID` | `ram:URIID` |
| SIREN + suffixe | `0225` | `<SIREN>_<suffixe>` | `cbc:EndpointID` | `ram:URIID` |
| SIRET | `0225` | SIRET 14 chiffres | `cbc:EndpointID` | `ram:URIID` |
| SIRET + code de routage | `0225` | `<SIRET>_<code_routage>` | `cbc:EndpointID` | `ram:URIID` |
| BCE belge | `0208` | BCE 10 chiffres | `cbc:EndpointID` | `ram:URIID` |