fr-legal-kit
fr-legal-kit.monnet-yanis1.workers.dev
· Yanis Monnet EI
French legal kit for agents: e-invoice obligation calendar (Sep 2026 reform), L441-10 penalties, SIRET/IBAN checksums. Paid x402 USDC on Base.
fr-legal-kit.monnet-yanis1.workers.dev via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
C
Conformance score: 66/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://fr-legal-kit.monnet-yanis1.workers.dev/.well-known/agent-card.json |
| Provider | https://fr-legal-kit.monnet-yanis1.workers.dev |
Skills · 68 declared · mapped to canonical taxonomy
French L441-10 late-payment: BCE MRO+10pts interest + 40€ indemnity (D.441-5) from amount_ttc and days_late. Default MRO 2.40% (H2 2026, ECB). No live BCE fetch…
French e-invoice calendar: who must receive (2026-09-01 all) vs emit (GE/ETI 2026, PME/micro 2027). Size in, dates out. No registry lookup.
SIRET/SIREN checksum (Luhn / La Poste). Does not call INSEE.
IBAN ISO 13616 checksum. Does not prove the account exists.
French invoice due date: invoice_date + net_days (calendar). Also next_open_day skipping weekends + L.3133-1 holidays 2026–2027. No live calendar fetch.
Indicative FR VAT rate table: standard 20 / intermediate 10 / reduced 5.5 / super_reduced 2.1 / exempt. Not a tax ruling.
French metropolitan public holidays for 2026 or 2027 (C. trav. L.3133-1). Optional Alsace-Moselle extras. No live fetch.
Statutory ceiling on agreed FR B2B payment terms: 60 days after invoice issue, or 45 days end-of-month if stipulated (L441-10 I). Not a recommended term.
Checklist of French invoice/quote legal mention fields (L441-9, L441-10, 293 B). JSON in, list of required ids out. No lookup.
French intra-community VAT identifier from SIREN: FR + 2-digit key + SIREN. Key = (12 + 3*(siren%97))%97 (CGI 286 ter). Not a VIES proof.
Statutory L441-10 / D.441-5 invoice mention strings (rate BCE MRO+10 pts + 40 € indemnity). No amount required. Default MRO 2.40% H2 2026.
CGI 293 B franchise-en-base 2026 thresholds (services 37 500/41 250, goods 85 000/93 500) plus the statutory invoice mention. 25 000 € unique threshold was aban…
Suggested FR B2B dunning calendar after the due date (J+1 / J+8 / J+15). L441-10 penalties accrue without a reminder. Usage, not a statutory timetable.
Inclusive count of French metropolitan open days between two dates (skip Sat/Sun + L.3133-1 holidays 2026–2027). Optional Alsace-Moselle extras.
French invoice numbering helper (C. com. L441-9): unique chronological sequence, no gaps. Returns next number from last_number plus the statutory rules.
French amount in words for invoices (douze euros et quarante centimes). Traditional hyphenation. Not a statutory mention.
Alsace-Moselle extra public holidays (Good Friday + St Stephen) plus the combined 2026–2027 calendar. In addition to L.3133-1 metropolitan days.
French 45-days-end-of-month due date (L441-10 I derogation). Statutory reading: 45 days after month-end of the invoice. Alternate usage: +45 then EOM. Must be s…
French HT ↔ TTC using CGI indicative rates (20 / 10 / 5.5 / 2.1 / 0). Pass exactly one of amount_ht or amount_ttc. Not a tax ruling.
Calendar days late from due_date to as_of (L441-10 periods are calendar). Also accepts invoice_date + net_days. Feed days_late into /v1/late-penalties.
Split a French SIRET into SIREN + NIC, checksum both (Luhn / La Poste), and compute the CGI 286 ter VAT key. No INSEE lookup.
French quote (devis) validity calendar. Default 30 days from quote_date. Commercial usage, not L441-9. Returns expiry and a collable mention.
French APE/NAF rev.2 format check: 4 digits + 1 letter (62.01Z). No INSEE lookup of the label.
French 5-digit postcode: department prefix (Corsica 2A/2B, overseas 97x). No address lookup. Flags Alsace-Moselle 57/67/68.
Extra French invoice mentions by legal form (EI/micro vs SARL/SAS/SA/SCI): EI quality, 293 B, capital, RCS. On top of /v1/mention-fields.
French IBAN structure: 27 chars, bank/branch/account/RIB key, plus ISO 13616 checksum. Does not prove the account exists.
French credit note (avoir): next number in a dedicated AV- sequence, collable CGI 289 mention referencing the original invoice, optional HT/TTC reversal. Does n…
French phone format (ARCEP numbering plan): 10-digit national or +33/0033 → E.164, grouped mention, kind mobile/geo/voip/overseas. No subscriber lookup.
French share-capital invoice mention for sociétés (SAS/SARL/SA/SCI): 'au capital de 1 000,00 €', optional variable capital. EI/micro have no capital. Format onl…
French RCS invoice mention: 'RCS Pau 404 833 048' from greffe city + SIREN/SIRET. Format only, not a Kbis lookup.
French invoice currency: EUR is legal tender. Foreign ISO 4217 (USD/GBP/CHF/CAD/JPY) allowed; VAT is expressed in euros. Offline subset, no FX rate.
French invoice early-payment discount mention (L441-9 / L441-10): collable 'Pas d'escompte pour paiement anticipé.' or 'Escompte de X % pour paiement sous N jou…
French down-payment (acompte) invoice: next AC- number, 30% default or explicit %, remaining TTC, collable CGI 289 mention. Own L441-9 sequence.
French invoice date format: YYYY-MM-DD → JJ/MM/AAAA, weekday, long form, collable 'Date de facture : …'. L441-9 emission date.
French invoice means-of-payment mention (L441-9): virement, chèque, CB, espèces, prélèvement, LCR. Default virement. Collable string.
L441-10: calendar day late-payment interest starts (the day after the due date), without a reminder. Accepts due_date or invoice_date + net_days.
French siège social invoice mention (L441-9): street + postcode + city, department prefix, Alsace-Moselle flag. Format only, not a Kbis.
French invoice footer: HT / VAT / TTC plus collable 'Net à payer : 1 200,00 €'. Same CGI rates as /v1/ht-ttc. Pass exactly one of amount_ht or amount_ttc.
CGI 289 document title: Facture, Avoir, Facture d'acompte, Note d'honoraires (still an invoice), or Devis (not L441-9). Optional number → 'Facture n° …'.
French reverse-charge VAT mention (autoliquidation): intra-EU CGI 283, construction 283-2 nonies, or import. Invoice shows HT; VAT due by the customer.
French EORI format: FR + SIREN (legal entity). From a SIRET also returns FR+SIRET establishment form. Format only, no customs lookup.
French invoice duplicata: same original number stamped DUPLICATA. Not a new L441-9 number and not a credit note. Collable 'Ne pas comptabiliser une seconde fois…
French artisan RM invoice mention: 'RM Pau 404 833 048' from city + SIREN/SIRET. Format only. RNE replaced RM for new filings in 2023; invoice usage still shows…
French invoice buyer identification (L441-9): client name + optional SIRET/SIREN + city. B2C may omit SIRET. Format only.
French invoice line unit of measure (L441-9): heure, jour, mois, forfait, unité, kg, m². Optional qty with plural. Format only.
French CGV invoice mention (C. com. L441-6): 'Nos conditions générales de vente s'appliquent.' Optional URL. A mention does not replace prior communication to t…
French retention-of-title invoice clause (C. com. L.624-16): goods remain the seller's until full payment. Not for pure services.
French legal warranty of conformity (C. conso L.217-3): 2 years from delivery for consumer goods. Does not apply to professional buyers. Optional delivery_date …
French consumer mediator mention (C. conso L.612-1). Required for B2C. Pass name + url of the designated mediator. Does not apply to professional buyers.
French invoice date of supply (CGI 289 / 242 nonies A): delivery or service execution vs invoice date. Distinct dates get an explicit mention.
French invoice line (L441-9): designation + optional quantity/unit + unit price HT. Format only, no line-total math.
French multi-page invoice footer: Page X/Y. Sequential pages of one invoice (L441-9 numbering is the invoice number, not the page).
French 14-day consumer withdrawal (C. conso L.221-18 / L.221-19). Services: from contract date. Goods: from delivery. Does not apply to professional buyers.
French invoice retention: 10 years commercial (C. com. L123-22) and 6 years tax (LPF L102 B) from the invoice date.
French limitation period for an unpaid invoice: 5 years B2B (C. com. L110-4) or 2 years against a consumer (C. conso L.218-2), from the due date.
French commercial warranty mention (C. conso L.217-21), distinct from the 2-year legal warranty. Optional months + delivery_date → expiry.
French VAT exemption mention: extra-EU export CGI 262 I, or intra-EU supply CGI 262 ter I. Distinct from reverse-charge /v1/autoliquidation.
French pro forma header: this document is not an invoice (CGI 289). Optional number.
French jours francs (C. proc. civ. 642): start day excluded; Saturday/Sunday/holiday rolls to the next open day. Métropole holidays 2026–2027.
French contractual penalty clause (C. civ. 1231-5). Optional amount. Distinct from statutory L441-10 late-payment.
French invoice billing period for continuous services (CGI 289): from + to dates as a collable mention.
French self-billing stamp (CGI 289): the word Autofacturation on each invoice. Optional seller name. Prior agreement is the buyer's problem.
French invoice personal-data footer: RGPD art. 6.1.b/c legal bases + 10-year keep (C. com. L123-22). Optional controller name.
French invoice language mention: Toubon 94-665 for B2C in France; B2B defaults to French for tax control.
French invoice purchase-order reference (number + optional date). Usage for identifying the operation (L441-9).
French disbursements (débours): paid in the client's name, out of the VAT base (CGI 267). Optional amount + label.
French arrhes (C. civ. 1590), distinct from acompte: buyer forfeits, seller returns double. Requires amount_eur.
Calendar prorata of a monthly HT amount over an inclusive from/to window (days / days in the start month).
Health · last 7 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/fr-legal-kit.monnet-yanis1.workers.dev) [](https://agenstry.com/agents/fr-legal-kit.monnet-yanis1.workers.dev) [](https://agenstry.com/agents/fr-legal-kit.monnet-yanis1.workers.dev) [](https://agenstry.com/agents/fr-legal-kit.monnet-yanis1.workers.dev)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"protocolVersion": "0.3.0",
"name": "fr-legal-kit",
"description": "French legal kit for agents: e-invoice obligation calendar (Sep 2026 reform), L441-10 penalties, SIRET/IBAN checksums. Paid x402 USDC on Base.",
"url": "https://fr-legal-kit.monnet-yanis1.workers.dev/a2a",
"version": "1.0.0",
"provider": {
"organization": "Yanis Monnet EI",
"url": "https://fr-legal-kit.monnet-yanis1.workers.dev"
},
"capabilities": {
"streaming": false,
"pushNotifications": false
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "late-penalties",
"name": "/v1/late-penalties",
"description": "French L441-10 late-payment: BCE MRO+10pts interest + 40\u20ac indemnity (D.441-5) from amount_ttc and days_late. Default MRO 2.40% (H2 2026, ECB). No live BCE fetch.",
"tags": [
"france",
"invoice",
"L441-10",
"penalties",
"legal"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "einvoice-who",
"name": "/v1/einvoice-who",
"description": "French e-invoice calendar: who must receive (2026-09-01 all) vs emit (GE/ETI 2026, PME/micro 2027). Size in, dates out. No registry lookup.",
"tags": [
"france",
"e-invoice",
"facture-electronique",
"pdp",
"2026"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "check-siret",
"name": "/v1/check-siret",
"description": "SIRET/SIREN checksum (Luhn / La Poste). Does not call INSEE.",
"tags": [
"france",
"siret",
"luhn",
"checksum"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "check-iban",
"name": "/v1/check-iban",
"description": "IBAN ISO 13616 checksum. Does not prove the account exists.",
"tags": [
"iban",
"checksum",
"payments"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "due-date",
"name": "/v1/due-date",
"description": "French invoice due date: invoice_date + net_days (calendar). Also next_open_day skipping weekends + L.3133-1 holidays 2026\u20132027. No live calendar fetch.",
"tags": [
"france",
"invoice",
"due-date",
"jours-feries"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "tva-rate",
"name": "/v1/tva-rate",
"description": "Indicative FR VAT rate table: standard 20 / intermediate 10 / reduced 5.5 / super_reduced 2.1 / exempt. Not a tax ruling.",
"tags": [
"france",
"tva",
"vat",
"cgi"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "holidays",
"name": "/v1/holidays",
"description": "French metropolitan public holidays for 2026 or 2027 (C. trav. L.3133-1). Optional Alsace-Moselle extras. No live fetch.",
"tags": [
"france",
"jours-feries",
"calendar",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "payment-term-max",
"name": "/v1/payment-term-max",
"description": "Statutory ceiling on agreed FR B2B payment terms: 60 days after invoice issue, or 45 days end-of-month if stipulated (L441-10 I). Not a recommended term.",
"tags": [
"france",
"invoice",
"L441-10",
"payment-terms"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "mention-fields",
"name": "/v1/mention-fields",
"description": "Checklist of French invoice/quote legal mention fields (L441-9, L441-10, 293 B). JSON in, list of required ids out. No lookup.",
"tags": [
"france",
"invoice",
"mentions",
"293B",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "vat-key",
"name": "/v1/vat-key",
"description": "French intra-community VAT identifier from SIREN: FR + 2-digit key + SIREN. Key = (12 + 3*(siren%97))%97 (CGI 286 ter). Not a VIES proof.",
"tags": [
"france",
"tva",
"vat",
"siren",
"286ter"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "penalty-text",
"name": "/v1/penalty-text",
"description": "Statutory L441-10 / D.441-5 invoice mention strings (rate BCE MRO+10 pts + 40 \u20ac indemnity). No amount required. Default MRO 2.40% H2 2026.",
"tags": [
"france",
"invoice",
"L441-10",
"mentions",
"penalties"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "franchise-293b",
"name": "/v1/franchise-293b",
"description": "CGI 293 B franchise-en-base 2026 thresholds (services 37 500/41 250, goods 85 000/93 500) plus the statutory invoice mention. 25 000 \u20ac unique threshold was abandoned. Not a tax ruling.",
"tags": [
"france",
"tva",
"293B",
"franchise",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "dunning-steps",
"name": "/v1/dunning-steps",
"description": "Suggested FR B2B dunning calendar after the due date (J+1 / J+8 / J+15). L441-10 penalties accrue without a reminder. Usage, not a statutory timetable.",
"tags": [
"france",
"invoice",
"dunning",
"relance",
"L441-10"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "open-days",
"name": "/v1/open-days",
"description": "Inclusive count of French metropolitan open days between two dates (skip Sat/Sun + L.3133-1 holidays 2026\u20132027). Optional Alsace-Moselle extras.",
"tags": [
"france",
"calendar",
"jours-ouvres",
"jours-feries"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "invoice-numbering",
"name": "/v1/invoice-numbering",
"description": "French invoice numbering helper (C. com. L441-9): unique chronological sequence, no gaps. Returns next number from last_number plus the statutory rules.",
"tags": [
"france",
"invoice",
"L441-9",
"numbering"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "amount-words",
"name": "/v1/amount-words",
"description": "French amount in words for invoices (douze euros et quarante centimes). Traditional hyphenation. Not a statutory mention.",
"tags": [
"france",
"invoice",
"montant",
"lettres"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "alsace-holidays",
"name": "/v1/alsace-holidays",
"description": "Alsace-Moselle extra public holidays (Good Friday + St Stephen) plus the combined 2026\u20132027 calendar. In addition to L.3133-1 metropolitan days.",
"tags": [
"france",
"alsace",
"moselle",
"jours-feries",
"calendar"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "due-date-eom",
"name": "/v1/due-date-eom",
"description": "French 45-days-end-of-month due date (L441-10 I derogation). Statutory reading: 45 days after month-end of the invoice. Alternate usage: +45 then EOM. Must be stipulated.",
"tags": [
"france",
"invoice",
"L441-10",
"due-date",
"fin-de-mois"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "ht-ttc",
"name": "/v1/ht-ttc",
"description": "French HT \u2194 TTC using CGI indicative rates (20 / 10 / 5.5 / 2.1 / 0). Pass exactly one of amount_ht or amount_ttc. Not a tax ruling.",
"tags": [
"france",
"tva",
"invoice",
"ht",
"ttc"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "days-late",
"name": "/v1/days-late",
"description": "Calendar days late from due_date to as_of (L441-10 periods are calendar). Also accepts invoice_date + net_days. Feed days_late into /v1/late-penalties.",
"tags": [
"france",
"invoice",
"L441-10",
"late",
"calendar"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "siren-from-siret",
"name": "/v1/siren-from-siret",
"description": "Split a French SIRET into SIREN + NIC, checksum both (Luhn / La Poste), and compute the CGI 286 ter VAT key. No INSEE lookup.",
"tags": [
"france",
"siret",
"siren",
"vat",
"checksum"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "quote-validity",
"name": "/v1/quote-validity",
"description": "French quote (devis) validity calendar. Default 30 days from quote_date. Commercial usage, not L441-9. Returns expiry and a collable mention.",
"tags": [
"france",
"devis",
"quote",
"validity"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "ape-naf",
"name": "/v1/ape-naf",
"description": "French APE/NAF rev.2 format check: 4 digits + 1 letter (62.01Z). No INSEE lookup of the label.",
"tags": [
"france",
"ape",
"naf",
"invoice",
"checksum"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "postcode-fr",
"name": "/v1/postcode-fr",
"description": "French 5-digit postcode: department prefix (Corsica 2A/2B, overseas 97x). No address lookup. Flags Alsace-Moselle 57/67/68.",
"tags": [
"france",
"postcode",
"invoice",
"address"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "legal-form",
"name": "/v1/legal-form",
"description": "Extra French invoice mentions by legal form (EI/micro vs SARL/SAS/SA/SCI): EI quality, 293 B, capital, RCS. On top of /v1/mention-fields.",
"tags": [
"france",
"invoice",
"mentions",
"ei",
"sas",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "iban-fr",
"name": "/v1/iban-fr",
"description": "French IBAN structure: 27 chars, bank/branch/account/RIB key, plus ISO 13616 checksum. Does not prove the account exists.",
"tags": [
"france",
"iban",
"payments",
"rib"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "credit-note",
"name": "/v1/credit-note",
"description": "French credit note (avoir): next number in a dedicated AV- sequence, collable CGI 289 mention referencing the original invoice, optional HT/TTC reversal. Does not reuse the cancelled invoice number (L441-9).",
"tags": [
"france",
"invoice",
"avoir",
"credit-note",
"L441-9",
"CGI-289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "phone-fr",
"name": "/v1/phone-fr",
"description": "French phone format (ARCEP numbering plan): 10-digit national or +33/0033 \u2192 E.164, grouped mention, kind mobile/geo/voip/overseas. No subscriber lookup.",
"tags": [
"france",
"phone",
"invoice",
"e164",
"arcep"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "capital-social",
"name": "/v1/capital-social",
"description": "French share-capital invoice mention for soci\u00e9t\u00e9s (SAS/SARL/SA/SCI): 'au capital de 1 000,00 \u20ac', optional variable capital. EI/micro have no capital. Format only, not a Kbis.",
"tags": [
"france",
"invoice",
"capital",
"sas",
"sarl",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "rcs-mention",
"name": "/v1/rcs-mention",
"description": "French RCS invoice mention: 'RCS Pau 404 833 048' from greffe city + SIREN/SIRET. Format only, not a Kbis lookup.",
"tags": [
"france",
"invoice",
"rcs",
"greffe",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "invoice-currency",
"name": "/v1/invoice-currency",
"description": "French invoice currency: EUR is legal tender. Foreign ISO 4217 (USD/GBP/CHF/CAD/JPY) allowed; VAT is expressed in euros. Offline subset, no FX rate.",
"tags": [
"france",
"invoice",
"currency",
"eur",
"tva"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "escompte",
"name": "/v1/escompte",
"description": "French invoice early-payment discount mention (L441-9 / L441-10): collable 'Pas d'escompte pour paiement anticip\u00e9.' or 'Escompte de X % pour paiement sous N jours.'",
"tags": [
"france",
"invoice",
"escompte",
"L441-10",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "acompte",
"name": "/v1/acompte",
"description": "French down-payment (acompte) invoice: next AC- number, 30% default or explicit %, remaining TTC, collable CGI 289 mention. Own L441-9 sequence.",
"tags": [
"france",
"invoice",
"acompte",
"L441-9",
"CGI-289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "date-fr",
"name": "/v1/date-fr",
"description": "French invoice date format: YYYY-MM-DD \u2192 JJ/MM/AAAA, weekday, long form, collable 'Date de facture : \u2026'. L441-9 emission date.",
"tags": [
"france",
"invoice",
"date",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "payment-means",
"name": "/v1/payment-means",
"description": "French invoice means-of-payment mention (L441-9): virement, ch\u00e8que, CB, esp\u00e8ces, pr\u00e9l\u00e8vement, LCR. Default virement. Collable string.",
"tags": [
"france",
"invoice",
"payment",
"virement",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "interest-start",
"name": "/v1/interest-start",
"description": "L441-10: calendar day late-payment interest starts (the day after the due date), without a reminder. Accepts due_date or invoice_date + net_days.",
"tags": [
"france",
"invoice",
"L441-10",
"penalties",
"due-date"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "siege-social",
"name": "/v1/siege-social",
"description": "French si\u00e8ge social invoice mention (L441-9): street + postcode + city, department prefix, Alsace-Moselle flag. Format only, not a Kbis.",
"tags": [
"france",
"invoice",
"adresse",
"siege",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "net-a-payer",
"name": "/v1/net-a-payer",
"description": "French invoice footer: HT / VAT / TTC plus collable 'Net \u00e0 payer : 1 200,00 \u20ac'. Same CGI rates as /v1/ht-ttc. Pass exactly one of amount_ht or amount_ttc.",
"tags": [
"france",
"invoice",
"tva",
"ttc",
"net-a-payer"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "doc-title",
"name": "/v1/doc-title",
"description": "CGI 289 document title: Facture, Avoir, Facture d'acompte, Note d'honoraires (still an invoice), or Devis (not L441-9). Optional number \u2192 'Facture n\u00b0 \u2026'.",
"tags": [
"france",
"invoice",
"cgi-289",
"honoraires",
"devis"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "autoliquidation",
"name": "/v1/autoliquidation",
"description": "French reverse-charge VAT mention (autoliquidation): intra-EU CGI 283, construction 283-2 nonies, or import. Invoice shows HT; VAT due by the customer.",
"tags": [
"france",
"tva",
"autoliquidation",
"cgi-283",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "eori",
"name": "/v1/eori",
"description": "French EORI format: FR + SIREN (legal entity). From a SIRET also returns FR+SIRET establishment form. Format only, no customs lookup.",
"tags": [
"france",
"eori",
"customs",
"siren",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "duplicata",
"name": "/v1/duplicata",
"description": "French invoice duplicata: same original number stamped DUPLICATA. Not a new L441-9 number and not a credit note. Collable 'Ne pas comptabiliser une seconde fois.'",
"tags": [
"france",
"invoice",
"duplicata",
"L441-9",
"CGI-289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "rm-mention",
"name": "/v1/rm-mention",
"description": "French artisan RM invoice mention: 'RM Pau 404 833 048' from city + SIREN/SIRET. Format only. RNE replaced RM for new filings in 2023; invoice usage still shows RM.",
"tags": [
"france",
"invoice",
"rm",
"artisan",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "buyer",
"name": "/v1/buyer",
"description": "French invoice buyer identification (L441-9): client name + optional SIRET/SIREN + city. B2C may omit SIRET. Format only.",
"tags": [
"france",
"invoice",
"client",
"siret",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "unit",
"name": "/v1/unit",
"description": "French invoice line unit of measure (L441-9): heure, jour, mois, forfait, unit\u00e9, kg, m\u00b2. Optional qty with plural. Format only.",
"tags": [
"france",
"invoice",
"unite",
"quantite",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "cgv",
"name": "/v1/cgv",
"description": "French CGV invoice mention (C. com. L441-6): 'Nos conditions g\u00e9n\u00e9rales de vente s'appliquent.' Optional URL. A mention does not replace prior communication to the professional buyer.",
"tags": [
"france",
"invoice",
"cgv",
"L441-6"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "reserve-propriete",
"name": "/v1/reserve-propriete",
"description": "French retention-of-title invoice clause (C. com. L.624-16): goods remain the seller's until full payment. Not for pure services.",
"tags": [
"france",
"invoice",
"reserve-propriete",
"L624-16"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "garantie-legale",
"name": "/v1/garantie-legale",
"description": "French legal warranty of conformity (C. conso L.217-3): 2 years from delivery for consumer goods. Does not apply to professional buyers. Optional delivery_date \u2192 expiry.",
"tags": [
"france",
"conso",
"garantie",
"L217-3",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "mediateur",
"name": "/v1/mediateur",
"description": "French consumer mediator mention (C. conso L.612-1). Required for B2C. Pass name + url of the designated mediator. Does not apply to professional buyers.",
"tags": [
"france",
"conso",
"mediateur",
"L612-1",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "delivery",
"name": "/v1/delivery",
"description": "French invoice date of supply (CGI 289 / 242 nonies A): delivery or service execution vs invoice date. Distinct dates get an explicit mention.",
"tags": [
"france",
"invoice",
"livraison",
"CGI289",
"242-nonies-A"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "line",
"name": "/v1/line",
"description": "French invoice line (L441-9): designation + optional quantity/unit + unit price HT. Format only, no line-total math.",
"tags": [
"france",
"invoice",
"line",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "page",
"name": "/v1/page",
"description": "French multi-page invoice footer: Page X/Y. Sequential pages of one invoice (L441-9 numbering is the invoice number, not the page).",
"tags": [
"france",
"invoice",
"page",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "retractation",
"name": "/v1/retractation",
"description": "French 14-day consumer withdrawal (C. conso L.221-18 / L.221-19). Services: from contract date. Goods: from delivery. Does not apply to professional buyers.",
"tags": [
"france",
"conso",
"retractation",
"L221-18",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "conservation",
"name": "/v1/conservation",
"description": "French invoice retention: 10 years commercial (C. com. L123-22) and 6 years tax (LPF L102 B) from the invoice date.",
"tags": [
"france",
"invoice",
"conservation",
"L123-22",
"archive"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "prescription",
"name": "/v1/prescription",
"description": "French limitation period for an unpaid invoice: 5 years B2B (C. com. L110-4) or 2 years against a consumer (C. conso L.218-2), from the due date.",
"tags": [
"france",
"invoice",
"prescription",
"L110-4",
"L218-2"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "garantie-commerciale",
"name": "/v1/garantie-commerciale",
"description": "French commercial warranty mention (C. conso L.217-21), distinct from the 2-year legal warranty. Optional months + delivery_date \u2192 expiry.",
"tags": [
"france",
"conso",
"garantie",
"L217-21",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "export",
"name": "/v1/export",
"description": "French VAT exemption mention: extra-EU export CGI 262 I, or intra-EU supply CGI 262 ter I. Distinct from reverse-charge /v1/autoliquidation.",
"tags": [
"france",
"tva",
"export",
"CGI262",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "proforma",
"name": "/v1/proforma",
"description": "French pro forma header: this document is not an invoice (CGI 289). Optional number.",
"tags": [
"france",
"invoice",
"proforma",
"CGI289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "jours-francs",
"name": "/v1/jours-francs",
"description": "French jours francs (C. proc. civ. 642): start day excluded; Saturday/Sunday/holiday rolls to the next open day. M\u00e9tropole holidays 2026\u20132027.",
"tags": [
"france",
"delai",
"francs",
"CPC642",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "clause-penale",
"name": "/v1/clause-penale",
"description": "French contractual penalty clause (C. civ. 1231-5). Optional amount. Distinct from statutory L441-10 late-payment.",
"tags": [
"france",
"contrat",
"penale",
"1231-5",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "periode",
"name": "/v1/periode",
"description": "French invoice billing period for continuous services (CGI 289): from + to dates as a collable mention.",
"tags": [
"france",
"invoice",
"periode",
"CGI289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "autofacturation",
"name": "/v1/autofacturation",
"description": "French self-billing stamp (CGI 289): the word Autofacturation on each invoice. Optional seller name. Prior agreement is the buyer's problem.",
"tags": [
"france",
"invoice",
"autofacturation",
"CGI289"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "rgpd",
"name": "/v1/rgpd",
"description": "French invoice personal-data footer: RGPD art. 6.1.b/c legal bases + 10-year keep (C. com. L123-22). Optional controller name.",
"tags": [
"france",
"rgpd",
"invoice",
"privacy"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "langue",
"name": "/v1/langue",
"description": "French invoice language mention: Toubon 94-665 for B2C in France; B2B defaults to French for tax control.",
"tags": [
"france",
"langue",
"toubon",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "commande",
"name": "/v1/commande",
"description": "French invoice purchase-order reference (number + optional date). Usage for identifying the operation (L441-9).",
"tags": [
"france",
"invoice",
"commande",
"L441-9"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "debours",
"name": "/v1/debours",
"description": "French disbursements (d\u00e9bours): paid in the client's name, out of the VAT base (CGI 267). Optional amount + label.",
"tags": [
"france",
"tva",
"debours",
"CGI267",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "arrhes",
"name": "/v1/arrhes",
"description": "French arrhes (C. civ. 1590), distinct from acompte: buyer forfeits, seller returns double. Requires amount_eur.",
"tags": [
"france",
"contrat",
"arrhes",
"1590",
"invoice"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "prorata",
"name": "/v1/prorata",
"description": "Calendar prorata of a monthly HT amount over an inclusive from/to window (days / days in the start month).",
"tags": [
"france",
"invoice",
"prorata",
"calendar"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
]
}