Aller au contenu
Log in

Cas d'usage pris en charge

Les cas d'usage de la RFE (XP Z12-014) et leur statut de prise en charge dans B2Brouter.

La réforme française de facturation électronique définit un ensemble de cas d’usage métier spécifiques que les Plateformes Agréées peuvent être tenues — ou peuvent choisir — de prendre en charge. Ces cas couvrent un large éventail de scénarios de facturation : factures avec données supplémentaires, factures impliquant des tiers, et factures avec des exigences de cycle de vie spécifiques.

Selon la norme XP Z12-014, les cas d’usage décrits au Chapitre 3 relèvent de la politique commerciale de chaque plateforme — les plateformes ne sont pas tenues de tous les prendre en charge. Seul le cas nominal d’échange de facture et la gestion du cycle de vie via les Avoirs et les Factures rectificatives sont obligatoires pour toutes les Plateformes Agréées.

StatutDescription
CoveredCe cas d’usage est entièrement pris en charge.
Covered *Pris en charge par B2Brouter, mais pas encore pleinement activé par l’institution destinataire (DGFiP ou Peppol).
Partially coveredUne partie du cas d’usage est prise en charge aujourd’hui ; le reste est encore en cours.
In ProgressDans la feuille de route et disponible dans la prochaine version de l’API.
EvaluationPas encore dans la feuille de route. Nous évaluons si nous le prendrons en charge.
On DemandPas prévu actuellement. Contacte-nous si tu en as besoin et nous l’évaluerons.

Ce tableau reflète le statut actuel de couverture des cas d’usage et sera mis à jour au fur et à mesure de l’avancement du développement.

Dernière mise à jour : 13.10.2026

CasCatégorieDescriptionStatut
1Multi-commande / Multi-livraisonMulti-commande (par ligne, via cac:OrderLineReference / cac:DocumentReference) · Multi-livraison (en-tête, plusieurs bons de livraison)Partially covered
2Facture déjà payée par un tiers ou l’acheteurFacture déjà payée par l’acheteur ou un tiers payeurCovered *
3Facture à régler par un tiersFacture à régler par un tiers payeur connu à la facturationCovered *
4Facture à régler par un tiersFacture à régler par l’acheteur et partiellement couverte par un tiers connu (subvention, assurance…)Evaluation
5Frais payés par des tiers avec factureFrais payés par des salariés avec facture au nom de l’entreprise (facturation électronique)Covered *
6Frais payés par des tiers sans factureFrais payés par des salariés sans facture (e-reporting des données de transaction hors facture)Covered
7Facture payée par un tiersFacture suite à un achat payé par carte d’achatCovered *
8Facture payable à un tiersFactures payables à un tiers connu à la facturation (affacturage, cash pooling)Covered *
9Facture payable à un tiersFacture payable à un tiers connu gérant aussi la commande/réception ou la facturation (Distributeur/Dépositaire)Covered *
10Facture payable à un tiersFacture payable à un factor inconnu à l’émission de la facture (cas de subrogation)Covered *
11Facture avec « destinataire » différent de l’acheteurFacture avec « Invoicee » différent de l’acheteurIn Progress
12Intermédiaire transparentIntermédiaire transparent gérant les factures pour le compte de l’acheteur principalIn Progress
13Facture de sous-traitance pour paiement directFacture payable par un tiers : sous-traitance avec paiement direct ou délégation de paiementEvaluation
14Facture de co-traitanceFacture payable par un tiers : co-traitanceEvaluation
15Facture suite à une commande/un paiement par un tiers pour le compte de l’acheteurFacture de vente suite à une commande (et éventuel paiement) par un tiers pour le compte de l’acheteurIn Progress
16Facture suite à une commande/un paiement par un tiers pour le compte de l’acheteurFacture de débours pour remboursement de la facture de vente payée par le tiersCovered
17aFacture émise par un tiers, intermédiaire de paiementFacture payable à un tiers, intermédiaire de paiement (par exemple Marketplace)Covered *
17bFacture émise par un tiers, intermédiaire de paiement et mandat de facturationFacture payable à un tiers, intermédiaire de paiement avec mandat de facturationIn Progress
18Notes de débitGestion des notes de débitCovered
19aFactures émises sous mandat d’un tiersFacture émise sous mandat de facturationEvaluation
19bAutofacturationAutofacturationCovered *
20Facture d’acompteFacture d’acompte et facture finale après acompte (acompte déjà payé)In Progress
21Facture d’acompteFacture d’acompte et facture finale après acompte (acompte à payer)In Progress
22aFacture avec remiseFacture payée avec escompte — services avec TVA sur encaissementCovered
22bFacture avec remiseFacture payée avec escompte — livraisons de biens (ou services avec TVA sur débits)Covered
23Autofacturation entre un particulier et un professionnelAutofacturation entre un particulier et un professionnelOn Demand
24Acompte (« Arrhes »)Gestion des arrhesCovered
25Bons d’achat et cartes cadeauxGestion des bons d’achat et cartes cadeauxCovered
26Factures avec clauses de réserve contractuelleFactures avec clause de réserve contractuelleCovered
27Tickets de péageGestion des tickets de péageCovered
28Notes de restaurantGestion des notes de restaurantPartially covered
29Assujetti unique et membres de l’assujetti uniqueAssujetti unique (Article 256 C du CGI)Evaluation
30Transaction e-reporting soumise à facture ou « TVA déjà collectée »TVA déjà collectée — transactions initialement traitées en e-reporting B2C, soumises à facturation ultérieurePartially covered
31Factures mixtesFactures « mixtes » mentionnant une transaction principale et une transaction accessoireCovered
32Gestion des paiements mensualisésPaiements mensualisésPartially covered
33Régime de TVA sur la margeTransactions soumises au régime de la margePartially covered
34Encaissement partiel et annulation d’encaissementEncaissement partiel et annulation d’encaissementPartially covered
35Notes d’auteurNotes d’auteurOn Demand
36Secret professionnelTransactions soumises au secret professionnel et échanges de données sensiblesCovered
37Sociétés en participationSEP (Sociétés en Participation)Evaluation
38Sous-lignes de factureFactures avec sous-lignes et regroupements de lignesEvaluation
39Multi-vendeursIntermédiaire transparent regroupant les ventes de plusieurs vendeurs — Facture multi-vendeursEvaluation
40Compensation entre flux croisésPaiements groupés, compensation en cas d’achats/ventes croisésOn Demand
41Pratiques de trocSociétés de troc (troc inter-entreprises)On Demand
42DétaxeGestion de la détaxeCovered
43Opérations B2B internationalesE-reporting pour le B2B internationalPartially covered
43aOpérations B2B internationalesTransactions triangulairesIn Progress
43bOpérations B2B internationalesTransferts de stocks traités comme des livraisons intracommunautairesIn Progress
44Opérations avec les DROM / COM / TAAF françaisTransactions avec des entités établies dans les DROM/COM/TAAF (la contrepartie de la transaction, pas le compte émetteur)Covered

Pour chaque cas d’usage, tu trouveras un exemple JSON avec les champs à renseigner. Si ce n’est pas déjà fait, nous te recommandons de lire d’abord le guide DGFiP.

Pris en charge aujourd’hui : multi-commande au niveau de la ligne. Chaque ligne référence sa propre commande via invoice_lines_attributes[].ponumber + [].sequence_number, émis sous la forme cac:OrderLineReference/cbc:LineID + cac:DocumentReference/cbc:ID par ligne.

{
"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,
"extra_info": "#PMD# Ref FAC-2026-000901 #PMT# Virement bancaire #AAB# 30 jours net — 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 }]
}
]
}
}

Pas encore (In Progress) : multi-livraison au niveau de l’en-tête (plusieurs bons de livraison / références DespatchAdvice pour une même facture). BT-15 et BT-16 sont des business terms d’en-tête dans EN16931, et invoice.delivery_note_number n’accepte aujourd’hui qu’une seule référence. À considérer comme une limitation actuelle, pas comme une erreur.

Frais payés par des salariés sans facture (e-reporting des données de transaction hors facture)
Section intitulée « Frais payés par des salariés sans facture (e-reporting des données de transaction hors facture) »

La vente a lieu entre le vendeur et le salarié en tant que particulier, elle n’est donc pas soumise à l’obligation de facturation électronique mais à l’e-reporting B2C du vendeur. Le salarié peut ensuite demander une facture B2B pour récupérer la TVA, ce qui correspond au cas d’usage 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,
"extra_info": "#PMT# Carte bancaire #AAB# Comptant",
"invoice_lines_attributes": [
{
"quantity": 1,
"price": 100.0,
"description": "Fournitures de bureau",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 20 }]
}
]
}
}
Facture de débours pour remboursement de la facture de vente payée par le tiers
Section intitulée « Facture de débours pour remboursement de la facture de vente payée par le tiers »

Les factures de débours sont hors du champ de la réforme, mais si des lignes exonérées (category: "O") sont combinées avec des lignes soumises à TVA (category: "S"), la facture mixte entre dans le champ de la facturation électronique et doit être transmise.

{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000516 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

Les notes de débit ne constituent pas une facture et sont hors du champ de la facturation électronique. En pratique, si l’acheteur en émet une sous mandat de facturation, elle est transmise comme un avoir autofacturé (type_code: "261") référençant la facture originale. Le montant est positif ; la nature d’avoir est déjà exprimée par le type_code et la référence.

{
"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,
"extra_info": "#PMD# Compensation ND-2026-000077 #PMT# Compensation entre parties #AAB# Avoir auto-facture (261), mandat de facturation requis",
"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 }]
}
]
}
}

Un escompte conditionnel pour paiement anticipé n’est pas appliqué sur la facture : au moment de l’émission, l’escompte pourrait ne jamais être pris, donc la facture porte les totaux complets et l’escompte n’apparaît que comme mention obligatoire des conditions de paiement (#AAB#, BT-20). N’encode pas l’escompte comme une remise exonérée (E) avec VATEX-FR-CNWVAT sur la facture : la règle DGFiP G6.21 réserve ce code aux avoirs (types 261, 381, 396) et B2Brouter le rejette avec un 422 sur les factures.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "FAC-2026-000305",
"type_operation": "services",
"payment_method": 30,
"extra_info": "#PMD# Ref paiement FAC-2026-000305 #PMT# Virement bancaire #AAB# Paiement à 30 jours. Escompte 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 }]
}
]
}
}

Si le client paie dans le délai de l’escompte, émets un avoir pour le montant de l’escompte référençant la facture originale. Pour 22b (biens, ou services avec TVA sur débits), la mention « net de taxe » signifie que la TVA n’est pas ajustée : l’avoir porte la catégorie E avec VATEX-FR-CNWVAT — le seul type de document où ce code est légal. Pour 22a (services avec TVA due à l’encaissement), émets un avoir classique avec TVA (catégorie S, 20 %) à la place.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "381",
"number": "AV-2026-000305",
"type_operation": "services",
"payment_method": 30,
"extra_info": "#PMD# Ref paiement AV-2026-000305 #PMT# Virement bancaire #AAB# 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" }]
}
]
}
}

Les arrhes sont une indemnité sans contrepartie, hors du champ de la TVA et non transmises via la facturation électronique ou l’e-reporting. En pratique commerciale, un acompte sur prix (soumis à TVA, type_code: "386") est plus courant ; l’exemple illustre ce cas.

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "386",
"number": "ACOMPTE-2026-0009",
"type_operation": "goods",
"payment_method": 30,
"extra_info": "#PMD# Ref paiement ACOMPTE-2026-0009 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

Les bons d’achat et cartes cadeaux peuvent être à usage unique (lieu d’imposition et taux de TVA connus à l’émission) ou à usage multiple (lieu et TVA indéterminés). La vente du bon est facturée séparément ; ce cas ne couvre que les frais de gestion, un service B2B standard. (Ce cas est en attente d’une définition réglementaire et peut changer dans les futures versions.)

{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"type_code": "380",
"number": "COM-2026-000128",
"type_operation": "services",
"payment_method": 30,
"extra_info": "#PMD# Ref paiement COM-2026-000128 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

La facture est émise pour le montant total, comme une facture B2B standard. La partie retenue se gère via les paiements, sans champ spécifique :

  1. Quand tu reçois la première partie (par exemple 95 %), enregistre-la comme paiement partiel (voir Paiements partiels). B2Brouter envoie le statut Encaissée (CDV 212) avec le montant encaissé.
  2. Si la réserve est levée et le solde payé, enregistre un second paiement pour le solde. Une fois que les paiements enregistrés couvrent le total, la facture passe à paid.
  3. Si la retenue devient définitive, émets un avoir pour le montant retenu. Tu n’as pas besoin de déclarer d’autre paiement pour le solde ni pour l’avoir.

Premier paiement d’une facture de 12 000,00 EUR TTC avec une réserve de 5 % (POST /accounts/{ACCOUNT_ID}/payments) :

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

Les tickets de péage sont traités comme des transactions B2C et déclarés via l’e-reporting, car le vendeur n’identifie pas le client. Si le péage est géré via un abonnement ou une carte qui identifie l’acheteur, la transaction entre dans le champ de la facturation électronique et doit être facturée en 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,
"extra_info": "#PMT# Carte bancaire #AAB# Comptant — 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 }]
}
]
}
}

Pris en charge aujourd’hui : e-reporting B2C des notes de restaurant. Les notes de moins de 150 € HT pour lesquelles le client ne demande pas de facture sont émises comme ventes B2C ("type": "IssuedSimplifiedInvoice"). B2Brouter les déclare automatiquement dans les totaux journaliers des ventes du Flux 10 (10.3). Comme les notes de restaurant sont des prestations de services, B2Brouter déclare aussi l’encaissement (10.4) quand tu marques le ticket comme payé. Si le client demande une facture au moment de la vente et que tu exclus la vente de tes ventes B2C, émets une facture B2B standard.

{
"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,
"extra_info": "#PMT# Carte bancaire #AAB# Comptant",
"invoice_lines_attributes": [
{
"quantity": 2,
"price": 32.0,
"description": "Menu du jour",
"taxes_attributes": [{ "name": "TVA", "category": "S", "percent": 10 }]
}
]
}
}

Pas encore depuis l’API JSON : facture avec cadre S7/B7 (TVA déjà collectée). Quand la vente a déjà été déclarée en e-reporting B2C, la facture B2B doit porter BT-23 = S7 ou B7 (voir le cas 30). L’API JSON ne permet pas encore d’indiquer ce cadre. Si tu importes la facture en XML UBL ou CII avec BT-23 = S7 ou B7, B2Brouter conserve ce cadre dans le Flux 1.

Pris en charge aujourd’hui uniquement par import XML. La facture B2B émise après la déclaration de la vente en e-reporting B2C doit porter BT-23 = S7 (services) ou B7 (biens), pour que la TVA ne soit pas comptée deux fois. Si tu importes la facture en XML UBL ou CII avec cette valeur en BT-23, B2Brouter la conserve dans le Flux 1. L’e-reporting B2C de la vente d’origine fonctionne comme au cas 28.

Emplacement du BT-23 dans chaque syntaxe :

<!-- UBL: BT-23 -->
<cbc:ProfileID>S7</cbc:ProfileID>
<!-- CII: BT-23 -->
<rsm:ExchangedDocumentContext>
<ram:BusinessProcessSpecifiedDocumentContextParameter>
<ram:ID>S7</ram:ID>
</ram:BusinessProcessSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>

Pas encore : depuis l’API JSON. Aucun champ ne permet d’indiquer le cadre S7/B7 sur une facture créée en JSON.

Factures « mixtes » avec une transaction principale et une transaction accessoire
Section intitulée « Factures « mixtes » avec une transaction principale et une transaction accessoire »

La catégorie de la transaction principale s’applique à toute la facture. Indique dans type_operation la catégorie de la transaction principale : dans cet exemple, une retouche vendue avec un costume est accessoire à la livraison de biens, donc la facture est goods. Si la retouche était la transaction principale, utilise services. B2Brouter n’a pas de cadre « M » dans le Flux 1 : mixed est traité comme des services (voir Codes de procédure).

{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000731 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

Pris en charge aujourd’hui : paiements mensualisés B2C. Déclare chaque mensualité comme une vente B2C ("type": "IssuedSimplifiedInvoice") : B2Brouter l’inclut dans les totaux journaliers du Flux 10 (10.3) et, pour les prestations de services, déclare l’encaissement (10.4) quand tu marques le ticket comme payé. Quand tu émets la facture de régularisation, déclare uniquement le solde ; B2Brouter ne le calcule pas à ta place. Si le solde est négatif, émets un avoir : B2Brouter le déduit du total de ce jour.

{
"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,
"extra_info": "#PMT# Prélèvement #AAB# 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 }]
}
]
}
}

Pas encore :

  • L’annulation de mensualités déjà déclarées dans le Flux 10.4 (e-reporting d’encaissement négatif). Voir le cas 34.
  • L’option pour le paiement de la TVA sur les débits : dans ce cas, aucun e-reporting d’encaissement n’est dû, mais B2Brouter ne gère pas encore cette option et déclare quand même les encaissements des prestations de services.
  • Le volet B2B : les mensualités facturées comme acomptes dépendent des cas 20 et 21 (In Progress).

Pris en charge aujourd’hui : factures B2B sous le régime de la marge. La TVA sur la marge n’apparaît pas sur la facture. Sur chaque ligne soumise au régime, le prix est TTC et la taxe porte la catégorie E, le taux 0 et le code de motif d’exonération dans comment :

CodeUsage
VATEX-EU-FBiens d’occasion
VATEX-EU-IObjets d’art
VATEX-EU-JObjets de collection et d’antiquité
VATEX-EU-DAgences de voyages
{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000918 #PMT# Virement bancaire #AAB# 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" }]
}
]
}
}

Pas encore : e-reporting B2C sous le régime de la marge. Les ventes B2C sous ce régime doivent être déclarées dans la catégorie marge (TMA1), avec la marge comme base. L’API n’a aucun champ pour le prix d’achat, donc B2Brouter ne peut pas calculer la marge : il déclare ces ventes sans la catégorie TMA1 et avec le montant total de la vente comme base.

Encaissement partiel et annulation d’encaissement
Section intitulée « Encaissement partiel et annulation d’encaissement »

Pris en charge aujourd’hui : encaissements partiels. Enregistre chaque paiement partiel avec POST /accounts/{ACCOUNT_ID}/payments (voir Paiements partiels). B2Brouter déclare le montant encaissé : statut Encaissée (CDV 212) pour les factures domestiques, et encaissements du Flux 10 pour les factures B2C et transfrontalières.

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

Pas encore : annuler un encaissement. La norme permet d’annuler un encaissement (erreur de rapprochement, paiement frauduleux) avec un montant négatif, dans le statut Encaissée ou dans l’e-reporting d’encaissement B2C. Tu ne peux pas encore le faire depuis l’API ni depuis l’application web. Les paiements qui ont déjà généré un tax report du Flux 10 ne peuvent être ni modifiés ni supprimés (HTTP 422).

Utilise un libellé générique dans la description de la ligne (BT-153, nom de l’article) et mets le détail précis dans notes (BT-154, description de l’article). Le BT-154 ne circule que dans la facture échangée entre les parties et n’est jamais transmis à l’administration fiscale.

{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000622 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

Pour une vente B2C à un voyageur établi hors de l’UE qui obtient un BVE (bordereau de vente à l’exportation), émets le ticket sans TVA : catégorie G, taux 0 et VATEX-EU-G. B2Brouter la déclare dans le Flux 10 comme vente non soumise à la 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,
"extra_info": "#PMT# Carte bancaire #AAB# Comptant. 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" }]
}
]
}
}

Si tu as d’abord déclaré la vente avec TVA et que le BVE est validé plus tard, émets un avoir sur le ticket d’origine et un nouveau ticket sans TVA, les deux le même jour : B2Brouter déduit le premier du total des biens (TLB1) et déclare le nouveau en TNT1. B2Brouter ne reçoit pas la validation du BVE, c’est donc à toi d’émettre ces deux documents.

Pris en charge aujourd’hui : ventes B2B internationales. Émets une IssuedInvoice standard vers un contact établi hors de France et B2Brouter la déclare dans le Flux 10.1 (voir Transactions transfrontalières). Les livraisons intracommunautaires (catégorie K) et les ventes en autoliquidation (catégorie AE, avec VATEX-EU-AE) sont prises en charge, avec leur motif d’exonération. Quand la TVA est due par l’acheteur, B2Brouter ne génère pas d’e-reporting d’encaissement (10.2). La catégorie K exige aussi la date et le pays de livraison (delivery_date et delivery_country, règles BR-IC-11 et BR-IC-12). Livraison intracommunautaire vers un contact d’un autre pays de l’UE :

{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000845 #PMT# Virement bancaire #AAB# 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" }]
}
]
}
}

Pas encore : acquisitions B2B internationales avec TVA autoliquidée. Les achats auprès de fournisseurs établis hors de France (ReceivedInvoice) sont déclarés avec la ventilation de TVA de la facture reçue telle quelle (catégorie K ou AE, taux 0 %). La norme demande la vision de l’acheteur : catégorie AE, le taux français applicable et le montant de TVA autoliquidée. Les opérations triangulaires (cas 43a) et les transferts de stocks (cas 43b) restent In Progress.

Transactions avec des entités établies dans les DROM/COM/TAAF
Section intitulée « Transactions avec des entités établies dans les DROM/COM/TAAF »

B2Brouter détermine le flux à partir du country du contact de la facture :

  • Guadeloupe (gp), Martinique (mq) et La Réunion (re) font partie du territoire français de TVA : la facture suit la facturation électronique (Flux 1), comme en métropole. Crée le contact avec les mêmes identifiants français qu’un contact de métropole (voir Créer un contact).
  • Guyane (gf), Mayotte (yt), les COM et les TAAF sont des territoires d’exportation : la facture est déclarée dans le Flux 10, comme toute transaction transfrontalière.

Facture vers un contact en Martinique ("country": "mq"), au taux de 8,5 % applicable dans les DROM :

{
"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,
"extra_info": "#PMD# Ref paiement FAC-2026-000953 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}

Facture déjà payée par l’acheteur ou un tiers payeur
Section intitulée « Facture déjà payée par l’acheteur ou un tiers payeur »

Facture déjà payée (par exemple une commande payée d’avance) : le montant payé est déclaré dans payments_on_account, qui correspond au total TTC et ramène le montant dû à 0. Le mode de paiement est celui utilisé (l’exemple montre un virement bancaire) ; seulement si c’est un virement (payment_method: 4) tu dois fournir 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>",
"extra_info": "#PMD# Ref paiement CMD-2026-000777 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}
Facture à régler par un tiers payeur connu à la facturation
Section intitulée « Facture à régler par un tiers payeur connu à la facturation »

Facture B2B standard ; le tiers payeur est géré par l’acheteur (transparent pour le vendeur, non mentionné sur la facture). Le mode de paiement est celui applicable (l’exemple utilise un virement bancaire) ; seulement si c’est un virement (payment_method: 4) tu dois fournir 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>",
"extra_info": "#PMD# Ref FAC-2026-000312 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}
Frais payés par des salariés avec facture au nom de l’entreprise (facturation électronique)
Section intitulée « Frais payés par des salariés avec facture au nom de l’entreprise (facturation électronique) »

Facture au nom de l’entreprise avancée par le salarié, généralement déjà payée (payments_on_account) par le moyen qu’il a utilisé (l’exemple montre un paiement par carte). Un numéro matricule ou identifiant est référencé, pas de données personnelles (RGPD).

{
"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,
"extra_info": "#PMD# Ref FAC-2026-000455 #PMT# Carte bancaire #AAB# 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 }]
}
]
}
}
Facture suite à un achat payé par carte d’achat
Section intitulée « Facture suite à un achat payé par carte d’achat »

Facture déjà payée avec une carte logée : les détails de la carte vont dans card_account_attributes (numéro de carte masqué — derniers chiffres seulement) et le montant payé dans 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>"
},
"extra_info": "#PMD# Ref transaction CL-2026-33012 #PMT# Carte d'achat (carte logee) #AAB# 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 }]
}
]
}
}
Factures payables à un tiers connu à la facturation (affacturage, cash pooling)
Section intitulée « Factures payables à un tiers connu à la facturation (affacturage, cash pooling) »

Paiement à un factor (ou cash pooling) connu à la facturation : son compte est référencé dans bank_account. Pour l’affacturage, type_code: 393 et une mention de subrogation dans #AAB#.

{
"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>"
},
"extra_info": "#PMD# Ref FAC-2026-000801 #PMT# Virement bancaire #AAB# 30 jours net — 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 }]
}
]
}
}
Facture payable à un tiers connu gérant aussi la commande/réception ou la facturation (Distributeur/Dépositaire)
Section intitulée « Facture payable à un tiers connu gérant aussi la commande/réception ou la facturation (Distributeur/Dépositaire) »

Comme le cas 8 mais sans affacturage : type_code: 380 et aucune mention de subrogation ; le bénéficiaire (distributeur/dépositaire) est référencé dans 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>"
},
"extra_info": "#PMD# Ref FAC-2026-000844 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}
Facture payable à un factor inconnu à l’émission de la facture (cas de subrogation)
Section intitulée « Facture payable à un factor inconnu à l’émission de la facture (cas de subrogation) »

Comme la société d’affacturage est encore inconnue à l’émission, une facture B2B ordinaire est envoyée (type_code: 380, le compte du vendeur).

{
"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>",
"extra_info": "#PMD# Ref FAC-2026-000867 #PMT# Virement bancaire #AAB# 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 }]
}
]
}
}
Facture payable à un tiers, intermédiaire de paiement (par exemple Marketplace)
Section intitulée « Facture payable à un tiers, intermédiaire de paiement (par exemple Marketplace) »

Vente Marketplace déjà payée : l’intermédiaire est le bénéficiaire du paiement (bank_account) et le montant va dans payments_on_account. La commission de l’intermédiaire fait l’objet d’une facture séparée.

{
"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>"
},
"extra_info": "#PMD# Ref FAC-2026-001017 #PMT# Virement bancaire (encaissement via intermediaire de paiement) #AAB# 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 }]
}
]
}
}

Autofacturation : l’acheteur émet pour le compte du vendeur (type : “IssuedSelfInvoice”, type_code: 389), avec une numérotation dédiée par vendeur et une mention du mandat dans #AAB#. Le mode de paiement est celui applicable (l’exemple utilise un virement bancaire) ; seulement si c’est un virement tu dois fournir 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>"
},
"extra_info": "#PMD# Ref AF-2026-000045 #PMT# Virement bancaire #AAB# 30 jours net — 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 }]
}
]
}
}