> ## Documentation Index
> Fetch the complete documentation index at: https://invopop-link-fix.mintlify.site/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, B2C (e-reporting)         |
      | 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 tax regime](https://docs.gobl.org/regimes/fr) plus the EN 16931 profile. For Peppol delivery, `peppol-bis-v3`. The forthcoming `fr-ctc-flow10-v1` addon covers e-reporting payloads — separate from the e-invoicing flow.
      </Accordion>

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

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

        Recommended approach:

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

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

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

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

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

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

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

    Registering supplier questions

    <AccordionGroup>
      <Accordion title="How do I onboard a new supplier in France?">
        For B2B PA flows: register the supplier via the France PA Register Party workflow (publishes the SIREN to the Annuaire and Peppol). For Chorus Pro: register the supplier with their SIRET on Chorus Pro's portal and link credentials in the Chorus Pro app.
      </Accordion>

      <Accordion title="How are supplier credentials stored in Invopop for France?">
        France PA does not require supplier-side certificates — Peppol uses Invopop's AP cert. Chorus Pro uses an OAuth token bound to the supplier's account; the token is encrypted at rest in Invopop.
      </Accordion>

      <Accordion title="How do I register a supplier with France PA?">
        Run the France PA Register Party workflow with the supplier's SIREN. Invopop publishes them to the Annuaire and the Peppol SMP — they are then routable for both invoicing and e-reporting through Invopop.
      </Accordion>

      <Accordion title="What certificates does France PA require to authenticate a supplier?">
        None at the supplier level. The Plateforme Agréée holds an OpenPeppol-issued mTLS certificate (Invopop's), and the PA-to-PPF channel uses additional DGFiP credentials managed by Invopop.
      </Accordion>

      <Accordion title="How do I register for a Peppol inbox in Invopop?">
        Upload the company as a party (Console → Parties → Suppliers → + New Supplier, or via the Create an Entry API) with name, tax\_id, address, and email. Then run it through the party registration workflow — the contact will receive a registration wizard link to provide proof of ownership.

        Once approved, the party is registered on the Peppol network (SMP+SML+Peppol visibility by default with the `ubl-invoice` doc group) and ready to receive invoices.
      </Accordion>

      <Accordion title="I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?">
        A supplier with that Participant ID already exists in your workspace. Either reuse the existing party or, if it really is a new entity, check whether it should be registered under an alternative scheme (for example Belgium's `9925` VAT scheme rather than the default `0208`).
      </Accordion>

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

      <Accordion title="What are Participant IDs?">
        Unique identifiers for entities on the Peppol network, made up of two parts:

        * **Scheme** — identifies the type of identifier (e.g. `9920` for Spanish VAT, `0208` for Belgian KBO/BCE)
        * **Code** — the actual identification number

        Participant IDs are usually based on VAT numbers or local business identifiers, and Invopop can derive them automatically from a Tax ID. Some countries support multiple schemes — Belgium, for example, defaults to `0208` but some entities are only registered under `9925` (VAT). If you hit a "receiver not found" error, the recipient may be registered under an alternative scheme.
      </Accordion>

      <Accordion title="What visibility level should I set on my Peppol Party?">
        Peppol Party visibility determines what you can send and receive:

        * `smp` — SMP only, for testing
        * `smp+sml` — SMP and SML, useful when you only want to send
        * `smp+sml+peppol` — SMP, SML, and the Peppol Directory, recommended for both sending and receiving (and for being discoverable in the Directory)

        In general, use the highest visibility available.
      </Accordion>
    </AccordionGroup>

    Receiving questions

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

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

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

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

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

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

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

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

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

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

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

    Reporting questions

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

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

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

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

    More 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 document workflow theme={null}
        {
            "name": "PPF send document",
            "description": "Send an invoice, status or payment via Peppol and record it with PPF",
            "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": "bf2c86b0-8127-11f1-9e29-9d2d7ab31d21",
                    "name": "Document is an invoice?",
                    "provider": "silo.if",
                    "next": [
                        {
                            "status": "NA",
                            "code": "true",
                            "steps": [
                                {
                                    "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
                                    }
                                }
                            ]
                        },
                        {
                            "status": "NA",
                            "code": "false",
                            "steps": [
                                {
                                    "id": "e30aa7b0-8127-11f1-9e29-9d2d7ab31d21",
                                    "name": "Generate CDAR Status",
                                    "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
                                    }
                                }
                            ]
                        }
                    ],
                    "config": {
                        "expr": "doc['$schema'] endsWith 'bill/invoice'",
                        "scope": "env"
                    }
                },
                {
                    "id": "f1e30fa0-13c9-11f1-98a6-7dfa4cb26122",
                    "name": "Record document for e-invoicing",
                    "provider": "gov-fr.directory.record"
                },
                {
                    "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 document workflow theme={null}
        {
            "name": "PPF receive document",
            "description": "Receive an invoice, status or payment via Peppol and register it with PPF",
            "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"
                                }
                            ]
                        }
                    ],
                    "notes": "Receives the Peppol document and returns the format in a code (UBL/CII/PDF)"
                },
                {
                    "id": "9c15ac60-7b8c-11f1-bf7f-e1e339678581",
                    "name": "Document is invoice?",
                    "provider": "silo.if",
                    "next": [
                        {
                            "code": "true",
                            "steps": [
                                {
                                    "id": "a48f03f0-7b8c-11f1-bf7f-e1e339678581",
                                    "name": "Sign Envelope",
                                    "provider": "silo.close",
                                    "next": [],
                                    "notes": "If it's an invoice, sign, generate a PDF and place it in the Expenses folder"
                                },
                                {
                                    "id": "a80b8080-7b8c-11f1-bf7f-e1e339678581",
                                    "name": "Generate PDF",
                                    "provider": "pdf",
                                    "next": [],
                                    "summary": "French - A4",
                                    "config": {
                                        "logo_height": 40,
                                        "locale": "fr",
                                        "date_format": "%Y-%m-%d",
                                        "time_format": "%H:%M",
                                        "layout": "A4",
                                        "scripting": false,
                                        "label": "",
                                        "watermark": "",
                                        "currency_template": "",
                                        "negative_template": "",
                                        "thousands_separator": "",
                                        "decimal_mark": "",
                                        "duplicate": false
                                    }
                                },
                                {
                                    "id": "ab7e1200-7b8c-11f1-bf7f-e1e339678581",
                                    "name": "Set Folder",
                                    "provider": "silo.folder",
                                    "next": [],
                                    "summary": "Set folder to `Invoices · Expenses`{.font-medium}",
                                    "config": {
                                        "folder": "expenses"
                                    }
                                }
                            ]
                        }
                    ],
                    "summary": "",
                    "config": {
                        "expr": "$schema endsWith \"bill/invoice\"",
                        "scope": "doc"
                    },
                    "notes": "Checks for bill/invoice document"
                },
                {
                    "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 `received`{.state .received}",
                    "config": {
                        "state": "received"
                    }
                }
            ],
            "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="Factur-X invoice">
        ```json Example Factur-X workflow theme={null}
        {
            "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={null}
        {
            "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",
                    "notes": "Generates the PA mandate to authorize Invopop to act on behalf of the supplier"
                },
                {
                    "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",
                    "notes": "Pauses until the signed agreement is uploaded and accepted"
                },
                {
                    "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",
                    "notes": "Submits the SIREN to the French Annuaire for invoice routing"
                },
                {
                    "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"
                    },
                    "notes": "Publishes the party, enabling Peppol routing for sending and receiving"
                },
                {
                    "id": "b523ae4a-7b39-4410-abaa-b03a4e33f7bd",
                    "name": "Register party for reporting",
                    "provider": "gov-fr.reporting.register",
                    "notes": "Registers the SIREN for reporting"
                },
                {
                    "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={null}
        {
            "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": "c91ae086-f830-425b-b67c-72af00efc22c",
                    "name": "Disable party for reporting",
                    "provider": "gov-fr.reporting.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">
    Parties

    <AccordionGroup>
      <Accordion title="Supplier">
        A French party ready for the PA flows: a SIREN identity with `iso-scheme-id` `0002`, a `0225` Peppol inbox matching the SIREN, and a French address.

        ```json France supplier example expandable theme={null}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Marseille Commerce SAS",
            "tax_id": {
                "country": "FR",
                "code": "83526018155"
            },
            "identities": [
                {
                    "type": "SIREN",
                    "code": "526018155",
                    "ext": {
                        "iso-scheme-id": "0002"
                    }
                }
            ],
            "people": [
                {
                    "name": {
                        "given": "Claire",
                        "surname": "Moreau"
                    },
                    "role": "Directrice",
                    "identities": [{
                        "label": "Passport/document number",
                        "code": "123456"
                    }]
                }
            ],
            "inboxes": [
                {
                    "key": "peppol",
                    "scheme": "0225",
                    "code": "526018155"
                }
            ],
            "addresses": [
                {
                    "num": "25",
                    "street": "Avenue des Champs-Élysées",
                    "locality": "Paris",
                    "code": "75008",
                    "country": "FR"
                }
            ],
            "emails": [
                {
                    "addr": "facturation@marseillecommerce.fr"
                }
            ],
            "telephones": [
                {
                    "num": "+33100200300"
                }
            ]
        }
        ```
      </Accordion>

      <Accordion title="Customer">
        The receiving side of a domestic PA invoice — same requirements as the supplier: SIREN identity (`0002`), matching `0225` Peppol inbox, and a French address.

        ```json France customer example theme={null}
        {
            "$schema": "https://gobl.org/draft-0/org/party",
            "name": "Grande Distribution SA",
            "tax_id": {
                "country": "FR",
                "code": "44732829320"
            },
            "identities": [
                {
                    "type": "SIREN",
                    "code": "732829320",
                    "ext": {
                        "iso-scheme-id": "0002"
                    }
                }
            ],
            "inboxes": [
                {
                    "key": "peppol",
                    "scheme": "0225",
                    "code": "732829320"
                }
            ],
            "addresses": [
                {
                    "num": "40",
                    "street": "Boulevard du Commerce",
                    "locality": "Paris",
                    "code": "75012",
                    "country": "FR"
                }
            ],
            "emails": [
                {
                    "addr": "comptabilite@grandedistribution.fr"
                }
            ],
            "telephones": [
                {
                    "num": "+33100200400"
                }
            ]
        }
        ```
      </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` `S1` marks the standard submission (*dépôt*) of a services 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={null}
          {
              "$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": "S1",
                      "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={null}
          {
          	"$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": "S1",
          			"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 invoice (building subcontracting, autoliquidation)">
        A domestic B2B invoice for construction works supplied by a subcontractor to a taxable main contractor. Because both parties are French, this stays in the PA e-invoicing flow ([`fr-ctc-flow2-v1`](https://docs.gobl.org/addons/fr-ctc-flow2-v1)) even though it carries no VAT — it is not e-reporting.

        Notice:

        * the VAT combo uses the `reverse-charge` key, which sets `untdid-tax-category` `AE` and produces a `0.00` VAT total, with no tax rate or amount on the line,
        * the `reverse-charge` note text is set explicitly to cite **article 283-2 nonies** (subcontracting); left to the regime default it would cite the generic article 283-1,
        * `fr-ctc-billing-mode` is `S1` — a plain services submission: the reverse charge is carried entirely by the VAT key and note. `S5` (subcontractor invoice) applies only to subcontracting with payment delegation (*paiement direct*), which is not the case here,
        * the reverse charge only applies where the customer is a taxable person — invoicing a non-taxable property owner would carry standard VAT instead.

        <CodeGroup>
          ```json PA B2B Reverse Charge Invoice (Subcontracting) theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "$tags": [
                  "reverse-charge"
              ],
              "type": "standard",
              "series": "ST",
              "code": "2026-00001",
              "issue_date": "2026-09-15",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "S1",
                      "untdid-document-type": "380"
                  },
                  "notes": [
                      {
                          "cat": "VAT",
                          "key": "reverse-charge",
                          "text": "Autoliquidation – TVA due par le preneur, article 283-2 nonies du CGI."
                      }
                  ]
              },
              "supplier": {
                  "name": "Plomberie Dupont SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "303265045"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "303265045",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "303265045"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "12",
                          "street": "Rue des Artisans",
                          "locality": "Lyon",
                          "code": "69003",
                          "country": "FR"
                      }
                  ]
              },
              "customer": {
                  "name": "Bâtiment Martin SA",
                  "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": "5",
                          "street": "Avenue de la Construction",
                          "locality": "Villeurbanne",
                          "code": "69100",
                          "country": "FR"
                      }
                  ]
              },
              "payment": {
                  "terms": {
                      "key": "due-date",
                      "due_dates": [
                          {
                              "date": "2026-10-15",
                              "amount": "10000.00"
                          }
                      ]
                  },
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189"
                          }
                      ]
                  }
              },
              "lines": [
                  {
                      "quantity": "1",
                      "item": {
                          "name": "Travaux de plomberie en sous-traitance",
                          "price": "10000.00"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "reverse-charge"
                          }
                      ]
                  }
              ]
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"$tags": [
          		"reverse-charge"
          	],
          	"type": "standard",
          	"series": "ST",
          	"code": "2026-00001",
          	"issue_date": "2026-09-15",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "S1",
          			"untdid-document-type": "380"
          		},
          		"notes": [
          			{
          				"cat": "VAT",
          				"key": "reverse-charge",
          				"text": "Autoliquidation – TVA due par le preneur, article 283-2 nonies du CGI.",
          				"ext": {
          					"untdid-tax-category": "AE"
          				}
          			}
          		]
          	},
          	"supplier": {
          		"name": "Plomberie Dupont SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "40303265045"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "303265045",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:303265045"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "303265045"
          			}
          		],
          		"addresses": [
          			{
          				"num": "12",
          				"street": "Rue des Artisans",
          				"locality": "Lyon",
          				"code": "69003",
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Bâtiment Martin SA",
          		"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": "5",
          				"street": "Avenue de la Construction",
          				"locality": "Villeurbanne",
          				"code": "69100",
          				"country": "FR"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "1",
          			"item": {
          				"name": "Travaux de plomberie en sous-traitance",
          				"price": "10000.00",
          				"unit": "one"
          			},
          			"sum": "10000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "reverse-charge",
          					"ext": {
          						"untdid-tax-category": "AE"
          					}
          				}
          			],
          			"total": "10000.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"key": "due-date",
          			"due_dates": [
          				{
          					"date": "2026-10-15",
          					"amount": "10000.00"
          				}
          			]
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "10000.00",
          		"total": "10000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "reverse-charge",
          							"ext": {
          								"untdid-tax-category": "AE"
          							},
          							"base": "10000.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "10000.00",
          		"payable": "10000.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Conditions de paiement selon les conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Pénalités et indemnités de retard applicables conformément aux conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est accordé pour paiement anticipé.",
          			"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={null}
          {
              "$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": "S1",
                      "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={null}
          {
          	"$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": "S1",
          			"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: the add-on defaults `fr-ctc-billing-mode` to `M1` (submission of a mixed invoice — here a service plus a good); the advance nature is carried by the document type, not the billing mode,
        * the final invoice issued at delivery normally references this advance to net it off the total.

        <CodeGroup>
          ```json PA B2B Advance Payment Invoice theme={null}
          {
              "$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={null}
          {
          	"$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 B2B final invoice (after down payment)">
        The final invoice that closes out the advance example above: the full contract is invoiced, and the down payment already billed (`FAC 2024-AV-001`) is netted off the total.

        Notice:

        * `fr-ctc-billing-mode` is pinned to `M4` (mixed, final invoice after down payment); left unset it would default back to `M1`,
        * flow 2 forbids advance-payment document types (386, 500, 503) on final invoices, so `untdid-document-type` stays `380` (BR-FR-CO-08),
        * `payment.advances` records the 8,400.00 already paid, referencing the advance invoice — `totals.due` comes out to the remaining 12,000.00,
        * the due-date payment terms cover only the outstanding balance.

        <CodeGroup>
          ```json PA B2B Final Invoice (After Advance) theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "type": "standard",
              "series": "FAC",
              "code": "2024-00107",
              "issue_date": "2024-07-15",
              "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": "Projet de developpement - prestation complete",
                          "price": "15000.00"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  },
                  {
                      "quantity": "1",
                      "item": {
                          "name": "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": {
                      "key": "due-date",
                      "due_dates": [
                          {
                              "date": "2024-08-15",
                              "amount": "12000.00"
                          }
                      ]
                  },
                  "advances": [
                      {
                          "description": "Acompte verse - facture FAC 2024-AV-001",
                          "amount": "8400.00"
                      }
                  ]
              },
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "M4"
                  }
              }
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"type": "standard",
          	"series": "FAC",
          	"code": "2024-00107",
          	"issue_date": "2024-07-15",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "M4",
          			"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"
          			}
          		]
          	},
          	"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": "Projet de developpement - prestation complete",
          				"price": "15000.00",
          				"unit": "one"
          			},
          			"sum": "15000.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "general",
          					"percent": "20%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "15000.00"
          		},
          		{
          			"i": 2,
          			"quantity": "1",
          			"item": {
          				"name": "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": {
          			"key": "due-date",
          			"due_dates": [
          				{
          					"date": "2024-08-15",
          					"amount": "12000.00"
          				}
          			]
          		},
          		"advances": [
          			{
          				"description": "Acompte verse - facture FAC 2024-AV-001",
          				"amount": "8400.00"
          			}
          		],
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189",
          					"name": "Fournisseur Example SARL"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "17000.00",
          		"total": "17000.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "17000.00",
          							"percent": "20%",
          							"amount": "3400.00"
          						}
          					],
          					"amount": "3400.00"
          				}
          			],
          			"sum": "3400.00"
          		},
          		"tax": "3400.00",
          		"total_with_tax": "20400.00",
          		"payable": "20400.00",
          		"advance": "8400.00",
          		"due": "12000.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 invoice after a B2C sale (VAT already collected)">
        A restaurant cashes in a B2C sale — VAT is collected on the spot and reported through [e-reporting](/guides/fr-pa-reporting) — and the guest's company then asks for a proper invoice. That B2B invoice still travels the flux 2 e-invoicing flow, but must be marked so the VAT is not declared twice.

        Notice:

        * `fr-ctc-billing-mode` is pinned to `S7` (services, VAT already collected): the VAT was already reported with the B2C sale, so this invoice must not re-declare it. Left unset, the add-on would default to an already-paid mode and the VAT would be counted twice,
        * `B7` is the goods counterpart — e.g. retail goods sold over the counter and invoiced to a business afterwards,
        * the 100% advance records the on-site card payment, leaving `totals.due` at `0.00`,
        * restaurant meals carry the intermediate 10% VAT rate.

        <CodeGroup>
          ```json PA B2B Invoice After B2C Sale (VAT Collected) theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "type": "standard",
              "series": "FAC",
              "code": "2026-00318",
              "issue_date": "2026-09-18",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "S7"
                  }
              },
              "supplier": {
                  "name": "Le Bistrot du Marché SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "303265045"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "303265045",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "303265045"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "18",
                          "street": "Rue du Marché",
                          "locality": "Lyon",
                          "code": "69002",
                          "country": "FR"
                      }
                  ]
              },
              "customer": {
                  "name": "Conseil & Associés 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": "9",
                          "street": "Place Bellecour",
                          "locality": "Lyon",
                          "code": "69002",
                          "country": "FR"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "4",
                      "item": {
                          "name": "Repas d'affaires - menu du jour",
                          "price": "42.00"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "intermediate"
                          }
                      ]
                  }
              ],
              "payment": {
                  "advances": [
                      {
                          "description": "Réglé sur place par carte bancaire",
                          "percent": "100%"
                      }
                  ]
              }
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"type": "standard",
          	"series": "FAC",
          	"code": "2026-00318",
          	"issue_date": "2026-09-18",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "S7",
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Le Bistrot du Marché SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "40303265045"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "303265045",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:303265045"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "303265045"
          			}
          		],
          		"addresses": [
          			{
          				"num": "18",
          				"street": "Rue du Marché",
          				"locality": "Lyon",
          				"code": "69002",
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Conseil \u0026 Associés 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": "9",
          				"street": "Place Bellecour",
          				"locality": "Lyon",
          				"code": "69002",
          				"country": "FR"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "4",
          			"item": {
          				"name": "Repas d'affaires - menu du jour",
          				"price": "42.00",
          				"unit": "one"
          			},
          			"sum": "168.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "intermediate",
          					"percent": "10%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "168.00"
          		}
          	],
          	"payment": {
          		"advances": [
          			{
          				"description": "Réglé sur place par carte bancaire",
          				"percent": "100%",
          				"amount": "184.80"
          			}
          		]
          	},
          	"totals": {
          		"sum": "168.00",
          		"total": "168.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "168.00",
          							"percent": "10%",
          							"amount": "16.80"
          						}
          					],
          					"amount": "16.80"
          				}
          			],
          			"sum": "16.80"
          		},
          		"tax": "16.80",
          		"total_with_tax": "184.80",
          		"payable": "184.80",
          		"advance": "184.80",
          		"due": "0.00"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Conditions de paiement selon les conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Pénalités et indemnités de retard applicables conformément aux conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est accordé pour paiement anticipé.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="PA B2B self-billed invoice (autofacturation)">
        A domestic B2B invoice issued by the customer on behalf of the supplier under a self-billing (autofacturation) agreement. Self-billed invoices between two French parties still travel through the PA e-invoicing flow ([`fr-ctc-flow2-v1`](https://docs.gobl.org/addons/fr-ctc-flow2-v1)).

        Notice:

        * the `self-billed` tag sets `untdid-document-type` to `389` (self-billed invoice) — supplier and customer keep their real commercial roles, the tag records that the customer produced the document,
        * the PA validation flips the routing check on self-billed types: it is the **customer**, as issuer, that must carry the `0225` inbox matching its SIREN,
        * the `legal` note carries the mandatory *Autofacturation* mention, auto-tagged with `untdid-text-subject` `ABL`; the standard French payment mentions (PMT, PMD, AAB) are filled with regime defaults at build time,
        * the reduced 5.5% VAT rate applies to the foodstuffs being supplied.

        <CodeGroup>
          ```json PA B2B Self-Billed Invoice theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1"
              ],
              "$tags": [
                  "self-billed"
              ],
              "type": "standard",
              "series": "AF",
              "code": "2026-00042",
              "issue_date": "2026-09-30",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "B1"
                  }
              },
              "supplier": {
                  "name": "Ferme de la Vallée SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "303265045"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "303265045",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "303265045"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "3",
                          "street": "Chemin des Vergers",
                          "locality": "Avignon",
                          "code": "84000",
                          "country": "FR"
                      }
                  ]
              },
              "customer": {
                  "name": "Grande Distribution SA",
                  "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": "40",
                          "street": "Boulevard du Commerce",
                          "locality": "Paris",
                          "code": "75012",
                          "country": "FR"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "500",
                      "item": {
                          "name": "Légumes de saison - livraison septembre",
                          "price": "2.40",
                          "unit": "kg"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "reduced"
                          }
                      ]
                  }
              ],
              "notes": [
                  {
                      "key": "legal",
                      "text": "Autofacturation - facture établie par le client au nom et pour le compte du fournisseur."
                  }
              ],
              "payment": {
                  "terms": {
                      "key": "due-date",
                      "due_dates": [
                          {
                              "date": "2026-10-30",
                              "amount": "1266.00"
                          }
                      ]
                  },
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189"
                          }
                      ]
                  }
              }
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1"
          	],
          	"$tags": [
          		"self-billed"
          	],
          	"type": "standard",
          	"series": "AF",
          	"code": "2026-00042",
          	"issue_date": "2026-09-30",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "B1",
          			"untdid-document-type": "389"
          		}
          	},
          	"supplier": {
          		"name": "Ferme de la Vallée SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "40303265045"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "303265045",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:303265045"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "303265045"
          			}
          		],
          		"addresses": [
          			{
          				"num": "3",
          				"street": "Chemin des Vergers",
          				"locality": "Avignon",
          				"code": "84000",
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Grande Distribution SA",
          		"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": "40",
          				"street": "Boulevard du Commerce",
          				"locality": "Paris",
          				"code": "75012",
          				"country": "FR"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "500",
          			"item": {
          				"name": "Légumes de saison - livraison septembre",
          				"price": "2.40",
          				"unit": "kg"
          			},
          			"sum": "1200.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "standard",
          					"rate": "reduced",
          					"percent": "5.5%",
          					"ext": {
          						"untdid-tax-category": "S"
          					}
          				}
          			],
          			"total": "1200.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"key": "due-date",
          			"due_dates": [
          				{
          					"date": "2026-10-30",
          					"amount": "1266.00"
          				}
          			]
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189"
          				}
          			],
          			"ext": {
          				"untdid-payment-means": "30"
          			}
          		}
          	},
          	"totals": {
          		"sum": "1200.00",
          		"total": "1200.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "standard",
          							"ext": {
          								"untdid-tax-category": "S"
          							},
          							"base": "1200.00",
          							"percent": "5.5%",
          							"amount": "66.00"
          						}
          					],
          					"amount": "66.00"
          				}
          			],
          			"sum": "66.00"
          		},
          		"tax": "66.00",
          		"total_with_tax": "1266.00",
          		"payable": "1266.00"
          	},
          	"notes": [
          		{
          			"key": "legal",
          			"text": "Autofacturation - facture établie par le client au nom et pour le compte du fournisseur.",
          			"ext": {
          				"untdid-text-subject": "ABL"
          			}
          		},
          		{
          			"key": "payment",
          			"text": "Conditions de paiement selon les conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Pénalités et indemnités de retard applicables conformément aux conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est accordé pour paiement anticipé.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <Accordion title="Factur-X B2B invoice">
        A domestic B2B invoice destined for Factur-X output — a human-readable PDF with the UN/CEFACT CII XML embedded (the French implementation of the same specification as ZUGFeRD). It combines the [`fr-facturx-v1`](https://docs.gobl.org/addons/fr-facturx-v1) add-on for the Factur-X format with [`fr-ctc-flow2-v1`](https://docs.gobl.org/addons/fr-ctc-flow2-v1), so the same document is also valid for the PA e-invoicing flow.

        Notice:

        * the two add-ons compose: `fr-facturx-v1` drives the Factur-X output while `fr-ctc-flow2-v1` applies the PA validation; the `eu-en16931-v2017` profile they share is added automatically as a dependency,
        * each party declares only a `SIRET` identity — at build time the regime derives the legal `SIREN` identity (`iso-scheme-id` `0002`) from it, next to the `0225` Peppol inboxes required for PA routing,
        * `fr-ctc-billing-mode` is `S2` (services, already paid) because the 100% advance settles the invoice at issue; that mode requires payment terms whose due dates cover the total, leaving `totals.due` at `0.00`,
        * the French payment mentions (PMT, PMD, AAB) are filled with regime defaults at build time.

        <CodeGroup>
          ```json Factur-X B2B invoice theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow2-v1",
                  "fr-facturx-v1"
              ],
              "type": "standard",
              "series": "SAMPLE",
              "code": "2345",
              "issue_date": "2025-06-18",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "S2"
                  }
              },
              "supplier": {
                  "name": "Provide One SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "43498927917"
                  },
                  "identities": [
                      {
                          "type": "SIRET",
                          "code": "49892791768734"
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "498927917"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "42",
                          "street": "Avenue des Ternes",
                          "locality": "Paris",
                          "code": "75017",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "billing@example.com"
                      }
                  ]
              },
              "customer": {
                  "name": "Sample Consumer SAS",
                  "tax_id": {
                      "country": "FR",
                      "code": "39356000000"
                  },
                  "identities": [
                      {
                          "type": "SIRET",
                          "code": "35600000012345"
                      }
                  ],
                  "inboxes": [
                      {
                          "key": "peppol",
                          "scheme": "0225",
                          "code": "356000000"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "1",
                          "street": "Rue Sundacsakn",
                          "locality": "Saint-Germain-En-Laye",
                          "code": "75050",
                          "country": "FR"
                      }
                  ],
                  "emails": [
                      {
                          "addr": "email@sample.com"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "20",
                      "item": {
                          "name": "Development services",
                          "price": "90.00",
                          "unit": "h"
                      },
                      "discounts": [
                          {
                              "reason": "Special discount",
                              "percent": "10%"
                          }
                      ],
                      "taxes": [
                          {
                              "cat": "VAT",
                              "rate": "standard"
                          }
                      ]
                  }
              ],
              "payment": {
                  "advances": [
                      {
                          "description": "Paid in full",
                          "percent": "100%"
                      }
                  ],
                  "terms": {
                      "key": "due-date",
                      "due_dates": [
                          {
                              "date": "2025-06-18",
                              "amount": "1944.00"
                          }
                      ]
                  },
                  "instructions": {
                      "key": "card",
                      "card": {}
                  }
              }
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"eu-en16931-v2017",
          		"fr-ctc-flow2-v1",
          		"fr-facturx-v1"
          	],
          	"type": "standard",
          	"series": "SAMPLE",
          	"code": "2345",
          	"issue_date": "2025-06-18",
          	"currency": "EUR",
          	"tax": {
          		"rounding": "currency",
          		"ext": {
          			"fr-ctc-billing-mode": "S2",
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Provide One SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "43498927917"
          		},
          		"identities": [
          			{
          				"type": "SIRET",
          				"code": "49892791768734",
          				"ext": {
          					"iso-scheme-id": "0009"
          				}
          			},
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "498927917",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"endpoints": [
          			{
          				"uri": "iso6523-actorid-upis::0225:498927917"
          			}
          		],
          		"inboxes": [
          			{
          				"key": "peppol",
          				"scheme": "0225",
          				"code": "498927917"
          			}
          		],
          		"addresses": [
          			{
          				"num": "42",
          				"street": "Avenue des Ternes",
          				"locality": "Paris",
          				"code": "75017",
          				"country": "FR"
          			}
          		],
          		"emails": [
          			{
          				"addr": "billing@example.com"
          			}
          		]
          	},
          	"customer": {
          		"name": "Sample Consumer SAS",
          		"tax_id": {
          			"country": "FR",
          			"code": "39356000000"
          		},
          		"identities": [
          			{
          				"type": "SIRET",
          				"code": "35600000012345",
          				"ext": {
          					"iso-scheme-id": "0009"
          				}
          			},
          			{
          				"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": "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": {
          		"terms": {
          			"key": "due-date",
          			"due_dates": [
          				{
          					"date": "2025-06-18",
          					"amount": "1944.00"
          				}
          			]
          		},
          		"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"
          	},
          	"notes": [
          		{
          			"key": "payment",
          			"text": "Conditions de paiement selon les conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMT"
          			}
          		},
          		{
          			"key": "payment-method",
          			"text": "Pénalités et indemnités de retard applicables conformément aux conditions générales de vente.",
          			"ext": {
          				"untdid-text-subject": "PMD"
          			}
          		},
          		{
          			"key": "payment-term",
          			"text": "Aucun escompte n'est accordé pour paiement anticipé.",
          			"ext": {
          				"untdid-text-subject": "AAB"
          			}
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>
    </AccordionGroup>

    E-reporting (Flow 10) example documents

    <AccordionGroup>
      <Accordion title="PA intra-community B2B invoice">
        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={null}
          {
              "$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": "S1",
                      "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={null}
          {
          	"$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": "S1",
          			"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>

      <Accordion title="PA cross-border self-billed invoice">
        A cross-border sale by a French supplier where the German customer issues the invoice under a self-billing agreement. Like all cross-border B2B, it is not transmitted through the PA e-invoicing flow — the French supplier reports the sale via [e-reporting](/guides/fr-pa-reporting) (Flux 10.1), validated by the [`fr-ctc-flow10-v1`](https://docs.gobl.org/addons/fr-ctc-flow10-v1) add-on.

        Notice:

        * the `self-billed` tag records that the customer issued the document; the e-reporting obligation stays with the French supplier, who includes the sale in its periodic Flux 10 submission,
        * Flow 10 has no dedicated self-billed document code — `untdid-document-type` stays `380`, unlike e-invoicing where the tag maps to `389`,
        * the intra-community VAT combo (`untdid-tax-category` `K`, `cef-vatex` `VATEX-EU-IC`) zero-rates the supply, as in the other cross-border example.

        <CodeGroup>
          ```json PA Cross-Border Self-Billed Invoice (FR → DE) theme={null}
          {
              "$schema": "https://gobl.org/draft-0/bill/invoice",
              "$regime": "FR",
              "$addons": [
                  "fr-ctc-flow10-v1"
              ],
              "$tags": [
                  "self-billed"
              ],
              "type": "standard",
              "series": "AF",
              "code": "2026-INT-007",
              "issue_date": "2026-09-30",
              "currency": "EUR",
              "tax": {
                  "ext": {
                      "fr-ctc-billing-mode": "B1"
                  }
              },
              "supplier": {
                  "name": "Domaine de la Vallée SARL",
                  "tax_id": {
                      "country": "FR",
                      "code": "303265045"
                  },
                  "identities": [
                      {
                          "type": "SIREN",
                          "code": "303265045",
                          "ext": {
                              "iso-scheme-id": "0002"
                          }
                      }
                  ],
                  "addresses": [
                      {
                          "num": "3",
                          "street": "Chemin des Vergers",
                          "locality": "Avignon",
                          "code": "84000",
                          "country": "FR"
                      }
                  ]
              },
              "customer": {
                  "name": "Weinhandel München GmbH",
                  "tax_id": {
                      "country": "DE",
                      "code": "111111125"
                  },
                  "inboxes": [
                      {
                          "email": "buchhaltung@weinhandel.de"
                      }
                  ],
                  "addresses": [
                      {
                          "num": "10",
                          "street": "Weinstrasse",
                          "locality": "München",
                          "code": "80331",
                          "country": "DE"
                      }
                  ]
              },
              "lines": [
                  {
                      "quantity": "120",
                      "item": {
                          "name": "Côtes du Rhône 2024 (carton de 6)",
                          "price": "45.00",
                          "unit": "item"
                      },
                      "taxes": [
                          {
                              "cat": "VAT",
                              "key": "intra-community",
                              "ext": {
                                  "cef-vatex": "VATEX-EU-IC"
                              }
                          }
                      ]
                  }
              ],
              "notes": [
                  {
                      "key": "legal",
                      "text": "Autofacturation - facture établie par le client au nom et pour le compte du fournisseur."
                  }
              ],
              "payment": {
                  "instructions": {
                      "key": "credit-transfer",
                      "credit_transfer": [
                          {
                              "iban": "FR7630006000011234567890189"
                          }
                      ]
                  },
                  "terms": {
                      "detail": "Paiement à 30 jours"
                  }
              }
          }
          ```

          ```json Built version theme={null}
          {
          	"$schema": "https://gobl.org/draft-0/bill/invoice",
          	"$regime": "FR",
          	"$addons": [
          		"fr-ctc-flow10-v1"
          	],
          	"$tags": [
          		"self-billed"
          	],
          	"type": "standard",
          	"series": "AF",
          	"code": "2026-INT-007",
          	"issue_date": "2026-09-30",
          	"currency": "EUR",
          	"tax": {
          		"ext": {
          			"fr-ctc-billing-mode": "B1",
          			"untdid-document-type": "380"
          		}
          	},
          	"supplier": {
          		"name": "Domaine de la Vallée SARL",
          		"tax_id": {
          			"country": "FR",
          			"code": "40303265045"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"type": "SIREN",
          				"code": "303265045",
          				"ext": {
          					"iso-scheme-id": "0002"
          				}
          			}
          		],
          		"addresses": [
          			{
          				"num": "3",
          				"street": "Chemin des Vergers",
          				"locality": "Avignon",
          				"code": "84000",
          				"country": "FR"
          			}
          		]
          	},
          	"customer": {
          		"name": "Weinhandel München GmbH",
          		"tax_id": {
          			"country": "DE",
          			"code": "111111125"
          		},
          		"identities": [
          			{
          				"scope": "legal",
          				"code": "DE111111125",
          				"ext": {
          					"iso-scheme-id": "0223"
          				}
          			}
          		],
          		"inboxes": [
          			{
          				"email": "buchhaltung@weinhandel.de"
          			}
          		],
          		"addresses": [
          			{
          				"num": "10",
          				"street": "Weinstrasse",
          				"locality": "München",
          				"code": "80331",
          				"country": "DE"
          			}
          		]
          	},
          	"lines": [
          		{
          			"i": 1,
          			"quantity": "120",
          			"item": {
          				"name": "Côtes du Rhône 2024 (carton de 6)",
          				"price": "45.00",
          				"unit": "item"
          			},
          			"sum": "5400.00",
          			"taxes": [
          				{
          					"cat": "VAT",
          					"key": "intra-community",
          					"ext": {
          						"cef-vatex": "VATEX-EU-IC",
          						"untdid-tax-category": "K"
          					}
          				}
          			],
          			"total": "5400.00"
          		}
          	],
          	"payment": {
          		"terms": {
          			"notes": "Paiement à 30 jours"
          		},
          		"instructions": {
          			"key": "credit-transfer",
          			"credit_transfer": [
          				{
          					"iban": "FR7630006000011234567890189"
          				}
          			]
          		}
          	},
          	"totals": {
          		"sum": "5400.00",
          		"total": "5400.00",
          		"taxes": {
          			"categories": [
          				{
          					"code": "VAT",
          					"rates": [
          						{
          							"key": "intra-community",
          							"ext": {
          								"cef-vatex": "VATEX-EU-IC",
          								"untdid-tax-category": "K"
          							},
          							"base": "5400.00",
          							"amount": "0.00"
          						}
          					],
          					"amount": "0.00"
          				}
          			],
          			"sum": "0.00"
          		},
          		"tax": "0.00",
          		"total_with_tax": "5400.00",
          		"payable": "5400.00"
          	},
          	"notes": [
          		{
          			"key": "legal",
          			"text": "Autofacturation - facture établie par le client au nom et pour le compte du fournisseur."
          		}
          	]
          }
          ```
        </CodeGroup>
      </Accordion>

      <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={null}
          {
          	"$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={null}
          {
          	"$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={null}
          {
          	"$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={null}
          {
          	"$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" /> [Chorus Pro France](/apps/choruspro-france)                                                                                       |
    | Guides     | <Icon icon="book" /> Chorus Pro — [Supplier registration](/guides/fr-chorus-pro-supplier) · [Issuing invoices](/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>
