French supplier
French supplier
- The
tax_idcontains the French TVA number without theFRprefix: a 2-digit control key followed by the company’s 9-digit SIREN. - The
SIRENidentity uses theiso-scheme-idextension0002(SIRENE), and must match the last 9 digits of the TVA number. - The person in
peopleis the company representative required to sign the mandat de facturation (billing mandate), including theirroleand passport/document id number. - The
peppolinbox uses scheme0225(French CTC electronic address) with the SIREN as the code.- If no inbox is specified, the Register for Peppol step will assign one based on the supplier’s SIREN.
PPF register supplier workflow
PPF register supplier
- Image
- JSON

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.
PPF unregister supplier workflow
PPF unregister supplier
- Image
- JSON

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