fr-ctc-flow10-v1 add-on (in active development), distinct from the fr-ctc-flow2-v1 add-on used for e-invoicing.
Sub-flows
Each recorded document is classified into one of four sub-flows based on supplier and customer SIREN:Registration
Reporting is enabled at the SIREN level, separately from the Annuaire registration. A party can be registered for e-invoicing, e-reporting, or both. The register workflow collects a signature (auto-approved in sandbox). Every invoice and payment recorded later is attached to and aggregated for this party.How it works
Set state → processing
Sign PPF agreement
Wait for PPF agreement upload
Register party for reporting
Set state → registered
- Template
- Code
France register party for reporting workflow
Picking a VAT regime
If you have a single supplier, or all your suppliers have the same cadence, you can configure the Register party for reporting to a specific cadence. For multiple suppliers (whitelabel use cases) where different suppliers have different cadence, pass it as a job argument with keyvat-regime when creating the job. When not stated, the default is real_normal_monthly.
Recording
Every invoice and payment that needs reporting goes through a single Record workflow. The action looks at the supplier and customer SIRENs and files the document into the right sub-flow (10.1 to 10.4) ready for the next report. Wire this workflow as the default for bothbill/invoice and bill/payment in your workspace.
How it works
Set state → processing
Record document for reporting
Set state → recorded
- Template
- Code
France record document for reporting workflow
Payments and the underlying invoice
For international B2B payments (10.2), setlines[i].document on the payment to the invoice it settles. The minimum reference is the invoice number and issue date:
document entirely. Specify the tax breakdown directly on the payment line.
Exemption reasons
Lines usingexempt, reverse-charge, intra-community, export, or outside-scope rates must include a free-text reason. Add it to the invoice’s tax block:
key must match the rate used on the line. Lines on standard or zero rates do not need a note.
Submitting reports
A separate workflow bundles the records for a closed reporting window into a single Flux 10 report and sends it to the PPF. Invopop runs it automatically on the cadence set by the VAT regime — you do not need to trigger it.How it works
Set state → processing
Generate document for reporting
Send document for reporting
Set state → filed
- Template
- Code
France send document for reporting workflow

Selecting the reporting workflow in the France app configuration sidebar
Disabling reporting
When a party should no longer be reported on, run the disable workflow. The party remains on file for audit purposes, but no new records are accepted and no new reports are generated. Previously filed reports are unaffected.How it works
Set state → processing
Disable party for reporting
Set state → Void
- Template
- Code
France disable reporting workflow
vat-regime argument.
Reading what’s filed
Four read endpoints expose submission status and the raw report XML, all scoped to the party’s silo entry id: GET/v1/reports/:silo_entry_id Summary per kind (current window, next deadline, last filed report) GET
/v1/reports/:silo_entry_id/periods Paginated history of filed periods (filter with
?kind=tx or ?kind=py)
GET /v1/reports/:silo_entry_id/periods/:period_id A single period’s metadata GET
/v1/reports/:silo_entry_id/periods/:period_id/xml The raw report XML sent to the PPF
FAQ
How do I schedule periodic reports for France?
How do I schedule periodic reports for France?
What format does France expect for periodic reports?
What format does France expect for periodic reports?
fr-ctc-flow10-v1 GOBL addon.How often must I submit France PA reports?
How often must I submit France PA reports?
What format does France PA expect for periodic reports?
What format does France PA expect for periodic reports?
🇫🇷 Invopop resources for France
🇫🇷 Invopop resources for France