- Description
- Limitations
- Actions
- Workflows
- Documents
PA (Plateforme Agréée) Guide
- 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.
- PA overview · Registration · Invoicing · Status · Reporting
FAQ
Invoicing questionsHow do I configure my workspace for French invoicing?
How do I configure my workspace for French invoicing?
How can I view an XML attached to a PDF?
How can I view an XML attached to a PDF?
Attachments section in Adobe Acrobat Reader, or a tool like the SysTools PDF Extractor.Is Invopop ready for the September 2026 mandate?
Is Invopop ready for the September 2026 mandate?
What GOBL addons are required for France PA?
What GOBL addons are required for France PA?
fr-fec-v3 regime plus the EN 16931 profile. For Peppol delivery, peppol-bis-v3. The forthcoming fr-ctc-flow10-v1 addon covers e-reporting payloads — separate from the e-invoicing flow.What should we do if the customer doesn't belong to the Peppol network?
What should we do if the customer doesn't belong to the Peppol network?
- 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
How do I handle B2C invoices in Peppol?
How do I handle B2C invoices in Peppol?
- Add an If/Else step that checks for a customer inbox using
count(customer.inboxes, true) > 0. - On the
falsebranch, generate a PDF and email it to the customer, then stop the flow.
How do I handle 'Receiver Not Found' errors?
How do I handle 'Receiver Not Found' errors?
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.Should I set the `$regime` field when using Peppol?
Should I set the `$regime` field when using Peppol?
Where do I find Peppol GOBL documentation?
Where do I find Peppol GOBL documentation?
oasis-ubl-v2 addon and the Peppol app reference for required fields, supported document types, and Participant ID schemes.How do I onboard a new supplier in France?
How do I onboard a new supplier in France?
How are supplier credentials stored in Invopop for France?
How are supplier credentials stored in Invopop for France?
How do I register a supplier with France PA?
How do I register a supplier with France PA?
What certificates does France PA require to authenticate a supplier?
What certificates does France PA require to authenticate a supplier?
How do I register for a Peppol inbox in Invopop?
How do I register for a Peppol inbox in Invopop?
ubl-invoice doc group) and ready to receive invoices.I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?
I get 'XXXX:XXXXXXXXX is already registered' when registering a supplier — what now?
9925 VAT scheme rather than the default 0208).How do I assign multiple inboxes to a single supplier?
How do I assign multiple inboxes to a single supplier?
What are Participant IDs?
What are Participant IDs?
- Scheme — identifies the type of identifier (e.g.
9920for Spanish VAT,0208for Belgian KBO/BCE) - Code — the actual identification number
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.What visibility level should I set on my Peppol Party?
What visibility level should I set on my Peppol Party?
smp— SMP only, for testingsmp+sml— SMP and SML, useful when you only want to sendsmp+sml+peppol— SMP, SML, and the Peppol Directory, recommended for both sending and receiving (and for being discoverable in the Directory)
How do I import received invoices in France?
How do I import received invoices in France?
How does Invopop convert received French invoices into GOBL?
How does Invopop convert received French invoices into GOBL?
gobl.peppol; CII and Factur-X via gobl.cii. The original structured XML (or PDF/A-3 with embedded XML) is preserved as a silo entry attachment.How do I import received invoices via France PA?
How do I import received invoices via France PA?
What format do received France PA invoices arrive in?
What format do received France PA invoices arrive in?
Can I receive invoices at more than one platform (PDP) for the same company?
Can I receive invoices at more than one platform (PDP) for 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.
How do I import received invoices via Peppol?
How do I import received invoices via Peppol?
Can I remove UBL or CII from the 'Peppol receive invoice' workflow if I only use one format?
Can I remove UBL or CII from the 'Peppol receive invoice' workflow if I only use one format?
How are incoming Peppol documents converted into GOBL?
How are incoming Peppol documents converted into GOBL?
How do I schedule periodic reports for France?
How do I schedule periodic reports for France?
What format does France expect for periodic reports?
What format does France expect for periodic reports?
fr-ctc-flow10-v1 GOBL addon.How often must I submit France PA reports?
How often must I submit France PA reports?
What format does France PA expect for periodic reports?
What format does France PA expect for periodic reports?
Plateforme Agréée scope
Beta or In development.| Capability | Status | Notes |
|---|---|---|
| Annuaire registration | Available | Self-serve KYC in development |
| Send invoices (UBL, CII, Factur-X) | Available | API may change before Sept 2026 |
| Receive invoices | Available | API may change before Sept 2026 |
| Lifecycle status (CDAR) | Beta | Moving to a first-class GOBL document |
| E-reporting (Flow 10) | In development | fr-ctc-flow10-v1 add-on not yet released |
Register in Annuaire
Register party on Peppol
Register reporter
Disable in Annuaire
Disable reporter
Record invoice
Generate UBL document
Generate CII document
Send Peppol document
Forward invoice to PPF
Import Peppol document
Import UBL document
Import CII document
Import Factur-X PDF
Generate CDAR
Record status
Forward status to PPF
PA send invoice
PA send invoice
{
"name": "PPF send invoice",
"description": "Send an invoice via Peppol and record it with PPF",
"schema": "bill/invoice",
"steps": [
{
"id": "72bc5070-1a17-11f1-a82f-e740c226ef51",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `processing`{.state .processing}",
"config": {
"state": "processing"
}
},
{
"id": "f5aaed10-13c9-11f1-98a6-7dfa4cb26122",
"name": "Sign envelope",
"provider": "silo.close"
},
{
"id": "f1e30fa0-13c9-11f1-98a6-7dfa4cb26122",
"name": "Record document for e-invoicing",
"provider": "gov-fr.directory.record"
},
{
"id": "1b5850d0-13bf-11f1-bc3b-b99ec414b63d",
"name": "Generate UBL document",
"provider": "ubl.generate",
"summary": "Peppol France CIUS v1",
"config": {
"attach_invoice_pdf": false,
"doc_type": "peppol-fr-cius",
"private": false,
"validate_ubl": false
}
},
{
"id": "ab598990-16f0-11f1-86ba-d13d91b4f398",
"name": "Send Peppol document",
"provider": "peppol.send"
},
{
"id": "79bd38d0-1a17-11f1-a82f-e740c226ef51",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `sent`{.state .sent}",
"config": {
"state": "sent"
}
},
{
"id": "e1f6ce90-16eb-11f1-86ba-d13d91b4f398",
"name": "Forward document to PPF",
"provider": "gov-fr.directory.forward"
},
{
"id": "80a9d5e0-1a17-11f1-a82f-e740c226ef51",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `completed`{.state .completed}",
"config": {
"state": "completed"
}
}
],
"rescue": [
{
"id": "892a8070-1a17-11f1-a82f-e740c226ef51",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `error`{.state .error}",
"config": {
"state": "error"
}
}
]
}
PA receive invoice
PA receive invoice
{
"name": "PPF receive invoice",
"description": "Receive an invoice via Peppol and register it with PPF",
"schema": "bill/invoice",
"steps": [
{
"id": "db61c3c0-0fb5-11f0-b078-9fc456829eca",
"name": "Import Peppol document",
"provider": "peppol.import",
"next": [
{
"status": "NA",
"code": "UBL",
"steps": [
{
"id": "62e94570-8fdb-11f0-a8fb-61ec9e5a76ba",
"name": "Import UBL document",
"provider": "ubl.import"
}
]
},
{
"status": "NA",
"code": "CII",
"steps": [
{
"id": "6480ae50-8fdb-11f0-a8fb-61ec9e5a76ba",
"name": "Import CII document",
"provider": "cii.import"
}
]
},
{
"status": "NA",
"code": "PDF",
"steps": [
{
"id": "26ba4f80-1e2a-11f1-8bfb-2beaa1df60f0",
"name": "Import Factur-X PDF",
"provider": "cii.pdf.import"
}
]
}
]
},
{
"id": "fdfc81a0-6e23-11f0-913b-5732f966b346",
"name": "Set folder",
"provider": "silo.folder",
"summary": "Set folder to `Invoices · Expenses`{.font-medium}",
"config": {
"folder": "expenses"
}
},
{
"id": "2f4ad890-1e2a-11f1-8bfb-2beaa1df60f0",
"name": "Record document for e-invoicing",
"provider": "gov-fr.directory.record"
},
{
"id": "dd14a3e0-0fb5-11f0-b078-9fc456829eca",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `registered`{.state .registered}",
"config": {
"state": "registered"
}
}
],
"rescue": [
{
"id": "e109d2e0-0fb5-11f0-b078-9fc456829eca",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `error`{.state .error}",
"config": {
"state": "error"
}
}
]
}
PA send status
PA send status
{
"name": "France PA send status",
"description": "Generate and forward a lifecycle status update (CDAR) via Peppol and PPF",
"schema": "bill/invoice",
"steps": [
{
"id": "90262b50-6fcf-11f1-b09d-79f60b032746",
"name": "Set state",
"provider": "silo.state",
"config": {
"state": "processing"
}
},
{
"id": "d0a4ca10-6fcf-11f1-b09d-79f60b032746",
"name": "Sign envelope",
"provider": "silo.close"
},
{
"id": "d1e427e0-6fcf-11f1-b09d-79f60b032746",
"name": "Generate CII document",
"provider": "cii.generate",
"summary": "France CTC Flow 6 CDAR (lifecycle status/payment)",
"config": {
"attach_invoice_pdf": false,
"doc_type": "fr-ctc-cdar-flow6",
"validate_cii": false
}
},
{
"id": "d7e2bb70-6fcf-11f1-b09d-79f60b032746",
"name": "Record document for e-invoicing",
"provider": "gov-fr.directory.record"
},
{
"id": "df212200-6fcf-11f1-b09d-79f60b032746",
"name": "Send Peppol document",
"provider": "peppol.send"
},
{
"id": "ee8282c0-6fcf-11f1-b09d-79f60b032746",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `sent`{.state .sent}",
"config": {
"state": "sent"
}
},
{
"id": "e5763a00-6fcf-11f1-b09d-79f60b032746",
"name": "Forward document to PPF",
"provider": "gov-fr.directory.forward"
},
{
"id": "e85b3180-6fcf-11f1-b09d-79f60b032746",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `completed`{.state .completed}",
"config": {
"state": "completed"
}
}
],
"rescue": [
{
"id": "f14dfed0-6fcf-11f1-b09d-79f60b032746",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `error`{.state .error}",
"config": {
"state": "error"
}
}
]
}
Factur-X invoice
Factur-X invoice
{
"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"
}
}
]
}
PA register party
PA register party
{
"name": "PPF register supplier",
"description": "Register a supplier with the French Directory and Peppol",
"schema": "org/party",
"steps": [
{
"id": "0adf46e0-8fdb-11f0-a8fb-61ec9e5a76ba",
"name": "Sign PPF agreement",
"provider": "gov-fr.agreement.sign"
},
{
"id": "0e44b900-8fdb-11f0-a8fb-61ec9e5a76ba",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `processing`{.state .processing}",
"config": {
"state": "processing"
}
},
{
"id": "12aaf950-8fdb-11f0-a8fb-61ec9e5a76ba",
"name": "Wait for PPF agreement upload",
"provider": "gov-fr.agreement.wait.approval"
},
{
"id": "b194f710-5451-11f1-baf5-4f2c2882107f",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `completed`{.state .completed}",
"config": {
"state": "completed"
}
},
{
"id": "d10a4680-1e29-11f1-8bfb-2beaa1df60f0",
"name": "Register party in Directory",
"provider": "gov-fr.directory.register"
},
{
"id": "7a5a4db0-0fae-11f0-b37b-0be1c251a274",
"name": "Register party on Peppol",
"provider": "peppol.register",
"summary": "Enabled · groups: france",
"config": {
"directory": true,
"disable": false,
"doc_groups": [
"france"
],
"visibility": "smp+sml+peppol"
}
},
{
"id": "7c2fa9f0-0fae-11f0-b37b-0be1c251a274",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `registered`{.state .registered}",
"config": {
"state": "registered"
}
}
],
"rescue": [
{
"id": "a34e83f0-25dc-11f0-b641-350e77c28eed",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `error`{.state .error}",
"config": {
"state": "error"
}
}
]
}
PA deregister party
PA deregister party
{
"name": "PPF unregister supplier",
"description": "Unregister a supplier from Peppol and the French Directory",
"schema": "org/party",
"steps": [
{
"id": "453beac0-70a7-11f1-aca9-697108ec55ef",
"name": "Unregister supplier from Peppol",
"provider": "peppol.unregister"
},
{
"id": "13c84e60-5452-11f1-baf5-4f2c2882107f",
"name": "Disable party in Directory",
"provider": "gov-fr.directory.disable"
},
{
"id": "1b8a6b80-5452-11f1-baf5-4f2c2882107f",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `void`{.state .void}",
"config": {
"state": "void"
}
}
],
"rescue": [
{
"id": "23e0d3a0-5452-11f1-baf5-4f2c2882107f",
"name": "Set state",
"provider": "silo.state",
"summary": "Set state to `error`{.state .error}",
"config": {
"state": "error"
}
}
]
}
Supplier
Supplier
{
"$schema": "https://gobl.org/draft-0/org/party",
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
}
PA B2B invoice (domestic)
PA B2B invoice (domestic)
fr-ctc-flow2-v1 add-on drives validation for the PA e-invoicing flow.Notice:- both parties carry a
SIRENidentity withiso-scheme-id0002and apeppolinbox under scheme0225so the workflow can route via Peppol, fr-ctc-billing-modeB7marks this as a standard B2B invoice;untdid-document-type380confirms the commercial invoice type,- the
payment,payment-method, andpayment-termnotes carry the French legal-mention text (penalty clauses, late-payment terms, early-payment discount), each tagged with the appropriate UNTDID 4451 subject code, ordering.coderecords the customer’s purchase order reference.
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"fr-ctc-flow2-v1"
],
"type": "standard",
"series": "FAC",
"code": "2024-00001",
"issue_date": "2024-06-13",
"currency": "EUR",
"tax": {
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Fournisseur Example SARL",
"tax_id": {
"country": "FR",
"code": "732829320"
},
"identities": [
{
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
],
"telephones": [
{
"num": "+33100200300"
}
]
},
"customer": {
"name": "Client Example SAS",
"tax_id": {
"country": "FR",
"code": "356000000"
},
"identities": [
{
"type": "SIREN",
"code": "356000000",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "356000000"
}
],
"addresses": [
{
"num": "456",
"street": "Avenue des Champs-Elysees",
"locality": "Paris",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "comptabilite@client.fr"
}
],
"telephones": [
{
"num": "+33100200400"
}
]
},
"lines": [
{
"quantity": "10",
"item": {
"name": "Services de conseil",
"price": "100.00",
"unit": "h"
},
"discounts": [
{
"percent": "10%",
"reason": "Remise fidelite"
}
],
"taxes": [
{
"cat": "VAT",
"rate": "standard"
}
]
}
],
"ordering": {
"code": "PO-2024-001"
},
"notes": [
{
"key": "payment",
"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "Aucun escompte n'est offert pour paiement anticipe.",
"ext": {
"untdid-text-subject": "AAB"
}
}
],
"payment": {
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur Example SARL"
}
]
},
"terms": {
"detail": "Paiement a 30 jours"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017",
"fr-ctc-flow2-v1"
],
"type": "standard",
"series": "FAC",
"code": "2024-00001",
"issue_date": "2024-06-13",
"currency": "EUR",
"tax": {
"rounding": "currency",
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Fournisseur Example SARL",
"tax_id": {
"country": "FR",
"code": "44732829320"
},
"identities": [
{
"scope": "legal",
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"endpoints": [
{
"uri": "iso6523-actorid-upis::0225:732829320"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
],
"telephones": [
{
"num": "+33100200300"
}
]
},
"customer": {
"name": "Client Example SAS",
"tax_id": {
"country": "FR",
"code": "39356000000"
},
"identities": [
{
"scope": "legal",
"type": "SIREN",
"code": "356000000",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"endpoints": [
{
"uri": "iso6523-actorid-upis::0225:356000000"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "356000000"
}
],
"addresses": [
{
"num": "456",
"street": "Avenue des Champs-Elysees",
"locality": "Paris",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "comptabilite@client.fr"
}
],
"telephones": [
{
"num": "+33100200400"
}
]
},
"lines": [
{
"i": 1,
"quantity": "10",
"item": {
"name": "Services de conseil",
"price": "100.00",
"unit": "h"
},
"sum": "1000.00",
"discounts": [
{
"reason": "Remise fidelite",
"percent": "10%",
"amount": "100.00"
}
],
"taxes": [
{
"cat": "VAT",
"key": "standard",
"rate": "general",
"percent": "20%",
"ext": {
"untdid-tax-category": "S"
}
}
],
"total": "900.00"
}
],
"ordering": {
"code": "PO-2024-001"
},
"payment": {
"terms": {
"notes": "Paiement a 30 jours"
},
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur Example SARL"
}
],
"ext": {
"untdid-payment-means": "30"
}
}
},
"totals": {
"sum": "900.00",
"total": "900.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "standard",
"ext": {
"untdid-tax-category": "S"
},
"base": "900.00",
"percent": "20%",
"amount": "180.00"
}
],
"amount": "180.00"
}
],
"sum": "180.00"
},
"tax": "180.00",
"total_with_tax": "1080.00",
"payable": "1080.00"
},
"notes": [
{
"key": "payment",
"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "Aucun escompte n'est offert pour paiement anticipe.",
"ext": {
"untdid-text-subject": "AAB"
}
}
]
}
PA B2B credit note
PA B2B credit note
preceding array references the original invoice by series, code, and issue date.Notice:typeiscredit-noteanduntdid-document-typeis381(commercial credit note),- the
precedingblock makes the link to the original invoice explicit — required for PA matching at the PPF.
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"fr-ctc-flow2-v1"
],
"type": "credit-note",
"series": "AV",
"code": "2024-001",
"issue_date": "2024-06-20",
"currency": "EUR",
"tax": {
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "381"
}
},
"preceding": [
{
"type": "standard",
"series": "FAC",
"code": "2024-001",
"issue_date": "2024-06-13"
}
],
"supplier": {
"name": "Fournisseur Example SARL",
"tax_id": {
"country": "FR",
"code": "732829320"
},
"identities": [
{
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
]
},
"customer": {
"name": "Client Example SAS",
"tax_id": {
"country": "FR",
"code": "356000000"
},
"identities": [
{
"type": "SIREN",
"code": "356000000",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "356000000"
}
],
"addresses": [
{
"num": "456",
"street": "Avenue des Champs-Elysees",
"locality": "Paris",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "comptabilite@client.fr"
}
]
},
"lines": [
{
"quantity": "2",
"item": {
"name": "Services de conseil - Annulation partielle",
"price": "100.00",
"unit": "h"
},
"taxes": [
{
"cat": "VAT",
"rate": "standard"
}
]
}
],
"notes": [
{
"key": "payment",
"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "Aucun escompte n'est offert pour paiement anticipe.",
"ext": {
"untdid-text-subject": "AAB"
}
}
],
"payment": {
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur Example SARL"
}
]
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017",
"fr-ctc-flow2-v1"
],
"type": "credit-note",
"series": "AV",
"code": "2024-001",
"issue_date": "2024-06-20",
"currency": "EUR",
"preceding": [
{
"type": "standard",
"issue_date": "2024-06-13",
"series": "FAC",
"code": "2024-001"
}
],
"tax": {
"rounding": "currency",
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "381"
}
},
"supplier": {
"name": "Fournisseur Example SARL",
"tax_id": {
"country": "FR",
"code": "44732829320"
},
"identities": [
{
"scope": "legal",
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"endpoints": [
{
"uri": "iso6523-actorid-upis::0225:732829320"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
]
},
"customer": {
"name": "Client Example SAS",
"tax_id": {
"country": "FR",
"code": "39356000000"
},
"identities": [
{
"scope": "legal",
"type": "SIREN",
"code": "356000000",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"endpoints": [
{
"uri": "iso6523-actorid-upis::0225:356000000"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "356000000"
}
],
"addresses": [
{
"num": "456",
"street": "Avenue des Champs-Elysees",
"locality": "Paris",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "comptabilite@client.fr"
}
]
},
"lines": [
{
"i": 1,
"quantity": "2",
"item": {
"name": "Services de conseil - Annulation partielle",
"price": "100.00",
"unit": "h"
},
"sum": "200.00",
"taxes": [
{
"cat": "VAT",
"key": "standard",
"rate": "general",
"percent": "20%",
"ext": {
"untdid-tax-category": "S"
}
}
],
"total": "200.00"
}
],
"payment": {
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur Example SARL"
}
],
"ext": {
"untdid-payment-means": "30"
}
}
},
"totals": {
"sum": "200.00",
"total": "200.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "standard",
"ext": {
"untdid-tax-category": "S"
},
"base": "200.00",
"percent": "20%",
"amount": "40.00"
}
],
"amount": "40.00"
}
],
"sum": "40.00"
},
"tax": "40.00",
"total_with_tax": "240.00",
"payable": "240.00"
},
"notes": [
{
"key": "payment",
"text": "Une penalite fixe de 40 EUR sera appliquee en cas de retard de paiement.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Des penalites de retard s'appliquent conformement a nos conditions generales de vente.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "Aucun escompte n'est offert pour paiement anticipe.",
"ext": {
"untdid-text-subject": "AAB"
}
}
]
}
PA B2B advance payment invoice
PA B2B advance payment invoice
- the
prepaymenttag setsuntdid-document-typeto386(advance payment invoice), - no billing mode is set explicitly: since the invoice covers both a service and a good, the add-on defaults
fr-ctc-billing-modetoM1(advance on a mixed invoice), - the final invoice issued at delivery normally references this advance to net it off the total.
{
"$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"
}
}
}
{
"$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"
}
}
]
}
PA cross-border B2B invoice (FR → DE)
PA cross-border B2B invoice (FR → DE)
- the customer carries a DE tax ID and a generic email inbox rather than a Peppol address,
- the VAT combo uses the
intra-communitykey, which setsuntdid-tax-categoryKautomatically; thecef-vatexVATEX-EU-ICexemption reason marks the intra-community supply, - the
fr-ctc-flow10-v1add-on validates the document for the periodic e-report to the PPF.
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"fr-ctc-flow10-v1"
],
"type": "standard",
"series": "FAC",
"code": "2024-INT-001",
"issue_date": "2024-06-15",
"currency": "EUR",
"tax": {
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Fournisseur France SARL",
"tax_id": {
"country": "FR",
"code": "732829320"
},
"identities": [
{
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
]
},
"customer": {
"name": "Kunde Deutschland GmbH",
"tax_id": {
"country": "DE",
"code": "111111125"
},
"inboxes": [
{
"email": "buchhaltung@kunde.de"
}
],
"addresses": [
{
"num": "10",
"street": "Berliner Strasse",
"locality": "Berlin",
"code": "10117",
"country": "DE"
}
],
"emails": [
{
"addr": "buchhaltung@kunde.de"
}
]
},
"lines": [
{
"quantity": "5",
"item": {
"name": "Consulting services",
"price": "200.00",
"unit": "h"
},
"taxes": [
{
"cat": "VAT",
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC"
}
}
]
}
],
"notes": [
{
"key": "payment",
"text": "A fixed penalty of 40 EUR will apply to any late payment.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Late payment penalties apply as per our general terms of sale.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "No discount offered for early payment.",
"ext": {
"untdid-text-subject": "AAB"
}
}
],
"payment": {
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur France SARL"
}
]
},
"terms": {
"detail": "Payment within 30 days"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"fr-ctc-flow10-v1"
],
"type": "standard",
"series": "FAC",
"code": "2024-INT-001",
"issue_date": "2024-06-15",
"currency": "EUR",
"tax": {
"ext": {
"fr-ctc-billing-mode": "B7",
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Fournisseur France SARL",
"tax_id": {
"country": "FR",
"code": "44732829320"
},
"identities": [
{
"scope": "legal",
"type": "SIREN",
"code": "732829320",
"ext": {
"iso-scheme-id": "0002"
}
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0225",
"code": "732829320"
}
],
"addresses": [
{
"num": "123",
"street": "Rue de la Paix",
"locality": "Paris",
"code": "75001",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@fournisseur.fr"
}
]
},
"customer": {
"name": "Kunde Deutschland GmbH",
"tax_id": {
"country": "DE",
"code": "111111125"
},
"identities": [
{
"scope": "legal",
"code": "DE111111125",
"ext": {
"iso-scheme-id": "0223"
}
}
],
"inboxes": [
{
"email": "buchhaltung@kunde.de"
}
],
"addresses": [
{
"num": "10",
"street": "Berliner Strasse",
"locality": "Berlin",
"code": "10117",
"country": "DE"
}
],
"emails": [
{
"addr": "buchhaltung@kunde.de"
}
]
},
"lines": [
{
"i": 1,
"quantity": "5",
"item": {
"name": "Consulting services",
"price": "200.00",
"unit": "h"
},
"sum": "1000.00",
"taxes": [
{
"cat": "VAT",
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC",
"untdid-tax-category": "K"
}
}
],
"total": "1000.00"
}
],
"payment": {
"terms": {
"notes": "Payment within 30 days"
},
"instructions": {
"key": "credit-transfer",
"credit_transfer": [
{
"iban": "FR7630006000011234567890189",
"name": "Fournisseur France SARL"
}
]
}
},
"totals": {
"sum": "1000.00",
"total": "1000.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC",
"untdid-tax-category": "K"
},
"base": "1000.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "1000.00",
"payable": "1000.00"
},
"notes": [
{
"key": "payment",
"text": "A fixed penalty of 40 EUR will apply to any late payment.",
"ext": {
"untdid-text-subject": "PMT"
}
},
{
"key": "payment-method",
"text": "Late payment penalties apply as per our general terms of sale.",
"ext": {
"untdid-text-subject": "PMD"
}
},
{
"key": "payment-term",
"text": "No discount offered for early payment.",
"ext": {
"untdid-text-subject": "AAB"
}
}
]
}
B2B Standard invoice France
B2B Standard invoice France
- The customer is a registered business (has a tax identification number).
- The transaction amount is €400 VAT included or above, or the customer requires a full invoice.
- The customer needs a complete invoice with all tax details for accounting or tax purposes.
eu-en16931-v2017 addon and ensure the customer field contains valid tax identification details. The addon will automatically set the document type to 380 when the silo entry is built (which happens automatically when saving a silo entry through the API or console).supplier must be previously registered with the tax authority and the customer VAT ID must be valid.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Lyon Industries S.A.S.",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox services",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"rate": "general"
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Lyon Industries S.A.S.",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR66093885154"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox services",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "standard",
"rate": "general",
"percent": "20%",
"ext": {
"untdid-tax-category": "S"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "1740.00",
"total": "1740.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "standard",
"ext": {
"untdid-tax-category": "S"
},
"base": "1740.00",
"percent": "20%",
"amount": "348.00"
}
],
"amount": "348.00"
}
],
"sum": "348.00"
},
"tax": "348.00",
"total_with_tax": "2088.00",
"payable": "2088.00"
}
}
B2B zero rated goods invoice France
B2B zero rated goods invoice France
- Daily and weekly newspapers, as well as periodical publications that meet a specific criteria.
- Recyclable materials such as waste and scrap intended for recycling.
- Educational materials under specific conditions.
zero in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to Z (zero rated goods) when the silo entry is built.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Lyon Industries S.A.S.",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "1",
"item": {
"name": "Le Monde",
"price": "2.00",
"unit": "one"
},
"taxes": [
{
"cat": "VAT",
"key": "zero"
}
],
"total": "2.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Lyon Industries S.A.S.",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR66093885154"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "1",
"item": {
"name": "Le Monde",
"price": "2.00",
"unit": "one"
},
"sum": "2.00",
"taxes": [
{
"cat": "VAT",
"key": "zero",
"percent": "0%",
"ext": {
"untdid-tax-category": "Z"
}
}
],
"total": "2.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "2.00",
"total": "2.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "zero",
"ext": {
"untdid-tax-category": "Z"
},
"base": "2.00",
"percent": "0%",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "2.00",
"payable": "2.00"
}
}
B2B exempt invoice France
B2B exempt invoice France
exempt in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to E when the silo entry is built. You must also state the reason for the exemption through the CET VATEX - VAT exemption reason codes.supplier must be previously registered with the tax authority and the customer tax id must be valid.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$addons": [
"eu-en16931-v2017"
],
"$regime": "FR",
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "École de Langue Française",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"customer": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"lines": [
{
"i": 1,
"quantity": "1",
"item": {
"name": "Cours de Français - Mois",
"price": "120.00",
"unit": "one"
},
"taxes": [
{
"cat": "VAT",
"key": "exempt",
"ext": {
"cef-vatex": "VATEX-EU-132-1I"
}
}
],
"total": "120.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "École de Langue Française",
"tax_id": {
"country": "FR",
"code": "66093885154"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR66093885154"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR66093885154"
}
],
"addresses": [
{
"num": "10",
"street": "Rue de la République",
"locality": "Lyon",
"region": "Auvergne-Rhône-Alpes",
"code": "69001",
"country": "FR"
}
],
"emails": [
{
"addr": "test@example.com"
}
]
},
"customer": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"lines": [
{
"i": 1,
"quantity": "1",
"item": {
"name": "Cours de Français - Mois",
"price": "120.00",
"unit": "one"
},
"sum": "120.00",
"taxes": [
{
"cat": "VAT",
"key": "exempt",
"ext": {
"cef-vatex": "VATEX-EU-132-1I",
"untdid-tax-category": "E"
}
}
],
"total": "120.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "120.00",
"total": "120.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "exempt",
"ext": {
"cef-vatex": "VATEX-EU-132-1I",
"untdid-tax-category": "E"
},
"base": "120.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "120.00",
"payable": "120.00"
}
}
B2B services invoice France → EU customer (Reverse Charge)
B2B services invoice France → EU customer (Reverse Charge)
- The customer is a registered business in another EU member state (has a valid EU VAT ID).
- The service is provided to a business customer (B2B), not a consumer.
- The service is subject to VAT but the customer accounts for the VAT in their own country.
reverse-charge in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to AE (reverse charge) when the silo entry is built.supplier and customer VAT ID must be valid and registered in the EU VIES system.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Invopop SL",
"tax_id": {
"country": "ES",
"code": "B85905495"
},
"inboxes": [
{
"key": "peppol",
"scheme": "9920",
"code": "ESB85905495"
}
],
"addresses": [
{
"street": "Calle Pradillo 42",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox services",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "reverse-charge",
"ext": {
"cef-vatex": "VATEX-EU-AE"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Invopop SL",
"tax_id": {
"country": "ES",
"code": "B85905495"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::9920:ESB85905495"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "9920",
"code": "ESB85905495"
}
],
"addresses": [
{
"street": "Calle Pradillo 42",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox services",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "reverse-charge",
"ext": {
"cef-vatex": "VATEX-EU-AE",
"untdid-tax-category": "AE"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "1740.00",
"total": "1740.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "reverse-charge",
"ext": {
"cef-vatex": "VATEX-EU-AE",
"untdid-tax-category": "AE"
},
"base": "1740.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "1740.00",
"payable": "1740.00"
}
}
B2B goods invoice France → EU customer (Intra-Community)
B2B goods invoice France → EU customer (Intra-Community)
- The customer is a registered business in another EU member state (has a valid EU VAT ID).
- Goods are physically delivered to another EU member state.
- The supply is exempt from VAT in the origin country and subject to VAT in the destination country.
intra-community in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to K (VAT exempt for EEA intra-community supply of goods and services) when the silo entry is built.supplier must be previously registered with the tax authority and the customer VAT ID must be valid and registered in the EU VIES system.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Invopop SL",
"tax_id": {
"country": "ES",
"code": "B85905495"
},
"inboxes": [
{
"key": "peppol",
"scheme": "9920",
"code": "ESB85905495"
}
],
"addresses": [
{
"street": "Calle Pradillo 42",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox product",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Invopop SL",
"tax_id": {
"country": "ES",
"code": "B85905495"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::9920:ESB85905495"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "9920",
"code": "ESB85905495"
}
],
"addresses": [
{
"street": "Calle Pradillo 42",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox product",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC",
"untdid-tax-category": "K"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "1740.00",
"total": "1740.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "intra-community",
"ext": {
"cef-vatex": "VATEX-EU-IC",
"untdid-tax-category": "K"
},
"base": "1740.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "1740.00",
"payable": "1740.00"
}
}
B2B services invoice France → international customer (Outside Scope)
B2B services invoice France → international customer (Outside Scope)
outside-scope in your invoice lines. The eu-en16931-v2017addon will automatically set the UNTDID 5305 tax category to O (Services outside scope of tax) when the silo entry is built.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Singapore Company LTD",
"tax_id": {
"country": "SG",
"code": "199904785Z"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0195",
"code": "SGUEN199904785Z"
}
],
"addresses": [
{
"street": "18 Marina Gardens Drive",
"locality": "Singapore",
"region": "Central Region",
"code": "018953",
"country": "SG"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox service",
"price": "145.00",
"unit": "h"
},
"sum": "145.00",
"taxes": [
{
"cat": "VAT",
"key": "outside-scope",
"ext": {
"cef-vatex": "VATEX-EU-O"
}
}
],
"total": "145.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Singapore Company LTD",
"tax_id": {
"country": "SG",
"code": "199904785Z"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0195:SGUEN199904785Z"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0195",
"code": "SGUEN199904785Z"
}
],
"addresses": [
{
"street": "18 Marina Gardens Drive",
"locality": "Singapore",
"region": "Central Region",
"code": "018953",
"country": "SG"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox service",
"price": "145.00",
"unit": "h"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "outside-scope",
"ext": {
"cef-vatex": "VATEX-EU-O",
"untdid-tax-category": "O"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "1740.00",
"total": "1740.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "outside-scope",
"ext": {
"cef-vatex": "VATEX-EU-O",
"untdid-tax-category": "O"
},
"base": "1740.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "1740.00",
"payable": "1740.00"
}
}
B2B goods invoice France → international customer (Export)
B2B goods invoice France → international customer (Export)
export in your invoice lines. The eu-en16931-v2017 addon will automatically set the UNTDID 5305 tax category to G (Free export item, tax not charged) when the silo entry is built.supplier must be previously registered with the tax authority. Customer tax identification is optional but recommended for record-keeping purposes.{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Singapore Company LTD",
"tax_id": {
"country": "SG",
"code": "199904785Z"
},
"inboxes": [
{
"key": "peppol",
"scheme": "0195",
"code": "SGUEN199904785Z"
}
],
"addresses": [
{
"street": "18 Marina Gardens Drive",
"locality": "Singapore",
"region": "Central Region",
"code": "018953",
"country": "SG"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox product",
"price": "145.00",
"unit": "one"
},
"sum": "145.00",
"taxes": [
{
"cat": "VAT",
"key": "export",
"ext": {
"cef-vatex": "VATEX-EU-G"
}
}
],
"total": "145.00"
}
],
"payment": {
"terms": {
"detail": "Will be paid by 2026-06-02"
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017"
],
"type": "standard",
"series": "INV",
"code": "PP000003",
"issue_date": "2025-04-03",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Marseille Commerce S.A.S.",
"tax_id": {
"country": "FR",
"code": "44257623119"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0088:FR44257623119"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0088",
"code": "FR44257623119"
}
],
"addresses": [
{
"num": "25",
"street": "Avenue des Champs-Élysées",
"locality": "Paris",
"region": "IDF",
"code": "75008",
"country": "FR"
}
],
"emails": [
{
"addr": "facturation@marseillecommerce.fr"
}
]
},
"customer": {
"name": "Singapore Company LTD",
"tax_id": {
"country": "SG",
"code": "199904785Z"
},
"endpoints": [
{
"uri": "iso6523-actorid-upis::0195:SGUEN199904785Z"
}
],
"inboxes": [
{
"key": "peppol",
"scheme": "0195",
"code": "SGUEN199904785Z"
}
],
"addresses": [
{
"street": "18 Marina Gardens Drive",
"locality": "Singapore",
"region": "Central Region",
"code": "018953",
"country": "SG"
}
],
"emails": [
{
"addr": "billing+test@invopop.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "12",
"item": {
"name": "Sambox product",
"price": "145.00",
"unit": "one"
},
"sum": "1740.00",
"taxes": [
{
"cat": "VAT",
"key": "export",
"ext": {
"cef-vatex": "VATEX-EU-G",
"untdid-tax-category": "G"
}
}
],
"total": "1740.00"
}
],
"payment": {
"terms": {
"notes": "Will be paid by 2026-06-02"
}
},
"totals": {
"sum": "1740.00",
"total": "1740.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "export",
"ext": {
"cef-vatex": "VATEX-EU-G",
"untdid-tax-category": "G"
},
"base": "1740.00",
"amount": "0.00"
}
],
"amount": "0.00"
}
],
"sum": "0.00"
},
"tax": "0.00",
"total_with_tax": "1740.00",
"payable": "1740.00"
}
}
Factur-X B2B Invoice
Factur-X B2B Invoice
- the minimal version (
facturx-b2b.min.mdx) contains only the essential fields required to create the invoice, - the
de-zugferd-v2addon is used (as Factur-X and ZUGFeRD share the same technical specification), - both supplier and customer have their SIRET and TVA (VAT) numbers properly specified,
- there are no totals or calculations in the minimal version; all these will be calculated automatically when running
gobl build, - the built version (
facturx-b2b.mdx) shows the normalized document with calculated totals, line item sums, TVA breakdowns, and automatically generated fields, - the invoice will generate both a human-readable PDF and embedded XML following the UN/CEFACT CII standard, and,
- Factur-X is mandatory for B2G transactions in France and widely adopted for B2B transactions.
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017",
"fr-facturx-v1"
],
"type": "standard",
"series": "SAMPLE",
"code": "2345",
"issue_date": "2025-06-18",
"currency": "EUR",
"supplier": {
"name": "Provide One Inc.",
"tax_id": {
"country": "FR",
"code": "43498927917"
},
"identities": [
{
"type": "SIRET",
"code": "49892791768734"
}
],
"addresses": [
{
"num": "42",
"street": "Calle Pradillo",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing@example.com"
}
]
},
"customer": {
"name": "Sample Consumer",
"tax_id": {
"country": "FR",
"code": "39356000000"
},
"identities": [
{
"type": "SIRET",
"code": "35600000012345"
}
],
"addresses": [
{
"num": "1",
"street": "Rue Sundacsakn",
"locality": "Saint-Germain-En-Laye",
"code": "75050",
"country": "FR"
}
],
"emails": [
{
"addr": "email@sample.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "20",
"item": {
"name": "Development services",
"price": "90.00",
"unit": "h"
},
"sum": "1800.00",
"discounts": [
{
"reason": "Special discount",
"percent": "10%",
"amount": "180.00"
}
],
"taxes": [
{
"cat": "VAT",
"key": "standard",
"rate": "general"
}
],
"total": "1620.00"
}
],
"payment": {
"advances": [
{
"description": "Paid in full",
"percent": "100%",
"amount": "1944.00"
}
],
"instructions": {
"key": "card",
"card": {}
}
}
}
{
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "FR",
"$addons": [
"eu-en16931-v2017",
"fr-facturx-v1"
],
"type": "standard",
"series": "SAMPLE",
"code": "2345",
"issue_date": "2025-06-18",
"currency": "EUR",
"tax": {
"ext": {
"untdid-document-type": "380"
}
},
"supplier": {
"name": "Provide One Inc.",
"tax_id": {
"country": "FR",
"code": "43498927917"
},
"identities": [
{
"type": "SIRET",
"code": "49892791768734",
"ext": {
"iso-scheme-id": "0009"
}
}
],
"addresses": [
{
"num": "42",
"street": "Calle Pradillo",
"locality": "Madrid",
"region": "Madrid",
"code": "28002",
"country": "ES"
}
],
"emails": [
{
"addr": "billing@example.com"
}
]
},
"customer": {
"name": "Sample Consumer",
"tax_id": {
"country": "FR",
"code": "39356000000"
},
"identities": [
{
"type": "SIRET",
"code": "35600000012345",
"ext": {
"iso-scheme-id": "0009"
}
}
],
"addresses": [
{
"num": "1",
"street": "Rue Sundacsakn",
"locality": "Saint-Germain-En-Laye",
"code": "75050",
"country": "FR"
}
],
"emails": [
{
"addr": "email@sample.com"
}
]
},
"lines": [
{
"i": 1,
"quantity": "20",
"item": {
"name": "Development services",
"price": "90.00",
"unit": "h"
},
"sum": "1800.00",
"discounts": [
{
"reason": "Special discount",
"percent": "10%",
"amount": "180.00"
}
],
"taxes": [
{
"cat": "VAT",
"key": "standard",
"rate": "general",
"percent": "20%",
"ext": {
"untdid-tax-category": "S"
}
}
],
"total": "1620.00"
}
],
"payment": {
"advances": [
{
"description": "Paid in full",
"percent": "100%",
"amount": "1944.00"
}
],
"instructions": {
"key": "card",
"card": {},
"ext": {
"untdid-payment-means": "48"
}
}
},
"totals": {
"sum": "1620.00",
"total": "1620.00",
"taxes": {
"categories": [
{
"code": "VAT",
"rates": [
{
"key": "standard",
"ext": {
"untdid-tax-category": "S"
},
"base": "1620.00",
"percent": "20%",
"amount": "324.00"
}
],
"amount": "324.00"
}
],
"sum": "324.00"
},
"tax": "324.00",
"total_with_tax": "1944.00",
"payable": "1944.00",
"advance": "1944.00",
"due": "0.00"
}
}
Domestic B2C payment
Domestic B2C payment
(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:typeisreceiptandmethod.keycredit-transferrecords how the money was received,- no
customeris set — domestic B2C payments don’t need counterparty identification, lines[i].documentis omitted on purpose: a line without adocumentreference 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.
{
"$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"
}
{
"$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"
}
International B2B payment
International B2B payment
customeris populated with the foreign counterparty (DE tax ID),lines[i].documentreferences the invoice being settled bycodeandissue_date— this is both howgov-fr.reporting.recordclassifies 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.
{
"$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"
}
{
"$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"
}
🇫🇷 Invopop resources for France
🇫🇷 Invopop resources for France
| Compliance | Compliance timeline |
| Apps | |
| Guides | ChorusPro Guide PA Guide — Registration · Invoicing · Status · Reporting |
| FAQ | France FAQ |
| GOBL | |
| GitHub | gobl.xinvoice |