Skip to content
Log in

Supported Use Cases

The RFE use cases (XP Z12-014) and their support status in B2Brouter.

The French e-invoicing reform defines a set of specific business use cases that Accredited Platforms (Plateformes Agréées) may be required — or may choose — to support. These cases cover a wide range of invoicing scenarios: invoices with additional data, invoices involving third parties, and invoices with specific lifecycle requirements.

According to the XP Z12-014 standard, the use cases described in Chapter 3 are subject to each platform’s commercial policy — platforms are under no obligation to support all of them. Only the nominal invoice exchange case and lifecycle management via Credit Notes and Corrected Invoices are mandatory for all Accredited Platforms.

StatusDescription
CoveredThis use case is fully supported.
Covered *Supported by B2Brouter, but not yet fully activated by the receiving institution (DGFiP or Peppol).
Partially coveredPart of the use case is supported today; the rest is still in progress.
In ProgressIn the roadmap and available in the next API version.
EvaluationNot yet in the roadmap. We are assessing whether we will support it.
On DemandNot currently planned. Contact us if you need it and we will evaluate it.

This table reflects the current status of use case coverage and will be updated as development progresses.

Last updated: 13.10.2026

CaseCategoryDescriptionStatus
1Multi-order/Multi-deliveryMulti-order (per line, via cac:OrderLineReference / cac:DocumentReference) — Multi-commande (par ligne) · Multi-delivery (header-level, multiple delivery notes) — Multi-livraison (en-tête)Partially covered
2Invoice already paid by a third party or the buyerInvoice already paid by the buyer or a third party — Facture déjà payée par l’acheteur ou un tiers payeurCovered *
3Invoice to be paid by a third partyInvoice to be paid by a third party designated at invoicing — Facture à régler par un tiers payeur connu à la facturationCovered *
4Invoice to be paid by a third partyInvoice to be paid by the buyer and partially covered by a known third party (subsidy, insurance…) — Facture partiellement couverte par un tiers connu (subvention, assurance…)Evaluation
5Expenses paid by third parties with invoiceEmployee expense invoices in the company’s name (e-invoicing) — Frais payés par des salariés avec facture au nom de l’entrepriseCovered *
6Expenses paid by third parties without invoiceEmployee expenses without an invoice (e-reporting of off-invoice transaction data) — Frais payés par des salariés sans facture adressée à l’entrepriseCovered
7Invoice paid by a third partyInvoice following a purchase paid with a corporate card — Facture suite à un achat payé par carte d’achatCovered *
8Invoice payable to a third partyInvoices payable to a third party determined at the time of invoicing (factoring, cash pooling) — Factures payables à un tiers connu à la facturation (affacturage, cash pooling)Covered *
9Invoice payable to a third partyInvoice payable to a known third party who also manages ordering/receipt or invoicing (Distributor/Depositary) — Facture payable à un tiers gérant aussi la commande/réception ou la facturationCovered *
10Invoice payable to a third partyInvoice payable to a factor unknown when the invoice is created (subrogation) — Facture cédée à un factor inconnu à l’émission (cas de subrogation)Covered *
11Invoice with “addressed to” different from the buyerInvoice with “Invoicee” other than buyer — Facture avec destinataire différent de l’acheteurIn Progress
12Transparent intermediaryTransparent intermediary as invoice manager for the buyer principal — Intermédiaire transparent gérant les factures pour le compte de l’acheteurIn Progress
13Subcontracting invoice for direct paymentInvoice to be paid by a third party: subcontracting with direct payment or payment delegation — Facture payable par un tiers : sous-traitance avec paiement direct ou délégationEvaluation
14Co-contracting invoiceInvoice to be paid by a third party: co-contracting — Facture payable par un tiers : co-traitanceEvaluation
15Invoice following an order/payment by a third party on behalf of the buyerSales invoice following an order (and possible payment) by a third party on behalf of the buyer — Facture de vente suite à une commande (et paiement) d’un tiers pour le compte de l’acheteurIn Progress
16Invoice following an order/payment by a third party on behalf of the buyerDisbursement invoice for reimbursement of the sales invoice paid by the third party — Facture de débours pour remboursement de la facture de vente payée par le tiersCovered
17aInvoice issued by a third party, payment intermediaryInvoice payable to a third party, payment intermediary (e.g. Marketplace) — Facture payable à un tiers intermédiaire de paiement (ex. Marketplace)Covered *
17bInvoice issued by a third party, payment intermediary and invoicing mandateInvoice payable to a third party, payment intermediary with billing mandate — Facture payable à un tiers intermédiaire de paiement et mandat de facturationIn Progress
18Debit notesDebit note management — Gestion des notes de débitCovered
19aInvoices issued under third-party mandateInvoice issued under billing mandate — Facture émise sous mandat de facturationEvaluation
19bSelf-billingSelf-billing — AutofacturationCovered *
20Pre-payment invoicePrepayment invoice and final invoice after prepayment (advance already paid) — Facture d’acompte et facture finale après acompte déjà payéIn Progress
21Pre-payment invoicePrepayment invoice and final invoice after prepayment (advance to pay) — Facture d’acompte et facture finale après acompte à payerIn Progress
22aInvoice with allowanceInvoice paid with early payment discount — services with TVA due on receipt of payment — Facture payée avec escompte — services avec TVA sur encaissementCovered
22bInvoice with allowanceInvoice paid with early payment discount — deliveries of goods (or services with TVA on debits) — Facture payée avec escompte — livraisons de biens (ou services avec TVA sur débits)Covered
23Self-billing between an individual and a professionalSelf-billing between a private individual and a professional — Autofacturation entre un particulier et un professionnelOn Demand
24Deposit (“Arrhes”)Management of deposits (Arrhes) — Gestion des arrhesCovered
25Gift vouchers and cardsManagement of gift vouchers and gift cards — Gestion des bons d’achat et cartes cadeauxCovered
26Invoices with contractual reservation clausesInvoices with contractual reserve clause — Factures avec clause de réserve contractuelleCovered
27Toll ticketsManagement of toll receipts — Gestion des tickets de péageCovered
28Restaurant receiptsManagement of restaurant bills — Gestion des notes de restaurantPartially covered
29Single Taxable Entity and members of the Single Taxable EntitySingle taxable entity (Article 256 C CGI) — Assujetti unique au sens de l’article 256 C du CGIEvaluation
30E-reporting transaction subject to an invoice or “TVA already collected”TVA already collected — transactions initially processed under B2C e-reporting, subject to subsequent invoicing — TVA déjà collectée — transactions initialement traitées en e-reporting B2C, soumises à facturation ultérieureCovered
31Mixed invoices”Mixed” invoices with a main transaction and an ancillary transaction — Factures “mixtes” mentionnant une transaction principale et une transaction accessoireCovered
32Management of monthly paymentsMonthly payments — Paiements mensualisésPartially covered
33TVA regime on the marginTransactions subject to the TVA margin scheme — Transactions soumises au régime de la margePartially covered
34Partial payment receipt and cancellation of payment receiptPartial receipt of payment and cancellation of receipt of payment — Encaissement partiel et annulation d’encaissementPartially covered
35Author’s notesAuthor’s notes — Notes d’auteurOn Demand
36Professional secrecyTransactions subject to professional secrecy and exchange of sensitive data — Transactions soumises au secret professionnel et échanges de données sensiblesCovered
37Joint venturesSEP (Sociétés en Participation / Joint Ventures) — SEP (Sociétés en Participation)Evaluation
38Invoice sub-linesInvoices with sub-lines and line groupings — Factures avec sous-lignes et regroupements de lignesEvaluation
39Multi-VendorsTransparent intermediary consolidating sales from multiple sellers — Multi-Vendor Invoice — Intermédiaire transparent regroupant les ventes de plusieurs vendeurs — Facture multi-vendeursEvaluation
40Offsetting between cross-flowsGrouped payments, netting, or compensation in the event of cross-purchases/sales — Paiements groupés, compensation en cas d’achats/ventes croisésOn Demand
41Barter practicesBarter companies (inter-company bartering) — Sociétés de troc (troc inter-entreprises)On Demand
42Tax exemptionTax exemption management — Gestion de la détaxeCovered
43International B2B operationsE-reporting for international B2B — E-reporting pour le B2B internationalPartially covered
43aInternational B2B operationsTriangular transactions — Transactions triangulairesIn Progress
43bInternational B2B operationsStock transfers treated as intra-Community supply — Transferts de stocks traités comme des livraisons intracommunautairesIn Progress
44Operations with French DROM / COM / TAAFTransactions with entities established in the DROMs/COMs/TAAFs — Transactions avec des entités établies dans les DROM/COM/TAAF. The counterparty of the transaction, not the issuing accountCovered

In each use case you will find a JSON example with the fields you need to fill in. If you haven’t done so yet, we recommend reading the DGFiP guide first. The examples don’t send the legal payment mentions (PMD, PMT, AAB) unless the case needs its own text, so the invoice carries the default texts. See Legal payment mentions.

Multi-order / Multi-delivery — Multi-commande / Multi-livraison
Section titled “Multi-order / Multi-delivery — Multi-commande / Multi-livraison”

Covered today: multi-order at line level. Each line references its own purchase order via invoice_lines_attributes[].ponumber + [].sequence_number, emitted as cac:OrderLineReference/cbc:LineID + cac:DocumentReference/cbc:ID per line.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000901",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "FAC-2026-000901",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"extra_info": "Facture consolidant plusieurs commandes",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 2,
"price": 150.0,
"description": "Article commande A",
"ponumber": "PO-2026-1001",
"sequence_number": 1,
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
},
{
"quantity": 1,
"price": 400.0,
"description": "Article commande B",
"ponumber": "PO-2026-1002",
"sequence_number": 2,
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}

Not yet (In Progress): multi-delivery at header level (several delivery notes / DespatchAdvice references for a single invoice). BT-15 and BT-16 are header-only business terms in EN16931, and invoice.delivery_note_number today only accepts a single reference. Treat it as a current limitation, not an error.

Employee expenses without an invoice (e-reporting of off-invoice transaction data) — Frais payés par des salariés sans facture adressée à l’entreprise
Section titled “Employee expenses without an invoice (e-reporting of off-invoice transaction data) — Frais payés par des salariés sans facture adressée à l’entreprise”

The sale takes place between the vendor and the employee as a private individual, so it is not subject to the e-invoicing obligation but to the vendor’s B2C e-reporting. The employee may subsequently request a B2B invoice to recover TVA, which corresponds to use case 30.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSimplifiedInvoice",
"type_code": "380",
"number": "TPV-2026-000341",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"payment_method": 48,
"payment_method_text": "Carte bancaire",
"payment_terms": "Comptant",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 100.0,
"description": "Fournitures de bureau",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Disbursement invoice for reimbursement of the sales invoice paid by the third party — Facture de débours pour remboursement de la facture de vente payée par le tiers
Section titled “Disbursement invoice for reimbursement of the sales invoice paid by the third party — Facture de débours pour remboursement de la facture de vente payée par le tiers”

Débours invoices fall outside the scope of the reform, but if lines outside the scope of TVA (category: "O") are combined with TVA-liable lines (category: "S"), the mixed invoice falls within the scope of e-invoicing and must be transmitted.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 30,
"remittance_information": "FAC-2026-000516",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 800.0,
"description": "Remboursement facture de vente reglee pour le compte du client (debours)",
"taxes_attributes": [{ "name": "TVA", "category": "O", "percent": 0, "comment": "Debours — hors champ TVA art. 267 II CGI" }]
},
{
"quantity": 1,
"price": 50.0,
"description": "Commission de gestion du tiers",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Debit note management — Gestion des notes de débit
Section titled “Debit note management — Gestion des notes de débit”

Debit notes do not constitute an invoice and fall outside the scope of e-invoicing. In practice, if the buyer issues one under a billing mandate, it is transmitted as a self-billed credit note (type_code: "261") referencing the original invoice. The amount is positive; the credit note nature is already expressed by the type_code and the reference.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSelfInvoice",
"type_code": "261",
"number": "ND-2026-000077",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 97,
"remittance_information": "Compensation ND-2026-000077",
"payment_method_text": "Compensation entre parties",
"extra_info": "Avoir auto-facture (261), mandat de facturation requis",
"contact_id": "<contact_id>",
"invoice_references": [
{
"reference_type": "amend",
"number": "FAC-2026-000201",
"series_code": "FAC",
"date": "2026-05-20",
"correction_method": "02"
}
],
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 150.0,
"description": "Regularisation en faveur de l'ACHETEUR",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice paid with early payment discount (escompte) — Facture payée avec escompte
Section titled “Invoice paid with early payment discount (escompte) — Facture payée avec escompte”

A conditional early-payment discount is not applied to the invoice: at issue time the discount may never be taken, so the invoice carries full totals and the escompte only in the payment terms (payment_terms, BT-20) and in the AAB legal mention, which you send with coded_notes (from API version 2026-06-26; in earlier versions, as an #AAB# tag in extra_info). Without it, the invoice carries the default AAB text, which states that there is no discount. Do not encode the escompte as an exempt (E) allowance with VATEX-FR-CNWVAT on the invoice: DGFiP rule G6.21 reserves that code to credit notes (types 261, 381, 396) and B2Brouter rejects it with a 422 on invoices.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000305",
"type_operation": "services",
"payment_method": 30,
"remittance_information": "FAC-2026-000305",
"payment_method_text": "Virement bancaire",
"payment_terms": "Paiement à 30 jours. Escompte de 20,00 EUR pour paiement sous 10 jours.",
"coded_notes": [{ "subject_code": "AAB", "text": "Escompte de 20,00 EUR pour paiement sous 10 jours, net de taxe (renonciation à la récupération de la TVA)." }],
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Prestation de conseil",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}

If the customer pays within the discount period, issue a credit note for the discount amount referencing the original invoice. For 22b (goods, or services with TVA on debits) the mention “net de taxe” means the TVA is not adjusted: the credit note carries category E with VATEX-FR-CNWVAT — the only document type where that code is legal. For 22a (services with TVA due on receipt of payment) issue a regular credit note with TVA (category S, percent 20) instead.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "381",
"number": "AV-2026-000305",
"date": "2026-06-25",
"due_date": "2026-06-25",
"type_operation": "services",
"payment_method": 30,
"remittance_information": "AV-2026-000305",
"payment_method_text": "Virement bancaire",
"extra_info": "Escompte net de taxe",
"contact_id": "<contact_id>",
"invoice_references": [
{
"reference_type": "amend",
"number": "FAC-2026-000305",
"date": "2026-06-01",
"correction_method": "02"
}
],
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 20.0,
"description": "Escompte pour paiement anticipé, net de taxe",
"taxes_attributes": [{ "name": "Escompte", "category": "E", "percent": 0, "comment": "VATEX-FR-CNWVAT" }]
}
]
}
}
Management of deposits (Arrhes) — Gestion des arrhes
Section titled “Management of deposits (Arrhes) — Gestion des arrhes”

Deposits (arrhes) are an indemnity with no consideration, outside the scope of TVA and not transmitted via e-invoicing or e-reporting. In commercial practice, a price advance (subject to TVA, type_code: "386") is more common; the example illustrates that case.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "386",
"number": "ACOMPTE-2026-0009",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "ACOMPTE-2026-0009",
"payment_method_text": "Virement bancaire",
"payment_terms": "Comptant",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 300.0,
"description": "Acompte sur commande",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Management of gift vouchers and gift cards — Gestion des bons d’achat et cartes cadeaux
Section titled “Management of gift vouchers and gift cards — Gestion des bons d’achat et cartes cadeaux”

Gift vouchers and cards may be single-purpose (place of taxation and TVA rate known at issuance) or multi-purpose (place and TVA undetermined). The sale of the voucher is invoiced separately; this case covers only the management fee, which is a standard B2B service. (This case is pending regulatory definition and may change in future versions.)

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "COM-2026-000128",
"type_operation": "services",
"payment_method": 30,
"remittance_information": "COM-2026-000128",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 50.0,
"description": "Commission / frais de gestion sur bons cadeaux",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoices with contractual reserve clause — Factures avec clause de réserve contractuelle
Section titled “Invoices with contractual reserve clause — Factures avec clause de réserve contractuelle”

The invoice is issued for the full amount, as a standard B2B invoice. The retained part is handled through payments, without any specific field:

  1. When you receive the first part (for example, 95%), record it as a partial payment (see Partial payments). B2Brouter sends the Encaissée status (CDV 212) with the amount received.
  2. If the reserve is lifted and the balance is paid, record a second payment for the balance. Once the recorded payments cover the total, the invoice moves to paid.
  3. If the retention becomes final, issue a credit note for the retained amount. You don’t need to report any further payment for the balance or for the credit note.

First payment for an invoice of 12,000.00 EUR incl. TVA with a 5% reserve (POST /accounts/{ACCOUNT_ID}/payments):

{
"payment": {
"invoice_id": "<invoice_id>",
"amount": 11400.0
}
}
Management of toll receipts — Gestion des tickets de péage
Section titled “Management of toll receipts — Gestion des tickets de péage”

Toll tickets are treated as B2C transactions and reported via e-reporting, as the vendor does not identify the customer. If the toll is managed via a subscription or card that identifies the buyer, the transaction falls within the scope of e-invoicing and must be invoiced as F1.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSimplifiedInvoice",
"number": "PEAGE-2026-00874",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"payment_method": 48,
"payment_method_text": "Carte bancaire",
"payment_terms": "Comptant",
"extra_info": "Ticket de peage : client non identifie (e-reporting B2C)",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 10.0,
"description": "Passage peage autoroute",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Management of restaurant bills — Gestion des notes de restaurant
Section titled “Management of restaurant bills — Gestion des notes de restaurant”

Covered today: B2C e-reporting of restaurant bills. Bills under €150 excl. TVA for which the customer doesn’t ask for an invoice are issued as B2C sales ("type": "IssuedSimplifiedInvoice"). B2Brouter reports them automatically in Flux 10 daily sales totals (10.3). Since restaurant bills are services, B2Brouter also reports the payment (10.4) once you mark the ticket as paid. If the customer asks for an invoice at the time of the sale and you exclude the sale from your B2C sales, issue a standard B2B invoice.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSimplifiedInvoice",
"number": "REST-2026-001204",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 48,
"payment_method_text": "Carte bancaire",
"payment_terms": "Comptant",
"invoice_lines_attributes": [
{
"quantity": 2,
"price": 32.0,
"description": "Menu du jour",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 10 }]
}
]
}
}

Invoice with cadre S7/B7 (TVA already collected). If the sale has already been e-reported as B2C and the customer then asks for an invoice as a business, the B2B invoice must carry BT-23 = S7 (services) or B7 (goods). Set it with transaction_type_code (see case 30).

TVA already collected — TVA déjà collectée
Section titled “TVA already collected — TVA déjà collectée”

The B2B invoice issued after the sale was e-reported as B2C must carry BT-23 = S7 (services) or B7 (goods), so that the TVA is not counted twice. The same applies if the TVA on the sale is already included in the TVA return. The B2C e-reporting of the original sale works as in case 28.

From the JSON API, set "transaction_type_code": "S7" (or "B7") on the invoice (API version 2025-10-13 or later):

{
"invoice": {
"type": "IssuedInvoice",
"number": "F-100",
"date": "2026-10-20",
"due_date": "2026-11-19",
"currency": "EUR",
"contact_id": 123,
"type_operation": "services",
"transaction_type_code": "S7",
"extra_info": "Remplace les tickets T-001, T-002",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 100.0,
"description": "Vol PAR-BCN",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
},
{
"quantity": 1,
"price": 30.0,
"description": "Bagage cabine",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
  • Only for issuing companies that are French or hold a SIREN/SIRET, and never on received invoices. Otherwise the API returns a 422 error.
  • The code must match type_operation: S7 with services (or mixed), B7 with goods. If type_operation is empty, B2Brouter fills it from the code. A mixed invoice goes out with S7, since there is no M7.
  • The S7/B7 invoice needs no reference to the original tickets. If you want the buyer to see which tickets it covers, list them in extra_info (it goes out as a note, BT-22).
  • Don’t cite the ticket with invoice_references and "reference_type": "amend": the invoice would go out as a credit note (type 381) and subtract the amount. A ticket_settlement reference returns a 422 error.

From XML import, if you import the invoice as UBL or CII XML with S7 or B7 in BT-23, B2Brouter keeps it in the Flux 1.

Where BT-23 goes in each syntax:

<!-- UBL: BT-23 -->
<cbc:ProfileID>S7</cbc:ProfileID>
<!-- CII: BT-23 -->
<rsm:ExchangedDocumentContext>
<ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:ID>S7</ram:ID>
</ram:BusinessProcessSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
”Mixed” invoices with a main transaction and an ancillary transaction — Factures « mixtes »
Section titled “”Mixed” invoices with a main transaction and an ancillary transaction — Factures « mixtes »”

The category of the main transaction applies to the whole invoice. Set type_operation to the category of the main transaction: in this example, an alteration sold together with a suit is ancillary to the sale of goods, so the invoice is goods. If the alteration were the main transaction, use services. B2Brouter has no “M” cadre in Flux 1: mixed resolves to services (see Process codes).

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000731",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "FAC-2026-000731",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 450.0,
"description": "Costume sur mesure",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
},
{
"quantity": 1,
"price": 40.0,
"description": "Retouche (accessoire à la vente du costume)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Monthly payments — Paiements mensualisés
Section titled “Monthly payments — Paiements mensualisés”

Covered today: B2C monthly payments. Report each monthly payment as a B2C sale ("type": "IssuedSimplifiedInvoice"): B2Brouter includes it in the Flux 10 daily totals (10.3) and, for services, reports the payment (10.4) once you mark the ticket as paid. When you issue the adjustment invoice, report only the balance; B2Brouter doesn’t calculate it for you. If the balance is negative, issue a credit note: B2Brouter deducts it from that day’s total.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSimplifiedInvoice",
"number": "MENS-2026-000412",
"date": "2026-06-05",
"due_date": "2026-06-05",
"currency": "EUR",
"type_operation": "services",
"payment_method": 49,
"payment_method_text": "Prélèvement",
"payment_terms": "Mensualité 6/12",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 85.0,
"description": "Mensualité juin 2026 (estimation de consommation)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}

Not yet:

  • Cancelling monthly payments already reported in Flux 10.4 (negative payment e-reporting). See case 34.
  • The TVA on debits option: in that case no payment e-reporting is due, but B2Brouter doesn’t model this option yet and reports the payments for services anyway.
  • The B2B side: monthly payments invoiced as advance payments depend on cases 20 and 21 (In Progress).
Transactions subject to the TVA margin scheme — Transactions soumises au régime de la marge
Section titled “Transactions subject to the TVA margin scheme — Transactions soumises au régime de la marge”

Covered today: B2B invoices under the margin scheme. The TVA on the margin doesn’t appear on the invoice. On each line under the scheme, the price includes TVA and the tax has category E, rate 0 and the exemption reason code in comment:

CodeUse
VATEX-EU-FSecond-hand goods
VATEX-EU-IWorks of art
VATEX-EU-JCollectors’ items and antiques
VATEX-EU-DTravel agencies
{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000918",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "FAC-2026-000918",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1200.0,
"description": "Montre d'occasion (régime de la marge, art. 297 A CGI)",
"taxes_attributes": [{ "name": "TVA", "category": "E", "percent": 0, "comment": "VATEX-EU-F" }]
}
]
}
}

Not yet: B2C e-reporting under the margin scheme. B2C sales under the scheme must be e-reported in the margin category (TMA1), with the margin as base. The API has no field for the purchase price, so B2Brouter can’t calculate the margin: it reports these sales without the TMA1 category and with the full sale amount as base.

Partial receipt of payment and cancellation of receipt of payment — Encaissement partiel et annulation d’encaissement
Section titled “Partial receipt of payment and cancellation of receipt of payment — Encaissement partiel et annulation d’encaissement”

Covered today: partial receipts. Record each partial payment with POST /accounts/{ACCOUNT_ID}/payments (see Partial payments). B2Brouter reports the amount received: Encaissée status (CDV 212) for domestic invoices, and Flux 10 payments for B2C and cross-border invoices.

{
"payment": {
"invoice_id": "<invoice_id>",
"amount": 500.0
}
}

Not yet: cancelling a receipt. The standard allows cancelling a receipt (reconciliation error, fraudulent payment) with a negative amount, in the Encaissée status or in the B2C payment e-reporting. You can’t do this from the API or the web app yet. Payments that already generated a Flux 10 tax report can’t be edited or deleted (HTTP 422).

Transactions subject to professional secrecy — Transactions soumises au secret professionnel
Section titled “Transactions subject to professional secrecy — Transactions soumises au secret professionnel”

Use a generic wording in the line description (BT-153, item name) and put the precise detail in notes (BT-154, item description). BT-154 only travels in the invoice exchanged between the parties and is never sent to the tax authority.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000622",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 30,
"remittance_information": "FAC-2026-000622",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 2500.0,
"description": "Prestation de conseil",
"notes": "Assistance juridique, dossier 2026-118 (détail confidentiel réservé aux parties)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Tax exemption management (détaxe) — Gestion de la détaxe
Section titled “Tax exemption management (détaxe) — Gestion de la détaxe”

For a B2C sale to a traveller established outside the EU who gets a BVE (export sales slip), issue the ticket without TVA: category G, rate 0 and VATEX-EU-G. B2Brouter reports it in Flux 10 as a sale not subject to TVA (TNT1).

{
"send_after_import": true,
"invoice": {
"type": "IssuedSimplifiedInvoice",
"number": "TPV-2026-000977",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 48,
"payment_method_text": "Carte bancaire",
"payment_terms": "Comptant",
"extra_info": "Vente en détaxe (BVE)",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 900.0,
"description": "Sac en cuir",
"taxes_attributes": [{ "name": "TVA", "category": "G", "percent": 0, "comment": "VATEX-EU-G" }]
}
]
}
}

If you first declared the sale with TVA and the BVE is validated later, issue a credit note for the original ticket and a new ticket without TVA, both on the same day: B2Brouter deducts the first one from the goods total (TLB1) and reports the new one as TNT1. B2Brouter doesn’t receive the BVE validation, so you have to issue these two documents yourself.

E-reporting for international B2B — E-reporting pour le B2B international
Section titled “E-reporting for international B2B — E-reporting pour le B2B international”

Covered today: international B2B sales. Issue a standard IssuedInvoice to a contact established outside France and B2Brouter reports it in Flux 10.1 (see Cross-border transactions). Intra-EU supplies (category K) and reverse-charge sales (category AE, with VATEX-EU-AE) are supported, with their exemption reason. When the TVA is due by the buyer, B2Brouter doesn’t generate a payment e-reporting (10.2). Category K also requires the delivery date and country (delivery_date and delivery_country, rules BR-IC-11 and BR-IC-12). Intra-EU supply to a contact in another EU country:

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000845",
"date": "2026-06-15",
"due_date": "2026-07-15",
"delivery_date": "2026-06-12",
"delivery_country": "de",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "FAC-2026-000845",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 10,
"price": 120.0,
"description": "Pièces détachées",
"taxes_attributes": [{ "name": "TVA", "category": "K", "percent": 0, "comment": "VATEX-EU-IC" }]
}
]
}
}

Not yet: international B2B acquisitions with self-assessed TVA. Purchases from suppliers outside France (ReceivedInvoice) are reported with the TVA breakdown of the received invoice as is (category K or AE, 0% rate). The standard asks for the buyer’s view: category AE, the applicable French rate and the self-assessed TVA amount. Triangular transactions (case 43a) and stock transfers (case 43b) are still In Progress.

Transactions with entities established in the DROMs/COMs/TAAFs — Transactions avec des entités établies dans les DROM/COM/TAAF
Section titled “Transactions with entities established in the DROMs/COMs/TAAFs — Transactions avec des entités établies dans les DROM/COM/TAAF”

B2Brouter decides the flow from the country of the contact on the invoice:

  • Guadeloupe (gp), Martinique (mq) and La Réunion (re) belong to the French TVA territory: the invoice follows e-invoicing (Flux 1), like mainland France. Create the contact with the same French identifiers as a mainland contact (see Create a contact).
  • Guyane (gf), Mayotte (yt), the COMs and the TAAF are export territories: the invoice is reported in Flux 10, like any cross-border transaction.

Invoice to a contact in Martinique ("country": "mq"), with the 8.5% rate that applies in the DROMs:

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000953",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 30,
"remittance_information": "FAC-2026-000953",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 4,
"price": 250.0,
"description": "Matériel informatique",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 8.5 }]
}
]
}
}

Invoice already paid by the buyer or a third party — Facture déjà payée par l’acheteur ou un tiers payeur
Section titled “Invoice already paid by the buyer or a third party — Facture déjà payée par l’acheteur ou un tiers payeur”

Invoice already paid (e.g. an order paid in advance): the amount paid is reported in payments_on_account, which matches the TVA-inclusive total and brings the outstanding amount to 0. The payment method is whichever was used (the example shows a bank transfer); only if it is a transfer (payment_method: 4) must you provide bank_account_id .

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000777",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 4,
"payments_on_account": 1200.0,
"bank_account_id": "<your company's bank account id>",
"remittance_information": "CMD-2026-000777",
"payment_method_text": "Virement bancaire",
"payment_terms": "Facture deja payee — Net a payer 0",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Commande payee a la commande",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice to be paid by a third party designated at invoicing — Facture à régler par un tiers payeur connu à la facturation
Section titled “Invoice to be paid by a third party designated at invoicing — Facture à régler par un tiers payeur connu à la facturation”

Standard B2B invoice; the third-party payer is managed by the buyer (transparent to the seller, not reported on the invoice). The payment method is whichever applies (the example uses a bank transfer); only if it is a transfer (payment_method: 4) must you provide bank_account_id.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000312",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 4,
"bank_account_id": "<your company's bank account id>",
"remittance_information": "FAC-2026-000312",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net — Reglement par un tiers payeur a l'initiative de l'ACHETEUR",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 500.0,
"description": "Prestation de services",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Employee expense invoices in the company’s name (e-invoicing) — Frais payés par des salariés avec facture au nom de l’entreprise
Section titled “Employee expense invoices in the company’s name (e-invoicing) — Frais payés par des salariés avec facture au nom de l’entreprise”

Invoice in the company’s name advanced by the employee, usually already paid (payments_on_account) by whatever method they used (the example shows a card payment). A registration number or identifier is referenced, not personal data (GDPR).

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000455",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 19,
"payments_on_account": 60.0,
"remittance_information": "FAC-2026-000455",
"payment_method_text": "Carte bancaire",
"extra_info": "Frais collaborateur — facture au nom de l'entreprise, matricule XXXX (deja payee, avancee par le salarie)",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 50.0,
"description": "Fournitures de bureau (note de frais)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice following a purchase paid with a corporate card — Facture suite à un achat payé par carte d’achat
Section titled “Invoice following a purchase paid with a corporate card — Facture suite à un achat payé par carte d’achat”

Invoice already paid with a lodged card (carte logée): the card details go in card_account_attributes (masked card number — last digits only) and the amount paid in payments_on_account.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000628",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 19,
"payments_on_account": 240.0,
"card_account_attributes": {
"account_number": "<last 4-6 digits>",
"network": "VISA",
"holder_name": "<the cardholder>"
},
"remittance_information": "CL-2026-33012",
"payment_method_text": "Carte d'achat (carte logee)",
"payment_terms": "Facture deja payee — Net a payer 0",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 200.0,
"description": "Nuitee hotel (deplacement professionnel)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoices payable to a third party determined at the time of invoicing (factoring, cash pooling) — Factures payables à un tiers connu à la facturation (affacturage, cash pooling)
Section titled “Invoices payable to a third party determined at the time of invoicing (factoring, cash pooling) — Factures payables à un tiers connu à la facturation (affacturage, cash pooling)”

Payment to a factor (or cash pooling) determined at invoicing: their account is referenced in bank_account. For factoring, type_code: 393 and a subrogation mention as a note with code ACC (rule BR-FR-07). Send it in fa_clauses, or as an #ACC# tag in extra_info.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "393",
"number": "FAC-2026-000801",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 4,
"bank_account": {
"type": "iban",
"iban": "FRXX XXXX XXXX XXXX XXXX XXXX XXX",
"bic": "XXXXXXXX",
"name": "<the factor's legal name>"
},
"remittance_information": "FAC-2026-000801",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"fa_clauses": "Facture cedee a l'affactureur, subrogation (art. 1346 Code civil)",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Prestation de services (facture affacturee)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice payable to a known third party who also manages ordering/receipt or invoicing (Distributor/Depositary) — Facture payable à un tiers gérant aussi la commande/réception ou la facturation
Section titled “Invoice payable to a known third party who also manages ordering/receipt or invoicing (Distributor/Depositary) — Facture payable à un tiers gérant aussi la commande/réception ou la facturation”

Like case 8 but without factoring: type_code: 380 and no subrogation mention; the beneficiary (distributor/depositary) is referenced in bank_account.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000844",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 4,
"bank_account": {
"type": "iban",
"iban": "FRXX XXXX XXXX XXXX XXXX XXXX XXX",
"bic": "XXXXXXXX",
"name": "<the beneficiary's legal name>"
},
"remittance_information": "FAC-2026-000844",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net — Beneficiaire du paiement : tiers (distributeur / depositaire)",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Prestation de services",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice payable to a factor unknown when the invoice is created (subrogation) — Facture cédée à un factor inconnu à l’émission (cas de subrogation)
Section titled “Invoice payable to a factor unknown when the invoice is created (subrogation) — Facture cédée à un factor inconnu à l’émission (cas de subrogation)”

Since the factoring company is still unknown at issuance, an ordinary B2B invoice is sent (type_code: 380, the seller’s account).

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000867",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "services",
"payment_method": 4,
"bank_account_id": "<the seller's bank account id>",
"remittance_information": "FAC-2026-000867",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Prestation de services",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Invoice payable to a third party, payment intermediary (e.g. Marketplace) — Facture à payer à un tiers, intermédiaire de paiement (par exemple sur Marketplace)
Section titled “Invoice payable to a third party, payment intermediary (e.g. Marketplace) — Facture à payer à un tiers, intermédiaire de paiement (par exemple sur Marketplace)”

Marketplace sale already paid: the intermediary is the beneficiary of the payment (bank_account) and the amount goes in payments_on_account. The intermediary’s commission is a separate invoice.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-001017",
"date": "2026-06-15",
"due_date": "2026-06-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 4,
"payments_on_account": 1200.0,
"bank_account": {
"type": "iban",
"iban": "FRXX XXXX XXXX XXXX XXXX XXXX XXX",
"bic": "XXXXXXXX",
"name": "<the intermediary's legal name>"
},
"remittance_information": "FAC-2026-001017",
"payment_method_text": "Virement bancaire (encaissement via intermediaire de paiement)",
"payment_terms": "Facture deja payee — vente via place de marche, Net a payer 0",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Vente via place de marche",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}

Self-billing: the buyer issues on behalf of the seller (type: “IssuedSelfInvoice”, type_code: 389), with dedicated numbering per seller and a mention of the mandate. In the standard it is a note with code DCL. From API version 2026-06-26 you can send it in coded_notes, like the ABU note in case 26; the example puts it in extra_info, as a general note. The payment method is whichever applies (the example uses a bank transfer); only if it is a transfer must you provide bank_account.

{
"send_after_import": true,
"invoice": {
"type": "IssuedSelfInvoice",
"type_code": "389",
"number": "AF-2026-000045",
"date": "2026-06-15",
"due_date": "2026-07-15",
"currency": "EUR",
"type_operation": "goods",
"payment_method": 4,
"bank_account": {
"type": "iban",
"iban": "FRXX XXXX XXXX XXXX XXXX XXXX XXX",
"bic": "XXXXXXXX",
"name": "<the seller's legal name>"
},
"remittance_information": "AF-2026-000045",
"payment_method_text": "Virement bancaire",
"payment_terms": "30 jours net",
"extra_info": "Facture etablie par l'ACHETEUR au nom et pour le compte du VENDEUR (auto-facturation, mandat de facturation)",
"contact_id": "<contact_id>",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 1000.0,
"description": "Livraison de biens (auto-facturee)",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}