Documentation Index
Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
Verifying that a party is registered in the French Annuaire before issuing or receiving an invoice reduces rejections and lets you branch regulated vs. non-regulated flows correctly. This guide shows how to query the PPF Annuaire so you can:- Verify that a SIREN is registered as a sender or receiver in the Annuaire.
- Resolve the electronic address used to route invoices to a given party.
- Branch invoice and party workflows between regulated e-invoicing and the e-reporting flow.
Prerequisites
- A live workspace (Lookup will error with
403 Forbiddenin Sandbox). - Within Console, make sure you have connected the France app.
Console support
Add the Lookup in Directory step to yourinvoice, party or status workflows.
In the invoice workflow, the step can be configured to lookup suppliers and customers. The job will fail if no matching entry is found, and you can handle the exception any way you want (usually routing to non-regulated flow).

API support
Look up by SIREN
Use this endpoint when you have the French legal identifier of a company and want to know whether it is reachable through the Annuaire. A SIREN may have multiple entries (one per registered SIRET / electronic address), so the response is always a list. An emptyresults array means the SIREN is not currently registered in the Annuaire.
The following outcomes are possible:
| Status | Result | Flow type | Action |
|---|---|---|---|
| Party is registered | Returns one or more entries | Regulated | Route via Peppol; PPF expects a copy through the PA send invoice workflow |
| Party is not registered | Returns an empty list | Non-regulated | Route through the e-reporting flow instead of Peppol |
Look up by electronic address
Use this endpoint when you already have the electronic address (the value used to route invoices in France, typically inscheme:value form) and want to confirm it resolves to a registered entry. This is useful when a counterparty supplies their routing identifier directly rather than just a SIREN.
The behaviour mirrors the SIREN lookup:
- Identifier is registered: returns the matching entry.
- Identifier is unknown: returns an empty list. The address cannot be used as a Peppol routing target for regulated flows.
Using lookups in workflows
The typical pattern is to call the lookup endpoint from your own systems before triggering an invoice workflow, and then choose which workflow to fire:- Both parties registered โ run the PA send invoice workflow, which transmits over Peppol and forwards the F1 copy to the PPF.
- One or both parties unregistered โ run the e-reporting recording workflow so the transaction is reported to the PPF on the next periodic submission.
๐ซ๐ท Invopop resources for France
๐ซ๐ท Invopop resources for France
| Compliance | Compliance timeline |
| Apps | |
| Guides | ChorusPro Guide PA Guide โ Registration ยท Invoicing ยท Status ยท Reporting |
| FAQ | France FAQ |
| GOBL | |
| GitHub | gobl.xinvoice |
France FAQ
Find answers to frequently asked questions about invoicing in France โ
Participate in our community
Ask and answer questions about invoicing in France โ