{"domain":"fr-legal-kit.monnet-yanis1.workers.dev","count":3,"changes":[{"captured_at":"2026-09-07T14:07:24","card_hash":"f6ee0378a3b459e909eda03fed919642eb286335a834ea2d72a993eda815631d","previous_card_hash":"bb6a1eb691f74ec2441831a0cfd90d3ccbbfc36b0a191194fe633aed53b8514a","diff":{"skills_added":[{"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":"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":"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":"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ébours): 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":"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étropole holidays 2026–2027.","tags":["france","delai","francs","CPC642","invoice"],"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":"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":"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"]},{"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"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"added 10 skills"}},{"captured_at":"2026-09-07T07:35:14","card_hash":"bb6a1eb691f74ec2441831a0cfd90d3ccbbfc36b0a191194fe633aed53b8514a","previous_card_hash":"077b5e5e02433543150bf77df2fb7b2288d9cc6ba5733f51e8f82d2335880cf1","diff":{"skills_added":[{"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":"alsace-holidays","name":"/v1/alsace-holidays","description":"Alsace-Moselle extra public holidays (Good Friday + St Stephen) plus the combined 2026–2027 calendar. In addition to L.3133-1 metropolitan days.","tags":["france","alsace","moselle","jours-feries","calendar"],"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":"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":"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":"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":"capital-social","name":"/v1/capital-social","description":"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 only, not a Kbis.","tags":["france","invoice","capital","sas","sarl","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énérales 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":"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":"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":"date-fr","name":"/v1/date-fr","description":"French invoice date format: YYYY-MM-DD → JJ/MM/AAAA, weekday, long form, collable 'Date de facture : …'. L441-9 emission date.","tags":["france","invoice","date","L441-9"],"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":"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":"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 → 'Facture n° …'.","tags":["france","invoice","cgi-289","honoraires","devis"],"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":"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":"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":"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":"escompte","name":"/v1/escompte","description":"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 jours.'","tags":["france","invoice","escompte","L441-10","L441-9"],"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":"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 € unique threshold was abandoned. Not a tax ruling.","tags":["france","tva","293B","franchise","invoice"],"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 → expiry.","tags":["france","conso","garantie","L217-21","invoice"],"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 → expiry.","tags":["france","conso","garantie","L217-3","invoice"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"ht-ttc","name":"/v1/ht-ttc","description":"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.","tags":["france","tva","invoice","ht","ttc"],"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":"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":"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":"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":"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":"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":"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":"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":"net-a-payer","name":"/v1/net-a-payer","description":"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.","tags":["france","invoice","tva","ttc","net-a-payer"],"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–2027). Optional Alsace-Moselle extras.","tags":["france","calendar","jours-ouvres","jours-feries"],"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":"payment-means","name":"/v1/payment-means","description":"French invoice means-of-payment mention (L441-9): virement, chèque, CB, espèces, prélèvement, LCR. Default virement. Collable string.","tags":["france","invoice","payment","virement","L441-9"],"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 € indemnity). No amount required. Default MRO 2.40% H2 2026.","tags":["france","invoice","L441-10","mentions","penalties"],"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 → 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":"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":"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":"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":"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":"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":"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":"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":"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":"siege-social","name":"/v1/siege-social","description":"French siège 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":"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":"unit","name":"/v1/unit","description":"French invoice line unit of measure (L441-9): heure, jour, mois, forfait, unité, kg, m². Optional qty with plural. Format only.","tags":["france","invoice","unite","quantite","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"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[],"other_changed":false,"is_empty":false,"human_summary":"added 50 skills"}},{"captured_at":"2026-09-07T01:06:47","card_hash":"077b5e5e02433543150bf77df2fb7b2288d9cc6ba5733f51e8f82d2335880cf1","previous_card_hash":null,"diff":{"skills_added":[{"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":"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":"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–2027. No live calendar fetch.","tags":["france","invoice","due-date","jours-feries"],"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":"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":"late-penalties","name":"/v1/late-penalties","description":"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.","tags":["france","invoice","L441-10","penalties","legal"],"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":"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"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"fr-legal-kit"},{"field":"description","before":null,"after":"French legal kit for agents: e-invoice obligation calendar (Sep 2026 reform), L441-10 penalties, SIRET/IBAN checksums. Paid x402 USDC on Base."},{"field":"version","before":null,"after":"1.0.0"},{"field":"protocolVersion","before":null,"after":"0.3.0"},{"field":"url","before":null,"after":"https://fr-legal-kit.monnet-yanis1.workers.dev/a2a"}],"other_changed":true,"is_empty":false,"human_summary":"added 8 skills · name ∅ → fr-legal-kit · description ∅ → French legal kit for agents: e-invoice o · version ∅ → 1.0.0 · protocolVersion ∅ → 0.3.0 · url ∅ → https://fr-legal-kit.monnet-yanis1.worke"}}]}