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

# France

> Manage all French e-invoicing flows — Plateforme Agréée (B2B, B2C)

<Tabs>
  <Tab title="Description">
    <Columns cols="2">
      <div>
        <br />

        <Card horizontal title="PA (Plateforme Agréée) Guide" icon="https://assets.invopop.com/flags/fr.svg" href="/guides/fr-pa">
          View guide ›
        </Card>
      </div>

      |           |                                |
      | --------- | ------------------------------ |
      | Developer | [Invopop](https://invopop.com) |
      | Category  | Government                     |
      | Scope     | B2B, B2G                       |
      | Country   | [France](/compliance/france)   |
    </Columns>

    Invopop's **France app** centralises every French e-invoicing flow — domestic B2B via the **Plateforme Agréée (PA)** model. Invopop is an [officially approved Plateforme Agréée](https://www.impots.gouv.fr/je-consulte-la-liste-des-plateformes-agreees) under the DGFiP mandate.

    **Key features**

    * Domestic B2B invoicing and B2C/cross-border via e-reporting.
    * French format support: UBL (Peppol France CIUS), CII, Factur-X.
    * Annuaire (French Directory) supplier registration.

    Check out the guides below to get started:

    * [PA overview](/guides/fr-pa) · [Registration](/guides/fr-pa-registration) · [Invoicing](/guides/fr-pa-invoicing) · [Status](/guides/fr-pa-status) · [Reporting](/guides/fr-pa-reporting)

    ## 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="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 answers in our [France FAQ](/faq/france) section
  </Tab>

  <Tab title="Limitations">
    ### Plateforme Agréée scope

    <Note>The PA implementation is being actively developed. Action names, GOBL add-ons, and workflows can change before the 1 September 2026 mandate, especially items marked `Beta` or `In development`.</Note>

    | Capability                         | Status                                       | Notes                                      |
    | ---------------------------------- | -------------------------------------------- | ------------------------------------------ |
    | Annuaire registration              | <Badge color="green">Available</Badge>       | Self-serve KYC in development              |
    | Send invoices (UBL, CII, Factur-X) | <Badge color="green">Available</Badge>       | API may change before Sept 2026            |
    | Receive invoices                   | <Badge color="green">Available</Badge>       | API may change before Sept 2026            |
    | Lifecycle status (CDAR)            | <Badge color="blue">Beta</Badge>             | Moving to a first-class GOBL document      |
    | E-reporting (Flow 10)              | <Badge color="yellow">In development</Badge> | `fr-ctc-flow10-v1` add-on not yet released |
  </Tab>

  <Tab title="Actions">
    The following workflow actions will be available once you install and enable this app.

    Plateforme Agréée — registration

    <Card title="Register in Annuaire" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Register a party in the French Annuaire so they can issue and receive regulated e-invoices.
    </Card>

    <Card title="Register party on Peppol" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Register the party on the Peppol network for transport.
    </Card>

    <Card title="Register reporter" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Enable the party for periodic e-reporting to the PPF.
    </Card>

    <Card title="Disable in Annuaire" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Remove a party's Annuaire registration.
    </Card>

    <Card title="Disable reporter" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Disable a party's e-reporting registration.
    </Card>

    Plateforme Agréée — invoicing

    <Card title="Record invoice" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 1</div>
      Record the invoice in the directory ahead of transmission and PPF reporting.
    </Card>

    <Card title="Generate UBL document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 1</div>
      Generate a Peppol France CIUS UBL invoice or credit note from a GOBL document.
    </Card>

    <Card title="Generate CII document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Generate a UN/CEFACT CII XML document from a GOBL invoice.
    </Card>

    <Card title="Send Peppol document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      <div class="pop-count"><Icon icon="https://assets.invopop.com/icons/pops.svg" /> 1</div>
      Send the generated document over the Peppol network to the buyer's PA.
    </Card>

    <Card title="Forward invoice to PPF" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Forward the simplified F1 invoice to the PPF as the fifth corner.
    </Card>

    <Card title="Import Peppol document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Import an inbound Peppol document into the workflow.
    </Card>

    <Card title="Import UBL document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Parse an inbound UBL document into a GOBL invoice.
    </Card>

    <Card title="Import CII document" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Parse an inbound UN/CEFACT CII document into a GOBL invoice.
    </Card>

    <Card title="Import Factur-X PDF" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Extract the embedded CII XML from a Factur-X PDF/A-3 and parse it into GOBL.
    </Card>

    Plateforme Agréée — status

    <Card title="Generate CDAR" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Build a Cross Domain Acknowledgement and Response document for lifecycle status updates.
    </Card>

    <Card title="Record status" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Persist a lifecycle status update in the directory.
    </Card>

    <Card title="Forward status to PPF" icon="https://assets.invopop.com/apps/peppol/icon.svg" horizontal>
      Forward a lifecycle status to the PPF for regulated flows.
    </Card>
  </Tab>

  <Tab title="Workflows">
    Plateforme Agréée — invoicing

    <AccordionGroup>
      <Accordion title="PA send invoice">
        ```json PPF send invoice workflow theme={"system"}
        {
            "name": "PPF send invoice",
            "description": "Send an invoice via Peppol and record it with PPF",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "72bc5070-1a17-11f1-a82f-e740c226ef51",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `processing`{.state .processing}",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "f5aaed10-13c9-11f1-98a6-7dfa4cb26122",
                    "name": "Sign envelope",
                    "provider": "silo.close"
                },
                {
                    "id": "f1e30fa0-13c9-11f1-98a6-7dfa4cb26122",
                    "name": "Record document for e-invoicing",
                    "provider": "gov-fr.directory.record"
                },
                {
                    "id": "1b5850d0-13bf-11f1-bc3b-b99ec414b63d",
                    "name": "Generate UBL document",
                    "provider": "ubl.generate",
                    "summary": "Peppol France CIUS v1",
                    "config": {
                        "attach_invoice_pdf": false,
                        "doc_type": "peppol-fr-cius",
                        "private": false,
                        "validate_ubl": false
                    }
                },
                {
                    "id": "ab598990-16f0-11f1-86ba-d13d91b4f398",
                    "name": "Send Peppol document",
                    "provider": "peppol.send"
                },
                {
                    "id": "79bd38d0-1a17-11f1-a82f-e740c226ef51",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `sent`{.state .sent}",
                    "config": {
                        "state": "sent"
                    }
                },
                {
                    "id": "e1f6ce90-16eb-11f1-86ba-d13d91b4f398",
                    "name": "Forward document to PPF",
                    "provider": "gov-fr.directory.forward"
                },
                {
                    "id": "80a9d5e0-1a17-11f1-a82f-e740c226ef51",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `completed`{.state .completed}",
                    "config": {
                        "state": "completed"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "892a8070-1a17-11f1-a82f-e740c226ef51",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="PA receive invoice">
        ```json PPF receive invoice workflow theme={"system"}
        {
            "name": "PPF receive invoice",
            "description": "Receive an invoice via Peppol and register it with PPF",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "db61c3c0-0fb5-11f0-b078-9fc456829eca",
                    "name": "Import Peppol document",
                    "provider": "peppol.import",
                    "next": [
                        {
                            "status": "NA",
                            "code": "UBL",
                            "steps": [
                                {
                                    "id": "62e94570-8fdb-11f0-a8fb-61ec9e5a76ba",
                                    "name": "Import UBL document",
                                    "provider": "ubl.import"
                                }
                            ]
                        },
                        {
                            "status": "NA",
                            "code": "CII",
                            "steps": [
                                {
                                    "id": "6480ae50-8fdb-11f0-a8fb-61ec9e5a76ba",
                                    "name": "Import CII document",
                                    "provider": "cii.import"
                                }
                            ]
                        },
                        {
                            "status": "NA",
                            "code": "PDF",
                            "steps": [
                                {
                                    "id": "26ba4f80-1e2a-11f1-8bfb-2beaa1df60f0",
                                    "name": "Import Factur-X PDF",
                                    "provider": "cii.pdf.import"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "fdfc81a0-6e23-11f0-913b-5732f966b346",
                    "name": "Set folder",
                    "provider": "silo.folder",
                    "summary": "Set folder to `Invoices · Expenses`{.font-medium}",
                    "config": {
                        "folder": "expenses"
                    }
                },
                {
                    "id": "2f4ad890-1e2a-11f1-8bfb-2beaa1df60f0",
                    "name": "Record document for e-invoicing",
                    "provider": "gov-fr.directory.record"
                },
                {
                    "id": "dd14a3e0-0fb5-11f0-b078-9fc456829eca",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `registered`{.state .registered}",
                    "config": {
                        "state": "registered"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "e109d2e0-0fb5-11f0-b078-9fc456829eca",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="PA send status">
        ```json PPF send status workflow theme={"system"}
        {
            "name": "France PA send status",
            "description": "Generate and forward a lifecycle status update (CDAR) via Peppol and PPF",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "90262b50-6fcf-11f1-b09d-79f60b032746",
                    "name": "Set state",
                    "provider": "silo.state",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "d0a4ca10-6fcf-11f1-b09d-79f60b032746",
                    "name": "Sign envelope",
                    "provider": "silo.close"
                },
                {
                    "id": "d1e427e0-6fcf-11f1-b09d-79f60b032746",
                    "name": "Generate CII document",
                    "provider": "cii.generate",
                    "summary": "France CTC Flow 6 CDAR (lifecycle status/payment)",
                    "config": {
                        "attach_invoice_pdf": false,
                        "doc_type": "fr-ctc-cdar-flow6",
                        "validate_cii": false
                    }
                },
                {
                    "id": "d7e2bb70-6fcf-11f1-b09d-79f60b032746",
                    "name": "Record document for e-invoicing",
                    "provider": "gov-fr.directory.record"
                },
                {
                    "id": "df212200-6fcf-11f1-b09d-79f60b032746",
                    "name": "Send Peppol document",
                    "provider": "peppol.send"
                },
                {
                    "id": "ee8282c0-6fcf-11f1-b09d-79f60b032746",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `sent`{.state .sent}",
                    "config": {
                        "state": "sent"
                    }
                },
                {
                    "id": "e5763a00-6fcf-11f1-b09d-79f60b032746",
                    "name": "Forward document to PPF",
                    "provider": "gov-fr.directory.forward"
                },
                {
                    "id": "e85b3180-6fcf-11f1-b09d-79f60b032746",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `completed`{.state .completed}",
                    "config": {
                        "state": "completed"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "f14dfed0-6fcf-11f1-b09d-79f60b032746",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="Factur-X invoice">
        ```json Workflow for generating a PDF with a Factur-X XML attachment  theme={"system"}
        {
            "name": "Factur-X issue invoice",
            "description": "Generate a Factur-X invoice (PDF with embedded CII)",
            "schema": "bill/invoice",
            "steps": [
                {
                    "id": "bd7eb640-abd0-11ef-a013-91c68ca9f44b",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `processing`{.state .processing}",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "58fb4ce0-6626-11f0-b9ab-1bbe1fa4398c",
                    "name": "Sign envelope",
                    "provider": "silo.close"
                },
                {
                    "id": "3548d720-6623-11f0-b3db-e7255a5da07c",
                    "name": "Generate CII document",
                    "provider": "cii.generate",
                    "summary": "Factur-X v1",
                    "config": {
                        "doc_type": "facturx-v1"
                    }
                },
                {
                    "id": "56bda1e0-8ef7-11f0-aa0e-dd7c69b95f3c",
                    "name": "Generate PDF",
                    "provider": "pdf",
                    "summary": "French · A4",
                    "config": {
                        "logo_height": 40,
                        "locale": "fr",
                        "date_format": "%Y-%m-%d",
                        "layout": "A4",
                        "scripting": false
                    }
                },
                {
                    "id": "c6192a60-abd0-11ef-a013-91c68ca9f44b",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `sent`{.state .sent}",
                    "config": {
                        "state": "sent"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "c94982c0-abd0-11ef-a013-91c68ca9f44b",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    Plateforme Agréée — party

    <AccordionGroup>
      <Accordion title="PA register party">
        ```json PPF register supplier workflow theme={"system"}
        {
            "name": "PPF register supplier",
            "description": "Register a supplier with the French Directory and Peppol",
            "schema": "org/party",
            "steps": [
                {
                    "id": "0adf46e0-8fdb-11f0-a8fb-61ec9e5a76ba",
                    "name": "Sign PPF agreement",
                    "provider": "gov-fr.agreement.sign"
                },
                {
                    "id": "0e44b900-8fdb-11f0-a8fb-61ec9e5a76ba",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `processing`{.state .processing}",
                    "config": {
                        "state": "processing"
                    }
                },
                {
                    "id": "12aaf950-8fdb-11f0-a8fb-61ec9e5a76ba",
                    "name": "Wait for PPF agreement upload",
                    "provider": "gov-fr.agreement.wait.approval"
                },
                {
                    "id": "b194f710-5451-11f1-baf5-4f2c2882107f",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `completed`{.state .completed}",
                    "config": {
                        "state": "completed"
                    }
                },
                {
                    "id": "d10a4680-1e29-11f1-8bfb-2beaa1df60f0",
                    "name": "Register party in Directory",
                    "provider": "gov-fr.directory.register"
                },
                {
                    "id": "7a5a4db0-0fae-11f0-b37b-0be1c251a274",
                    "name": "Register party on Peppol",
                    "provider": "peppol.register",
                    "summary": "Enabled · groups: france",
                    "config": {
                        "directory": true,
                        "disable": false,
                        "doc_groups": [
                            "france"
                        ],
                        "visibility": "smp+sml+peppol"
                    }
                },
                {
                    "id": "7c2fa9f0-0fae-11f0-b37b-0be1c251a274",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `registered`{.state .registered}",
                    "config": {
                        "state": "registered"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "a34e83f0-25dc-11f0-b641-350e77c28eed",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="PA deregister party">
        ```json PPF unregister supplier workflow theme={"system"}
        {
            "name": "PPF unregister supplier",
            "description": "Unregister a supplier from Peppol and the French Directory",
            "schema": "org/party",
            "steps": [
                {
                    "id": "453beac0-70a7-11f1-aca9-697108ec55ef",
                    "name": "Unregister supplier from Peppol",
                    "provider": "peppol.unregister"
                },
                {
                    "id": "13c84e60-5452-11f1-baf5-4f2c2882107f",
                    "name": "Disable party in Directory",
                    "provider": "gov-fr.directory.disable"
                },
                {
                    "id": "1b8a6b80-5452-11f1-baf5-4f2c2882107f",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `void`{.state .void}",
                    "config": {
                        "state": "void"
                    }
                }
            ],
            "rescue": [
                {
                    "id": "23e0d3a0-5452-11f1-baf5-4f2c2882107f",
                    "name": "Set state",
                    "provider": "silo.state",
                    "summary": "Set state to `error`{.state .error}",
                    "config": {
                        "state": "error"
                    }
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Documents">
    <AccordionGroup>
      <Accordion title="Supplier">
        ```json France supplier example theme={"system"}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Marseille Commerce S.A.S.",
            "tax_id": {
                "country": "FR",
                "code": "44257623119"
            },
            "addresses": [
                {
                    "num": "25",
                    "street": "Avenue des Champs-Élysées",
                    "locality": "Paris",
                    "region": "IDF",
                    "code": "75008"
                }
            ],
            "emails": [
                {
                    "addr": "facturation@marseillecommerce.fr"
                }
            ]
        }
        ```
      </Accordion>
    </AccordionGroup>

    Plateforme Agréée (Flow 2) example invoices

    <AccordionGroup>
      <Accordion title="PA B2B invoice (domestic)">
        A regulated B2B invoice between two French parties, both registered in the Annuaire. The [`fr-ctc-flow2-v1`](https://docs.gobl.org/addons/fr-ctc-flow2-v1) add-on drives validation for the PA e-invoicing flow.

        Notice:

        * both parties carry a `SIREN` identity with `iso-scheme-id` `0002` and a `peppol` inbox under scheme `0225` so the workflow can route via Peppol,
        * `fr-ctc-billing-mode` `B7` marks this as a standard B2B invoice; `untdid-document-type` `380` confirms the commercial invoice type,
        * the `payment`, `payment-method`, and `payment-term` notes carry the French legal-mention text (penalty clauses, late-payment terms, early-payment discount), each tagged with the appropriate UNTDID 4451 subject code,
        * `ordering.code` records the customer's purchase order reference.

        <CodeGroup>
          ```json PA B2B Invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "type": "standard",
              "series": "FAC",
              "code": "2024-00001",
              "issue_date": "2024-06-13",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "B7",
                      "untdid-document-type": "380"
                  }
              },
              "supplier": {
                  "name": "Fournisseur Example SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "732829320"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "732829320",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "732829320"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "123",
                          "street": "Rue de la Paix",
                          "locality": "Paris",
                          "code": "75001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@fournisseur.fr"
                      }
                  ],
                  "telephones": [
                      {
                          "num": "+33100200300"
                      }
                  ]
              },
              "customer": {
                  "name": "Client Example SAS",
                  "tax_id": {
                      "country": "FR",
                      "code": "356000000"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "356000000",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "356000000"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "456",
                          "street": "Avenue des Champs-Elysees",
                          "locality": "Paris",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "comptabilite@client.fr"
                      }
                  ],
                  "telephones": [
                      {
                          "num": "+33100200400"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "10",
                      "item": {
                          "name": "Services de conseil",
                          "price": "100.00",
                          "unit": "h"
                      },
                      "discounts": [
                          {
                              "percent": "10%",
                              "reason": "Remise fidelite"
                          }
                      ],
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  }
              ],
              "ordering": {
                  "code": "PO-2024-001"
              },
              "notes": [
                  {
                      "key": "payment",
                      "text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
                      "ext": {
                          "untdid-text-subject": "PMT"
                      }
                  },
                  {
                      "key": "payment-method",
                      "text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
                      "ext": {
                          "untdid-text-subject": "PMD"
                      }
                  },
                  {
                      "key": "payment-term",
                      "text": "Aucun escompte n'est offert pour paiement anticipe.",
                      "ext": {
                          "untdid-text-subject": "AAB"
                      }
                  }
              ],
              "payment": {
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189",
                              "name": "Fournisseur Example SARL"
                          }
                      ]
                  },
                  "terms": {
                      "detail": "Paiement a 30 jours"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"type": "standard",
          	"series": "FAC",
          	"code": "2024-00001",
          	"issue_date": "2024-06-13",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "B7",
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Fournisseur Example SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "44732829320"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "732829320",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:732829320"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "732829320"
          			}
          		],
          		"addresses": [
          			{
          				"num": "123",
          				"street": "Rue de la Paix",
          				"locality": "Paris",
          				"code": "75001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@fournisseur.fr"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+33100200300"
          			}
          		]
          	},
          	"customer": {
          		"name": "Client Example SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "39356000000"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "356000000",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:356000000"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "356000000"
          			}
          		],
          		"addresses": [
          			{
          				"num": "456",
          				"street": "Avenue des Champs-Elysees",
          				"locality": "Paris",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "comptabilite@client.fr"
          			}
          		],
          		"telephones": [
          			{
          				"num": "+33100200400"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "10",
          			"item": {
          				"name": "Services de conseil",
          				"price": "100.00",
          				"unit": "h"
          			},
          			"sum": "1000.00",
          			"discounts": [
          				{
          					"reason": "Remise fidelite",
          					"percent": "10%",
          					"amount": "100.00"
          				}
          			],
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "900.00"
          		}
          	],
          	"ordering": {
          		"code": "PO-2024-001"
          	},
          	"payment": {
          		"terms": {
          			"notes": "Paiement a 30 jours"
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189",
          					"name": "Fournisseur Example SARL"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "900.00",
          		"total": "900.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "900.00",
          							"percent": "20%",
          							"amount": "180.00"
          						}
          					],
          					"amount": "180.00"
          				}
          			],
          			"sum": "180.00"
          		},
          		"tax": "180.00",
          		"total_with_tax": "1080.00",
          		"payable": "1080.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est offert pour paiement anticipe.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="PA B2B credit note">
        A credit note that partially cancels a previously issued PA invoice. The `preceding` array references the original invoice by series, code, and issue date.

        Notice:

        * `type` is `credit-note` and `untdid-document-type` is `381` (commercial credit note),
        * the `preceding` block makes the link to the original invoice explicit — required for PA matching at the PPF.

        <CodeGroup>
          ```json PA B2B Credit Note theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "type": "credit-note",
              "series": "AV",
              "code": "2024-001",
              "issue_date": "2024-06-20",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "B7",
                      "untdid-document-type": "381"
                  }
              },
              "preceding": [
                  {
                      "type": "standard",
                      "series": "FAC",
                      "code": "2024-001",
                      "issue_date": "2024-06-13"
                  }
              ],
              "supplier": {
                  "name": "Fournisseur Example SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "732829320"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "732829320",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "732829320"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "123",
                          "street": "Rue de la Paix",
                          "locality": "Paris",
                          "code": "75001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@fournisseur.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Client Example SAS",
                  "tax_id": {
                      "country": "FR",
                      "code": "356000000"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "356000000",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "356000000"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "456",
                          "street": "Avenue des Champs-Elysees",
                          "locality": "Paris",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "comptabilite@client.fr"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "2",
                      "item": {
                          "name": "Services de conseil - Annulation partielle",
                          "price": "100.00",
                          "unit": "h"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  }
              ],
              "notes": [
                  {
                      "key": "payment",
                      "text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
                      "ext": {
                          "untdid-text-subject": "PMT"
                      }
                  },
                  {
                      "key": "payment-method",
                      "text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
                      "ext": {
                          "untdid-text-subject": "PMD"
                      }
                  },
                  {
                      "key": "payment-term",
                      "text": "Aucun escompte n'est offert pour paiement anticipe.",
                      "ext": {
                          "untdid-text-subject": "AAB"
                      }
                  }
              ],
              "payment": {
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189",
                              "name": "Fournisseur Example SARL"
                          }
                      ]
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"type": "credit-note",
          	"series": "AV",
          	"code": "2024-001",
          	"issue_date": "2024-06-20",
          	"currency": "EUR",
          	"preceding": [
          		{
          			"type": "standard",
          			"issue_date": "2024-06-13",
          			"series": "FAC",
          			"code": "2024-001"
          		}
          	],
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "B7",
          			"untdid-document-type": "381"
          		}
          	},
          	"supplier": {
          		"name": "Fournisseur Example SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "44732829320"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "732829320",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:732829320"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "732829320"
          			}
          		],
          		"addresses": [
          			{
          				"num": "123",
          				"street": "Rue de la Paix",
          				"locality": "Paris",
          				"code": "75001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@fournisseur.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Client Example SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "39356000000"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "356000000",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:356000000"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "356000000"
          			}
          		],
          		"addresses": [
          			{
          				"num": "456",
          				"street": "Avenue des Champs-Elysees",
          				"locality": "Paris",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "comptabilite@client.fr"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "2",
          			"item": {
          				"name": "Services de conseil - Annulation partielle",
          				"price": "100.00",
          				"unit": "h"
          			},
          			"sum": "200.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "200.00"
          		}
          	],
          	"payment": {
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189",
          					"name": "Fournisseur Example SARL"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "200.00",
          		"total": "200.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "200.00",
          							"percent": "20%",
          							"amount": "40.00"
          						}
          					],
          					"amount": "40.00"
          				}
          			],
          			"sum": "40.00"
          		},
          		"tax": "40.00",
          		"total_with_tax": "240.00",
          		"payable": "240.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est offert pour paiement anticipe.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="PA B2B advance payment invoice">
        An advance (down-payment) invoice — used when a payment is collected before the final goods or services are delivered.

        Notice:

        * the `prepayment` tag sets `untdid-document-type` to `386` (advance payment invoice),
        * no billing mode is set explicitly: since the invoice covers both a service and a good, the add-on defaults `fr-ctc-billing-mode` to `M1` (advance on a mixed invoice),
        * the final invoice issued at delivery normally references this advance to net it off the total.

        <CodeGroup>
          ```json PA B2B Advance Payment Invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "$tags": [
                  "prepayment"
              ],
              "type": "standard",
              "series": "FAC",
              "code": "2024-AV-001",
              "issue_date": "2024-06-01",
              "currency": "EUR",
              "supplier": {
                  "name": "Fournisseur Example SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "732829320"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "732829320",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "732829320"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "123",
                          "street": "Rue de la Paix",
                          "locality": "Paris",
                          "code": "75001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@fournisseur.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Client Example SAS",
                  "tax_id": {
                      "country": "FR",
                      "code": "356000000"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "356000000",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "356000000"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "456",
                          "street": "Avenue des Champs-Elysees",
                          "locality": "Paris",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "comptabilite@client.fr"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "1",
                      "item": {
                          "name": "Acompte - Projet de developpement",
                          "price": "5000.00"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  },
                  {
                      "quantity": "1",
                      "item": {
                          "name": "Acompte - Serveur de developpement (materiel)",
                          "price": "2000.00"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  }
              ],
              "notes": [
                  {
                      "key": "payment",
                      "text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
                      "ext": {
                          "untdid-text-subject": "PMT"
                      }
                  },
                  {
                      "key": "payment-method",
                      "text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
                      "ext": {
                          "untdid-text-subject": "PMD"
                      }
                  },
                  {
                      "key": "payment-term",
                      "text": "Aucun escompte n'est offert pour paiement anticipe.",
                      "ext": {
                          "untdid-text-subject": "AAB"
                      }
                  }
              ],
              "payment": {
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189",
                              "name": "Fournisseur Example SARL"
                          }
                      ]
                  },
                  "terms": {
                      "detail": "Paiement immediat"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"$tags": [
          		"prepayment"
          	],
          	"type": "standard",
          	"series": "FAC",
          	"code": "2024-AV-001",
          	"issue_date": "2024-06-01",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "M1",
          			"untdid-document-type": "386"
          		}
          	},
          	"supplier": {
          		"name": "Fournisseur Example SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "44732829320"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "732829320",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:732829320"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "732829320"
          			}
          		],
          		"addresses": [
          			{
          				"num": "123",
          				"street": "Rue de la Paix",
          				"locality": "Paris",
          				"code": "75001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@fournisseur.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Client Example SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "39356000000"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "356000000",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:356000000"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "356000000"
          			}
          		],
          		"addresses": [
          			{
          				"num": "456",
          				"street": "Avenue des Champs-Elysees",
          				"locality": "Paris",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "comptabilite@client.fr"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Acompte - Projet de developpement",
          				"price": "5000.00",
          				"unit": "one"
          			},
          			"sum": "5000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "5000.00"
          		},
          		{
          			"i": 2,
          			"quantity": "1",
          			"item": {
          				"name": "Acompte - Serveur de developpement (materiel)",
          				"price": "2000.00",
          				"unit": "one"
          			},
          			"sum": "2000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "2000.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Paiement immediat"
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189",
          					"name": "Fournisseur Example SARL"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "7000.00",
          		"total": "7000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "7000.00",
          							"percent": "20%",
          							"amount": "1400.00"
          						}
          					],
          					"amount": "1400.00"
          				}
          			],
          			"sum": "1400.00"
          		},
          		"tax": "1400.00",
          		"total_with_tax": "8400.00",
          		"payable": "8400.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est offert pour paiement anticipe.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="PA cross-border B2B invoice (FR → DE)">
        A French supplier invoicing a customer in another EU member state. Cross-border B2B is **not** transmitted via the PA e-invoicing flow — it falls under [e-reporting](/guides/fr-pa-reporting) instead — but the same GOBL document is used as the source of truth for both.

        Notice:

        * the customer carries a DE tax ID and a generic email inbox rather than a Peppol address,
        * the VAT combo uses the `intra-community` key, which sets `untdid-tax-category` `K` automatically; the `cef-vatex` `VATEX-EU-IC` exemption reason marks the intra-community supply,
        * the [`fr-ctc-flow10-v1`](https://docs.gobl.org/addons/fr-ctc-flow10-v1) add-on validates the document for the periodic e-report to the PPF.

        <CodeGroup>
          ```json PA Cross-Border B2B Invoice (FR → DE) theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow10-v1"
              ],
              "type": "standard",
              "series": "FAC",
              "code": "2024-INT-001",
              "issue_date": "2024-06-15",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "B7",
                      "untdid-document-type": "380"
                  }
              },
              "supplier": {
                  "name": "Fournisseur France SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "732829320"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "732829320",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "732829320"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "123",
                          "street": "Rue de la Paix",
                          "locality": "Paris",
                          "code": "75001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@fournisseur.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Kunde Deutschland GmbH",
                  "tax_id": {
                      "country": "DE",
                      "code": "111111125"
                  },
                  "inboxes": [
                      {
                          "email": "buchhaltung@kunde.de"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "10",
                          "street": "Berliner Strasse",
                          "locality": "Berlin",
                          "code": "10117",
                          "country": "DE"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "buchhaltung@kunde.de"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "5",
                      "item": {
                          "name": "Consulting services",
                          "price": "200.00",
                          "unit": "h"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "intra-community",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-IC"
                              }
                          }
                      ]
                  }
              ],
              "notes": [
                  {
                      "key": "payment",
                      "text": "A fixed penalty of 40 EUR will apply to any late payment.",
                      "ext": {
                          "untdid-text-subject": "PMT"
                      }
                  },
                  {
                      "key": "payment-method",
                      "text": "Late payment penalties apply as per our general terms of sale.",
                      "ext": {
                          "untdid-text-subject": "PMD"
                      }
                  },
                  {
                      "key": "payment-term",
                      "text": "No discount offered for early payment.",
                      "ext": {
                          "untdid-text-subject": "AAB"
                      }
                  }
              ],
              "payment": {
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189",
                              "name": "Fournisseur France SARL"
                          }
                      ]
                  },
                  "terms": {
                      "detail": "Payment within 30 days"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"fr-ctc-flow10-v1"
          	],
          	"type": "standard",
          	"series": "FAC",
          	"code": "2024-INT-001",
          	"issue_date": "2024-06-15",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"fr-ctc-billing-mode": "B7",
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Fournisseur France SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "44732829320"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "732829320",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "732829320"
          			}
          		],
          		"addresses": [
          			{
          				"num": "123",
          				"street": "Rue de la Paix",
          				"locality": "Paris",
          				"code": "75001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@fournisseur.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Kunde Deutschland GmbH",
          		"tax_id": {
          			"country": "DE",
          			"code": "111111125"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"code": "DE111111125",
          				"ext": {
          					"iso-scheme-id": "0223"
          				}
          			}
          		],
          		"inboxes": [
          			{
          				"email": "buchhaltung@kunde.de"
          			}
          		],
          		"addresses": [
          			{
          				"num": "10",
          				"street": "Berliner Strasse",
          				"locality": "Berlin",
          				"code": "10117",
          				"country": "DE"
          			}
          		],
          		"emails": [
          			{
          				"addr": "buchhaltung@kunde.de"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "5",
          			"item": {
          				"name": "Consulting services",
          				"price": "200.00",
          				"unit": "h"
          			},
          			"sum": "1000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "intra-community",
          					"ext": {
          						"cef-vatex": "VATEX-EU-IC",
          						"untdid-tax-category": "K"
          					}
          				}
          			],
          			"total": "1000.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Payment within 30 days"
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189",
          					"name": "Fournisseur France SARL"
          				}
          			]
          		}
          	},
          	"totals": {
          		"sum": "1000.00",
          		"total": "1000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "intra-community",
          							"ext": {
          								"cef-vatex": "VATEX-EU-IC",
          								"untdid-tax-category": "K"
          							},
          							"base": "1000.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "1000.00",
          		"payable": "1000.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "A fixed penalty of 40 EUR will apply to any late payment.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Late payment penalties apply as per our general terms of sale.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "No discount offered for early payment.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    Peppol-only example invoices

    <AccordionGroup>
      <Accordion title="B2B Standard invoice France">
        Regular invoices are used for B2B transactions. Regular invoices must be issued when:

        * The customer is a registered business (has a tax identification number).
        * The transaction amount is €400 VAT included or above, or the customer requires a full invoice.
        * The customer needs a complete invoice with all tax details for accounting or tax purposes.

        To create a regular invoice, include the [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon and ensure the `customer` field contains valid tax identification details. The addon will automatically set the document type to `380` when the silo entry is built (which happens automatically when saving a silo entry through the API or console).

        <Note>
          The `supplier` must be [previously registered](https://docs.invopop.com/guides/es-verifactu-supplier#create-a-supplier-entry) with the tax authority and the `customer` VAT ID must be valid.
        </Note>

        <CodeGroup>
          ```json France standard B2B invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Lyon Industries S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "66093885154"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR66093885154"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "10",
                          "street": "Rue de la République",
                          "locality": "Lyon",
                          "region": "Auvergne-Rhône-Alpes",
                          "code": "69001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "test@example.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "12",
                      "item": {
                          "name": "Sambox services",
                          "price": "145.00",
                          "unit": "one"
                      },
                      "sum": "1740.00",
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "general"
                          }
                      ],
                      "total": "1740.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Lyon Industries S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "66093885154"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR66093885154"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR66093885154"
          			}
          		],
          		"addresses": [
          			{
          				"num": "10",
          				"street": "Rue de la République",
          				"locality": "Lyon",
          				"region": "Auvergne-Rhône-Alpes",
          				"code": "69001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "test@example.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "12",
          			"item": {
          				"name": "Sambox services",
          				"price": "145.00",
          				"unit": "one"
          			},
          			"sum": "1740.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "1740.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "1740.00",
          		"total": "1740.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "1740.00",
          							"percent": "20%",
          							"amount": "348.00"
          						}
          					],
          					"amount": "348.00"
          				}
          			],
          			"sum": "348.00"
          		},
          		"tax": "348.00",
          		"total_with_tax": "2088.00",
          		"payable": "2088.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B zero rated goods invoice France">
        Goods and services that are subject to VAT but taxed at a 0% rate. Zero rated goods in France are:

        * Daily and weekly newspapers, as well as periodical publications that meet a specific criteria.
        * Recyclable materials such as waste and scrap intended for recycling.
        * Educational materials under specific conditions.

        To create a reverse charge invoice, use the tax key `zero` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon will automatically set the UNTDID 5305 tax category to `Z` (zero rated goods) when the silo entry is built.

        <Note>
          With zero-rated supplies, businesses can still reclaim input VAT on their purchases, whereas with exempt supplies they cannot.
        </Note>

        <CodeGroup>
          ```json France zero rate invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Lyon Industries S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "66093885154"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR66093885154"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "10",
                          "street": "Rue de la République",
                          "locality": "Lyon",
                          "region": "Auvergne-Rhône-Alpes",
                          "code": "69001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "test@example.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "1",
                      "item": {
                          "name": "Le Monde",
                          "price": "2.00",
                          "unit": "one"
                      },
                      
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "zero"
                          }
                      ],
                      "total": "2.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Lyon Industries S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "66093885154"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR66093885154"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR66093885154"
          			}
          		],
          		"addresses": [
          			{
          				"num": "10",
          				"street": "Rue de la République",
          				"locality": "Lyon",
          				"region": "Auvergne-Rhône-Alpes",
          				"code": "69001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "test@example.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Le Monde",
          				"price": "2.00",
          				"unit": "one"
          			},
          			"sum": "2.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "zero",
          					"percent": "0%",
          					"ext": {
          						"untdid-tax-category": "Z"
          					}
          				}
          			],
          			"total": "2.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "2.00",
          		"total": "2.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "zero",
          							"ext": {
          								"untdid-tax-category": "Z"
          							},
          							"base": "2.00",
          							"percent": "0%",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "2.00",
          		"payable": "2.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B exempt invoice France">
        Exempt invoices are used for B2B transactions that are exempt from VAT, which also covers exemptions in internal operations.

        To create an exempt invoice, use the tax key `exempt` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon will automatically set the UNTDID 5305 tax category to `E` when the silo entry is built. You must also state the reason for the exemption through the [CET VATEX](https://docs.gobl.org/catalogues/cef#cef-vatex) - VAT exemption reason codes.

        <Note>
          Exempt operations are not subject to VAT but must still be reported. The `supplier` must be previously registered with the tax authority and the `customer` tax id must be valid.
        </Note>

        <CodeGroup>
          ```json France Peppol Exempt Invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "$regime": "FR",
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "École de Langue Française",
                  "tax_id": {
                      "country": "FR",
                      "code": "66093885154"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR66093885154"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "10",
                          "street": "Rue de la République",
                          "locality": "Lyon",
                          "region": "Auvergne-Rhône-Alpes",
                          "code": "69001",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "test@example.com"
                      }
                  ]
              },
              "customer": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "1",
                      "item": {
                          "name": "Cours de Français - Mois",
                          "price": "120.00",
                          "unit": "one"
                      },
                      
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "exempt",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-132-1I"                    
                              }
                          }
                      ],
                      "total": "120.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "École de Langue Française",
          		"tax_id": {
          			"country": "FR",
          			"code": "66093885154"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR66093885154"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR66093885154"
          			}
          		],
          		"addresses": [
          			{
          				"num": "10",
          				"street": "Rue de la République",
          				"locality": "Lyon",
          				"region": "Auvergne-Rhône-Alpes",
          				"code": "69001",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "test@example.com"
          			}
          		]
          	},
          	"customer": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Cours de Français - Mois",
          				"price": "120.00",
          				"unit": "one"
          			},
          			"sum": "120.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "exempt",
          					"ext": {
          						"cef-vatex": "VATEX-EU-132-1I",
          						"untdid-tax-category": "E"
          					}
          				}
          			],
          			"total": "120.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "120.00",
          		"total": "120.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "exempt",
          							"ext": {
          								"cef-vatex": "VATEX-EU-132-1I",
          								"untdid-tax-category": "E"
          							},
          							"base": "120.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "120.00",
          		"payable": "120.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B services invoice France → EU customer (Reverse Charge)">
        Reverse charge invoices are used for B2B services provided to customers in other EU member states. Reverse charge must be applied when:

        * The customer is a registered business in another EU member state (has a valid EU VAT ID).
        * The service is provided to a business customer (B2B), not a consumer.
        * The service is subject to VAT but the customer accounts for the VAT in their own country.

        To create a reverse charge invoice, use the tax key `reverse-charge` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon will automatically set the UNTDID 5305 tax category to `AE` (reverse charge) when the silo entry is built.

        <Note>
          With reverse charge, no VAT is charged by the supplier. The customer accounts for VAT in their own country. Both `supplier` and `customer` VAT ID must be valid and registered in the EU VIES system.
        </Note>

        <CodeGroup>
          ```json France reverse charge invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Invopop SL",
                  "tax_id": {
                      "country": "ES",
                      "code": "B85905495"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "9920",
                          "code": "ESB85905495"
                      }
                  ],
                  "addresses": [
                      {
                          "street": "Calle Pradillo 42",
                          "locality": "Madrid",
                          "region": "Madrid",
                          "code": "28002",
                          "country": "ES"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing+test@invopop.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "12",
                      "item": {
                          "name": "Sambox services",
                          "price": "145.00",
                          "unit": "one"
                      },
                      "sum": "1740.00",
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "reverse-charge",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-AE"
                              }
                          }
                      ],
                      "total": "1740.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Invopop SL",
          		"tax_id": {
          			"country": "ES",
          			"code": "B85905495"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::9920:ESB85905495"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "9920",
          				"code": "ESB85905495"
          			}
          		],
          		"addresses": [
          			{
          				"street": "Calle Pradillo 42",
          				"locality": "Madrid",
          				"region": "Madrid",
          				"code": "28002",
          				"country": "ES"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing+test@invopop.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "12",
          			"item": {
          				"name": "Sambox services",
          				"price": "145.00",
          				"unit": "one"
          			},
          			"sum": "1740.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "reverse-charge",
          					"ext": {
          						"cef-vatex": "VATEX-EU-AE",
          						"untdid-tax-category": "AE"
          					}
          				}
          			],
          			"total": "1740.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "1740.00",
          		"total": "1740.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "reverse-charge",
          							"ext": {
          								"cef-vatex": "VATEX-EU-AE",
          								"untdid-tax-category": "AE"
          							},
          							"base": "1740.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "1740.00",
          		"payable": "1740.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B goods invoice France → EU customer (Intra-Community)">
        Intra-community supply invoices are used for B2B goods delivered to customers in other EU member states. Intra-community supplies must be applied when:

        * The customer is a registered business in another EU member state (has a valid EU VAT ID).
        * Goods are physically delivered to another EU member state.
        * The supply is exempt from VAT in the origin country and subject to VAT in the destination country.

        To create an intra-community supply Peppol invoice, use the tax key `intra-community` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon will automatically set the UNTDID 5305 tax category to `K` (VAT exempt for EEA intra-community supply of goods and services) when the silo entry is built.

        <Note>
          With intra-community supplies in the EU, the customer accounts for VAT in their destination country. The `supplier` must be [previously registered](https://docs.invopop.com/guides/es-verifactu-supplier#create-a-supplier-entry) with the tax authority and the `customer` VAT ID must be valid and registered in the EU VIES system.
        </Note>

        <CodeGroup>
          ```json France reverse charge invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Invopop SL",
                  "tax_id": {
                      "country": "ES",
                      "code": "B85905495"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "9920",
                          "code": "ESB85905495"
                      }
                  ],
                  "addresses": [
                      {
                          "street": "Calle Pradillo 42",
                          "locality": "Madrid",
                          "region": "Madrid",
                          "code": "28002",
                          "country": "ES"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing+test@invopop.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "12",
                      "item": {
                          "name": "Sambox product",
                          "price": "145.00",
                          "unit": "one"
                      },
                      "sum": "1740.00",
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "intra-community",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-IC"
                              }
                          }
                      ],
                      "total": "1740.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Invopop SL",
          		"tax_id": {
          			"country": "ES",
          			"code": "B85905495"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::9920:ESB85905495"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "9920",
          				"code": "ESB85905495"
          			}
          		],
          		"addresses": [
          			{
          				"street": "Calle Pradillo 42",
          				"locality": "Madrid",
          				"region": "Madrid",
          				"code": "28002",
          				"country": "ES"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing+test@invopop.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "12",
          			"item": {
          				"name": "Sambox product",
          				"price": "145.00",
          				"unit": "one"
          			},
          			"sum": "1740.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "intra-community",
          					"ext": {
          						"cef-vatex": "VATEX-EU-IC",
          						"untdid-tax-category": "K"
          					}
          				}
          			],
          			"total": "1740.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "1740.00",
          		"total": "1740.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "intra-community",
          							"ext": {
          								"cef-vatex": "VATEX-EU-IC",
          								"untdid-tax-category": "K"
          							},
          							"base": "1740.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "1740.00",
          		"payable": "1740.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B services invoice France → international customer (Outside Scope)">
        Outside scope invoices are used for B2B services provided to customers outside the EU.

        To create an outside scope Peppol invoice, use the tax key `outside-scope` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017)addon will automatically set the UNTDID 5305 tax category to `O` (Services outside scope of tax) when the silo entry is built.

        <Note>
          Services provided to non-EU customers are generally outside the scope of EU VAT.
        </Note>

        <CodeGroup>
          ```json France outside scope theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Singapore Company LTD",
                  "tax_id": {
                      "country": "SG",
                      "code": "199904785Z"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0195",
                          "code": "SGUEN199904785Z"
                      }
                  ],
                  "addresses": [
                      {
                          "street": "18 Marina Gardens Drive",
                          "locality": "Singapore",
                          "region": "Central Region",
                          "code": "018953",
                          "country": "SG"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing+test@invopop.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "12",
                      "item": {
                          "name": "Sambox service",
                          "price": "145.00",
                          "unit": "h"
                      },
                      "sum": "145.00",
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "outside-scope",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-O"
                              }
                          }
                      ],
                      "total": "145.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Singapore Company LTD",
          		"tax_id": {
          			"country": "SG",
          			"code": "199904785Z"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0195:SGUEN199904785Z"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0195",
          				"code": "SGUEN199904785Z"
          			}
          		],
          		"addresses": [
          			{
          				"street": "18 Marina Gardens Drive",
          				"locality": "Singapore",
          				"region": "Central Region",
          				"code": "018953",
          				"country": "SG"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing+test@invopop.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "12",
          			"item": {
          				"name": "Sambox service",
          				"price": "145.00",
          				"unit": "h"
          			},
          			"sum": "1740.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "outside-scope",
          					"ext": {
          						"cef-vatex": "VATEX-EU-O",
          						"untdid-tax-category": "O"
          					}
          				}
          			],
          			"total": "1740.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "1740.00",
          		"total": "1740.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "outside-scope",
          							"ext": {
          								"cef-vatex": "VATEX-EU-O",
          								"untdid-tax-category": "O"
          							},
          							"base": "1740.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "1740.00",
          		"payable": "1740.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="B2B goods invoice France → international customer (Export)">
        Export invoices are used for B2B goods delivered to customers outside the EU.

        To create an export Peppol invoice, use the tax key `export` in your invoice lines. The [`eu-en16931-v2017`](https://docs.gobl.org/addons/eu-en16931-v2017) addon will automatically set the UNTDID 5305 tax category to `G` (Free export item, tax not charged) when the silo entry is built.

        <Note>
          Exported goods are exempt from VAT. The `supplier` must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.
        </Note>

        <CodeGroup>
          ```json France export invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017"
              ],
              "type": "standard",
              "series": "INV",
              "code": "PP000003",
              "issue_date": "2025-04-03",
              "currency": "EUR",
              "supplier": {
                  "name": "Marseille Commerce S.A.S.",
                  "tax_id": {
                      "country": "FR",
                      "code": "44257623119"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0088",
                          "code": "FR44257623119"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "25",
                          "street": "Avenue des Champs-Élysées",
                          "locality": "Paris",
                          "region": "IDF",
                          "code": "75008",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "facturation@marseillecommerce.fr"
                      }
                  ]
              },
              "customer": {
                  "name": "Singapore Company LTD",
                  "tax_id": {
                      "country": "SG",
                      "code": "199904785Z"
                  },
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0195",
                          "code": "SGUEN199904785Z"
                      }
                  ],
                  "addresses": [
                      {
                          "street": "18 Marina Gardens Drive",
                          "locality": "Singapore",
                          "region": "Central Region",
                          "code": "018953",
                          "country": "SG"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing+test@invopop.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "12",
                      "item": {
                          "name": "Sambox product",
                          "price": "145.00",
                          "unit": "one"
                      },
                      "sum": "145.00",
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "export",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-G"
                              }
                          }
                      ],
                      "total": "145.00"
                  }
              ],
              "payment": {
                  "terms": {
                      "detail": "Will be paid by 2026-06-02"
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017"
          	],
          	"type": "standard",
          	"series": "INV",
          	"code": "PP000003",
          	"issue_date": "2025-04-03",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Marseille Commerce S.A.S.",
          		"tax_id": {
          			"country": "FR",
          			"code": "44257623119"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0088:FR44257623119"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0088",
          				"code": "FR44257623119"
          			}
          		],
          		"addresses": [
          			{
          				"num": "25",
          				"street": "Avenue des Champs-Élysées",
          				"locality": "Paris",
          				"region": "IDF",
          				"code": "75008",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "facturation@marseillecommerce.fr"
          			}
          		]
          	},
          	"customer": {
          		"name": "Singapore Company LTD",
          		"tax_id": {
          			"country": "SG",
          			"code": "199904785Z"
          		},
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0195:SGUEN199904785Z"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0195",
          				"code": "SGUEN199904785Z"
          			}
          		],
          		"addresses": [
          			{
          				"street": "18 Marina Gardens Drive",
          				"locality": "Singapore",
          				"region": "Central Region",
          				"code": "018953",
          				"country": "SG"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing+test@invopop.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "12",
          			"item": {
          				"name": "Sambox product",
          				"price": "145.00",
          				"unit": "one"
          			},
          			"sum": "1740.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "export",
          					"ext": {
          						"cef-vatex": "VATEX-EU-G",
          						"untdid-tax-category": "G"
          					}
          				}
          			],
          			"total": "1740.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Will be paid by 2026-06-02"
          		}
          	},
          	"totals": {
          		"sum": "1740.00",
          		"total": "1740.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "export",
          							"ext": {
          								"cef-vatex": "VATEX-EU-G",
          								"untdid-tax-category": "G"
          							},
          							"base": "1740.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "1740.00",
          		"payable": "1740.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    Factur-X example invoices

    <AccordionGroup>
      <Accordion title="Factur-X B2B Invoice">
        In this example, we're issuing a Factur-X B2B invoice from a French supplier to another French business customer. Factur-X is the French implementation of the same standard as ZUGFeRD, combining a PDF invoice with embedded XML data.

        Notice:

        * the minimal version (`facturx-b2b.min.mdx`) contains only the essential fields required to create the invoice,
        * the [`de-zugferd-v2`](https://docs.gobl.org/addons/de-zugferd-v2) addon is used (as Factur-X and ZUGFeRD share the same technical specification),
        * both supplier and customer have their SIRET and TVA (VAT) numbers properly specified,
        * there are no totals or calculations in the minimal version; all these will be calculated automatically when running `gobl build`,
        * the built version (`facturx-b2b.mdx`) shows the normalized document with calculated totals, line item sums, TVA breakdowns, and automatically generated fields,
        * the invoice will generate both a human-readable PDF and embedded XML following the UN/CEFACT CII standard, and,
        * Factur-X is mandatory for B2G transactions in France and widely adopted for B2B transactions.

        <CodeGroup>
          ```json FacturX B2B Invoice theme={"system"}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "eu-en16931-v2017",
                  "fr-facturx-v1"
              ],
              "type": "standard",
              "series": "SAMPLE",
              "code": "2345",
              "issue_date": "2025-06-18",
              "currency": "EUR",
              "supplier": {
                  "name": "Provide One Inc.",
                  "tax_id": {
                      "country": "FR",
                      "code": "43498927917"
                  },
                  "identities": [
                      {
                          "type": "SIRET",
                          "code": "49892791768734"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "42",
                          "street": "Calle Pradillo",
                          "locality": "Madrid",
                          "region": "Madrid",
                          "code": "28002",
                          "country": "ES"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing@example.com"
                      }
                  ]
              },
              "customer": {
                  "name": "Sample Consumer",
                  "tax_id": {
                      "country": "FR",
                      "code": "39356000000"
                  },
                  "identities": [
                      {
                          "type": "SIRET",
                          "code": "35600000012345"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "1",
                          "street": "Rue Sundacsakn",
                          "locality": "Saint-Germain-En-Laye",
                          "code": "75050",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "email@sample.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "i": 1,
                      "quantity": "20",
                      "item": {
                          "name": "Development services",
                          "price": "90.00",
                          "unit": "h"
                      },
                      "sum": "1800.00",
                      "discounts": [
                          {
                              "reason": "Special discount",
                              "percent": "10%",
                              "amount": "180.00"
                          }
                      ],
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "standard",
                              "rate": "general"
                          }
                      ],
                      "total": "1620.00"
                  }
              ],
              "payment": {
                  "advances": [
                      {
                          "description": "Paid in full",
                          "percent": "100%",
                          "amount": "1944.00"
                      }
                  ],
                  "instructions": {
                      "key": "card",
                      "card": {}
                  }
              }
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-facturx-v1"
          	],
          	"type": "standard",
          	"series": "SAMPLE",
          	"code": "2345",
          	"issue_date": "2025-06-18",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Provide One Inc.",
          		"tax_id": {
          			"country": "FR",
          			"code": "43498927917"
          		},
          		"identities": [
          			{
          				"type": "SIRET",
          				"code": "49892791768734",
          				"ext": {
          					"iso-scheme-id": "0009"
          				}
          			}
          		],
          		"addresses": [
          			{
          				"num": "42",
          				"street": "Calle Pradillo",
          				"locality": "Madrid",
          				"region": "Madrid",
          				"code": "28002",
          				"country": "ES"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing@example.com"
          			}
          		]
          	},
          	"customer": {
          		"name": "Sample Consumer",
          		"tax_id": {
          			"country": "FR",
          			"code": "39356000000"
          		},
          		"identities": [
          			{
          				"type": "SIRET",
          				"code": "35600000012345",
          				"ext": {
          					"iso-scheme-id": "0009"
          				}
          			}
          		],
          		"addresses": [
          			{
          				"num": "1",
          				"street": "Rue Sundacsakn",
          				"locality": "Saint-Germain-En-Laye",
          				"code": "75050",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "email@sample.com"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "20",
          			"item": {
          				"name": "Development services",
          				"price": "90.00",
          				"unit": "h"
          			},
          			"sum": "1800.00",
          			"discounts": [
          				{
          					"reason": "Special discount",
          					"percent": "10%",
          					"amount": "180.00"
          				}
          			],
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "1620.00"
          		}
          	],
          	"payment": {
          		"advances": [
          			{
          				"description": "Paid in full",
          				"percent": "100%",
          				"amount": "1944.00"
          			}
          		],
          		"instructions": {
          			"key": "card",
          			"card": {},
          			"ext": {
          				"untdid-payment-means": "48"
          			}
          		}
          	},
          	"totals": {
          		"sum": "1620.00",
          		"total": "1620.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "1620.00",
          							"percent": "20%",
          							"amount": "324.00"
          						}
          					],
          					"amount": "324.00"
          				}
          			],
          			"sum": "324.00"
          		},
          		"tax": "324.00",
          		"total_with_tax": "1944.00",
          		"payable": "1944.00",
          		"advance": "1944.00",
          		"due": "0.00"
          	}
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    E-reporting (Flow 10) example payments

    <AccordionGroup>
      <Accordion title="Domestic B2C payment">
        A cashed-in receipt from a domestic B2C transaction. Domestic B2C payments aggregate by `(date, currency)` and are rate-agnostic at the bucket level, so the tax breakdown lives directly on each line rather than on a referenced invoice.

        Notice:

        * `type` is `receipt` and `method.key` `credit-transfer` records how the money was received,
        * no `customer` is set — domestic B2C payments don't need counterparty identification,
        * `lines[i].document` is omitted on purpose: a line without a `document` reference is what classifies the payment as domestic B2C; a line with one would route it to international B2B instead,
        * `lines[i].tax.categories[...].rates[...]` carries the VAT base, percent and amount directly on each line, since domestic B2C buckets aggregate by `(date, currency)` and don't reference an underlying invoice.

        <CodeGroup>
          ```json FR B2C Payment (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "FR",
          	"type": "receipt",
          	"method": {
          		"key": "credit-transfer"
          	},
          	"series": "B",
          	"code": "PAY-B2C-001",
          	"issue_date": "2026-04-15",
          	"value_date": "2026-04-15",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Bistrot Lyon SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "50522465228"
          		},
          		"addresses": [
          			{
          				"country": "FR"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"amount": "600.00",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"base": "500.00",
          								"percent": "20%",
          								"amount": "100.00"
          							}
          						],
          						"amount": "100.00"
          					}
          				],
          				"sum": "100.00"
          			}
          		}
          	],
          	"total": "600.00"
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "FR",
          	"type": "receipt",
          	"series": "B",
          	"code": "PAY-B2C-001",
          	"issue_date": "2026-04-15",
          	"value_date": "2026-04-15",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Bistrot Lyon SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "50522465228"
          		},
          		"addresses": [
          			{
          				"country": "FR"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"amount": "600.00",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"base": "500.00",
          								"percent": "20%",
          								"amount": "100.00"
          							}
          						],
          						"amount": "100.00"
          					}
          				],
          				"sum": "100.00"
          			}
          		}
          	],
          	"methods": [
          		{
          			"key": "credit-transfer",
          			"amount": "600.00"
          		}
          	],
          	"total": "600.00"
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="International B2B payment">
        A cross-border B2B payment settling a previously issued invoice — here, Bistrot Lyon SAS cashing in from German customer Müller GmbH. International B2B payments report per-payment detail and require the counterparty identification plus a link to the underlying invoice.

        Notice:

        * `customer` is populated with the foreign counterparty (DE tax ID),
        * `lines[i].document` references the invoice being settled by `code` and `issue_date` — this is both how `gov-fr.reporting.record` classifies the payment as international B2B and how GOBL allocates the cashed amount across the original invoice's tax rates,
        * if the referenced invoice had mixed VAT rates and this payment only partially settles it, GOBL splits the cash proportionally across rates at calculation time — you don't write that math.

        <CodeGroup>
          ```json FR Intl B2B Payment (minimal) theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "FR",
          	"type": "receipt",
          	"method": {
          		"key": "credit-transfer"
          	},
          	"series": "B",
          	"code": "PAY-DE-001",
          	"issue_date": "2026-04-20",
          	"value_date": "2026-04-20",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Bistrot Lyon SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "50522465228"
          		},
          		"addresses": [
          			{
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Müller GmbH",
          		"tax_id": {
          			"country": "DE",
          			"code": "136695976"
          		},
          		"addresses": [
          			{
          				"country": "DE"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"document": {
          				"type": "standard",
          				"series": "B",
          				"code": "INTL-DE-APR-001",
          				"issue_date": "2026-04-20"
          			},
          			"amount": "2400.00",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"base": "2000.00",
          								"percent": "20%",
          								"amount": "400.00"
          							}
          						],
          						"amount": "400.00"
          					}
          				],
          				"sum": "400.00"
          			}
          		}
          	],
          	"total": "2400.00"
          }
          ```

          ```json Built version theme={"system"}
          {
          	"$schema": "https://gobl.org/draft-0/bill/payment",
          	"$regime": "FR",
          	"type": "receipt",
          	"series": "B",
          	"code": "PAY-DE-001",
          	"issue_date": "2026-04-20",
          	"value_date": "2026-04-20",
          	"currency": "EUR",
          	"supplier": {
          		"name": "Bistrot Lyon SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "50522465228"
          		},
          		"addresses": [
          			{
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Müller GmbH",
          		"tax_id": {
          			"country": "DE",
          			"code": "136695976"
          		},
          		"addresses": [
          			{
          				"country": "DE"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"document": {
          				"type": "standard",
          				"issue_date": "2026-04-20",
          				"series": "B",
          				"code": "INTL-DE-APR-001"
          			},
          			"amount": "2400.00",
          			"tax": {
          				"categories": [
          					{
          						"code": "VAT",
          						"rates": [
          							{
          								"key": "standard",
          								"base": "2000.00",
          								"percent": "20%",
          								"amount": "400.00"
          							}
          						],
          						"amount": "400.00"
          					}
          				],
          				"sum": "400.00"
          			}
          		}
          	],
          	"methods": [
          		{
          			"key": "credit-transfer",
          			"amount": "2400.00"
          		}
          	],
          	"total": "2400.00"
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    Copy and paste these documents into the [GOBL builder](https://build.gobl.org) in order to preview and verify them.
  </Tab>
</Tabs>

***

<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 the France app →
</Card>
