fleet/profile/ goes from stub to the machine-readable business-rules surface the fleet reads (PRD agent-catalog document surface + compliance ADC framework): - fiscal.yaml — entity, VAT position, 8 rules (regime reel simplifie until 2026-12-31 -> quarterly CA3 from 2027-01-01 per LF 2025 art. 38; KM export autoliquidation 259-1 CGI box E2; FR 20% deductible; intra-EU reverse charge; FX 766/666; SaaS expensed; CCA 455 lane). Every rule carries effective_from/effective_until AND decision: adc-NNN; every date cites its PRD anchor as an inline comment (verified against factory origin/main). - calendar.yaml — 15 entries: acomptes TVA (2026-07 month-window, 2026-12-15), last CA12 FY-2026 (2027-05-04), CA3 quarterly windows, CFE (December), AG comptes annuels (2027-06-30), e-invoicing milestones (2026-09-01 reception, 2027-09-01 emission/e-reporting), URSSAF echeancier with the in-file NOTE that a real direct debit exists since May 2026 (erp#57 revisit of the payroll-dormant assumption), KM deferred due dates + renewal stub. - JSON Schemas for both + scripts/validate.py (stdlib-only: strict YAML-subset parser, JSON-Schema-subset checker, rule->ADC resolution, calendar checks). - decisions/ — ADC register: template + adc-001..005 Accepted formalizations (autoliquidation KM, FX->766/666, SaaS expensed, reel simplifie until abolition, CCA personal-card lane) + adc-006/007 Proposed stubs (retainer currency -> erp#53; capital path -> erp#51). Agents draft, the operator Accepts — never the reverse; immutable once merged, supersede never edit. - Mutation policy in-file: PRs only (T12 proposes, human merges). - Same-change: profile README stub -> real doc; fleet/README.md layout line and AGENTS.md fleet row updated (profile no longer a stub). Validation: PASS — 8 rules, 15 entries, 7 ADCs, 0 errors, 7 warnings (the warnings list exactly what awaits operator verification). Human gate left open on purpose: operator sanity-read of the calendar + Acceptance of adc-001..005. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VRShc4QhLLU73FLHx9vskh
199 lines
11 KiB
YAML
199 lines
11 KiB
YAML
# ============================================================================
|
|
# fleet/profile/calendar.yaml — Arcodange compliance calendar (machine-readable, T11)
|
|
# ============================================================================
|
|
# The dated obligations the T11 reminder loop (erp#60) reads; maintained in git
|
|
# and "reviewed like code" (PRD task-inventory § T11 guardrail).
|
|
#
|
|
# PRD root: https://gitea.arcodange.lab/arcodange-org/factory/src/branch/main/vibe/PRD/ai-back-office
|
|
# All "PRD <leaf> § <anchor>" comments below were verified against the factory
|
|
# repo at origin/main on 2026-07-18.
|
|
#
|
|
# MUTATION POLICY — same as fiscal.yaml: changes arrive as PRs ONLY (T12
|
|
# regulatory watch proposes, a human merges); calendar entries proposed from
|
|
# mail content are confirmed by a human (PRD task-inventory § T11 step 4: mail
|
|
# is untrusted input). No agent edits this file directly.
|
|
#
|
|
# DATE PRECISION — due "YYYY-MM-DD" = exact date; "YYYY-MM" = month window:
|
|
# the source gives no day — verify on the authority's own notice (avis
|
|
# d'acompte, espace pro), NEVER invent one.
|
|
#
|
|
# Schema: calendar.schema.json — validate with: python3 scripts/validate.py
|
|
# ============================================================================
|
|
|
|
version: 1
|
|
|
|
defaults:
|
|
reminders_days_before: [30, 7, 1] # PRD task-inventory § T11 step 2 — "reminders at D-30/D-7/D-1 via Telegram"; the reminder LOOP itself is erp#60, not this file
|
|
reminders_repeat_until_acknowledged: true # PRD task-inventory § T11 guardrail — "reminders repeat until acknowledged - silence is never treated as done"
|
|
|
|
entries:
|
|
|
|
# --- TVA, réel simplifié era (until 2026-12-31) ---------------------------
|
|
|
|
- id: "tva-acompte-2026-07"
|
|
title: "Acompte de TVA de juillet 2026 (réel simplifié)"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "estimated"
|
|
due: "2026-07" # PRD task-inventory.md § T10 trigger — "acompte July 2026"; month only — the exact day is on the avis d'acompte (NOT in the PRD)
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD task-inventory.md § T10 trigger"
|
|
notes: "Expected approx 0 EUR while in TVA credit - verify on impots.gouv.fr, never assume (PRD T10). First year: no prior CA12 to base an acompte on. A DGFiP mail of 2026-06-25 announced this acompte (agent memory arcodange-tva-fiscal - not a PRD leaf)."
|
|
|
|
- id: "tva-acompte-2026-12"
|
|
title: "Acompte de TVA de décembre 2026 (réel simplifié)"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "confirmed"
|
|
due: "2026-12-15" # PRD roadmap.md § Milestones — "2026-12-15 | Acompte TVA de décembre (≈ 0 € expected — verify) | fiscal — hard"
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD roadmap.md § Milestones + README.md § regulatory table (2026-12 row)"
|
|
notes: "POC-4a dry-run scheduled 2026-11-30 → 2026-12-11 (PRD roadmap Gantt, e2) - the first euro-parity proof. Expected approx 0 EUR while in credit - verify, never assume."
|
|
|
|
- id: "tva-ca12-fy2026"
|
|
title: "CA12 FY-2026 (form 3517) - the LAST CA12, recovers the TVA credit"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "confirmed"
|
|
due: "2027-05-04" # PRD roadmap.md § Milestones — "2027-05-04 | CA12 FY-2026 filed (TVA credit recovery) | fiscal — hard (early-May window)"
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD roadmap.md § Milestones + task-inventory.md § T10 trigger ('CA12 for FY 2026 ~May 2027')"
|
|
notes: "Last CA12 ever: the regime is abolished 2027-01-01 (fiscal.yaml vat-regime-ca3-quarterly, adc-004). Recovery point for the cumulated TVA credit, including pre-creation deductible VAT. Prep window 2027-04-19 → 2027-05-03 (PRD roadmap Gantt, e5)."
|
|
|
|
# --- TVA, CA3 era (from 2027-01-01) ---------------------------------------
|
|
|
|
- id: "regime-simplifie-abolition"
|
|
title: "Régime réel simplifié abolished → quarterly CA3 regime starts"
|
|
category: "regulatory"
|
|
nature: "regulatory-hard"
|
|
status: "confirmed"
|
|
due: "2027-01-01" # PRD roadmap.md § Milestones — "2027-01-01 | Régime simplifié abolished → quarterly CA3 | regulatory — hard"
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD roadmap.md § Milestones; LF 2025 art. 38 per task-inventory.md § T10 trigger"
|
|
notes: "Regime switch, not a filing. From here fiscal.yaml rule vat-regime-ca3-quarterly is in force (decision adc-004)."
|
|
|
|
- id: "ca3-2027-q1"
|
|
title: "First real CA3 (2027-Q1) filing"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "confirmed"
|
|
due: "2027-04-20" # PRD roadmap.md § Milestones — "2027-04-20 | First real CA3 (2027-Q1) filed | fiscal — hard (April window)"
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD roadmap.md § Milestones + Gantt (e4: prepare 2027-04-01 → 2027-04-16)"
|
|
notes: "Preceded by POC-4b Q1 simulation + expert-comptable checkpoint 2027-01-11 → 2027-02-26 (PRD roadmap Gantt, e3): the expert checkpoint sits BEFORE the first real quarterly filing."
|
|
|
|
- id: "ca3-quarterly"
|
|
title: "CA3 quarterly filing windows (April / July / October / January)"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "estimated"
|
|
recurrence: "quarterly"
|
|
months: [4, 7, 10, 1] # windows per erp#54 deliverable text; only the April window is PRD-anchored (roadmap § Milestones, 2027-04-20)
|
|
effective_from: "2027-01-01" # first covered quarter; first filing lands in the April 2027 window
|
|
effective_until: null
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "erp#54 deliverable ('CA3 quarterly windows April/July/Oct/Jan'); April window corroborated by PRD roadmap.md § Milestones"
|
|
notes: "The July/October/January windows and each quarter's exact deadline are NOT corroborated by a PRD leaf - verify each on the espace pro before relying on a day."
|
|
|
|
# --- Other fiscal ---------------------------------------------------------
|
|
|
|
- id: "cfe-annual"
|
|
title: "CFE (cotisation foncière des entreprises) - December"
|
|
category: "fiscal"
|
|
nature: "fiscal-hard"
|
|
status: "estimated"
|
|
recurrence: "yearly"
|
|
months: [12] # PRD task-inventory.md § T11 step 1 — "CFE (cotisation foncière des entreprises, December)"; no day in the PRD
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD task-inventory.md § T11 step 1"
|
|
notes: "Exact day not in the PRD (statutorily mid-December - verify on the avis). NOT corroborated by the PRD and to verify with the SIE: whether the creation-year (2026) is exonerated and whether an initial declaration (1447-C) is due before 2026-12-31."
|
|
|
|
- id: "is-installments"
|
|
title: "IS installments (once profitable)"
|
|
category: "fiscal"
|
|
status: "conditional"
|
|
recurrence: "unknown"
|
|
authority: "DGFiP"
|
|
related_task: "T10"
|
|
source: "PRD task-inventory.md § T11 step 1 — 'IS installments (once profitable)'"
|
|
notes: "Dormant until the first profitable exercice; dates get defined (via PR) when the condition triggers."
|
|
|
|
# --- Legal ----------------------------------------------------------------
|
|
|
|
- id: "ag-comptes-annuels-fy2026"
|
|
title: "AG - approval of the FY-2026 annual accounts"
|
|
category: "legal"
|
|
nature: "legal-hard"
|
|
status: "confirmed"
|
|
due: "2027-06-30" # PRD roadmap.md § Milestones — "2027-06-30 | AG — FY-2026 accounts approved | legal — hard"
|
|
authority: "Greffe / AG"
|
|
source: "PRD roadmap.md § Milestones + task-inventory.md § T11 step 1 ('within 6 months of FY close → June 2027 for FY 2026')"
|
|
notes: "The annexe's règles et méthodes section is generated from the ADC register - records Accepted and in force during the exercice (PRD compliance.md § ADC, rule 3)."
|
|
|
|
# --- E-invoicing milestones -----------------------------------------------
|
|
|
|
- id: "einvoicing-reception"
|
|
title: "E-invoice reception mandatory (all companies)"
|
|
category: "regulatory"
|
|
nature: "regulatory-hard"
|
|
status: "confirmed"
|
|
due: "2026-09-01" # PRD roadmap.md § Milestones — "2026-09-01 | E-invoice reception mandatory | regulatory — hard"
|
|
authority: "DGFiP"
|
|
source: "PRD roadmap.md § Milestones + README.md § regulatory table"
|
|
notes: "PA (plateforme agréée) leaning Qonto - decision D4, ADR due 2026-08-14 with a fallback window to 2026-08-28 (PRD roadmap Gantt, P2). Reception must be wired and verified BEFORE this date."
|
|
|
|
- id: "einvoicing-emission-ereporting"
|
|
title: "E-invoice emission + e-reporting mandatory (PME)"
|
|
category: "regulatory"
|
|
nature: "regulatory-hard"
|
|
status: "confirmed"
|
|
due: "2027-09-01" # PRD roadmap.md § Milestones — "2027-09-01 | E-reporting + emission mandatory (PME) | regulatory — hard"
|
|
authority: "DGFiP"
|
|
source: "PRD roadmap.md § Milestones + README.md § regulatory table"
|
|
notes: "Covers e-reporting of the KM export invoices (PRD README § three dated regulatory obligations; task-inventory § T05 step 5). P6 pipeline work starts 2027-05-03 (roadmap Gantt, f1)."
|
|
|
|
# --- Social (URSSAF) ------------------------------------------------------
|
|
|
|
- id: "urssaf-echeancier"
|
|
title: "URSSAF échéancier (cotisations - nature to clarify)"
|
|
category: "social"
|
|
status: "pending-definition"
|
|
recurrence: "unknown"
|
|
authority: "URSSAF"
|
|
source: "erp#54 deliverable + erp#57 (2026-05-22 direct debit evidence)"
|
|
notes: "NOTE - a real URSSAF direct debit exists since May 2026 (2026-05-22, 493.00 EUR, target account 6451 - erp#57): the PRD's 'URSSAF/DSN payroll declarations (dormant until first salary)' assumption (task-inventory § T11 step 1) needs revisiting. [HUMAN] clarification of what these cotisations are (president? CFP?) is tracked in erp#57. Do not fire payroll/DSN reminders until clarified; do not invent a cadence."
|
|
|
|
# --- Contract-driven (KissMetrics) ----------------------------------------
|
|
|
|
- id: "km-fac005-due"
|
|
title: "KM invoice FAC005 due (deferred schedule)"
|
|
category: "receivable"
|
|
status: "confirmed"
|
|
due: "2026-08-23" # PRD task-inventory.md § Backlog, 'Contract lifecycle' — "FAC005/FAC007 validated, due 2026-08-23 & 2026-09-23"
|
|
related_task: "T06"
|
|
source: "PRD task-inventory.md § Backlog — deferred schedule 'now IN the ERP'; rides this calendar per the same bullet ('#54/#60')"
|
|
notes: "Receivable watch input for T06 dunning - cross-check against the contracted deferred cycle, not naive due dates."
|
|
|
|
- id: "km-fac007-due"
|
|
title: "KM invoice FAC007 due (deferred schedule)"
|
|
category: "receivable"
|
|
status: "confirmed"
|
|
due: "2026-09-23" # PRD task-inventory.md § Backlog, 'Contract lifecycle' — "FAC005/FAC007 validated, due 2026-08-23 & 2026-09-23"
|
|
related_task: "T06"
|
|
source: "PRD task-inventory.md § Backlog — deferred schedule 'now IN the ERP'; rides this calendar per the same bullet ('#54/#60')"
|
|
notes: "Receivable watch input for T06 dunning - cross-check against the contracted deferred cycle, not naive due dates."
|
|
|
|
- id: "km-contract-renewal-4pct-window"
|
|
title: "KM contract renewal + 4 %-window obligation (dates TBD)"
|
|
category: "contract"
|
|
status: "pending-definition"
|
|
source: "PRD task-inventory.md § Backlog, 'Contract lifecycle' — 'renewal reminders + the 4 %-window obligation ride the compliance calendar (#54/#60)'"
|
|
notes: "Exact dates and terms land with the contract objects (erp#65 phase 2 / erp#67). Do not invent dates - this stub only reserves the slot the PRD points at this calendar."
|