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

# PA (Plateforme Agréée) guide

> France's PA system — concepts, readiness, and links to the four implementation guides.

Invopop is an [officially approved Plateforme Agréée](https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees) (PA) under the DGFiP mandate. This page is the entry point to the four France PA implementation guides — [registration](/guides/fr-pa-registration), [invoicing](/guides/fr-pa-invoicing), [status](/guides/fr-pa-status), and [reporting](/guides/fr-pa-reporting).

## Prerequisites

* An Invopop workspace with the **Peppol** and **France** apps enabled.
* French company details, including SIREN/SIRET.
* A clear view of your invoicing flows (B2B, B2C, domestic, cross-border) — this drives which sub-guides apply.

<Info>
  The France PA implementation is being actively developed. Action names, GOBL add-ons, and workflows can change, especially those marked as `Beta` or `In development`
</Info>

## Availability

| Capability                         | Status                                       | Notes                                                | Guide                                            |
| ---------------------------------- | -------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------ |
| Annuaire registration              | <Badge color="green">Available</Badge>       | Self-serve KYC in development                        | [Registration guide](/guides/fr-pa-registration) |
| Send invoices (UBL, CII, Factur-X) | <Badge color="green">Available</Badge>       | API may change before Sept 2026                      | [Invoicing guide](/guides/fr-pa-invoicing)       |
| Receive invoices                   | <Badge color="green">Available</Badge>       | API may change before Sept 2026                      | [Invoicing guide](/guides/fr-pa-invoicing)       |
| Lifecycle status                   | <Badge color="yellow">In development</Badge> | Moving to a first-class GOBL document                | [Status guide](/guides/fr-pa-status)             |
| E-reporting (Flow 10)              | <Badge color="green">Available</Badge>       | `fr-ctc-flow10-v1` addon may change before Sept 2026 | [Reporting guide](/guides/fr-pa-reporting)       |

## Key concepts

|                        |                                                                                                                                                                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Annuaire**           | The French e-invoicing directory where parties must be registered to participate in regulated e-invoicing flows. Not to be confused with the Peppol Directory.                                                                              |
| **PPF**                | Portail Public de Facturation — the French government system that receives mandatory invoice data and lifecycle updates. Invopop handles all communications with the PPF automatically.                                                     |
| **Regulated Flow**     | An invoice exchange where both the sender and receiver are registered in the Directory. These follow the complete French e-invoicing process including Peppol transmission and PPF reporting.                                               |
| **Non-Regulated Flow** | An invoice exchange where only one party is registered in the Directory. Invoices are stored for e-reporting to the PPF but may not be transmitted via Peppol.                                                                              |
| **E-Reporting**        | Periodic reporting to the PPF covering non-regulated flows and B2C transactions.                                                                                                                                                            |
| **CDAR**               | Cross Domain Acknowledgement and Response. The format used for lifecycle status updates ("cycle de vie") in France, communicated between parties and to the PPF.                                                                            |
| **Fifth Corner**       | The tax authority in the Peppol exchange model. Corners 1–4 are sender, sender's PA, receiver's PA, and receiver; the fifth corner is the tax authority that receives a copy of the invoice for regulated flows. In France this is the PPF. |
| **F1 Invoice**         | Simplified UBL format used to forward the invoice to the fifth corner (the tax authority, i.e. the PPF) for regulated flows. Part of e-invoicing, not e-reporting. Generated automatically by Invopop.                                      |

## E-Invoicing

### Annuaire registration

The *annuaire* is France's national directory of e-invoicing endpoints. It records every registered company and their PA (Invopop, in this case), so that the tax administration knows how to route regulated e-invoicing flows.

Registering in the annuaire enables parties (companies) to send and receive invoices in France. Behind the scenes, it extends the standard [Peppol registration workflow](/guides/peppol) with one additional French-specific step to register the party in the Annuaire.

You can query the Annuaire directly to check whether a party is registered before sending an invoice — useful for branching regulated vs. non-regulated flows. See the API reference for [lookup by SIREN](/api-ref/apps/gov-fr/lookup-siren) and [lookup by electronic address](/api-ref/apps/gov-fr/lookup-identifier).

<Note>
  Peppol registration in France always enables **both sending and receiving**. Once a party is listed in the Annuaire, it must be reachable to receive invoices. There is no send-only option.
</Note>

#### How it works

1. **Register party for Peppol approval** — submits the party details for Invopop review.
2. **Set state to Processing** — marks the party as awaiting approval.
3. **Wait for Peppol approval** — pauses until the party passes the approval check.
4. **Register party in Directory** — registers the party in the French Directory (`gov-fr.party.register`). This is the France-specific step added on top of the base Peppol flow.
5. **Register party on Peppol** — registers the party on the Peppol network with the `france` document group, enabled for sending and receiving via SMP/SML/Peppol.
6. **Set state to Registered** — marks the party as fully onboarded.

<Info>
  If you want to understand the base Peppol onboarding this workflow is built on, see the [Peppol registration guide](/guides/peppol). The France PA workflow is the same flow plus the **Register party in Directory** step before the Peppol registration step.
</Info>

<Tabs>
  <Tab title="Template">
    <Card iconType="duotone" title="France PA register party workflow" icon="code-branch" href="https://console.invopop.com/redirect/workflows/new?template=fr-fr-pa-register" cta="Add to my workspace">
      Registers a party in the Annuaire and on the Peppol network for sending and receiving invoices.
    </Card>
  </Tab>

  <Tab title="Code">
    Copy and paste into a new [Empty Party workflow](https://console.invopop.com/redirect/workflows/new?template=empty-party) code view.

    <RegisterWorkflow />
  </Tab>
</Tabs>

### Invoice formats

The French PA specification lists five accepted invoice formats. UBL and CII each have a base version and an extended version (adding extra fields for French-specific requirements), and Factur-X rounds out the list. In practice, the three base formats cover essentially all real-world exchanges, and Invopop supports sending *and* receiving all three:

| Format       | Description                                                                                                                                                                                                                                                                                                   |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **UBL**      | XML invoice based on the Peppol France CIUS. The default format used across the Peppol network and the one we recommend for all outgoing flows. An extended UBL variant also exists but is rarely needed.                                                                                                     |
| **CII**      | UN/CEFACT Cross Industry Invoice — another XML format, semantically equivalent to UBL and required by some counterparties (particularly in cross-border and automotive/industrial contexts). An extended CII variant is also accepted.                                                                        |
| **Factur-X** | Hybrid PDF/A-3 with an embedded CII XML payload. Human-readable on top, machine-readable underneath. Common with buyers who want a visual invoice alongside the structured data. Factur-X is a joint Franco-German standard (identical to [ZUGFeRD](/guides/de-ubl)) aligned with the European Norm EN 16931. |

<Info>
  **We recommend sending as UBL.** It's the native Peppol France CIUS format, has the widest receiver support, and is the cleanest to validate. Choose CII or Factur-X only when a specific counterparty requires it.
</Info>

The underlying invoice is always the **same GOBL document with the `fr-ctc-flow2-v1` add-on**. The format is only an addition at the end of the workflow — switching format is a configuration change, not a data-model change. That means:

* You author and validate one GOBL invoice.
* The workflow's generation step produces the chosen format (UBL, CII, or Factur-X).
* Incoming invoices in any of the three formats are converted back into the same GOBL representation for you to consume.

### Sending

#### Invoices

<Warning>
  The workflow steps below are subject to change. We are working on new methods of handling events for a more global use case. This example is functional today, but expect refinements before the September 2026 mandate.
</Warning>

The four sub-guides correspond to the workflows you will wire together. Most of these depend on Invopop's [Peppol](/apps/peppol), [UBL](/apps/oasis-ubl), and [CII](/apps/uncefact-cii) apps for transport and format conversion.

<Columns cols="2">
  <Card title="Registration" icon="address-book" href="/guides/fr-pa-registration" horizontal>
    Register and unregister a party in the Annuaire and on Peppol.
  </Card>

  <Card title="Invoicing" icon="file-invoice" href="/guides/fr-pa-invoicing" horizontal>
    Send and receive B2B invoices via Peppol with PPF reporting.
  </Card>

  <Card title="Status" icon="signal-bars" href="/guides/fr-pa-status" horizontal>
    Send, receive, and derive lifecycle status updates (CDAR).
  </Card>

  <Card title="Reporting" icon="chart-line" href="/guides/fr-pa-reporting" horizontal>
    Periodic e-reporting of B2C and non-regulated B2B transactions.
  </Card>
</Columns>

## FAQ

Invoicing questions

<AccordionGroup>
  <Accordion title="How do I configure my workspace for French invoicing?">
    Two channels depending on the recipient: B2G uses Chorus Pro (CII format); B2B from September 2026 uses the Plateforme Agréée model (UBL, CII, or Factur-X via Peppol). Invopop is an approved PA — install the France PA app for B2B and the Chorus Pro app for B2G.
  </Accordion>

  <Accordion title="How can I view an XML attached to a PDF?">
    In Factur-X PDFs, the XML file is embedded within the PDF itself. To extract and view it, use the `Attachments` section in Adobe Acrobat Reader, or a tool like the [SysTools PDF Extractor](https://www.systoolsgroup.com/pdf/extractor/).
  </Accordion>

  <Accordion title="Is Invopop ready for the September 2026 mandate?">
    Invopop is an [officially approved Plateforme Agréée](https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees) under the DGFiP mandate. Registration, invoicing, and lifecycle status are available today; e-reporting (Flow 10) is in active development. See the [PA hub readiness matrix](/guides/fr-pa) for the current state.
  </Accordion>

  <Accordion title="What GOBL addons are required for France PA?">
    The base [`fr-fec-v3`](https://docs.gobl.org/regimes/fr) regime plus the EN 16931 profile. For Peppol delivery, `peppol-bis-v3`. The forthcoming `fr-ctc-flow10-v1` addon covers e-reporting payloads — separate from the e-invoicing flow.
  </Accordion>

  <Accordion title="Is a self-billed invoice a different document type in France?">
    No. Most Peppol countries treat self-billing as a document type of its own, but France models it as a **standard invoice** with the `untdid-document-type` extension set to `389`. In GOBL you never set the code yourself: add the `self-billed` tag and the [`fr-ctc-flow2-v1`](https://docs.gobl.org/addons/fr-ctc-flow2-v1#standard-self-billed) add-on applies it automatically. See [Self-billing](/guides/fr-pa-invoicing#self-billing) for the full flow.
  </Accordion>

  <Accordion title="What should we do if the customer doesn't belong to the Peppol network?">
    In countries where Peppol is the standard but not mandatory, you may still need to issue an e-invoice when the recipient isn't on the network. Both parties can agree on an alternative transfer method, but the invoice must still be EN16931 compliant.

    Recommended approach:

    * Set up a separate workflow that generates the XML without the send-Peppol-document step
    * Or reuse your existing workflow without the customer Peppol ID — the send step is automatically skipped
    * Fetch the generated XML and deliver it through the agreed channel, typically email
  </Accordion>

  <Accordion title="How do I handle B2C invoices in Peppol?">
    B2C invoices typically lack the structured customer information required for Peppol delivery, and most consumers don't have inboxes. Use a conditional workflow:

    1. Add an **If/Else** step that checks for a customer inbox using `count(customer.inboxes, true) > 0`.
    2. On the `false` branch, generate a PDF and email it to the customer, then stop the flow.

    This routes B2B invoices through Peppol while keeping a smooth path for consumers.
  </Accordion>

  <Accordion title="How do I handle 'Receiver Not Found' errors?">
    If a job fails with `KO` and `receiver not found in the peppol network`, treat it like an invalid email address — the recipient simply isn't reachable on Peppol. Add the **Lookup Participant ID** step (ideally in a separate validation workflow run against customer data) so you catch missing IDs before generating the invoice.
  </Accordion>

  <Accordion title="Should I set the `$regime` field when using Peppol?">
    No. The regime is automatically derived from the supplier's settings, which is the recommended approach for Peppol — leave it unset on the document.
  </Accordion>

  <Accordion title="Where do I find Peppol GOBL documentation?">
    See the [`oasis-ubl-v2`](https://docs.gobl.org/addons/oasis-ubl-v2) addon and the [Peppol app reference](/apps/peppol) for required fields, supported document types, and Participant ID schemes.
  </Accordion>
</AccordionGroup>

Registering supplier questions

<AccordionGroup>
  <Accordion title="How do I onboard a new supplier in France?">
    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.
  </Accordion>

  <Accordion title="How are supplier credentials stored in Invopop for France?">
    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.
  </Accordion>

  <Accordion title="How do I register a supplier with France PA?">
    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.
  </Accordion>

  <Accordion title="What certificates does France PA require to authenticate a supplier?">
    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.
  </Accordion>

  <Accordion title="How do I register for a Peppol inbox in 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.
  </Accordion>

  <Accordion title="I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?">
    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`).
  </Accordion>

  <Accordion title="How do I assign multiple inboxes to a single supplier?">
    Register them through different silo entries, even though they represent the same legal party. The supplier must upload proof of ownership for each inbox.
  </Accordion>

  <Accordion title="What are Participant IDs?">
    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.
  </Accordion>

  <Accordion title="What visibility level should I set on my Peppol Party?">
    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.
  </Accordion>
</AccordionGroup>

Receiving questions

<AccordionGroup>
  <Accordion title="How do I import received invoices in France?">
    Register the recipient with Invopop as their Plateforme Agréée. Inbound documents (UBL, CII, Factur-X) are converted to GOBL and stored in the Expenses folder. Chorus Pro inbound flow is separate and routes via the Chorus Pro app.
  </Accordion>

  <Accordion title="How does Invopop convert received French invoices into GOBL?">
    UBL via [`gobl.peppol`](https://github.com/invopop/gobl.peppol); CII and Factur-X via [`gobl.cii`](https://github.com/invopop/gobl.cii). The original structured XML (or PDF/A-3 with embedded XML) is preserved as a silo entry attachment.
  </Accordion>

  <Accordion title="How do I import received invoices via France PA?">
    Register the recipient via Invopop as their PA. Inbound UBL/CII/Factur-X documents are routed to the configured Import workflow and become GOBL silo entries. Lifecycle status updates (CDAR) feed back to the issuer through the same channel.
  </Accordion>

  <Accordion title="What format do received France PA invoices arrive in?">
    UBL, CII, or Factur-X (PDF with embedded CII XML), all conforming to EN 16931 and the French CTC profile. Invopop preserves the original and exposes the GOBL conversion.
  </Accordion>

  <Accordion title="Can I receive invoices at more than one platform (PDP) for the same company?">
    Yes. A single company can be reachable at several destinations by registering different routing identifiers (electronic addresses) in the Annuaire — one per PDP or inbox. Invoices addressed to a given identifier are delivered to the platform registered against it, so you can route some invoices to Invopop and others to a different PDP (for example a travel-and-expense tool) for the same SIREN.

    The Annuaire supports several address formats that map to increasingly granular destinations within the same company:

    * `SIREN` — the company as a whole.
    * `SIREN_SIRET` — a specific establishment.
    * `SIREN_SIRET_ROUTINGCODE` — a site, department, or workflow within an establishment.
    * `SIREN_SUFFIX` — a custom routing suffix.

    Give each PDP or inbox a distinct identifier and share the matching address with each issuer, so their invoices reach the intended destination. You can [look up an electronic address](/guides/fr-lookup) in the Annuaire to confirm where it currently routes.
  </Accordion>

  <Accordion title="How do I import received invoices via Peppol?">
    Register the recipient as a Peppol participant with Invopop as their Access Point. Incoming documents are routed through your configured Import workflow, which converts the UBL or CII payload to GOBL and stores the entry in the Expenses folder.
  </Accordion>

  <Accordion title="Can I remove UBL or CII from the 'Peppol receive invoice' workflow if I only use one format?">
    Yes. Either format can be removed based on your needs. The default template includes both for comprehensiveness, but if you're certain you'll only receive invoices in one syntax, dropping the other simplifies the workflow and reduces the apps you need to activate.
  </Accordion>

  <Accordion title="How are incoming Peppol documents converted into GOBL?">
    The Import workflow's UBL and CII parser steps map the inbound XML into a GOBL invoice. From there you can route it to webhooks, Google Drive, accounting integrations, or any other destination — the GOBL representation is the single source of truth for downstream processing.
  </Accordion>
</AccordionGroup>

Reporting questions

<AccordionGroup>
  <Accordion title="How do I schedule periodic reports for France?">
    For TVA, file via DGFiP's portal — Invopop does not generate CA3 yet. For e-reporting (Flow 10): submit via your Plateforme Agréée — Invopop's e-reporting workflow batches transactions per period and submits to the PPF.
  </Accordion>

  <Accordion title="What format does France expect for periodic reports?">
    TVA: DGFiP's EDI-TVA XML schema. E-reporting Flow 10: a structured JSON/XML payload defined by the PPF specification (currently in beta). Invopop emits Flow 10 via the upcoming `fr-ctc-flow10-v1` GOBL addon.
  </Accordion>

  <Accordion title="How often must I submit France PA reports?">
    Flow 10 e-reporting: 3× per month (every 10 days) for B2C and cross-border transactions. Lifecycle status (CDAR): per event, near real-time. Specific deadlines depend on the supplier's tax filing cadence (monthly/quarterly).
  </Accordion>

  <Accordion title="What format does France PA expect for periodic reports?">
    Flow 10 uses a JSON envelope wrapping aggregated transaction data, defined in the PPF technical specification. Lifecycle CDAR payloads are XML messages exchanged over Peppol with structured status codes.
  </Accordion>
</AccordionGroup>

More available in our [France FAQ](/faq/france) section

***

<AccordionGroup>
  <Accordion title="🇫🇷 Invopop resources for France">
    |            |                                                                                                                                                                                                                                                                                                                                                                                       |
    | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Compliance | <Icon icon="https://assets.invopop.com/flags/fr.svg" /> [Invoicing compliance in France](/compliance/france)<br /> <Icon icon="timeline" /> [Compliance timeline](/timelines/france)                                                                                                                                                                                                  |
    | Apps       | <Icon icon="https://assets.invopop.com/flags/fr.svg" /> [France](/apps/france)<br /><Icon icon="https://assets.invopop.com/apps/peppol/icon.svg" /> [Peppol](/apps/peppol)<br /><Icon icon="https://assets.invopop.com/apps/chroruspro/icon.svg" /> [ChorusPro France](/apps/choruspro-france)                                                                                        |
    | Guides     | <Icon icon="book" /> [ChorusPro Guide](/guides/fr-chorus-pro)<br /><Icon icon="book" /> [PA Guide](/guides/fr-pa) — [Registration](/guides/fr-pa-registration) · [Invoicing](/guides/fr-pa-invoicing) · [Status](/guides/fr-pa-status) · [Reporting](/guides/fr-pa-reporting)                                                                                                         |
    | FAQ        | <Icon icon="square-question" /> [France FAQ](/faq/france)                                                                                                                                                                                                                                                                                                                             |
    | GOBL       | <Icon icon="https://assets.invopop.com/icons/gobl.svg" />  [France Tax Regime](https://docs.gobl.org/regimes/fr)<br /> <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [Chorus Pro Addon](https://docs.gobl.org/addons/fr-choruspro-v1)<br /> <Icon icon="https://assets.invopop.com/icons/gobl.svg" /> [French Factur-X Addon](https://docs.gobl.org/addons/fr-facturx-v1) |
    | GitHub     | <Icon icon="github" /> [gobl.xinvoice](https://github.com/invopop/gobl.xinvoice)                                                                                                                                                                                                                                                                                                      |
  </Accordion>
</AccordionGroup>

<Card title="Participate in our community" icon="forumbee" href="https://community.invopop.com" arrow="true" horizontal>
  Ask and answer questions about invoicing in France →
</Card>
