Card snapshot
fr-legal-kit.monnet-yanis1.workers.dev
·
2026-09-07 14:07:24 UTC
·
f6ee0378a3b459e909eda03fed919642eb286335a834ea2d72a993eda815631d
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"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"
]
}
]
}