When to use this guide
Use this guide when you send or receive French invoices using BIS Billing 3.0 XML via InExchange.
French invoices require some additional French-specific information. Some of this information is added using standard BIS3 fields, and some is added using cac:Note.
This guide explains what information needs to be included, where it is placed in the invoice file, and when each field should be used. In practice, this means where to map the information from when receiving and importing invoice files, or how to include it when producing and sending invoice files.
Please note that this guide is subject to change. At the bottom of this page you will find the Revision history.
Use standard BIS3 fields first
Whenever possible, use ordinary BIS3 fields.
For French invoices, the following information should be placed in and read from standard BIS3 fields:
| Information | Where to place it |
|---|---|
| Seller SIREN | Seller legal registration identifier / Seller EndpointId |
| Buyer SIREN or SIRET | Buyer EndpointId |
| Seller VAT number | Seller tax scheme company ID |
| Buyer VAT number | Buyer tax scheme company ID, if available |
| Invoice totals | Standard BIS3 monetary total fields |
| VAT breakdown | Standard BIS3 tax fields |
| Payment terms | Standard BIS3 payment terms |
Only use the French additional fields described below for information that does not fit cleanly into standard BIS3 fields.
French additional fields (required)
The following French-specific fields are mandatory
ProfileId
It identifies the French ProfileId that applies to the invoice.
It tells us what type of French invoice flow the invoice belongs to, for example whether it is a goods invoice, service invoice, mixed invoice, already-paid invoice, final invoice after prepayment, subcontractor invoice, or similar.
| Code | Invoice scenario |
|---|---|
B1 |
Goods invoice |
S1 |
Service invoice |
M1 |
Mixed goods/services invoice |
B2 |
Already-paid goods invoice |
S2 |
Already-paid service invoice |
M2 |
Already-paid mixed invoice |
B4 |
Final goods invoice after prepayment |
S4 |
Final service invoice after prepayment |
M4 |
Final mixed invoice after prepayment |
S5 |
Service invoice by subcontractor |
S6 |
Service invoice by co-contractor |
B7 |
Goods invoice already e-reported / VAT collected |
S7 |
Service invoice already e-reported / VAT collected |
Use the code that matches your French invoice scenario.
PMT*
PMT is a payment note and used for the French fixed recovery-cost indemnity statement.
This is the statement about the fixed compensation amount that may apply if the invoice is paid late.
PMD*
PMD is a payment note and used for the French late-payment penalties statement. This describes the penalty terms that apply if the invoice is paid after the agreed payment date.
AAB*
AAB is a payment note and used for the French early-payment discount statement.
It states whether the seller offers a discount if the invoice is paid early.
If an early-payment discount does apply, the text should describe the actual discount terms.
* For PMT, PMD and AAB, the wording of the texts provided as examples further down in this document can be modified, but their wording must still reflect French legislation.
French additional fields (optional)
| Field | When to use it |
|---|---|
BuyerRoutingCode* |
Only when the buyer requires a routing code |
TXD |
Required only if seller identification scheme is 0231, value must be “MEMBRE_ASSUJETTI_UNIQUE”
|
* Routing code is a party private identifier and is alphanumeric with only -, _, and . as special characters, and must not exceed 100 characters.
Use this only when a recipient is explicitly asking for invoices to be sent using a routing code.
How to add a French additional field
Each French additional field is added in the cac:Note. Prefix it with ##FieldIdentifier## and end each section with a pipe symbol, i.e “|”, as in the example below.
Example:
<cbc:Note>##ProfileId##S1 | ##PMT##En cas de retard de paiement, une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée conformément à l'article L.441-10 du Code de commerce. | ##PMD##Pénalités de retard au taux légal en vigueur applicable à compter du jour suivant la date d'échéance. | ##AAB##Pas d'escompte pour paiement anticipé. | ##BuyerRoutingCode##ET-LYON|</cbc:Note>
Translations of sample texts
En cas de retard de paiement, une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée conformément à l'article L.441-10 du Code de commerce
English meaning:
In the event of late payment, a fixed recovery-cost indemnity of EUR 40 will be applied in accordance with Article L.441-10 of the French Commercial Code.
Pénalités de retard au taux légal en vigueur applicable à compter du jour suivant la date d'échéance.
English meaning:
Late-payment penalties at the applicable statutory rate, accruing from the day following the due date.
Pas d'escompte pour paiement anticipé.
English meaning:
No discount for early payment.
Buyer Addressing Scenarios
Buyers (and sellers) will be registered in a network registry hosted by the French government, and can be found here: https://facturation.chorus-pro.gouv.fr/annuaire/#/
Addressing is handled in one of three ways:
- SIREN
- SIRET
- SIRET + Routing code
In an outbound customer invoice BIS3, all identifiers should be specified separately as can be seen in the scenarios below:
| Scenario | Scheme ID | Required Configuration |
|---|---|---|
| Company Level (SIREN) | 0002 |
<cbc:EndpointID schemeID="0002">9-digit-SIREN</cbc:EndpointID>
|
| Site Level (SIRET) | 0009 |
<cbc:EndpointID schemeID="0009">14-digit-SIRET</cbc:EndpointID>
|
| With Routing Code | 0009 |
<cbc:EndpointID schemeID="0009">14-digit-SIRET</cbc:EndpointID><cbc:Note>..other notes......##BuyerRoutingCode##ET-LYON |</cbc:Note>
|
Use buyer EndpointID for the French recipient identifier (SIREN or SIRET):
schemeID="0002" = SIREN
schemeID="0009" = SIRET
Only include BuyerRoutingCode when the buyer has given you a routing code.
Do not use BuyerRoutingCode with a SIREN-level buyer address.
If BuyerRoutingCode is used, the buyer EndpointID must contain:
schemeID="0009"
Revision History
| Date | Change |
|---|---|
| 2026-07-24 | Credit invoices corrected |