gov-fr.directory.register) before the Peppol registration.
How it works

Sign PPF agreement
gov-fr.agreement.sign).Set state → processing
Wait for PPF agreement upload
gov-fr.agreement.wait.approval).Set state → completed
Register party in Directory
gov-fr.directory.register).Register party on Peppol
france document group, enabling Peppol-level routing for sending and receiving.Set state → registered
- Template
- Code
France PA register party workflow
Agreement signing
Thegov-fr.agreement.sign step generates the mandate and publishes a link_url under the approval-link key in the silo entry meta. The party representative can complete signing through the registration wizard, or platforms that want full control can use the entry API directly.
Registration wizard
Once the workflow step runs, find thelink_url in the approval-link meta entry of the silo entry. In console, it appears in the Meta tab of the entry’s right sidebar.
Example approval-link meta entry
Example approval-link meta entry
link_url to the party representative, or embed it as an iframe to keep them within your platform.
The wizard walks the representative through each step:
Party details
Identity document
Sign mandate
Confirm
submitted until a decision is made.Entry API
For platforms that want to drive the signing process programmatically, use the entry API (all endpoints under/apps/gov-fr/v1/entry/{silo_entry_id}/). Identity verification is required on both paths.
- In-app signing
- Pre-signed PDF
Download mandate
GET /agreement returns the mandate PDF pre-filled with the party’s details. Fails with 422 if any required signer field is missing.Upload identity document
POST /identity uploads one face at a time: front + back for an ID card, or page for a passport.Sign the mandate
POST /sign stamps the signature. Pass a drawn PNG or JPEG image in signature (≤ 4 MB), or omit it to render the signer’s name as a typed signature.Confirm
POST /confirm finalises the submission and returns a status field. submitted means the party is under approval review before registration continues.Taking over a line from another Plateforme Agréée
If a SIREN’s Annuaire line is already held by another Plateforme Agréée (PA), registration takes that line over instead of creating a duplicate. To do so, the party must specify the former PA line underfr-former-matricule meta key. This will add an additional section in the signed agreement that asks for consent to take over the line.
Unregistration
Run the unregister workflow to revoke a party’s registrations when it should no longer issue or receive invoices through Invopop.Unregister Peppol Party
Unregister from Directory
Set state → void
- Template
- Code
France PA unregister party workflow
FAQ
How do I onboard a new supplier in France?
How do I onboard a new supplier in France?
How are supplier credentials stored in Invopop for France?
How are supplier credentials stored in Invopop for France?
How do I register a supplier with France PA?
How do I register a supplier with France PA?
What certificates does France PA require to authenticate a supplier?
What certificates does France PA require to authenticate a supplier?
How do I register for a Peppol inbox in Invopop?
How do I register for a Peppol inbox in Invopop?
ubl-invoice doc group) and ready to receive invoices.I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?
I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?
9925 VAT scheme rather than the default 0208).How do I assign multiple inboxes to a single supplier?
How do I assign multiple inboxes to a single supplier?
What are Participant IDs?
What are Participant IDs?
- Scheme — identifies the type of identifier (e.g.
9920for Spanish VAT,0208for Belgian KBO/BCE) - Code — the actual identification number
0208 but some entities are only registered under 9925 (VAT). If you hit a “receiver not found” error, the recipient may be registered under an alternative scheme.What visibility level should I set on my Peppol Party?
What visibility level should I set on my Peppol Party?
smp— SMP only, for testingsmp+sml— SMP and SML, useful when you only want to sendsmp+sml+peppol— SMP, SML, and the Peppol Directory, recommended for both sending and receiving (and for being discoverable in the Directory)
🇫🇷 Invopop resources for France
🇫🇷 Invopop resources for France