Skip to main content
Registration on the French Directory is required for any SIREN that will issue, report or receive invoices through Invopop as its Plateforme Agréée. Each party (a SIREN) is registered once. The workflow collects a signed agreement, registers the party in the French Annuaire, publishes it on the Peppol network and registers for Reporting. After registration is completed, the party can both send and receive invoices as well as report transactions. The Annuaire requires every entry to be receive-capable, so there is no send-only option as in other Peppol countries.

French supplier

This example shows a French supplier party. Key points to note:
  • The tax_id contains the French TVA number without the FR prefix: a 2-digit control key followed by the company’s 9-digit SIREN.
  • The SIREN identity uses the iso-scheme-id extension 0002 (SIRENE), and must match the last 9 digits of the TVA number.
  • The person in people is the company representative required to sign the mandat de facturation (billing mandate), including their role and passport/document id number.
  • The peppol inbox uses scheme 0225 (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.
France supplier example

PPF register supplier workflow

PPF register supplier

Add to my workspace →

Agreement signing

The gov-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 the link_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.
Forward the 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:
1

Party details

Review and confirm the pre-filled company and signer information.
2

Identity document

Upload a photo of the signer’s ID card (front and back) or passport page.
3

Sign mandate

Sign the pre-filled mandate directly in the browser, or upload a pre-signed PDF.
4

Confirm

Submit for Invopop review. The party status moves to 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.
The customer signs the mandate directly. Invopop stamps the signature and verifies identity.
1

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.
2

Upload identity document

POST /identity uploads one face at a time: front + back for an ID card, or page for a passport.
3

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.
4

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 under fr-former-matricule meta key. This will add an additional section in the signed agreement that asks for consent to take over the line.
If a takeover is required and the matricule is missing, registration fails and asks for it.

PPF unregister supplier workflow

PPF unregister supplier

Add to my workspace →

FAQ

For B2B PA flows: register the supplier via the France PA Register Party workflow (publishes the SIREN to the Annuaire and Peppol). For Chorus Pro: register the supplier with their SIRET on Chorus Pro’s portal and link credentials in the Chorus Pro app.
France PA does not require supplier-side certificates — Peppol uses Invopop’s AP cert. Chorus Pro uses an OAuth token bound to the supplier’s account; the token is encrypted at rest in Invopop.
Run the France PA Register Party workflow with the supplier’s SIREN. Invopop publishes them to the Annuaire and the Peppol SMP — they are then routable for both invoicing and e-reporting through Invopop.
None at the supplier level. The Plateforme Agréée holds an OpenPeppol-issued mTLS certificate (Invopop’s), and the PA-to-PPF channel uses additional DGFiP credentials managed by Invopop.
Upload the company as a party (Console → Parties → Suppliers → + New Supplier, or via the Create an Entry API) with name, tax_id, address, and email. Then run it through the party registration workflow — the contact will receive a registration wizard link to provide proof of ownership.Once approved, the party is registered on the Peppol network (SMP+SML+Peppol visibility by default with the ubl-invoice doc group) and ready to receive invoices.
A supplier with that Participant ID already exists in your workspace. Either reuse the existing party or, if it really is a new entity, check whether it should be registered under an alternative scheme (for example Belgium’s 9925 VAT scheme rather than the default 0208).
Register them through different silo entries, even though they represent the same legal party. The supplier must upload proof of ownership for each inbox.
Unique identifiers for entities on the Peppol network, made up of two parts:
  • Scheme — identifies the type of identifier (e.g. 9920 for Spanish VAT, 0208 for Belgian KBO/BCE)
  • Code — the actual identification number
Participant IDs are usually based on VAT numbers or local business identifiers, and Invopop can derive them automatically from a Tax ID. Some countries support multiple schemes — Belgium, for example, defaults to 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.
Peppol Party visibility determines what you can send and receive:
  • smp — SMP only, for testing
  • smp+sml — SMP and SML, useful when you only want to send
  • smp+sml+peppol — SMP, SML, and the Peppol Directory, recommended for both sending and receiving (and for being discoverable in the Directory)
In general, use the highest visibility available.
More available in our France FAQ section