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:AdditionalDocumentReference.
This guide explains what you need to include, where to place it, and when each field should be used.
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, although their designations, i.e FR.FieldType.FieldName are internal to Inexchange.
FR.BillingFrameworkCode
It identifies the French billing framework 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.
FR.Note.PMT
FR.Note.PMT is 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.
FR.Note.PMD
FR.Note.PMD is 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.
FR.Note.AAB
FR.Note.AAB is 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 instead.
French additional fields (optional)
| Field | When to use it |
|---|---|
FR.Buyer.RoutingCode |
Only when the buyer requires a routing code |
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 as one cac:AdditionalDocumentReference.
Put the prefix and the field data in the AdditionalDocumentReference cbc:ID field.
Examples:
FR.BillingFrameworkCode
<cac:AdditionalDocumentReference> <cbc:ID>FR.BillingFrameworkCode: S1</cbc:ID></cac:AdditionalDocumentReference>
FR.Note.PMT
<cac:AdditionalDocumentReference> <cbc:ID>FR.Note.PMT: Indemnité forfaitaire pour frais de recouvrement en cas de retard de paiement : 40 EUR.</cbc:ID></cac:AdditionalDocumentReference>
English meaning:
Fixed recovery-cost indemnity in case of late payment: EUR 40.
FR.Note.PMD
<cac:AdditionalDocumentReference> <cbc:ID>FR.Note.PMD: Pénalités de retard : taux BCE majoré de 10 points, exigibles le jour suivant la date de règlement indiquée sur la facture, sans qu’un rappel soit nécessaire.</cbc:ID></cac:AdditionalDocumentReference>
English meaning:
Late-payment penalties: ECB rate plus 10 percentage points, payable from the day after the payment date stated on the invoice, without any reminder being necessary.
FR.Note.AAB
<cac:AdditionalDocumentReference> <cbc:ID>FR.Note.AAB: Escompte pour paiement anticipé : néant.</cbc:ID></cac:AdditionalDocumentReference>
English meaning:
Early-payment discount: none.
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><cac:AdditionalDocumentReference> <cbc:ID>FR.Buyer.RoutingCode: CODE</cbc:ID></cac:AdditionalDocumentReference>
|
Use buyer EndpointID for the French recipient address:
schemeID="0002" = SIREN
schemeID="0009" = SIRET
Only include FR.Buyer.RoutingCode when the buyer has given you a routing code.
Do not use FR.Buyer.RoutingCode with a SIREN-level buyer address.
If FR.Buyer.RoutingCode is used, the buyer EndpointID must contain:
schemeID="0009"