Aller au contenu principal

Exemples fonctionnels de FRR

Cette page montre comment représenter dans un fichier FRR les principaux cas de e-Reporting déposés dans le Flow Service BCSolutions.

Le périmètre est volontairement limité aux rapports que votre SI dépose lui-même avec POST /v1/flows, puis recherche avec POST /v1/flows/search et récupère avec GET /v1/flows/{flowId}.

Les rapports produits puis transmis au PPF ne sont pas décrits ici.

La procédure d'appel n'est pas répétée dans chaque cas : tous les exemples sont déposés avec flowSyntax: "FRR" et le fichier XML dans la partie multipart file.

➡️ Déposer, rechercher et récupérer des flux
➡️ Principes du e-Reporting

Télécharger les cinq exemples FRR complets (.zip)

Les types de FRR et les cinq cas illustrés

Le standard Flow Service prévoit six qualifications flowType pour les FRR. Cinq cas sont illustrés ci-dessous par des exemples XML ; le sixième, MultiFlowReport, correspond à un FRR regroupant au moins deux types de e-Reporting différents et sera pris en charge prochainement.

Le standard Flow Service ne demande pas au client de fournir flowType lors du dépôt. Le client transmet le FRR ; la plateforme analyse le document et qualifie ensuite le flux.

Cas fonctionnelBloc FRRQualification flowType attendue
Vente B2B internationale déclarée individuellement10.1TransactionsReport/InvoiceUnitaryCustomerTransactionReport
Achat B2B international déclaré individuellement10.1TransactionsReport/InvoiceUnitarySupplierTransactionReport
Encaissement individuel rattaché à une transaction déclarée10.2PaymentsReport/Invoice/PaymentUnitaryCustomerPaymentReport
Ventes B2C agrégées10.3TransactionsReport/TransactionsAggregatedCustomerTransactionReport
Encaissements B2C agrégés10.4PaymentsReport/Transactions/PaymentAggregatedCustomerPaymentReport
Rapport contenant au moins deux types de e-ReportingPlusieurs blocs parmi 10.1, 10.2, 10.3, 10.4MultiFlowReport — prochainement
Ne pas envoyer flowType dans flowInfo

flowType est une qualification produite par la plateforme. Pour déposer un FRR, fournissez name, flowSyntax: "FRR" et, si vous le souhaitez, un trackingId. N'ajoutez pas flowType dans le flowInfo d'entrée.

En-tête commun ReportDocument

Les exemples utilisent le même principe d'en-tête :

<ReportDocument>
<Id>FRR-103-B2C-20260915</Id>
<IssueDateTime>
<DateTimeString>20260920101500</DateTimeString>
</IssueDateTime>
<TypeCode>IN</TypeCode>
<Sender>
<Id schemeId="0238">0119</Id>
<Name>Plateforme agreee</Name>
<RoleCode>WK</RoleCode>
</Sender>
<Issuer>
<Id schemeId="0002">100000009</Id>
<Name>VENDEUR EXEMPLE</Name>
<RoleCode>SE</RoleCode>
</Issuer>
</ReportDocument>

TypeCode=IN correspond ici à une déclaration initiale. Les exemples de cette page ne traitent pas les mécanismes de rectification.

Le rôle de l'Issuer dépend du rapport :

  • SE lorsque l'entreprise déclare une transaction de vente ;
  • BY lorsqu'elle déclare un achat B2B international.

10.1 — Vente B2B internationale

Cas d'usage

Une entreprise française déclare individuellement une facture de vente émise à un client professionnel situé hors du périmètre de la facture électronique domestique française.

Le rapport contient une occurrence Invoice par facture. Il ne s'agit donc pas d'un agrégat.

Structure utile

<TransactionsReport>
<ReportPeriod>
<StartDate>20260901</StartDate>
<EndDate>20260930</EndDate>
</ReportPeriod>
<Invoice>
<ID>F2026-INT-001</ID>
<IssueDate>20260915</IssueDate>
<TypeCode>380</TypeCode>
<CurrencyCode>EUR</CurrencyCode>
<BusinessProcess>
<ID>B1</ID>
<TypeID>urn.cpro.gouv.fr:1p0:ereporting</TypeID>
</BusinessProcess>
<!-- Seller, Buyer, totaux et ventilation TVA -->
</Invoice>
</TransactionsReport>

Le BusinessProcess/ID transporte le cadre de facturation applicable à la transaction. BusinessProcess/TypeID identifie le profil e-Reporting et vaut urn.cpro.gouv.fr:1p0:ereporting dans ces exemples.

Télécharger le FRR 10.1 vente complet (.xml) · Afficher le XML

Résultat fonctionnel attendu

Après qualification, le flux est exposé comme UnitaryCustomerTransactionReport. Le document reste un FRR sortant du point de vue du Flow Service.

10.1 — Achat B2B international

Cas d'usage

Une entreprise française déclare individuellement une facture d'achat reçue d'un fournisseur étranger lorsque cette opération relève du e-Reporting.

La structure reste TransactionsReport/Invoice. La différence fonctionnelle principale est que le déclarant est ici l'acheteur : l'Issuer porte le rôle BY.

<Issuer>
<Id schemeId="0002">200000008</Id>
<Name>ACHETEUR EXEMPLE</Name>
<RoleCode>BY</RoleCode>
</Issuer>

Télécharger le FRR 10.1 achat complet (.xml) · Afficher le XML

Résultat fonctionnel attendu

Après qualification, le flux est exposé comme UnitarySupplierTransactionReport.

Direction du flux

Même s'il s'agit fonctionnellement d'un achat, ce FRR a été déposé par votre SI vers la plateforme. Sa flowDirection est donc Out.

10.2 — Paiement individuel

Cas d'usage

Une transaction déclarée individuellement nécessite également une déclaration de paiement, par exemple lorsqu'il faut déclarer l'encaissement d'une prestation pour laquelle la TVA est exigible à l'encaissement.

Le paiement reste rattaché à la facture concernée :

<PaymentsReport>
<ReportPeriod>
<StartDate>20260901</StartDate>
<EndDate>20260930</EndDate>
</ReportPeriod>
<Invoice>
<ID>F2026-SERV-INT-001</ID>
<IssueDate>20260905</IssueDate>
<Payment>
<Date>20260918</Date>
<SubTotals>
<TaxPercent>20.00</TaxPercent>
<CurrencyCode>EUR</CurrencyCode>
<Amount>1200.00</Amount>
</SubTotals>
</Payment>
</Invoice>
</PaymentsReport>

Télécharger le FRR 10.2 complet (.xml) · Afficher le XML

Résultat fonctionnel attendu

Après qualification, le flux est exposé comme UnitaryCustomerPaymentReport.

10.3 — Transactions B2C agrégées

Cas d'usage

Une entreprise déclare les ventes réalisées avec des particuliers ou d'autres non-assujettis. Contrairement au flux 10.1, le FRR ne transporte pas une ligne par ticket, facture ou transaction.

Il transporte des agrégats journaliers. Chaque bloc Transactions représente un regroupement fonctionnel, notamment par date, devise et catégorie de transaction. La ventilation TVA est portée par les blocs TaxSubtotal.

<Transactions>
<Date>20260915</Date>
<TransactionsCurrency>EUR</TransactionsCurrency>
<CategoryCode>TLB1</CategoryCode>
<TaxExclusiveAmount>1500.00</TaxExclusiveAmount>
<TaxTotal>222.50</TaxTotal>
<TransactionsCount>25</TransactionsCount>
<TaxSubtotal>
<TaxPercent>20.00</TaxPercent>
<TaxableAmount>1000.00</TaxableAmount>
<TaxTotal>200.00</TaxTotal>
</TaxSubtotal>
<!-- autres taux éventuels -->
</Transactions>

Les catégories utilisées par le standard pour ce bloc comprennent notamment :

CategoryCodeSignification fonctionnelle
TLB1Livraison de biens taxable
TPS1Prestation de services taxable
TNT1Opération non taxable en France
TMA1Opération relevant du régime de la marge

Télécharger le FRR 10.3 complet (.xml) · Afficher le XML

Résultat fonctionnel attendu

Après qualification, le flux est exposé comme AggregatedCustomerTransactionReport.

Un agrégat, pas le détail des ventes

TransactionsCount indique éventuellement combien de transactions ont contribué à l'agrégat, mais le FRR 10.3 ne permet pas de retrouver chacune de ces transactions individuellement. Les montants représentent les cumuls réglementaires du regroupement.

10.4 — Encaissements B2C agrégés

Cas d'usage

L'entreprise déclare les encaissements B2C qui doivent faire l'objet d'un e-Reporting de paiement.

Comme pour le 10.3, il ne s'agit pas de transmettre un paiement unitaire pour chaque client. Le rapport porte des montants encaissés agrégés, avec une ventilation par taux de TVA.

<Transactions>
<Payment>
<Date>20260915</Date>
<SubTotals>
<TaxPercent>20.00</TaxPercent>
<CurrencyCode>EUR</CurrencyCode>
<Amount>720.00</Amount>
</SubTotals>
<SubTotals>
<TaxPercent>10.00</TaxPercent>
<CurrencyCode>EUR</CurrencyCode>
<Amount>220.00</Amount>
</SubTotals>
</Payment>
</Transactions>

Télécharger le FRR 10.4 complet (.xml) · Afficher le XML

Résultat fonctionnel attendu

Après qualification, le flux est exposé comme AggregatedCustomerPaymentReport.

Déposer l'un de ces FRR

Le même appel POST /v1/flows est utilisé pour les cinq exemples.

flowInfo

{
"name": "frr-10.3-transactions-b2c-agregees.xml",
"flowSyntax": "FRR",
"trackingId": "ERP-FRR-202609-103-001"
}

Requête multipart

curl -X POST "https://<flow-api-host>/v1/flows" \
-H "Authorization: Bearer <access-token>" \
-H "Organization-Id: <organization-id>" \
-F 'flowInfo={
"name":"frr-10.3-transactions-b2c-agregees.xml",
"flowSyntax":"FRR",
"trackingId":"ERP-FRR-202609-103-001"
};type=application/json' \
-F 'file=@frr-10.3-transactions-b2c-agregees.xml;type=application/xml'

Le retour 202 Accepted confirme la prise en compte technique du fichier et fournit un flowId. Il ne faut pas en déduire que le rapport a déjà terminé tous ses contrôles.

Rechercher les FRR que vous avez déposés

Les FRR de cette page sont tous des flux sortants (Out) du point de vue de votre intégration avec le Flow Service.

Rechercher les rapports 10.3

{
"limit": 100,
"where": {
"updatedAfter": "2026-09-20T00:00:00Z",
"flowDirection": ["Out"],
"flowType": ["AggregatedCustomerTransactionReport"]
}
}

Rechercher plusieurs familles de FRR

{
"limit": 100,
"where": {
"updatedAfter": "2026-09-20T00:00:00Z",
"flowDirection": ["Out"],
"flowType": [
"UnitaryCustomerTransactionReport",
"UnitarySupplierTransactionReport",
"UnitaryCustomerPaymentReport",
"AggregatedCustomerTransactionReport",
"AggregatedCustomerPaymentReport"
]
}
}

MultiFlowReport pourra être utilisé comme critère flowType dans les recherches dès que sa qualification automatique sera prise en charge.

Vous pouvez également rechercher précisément un dépôt en réutilisant le trackingId fourni au moment du POST /v1/flows.

Récupérer le FRR déposé

Deux représentations sont utiles pour les rapports décrits sur cette page :

GET /v1/flows/{flowId}?docType=Metadata
GET /v1/flows/{flowId}?docType=Original
  • Metadata retourne les métadonnées et la qualification du flux ;
  • Original restitue le fichier XML FRR original déposé par votre SI.

Les représentations ReadableView, Converted et Ubl sont réservées aux factures entrantes et ne s'appliquent pas aux FRR.

Périmètre de cette page

Cette récupération concerne exclusivement le FRR correspondant au flux que vous avez déposé dans notre API. La consultation des rapports effectivement produits puis transmis au PPF sera documentée séparément.