Files
erp/fleet/profile/decisions/adc-002-fx-deltas-766-666.md
T
arcodangeandClaude Fable 5 a482bb18c4 feat(fleet): fiscal profile + compliance calendar + ADC register (erp#54, T11 data)
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
2026-07-18 23:45:00 +02:00

2.9 KiB
Raw Blame History

id, title, status, decided, effective_from, effective_until, supersedes, superseded_by
id title status decided effective_from effective_until supersedes superseded_by
adc-002 FX deltas on customer wires booked to 766 / 666, invoices never adjusted Accepted 2026-07-18 2026-01-01 null null null

adc-002 — FX deltas on customer wires → 766 / 666

Accepted as formalization — the method was applied in the 2026-07-11 books regularization (PRD compliance ADC seed table). Effective from the exercice start (ADC rule 1: effective dates sit on exercice boundaries where possible). Operator sanity read = erp#54 human gate.

Context

KissMetrics pays in USD via Wise; the EUR amounts settled differ from the EUR invoice totals. Observed deltas: +1.08 EUR on FAC004 and +50.05 EUR on FAC006 (erp#57). The 2026-07-11 regularization forced the choice of where the delta lives.

Decision

The customer payment is recorded at the invoice's remaining EUR amount (full-remaining), so the invoice closes exactly. The difference against the EUR actually received is booked separately: gain → account 766 (gains de change), loss → account 666 (pertes de change). A validated invoice is never adjusted for FX.

Base légale & doctrine

  • PCG chart — account 666 pertes de change / account 766 gains de change (charges et produits financiers).
  • Inaltérabilité of validated entries (Code de commerce L.123-22; PRD compliance.md § The ledger grammar): corrections are new documents, never edits — the separate 766/666 entry is the append-shaped correction.

Alternatives rejected

  • Adjusting the invoice amount to the settled EUR — violates the ledger grammar (a validated document is immutable) and inaltérabilité.
  • USD multicurrency invoicing — open question, not rejected: it is the subject of adc-006 (erp#53). If Accepted, adc-006 would supersede or narrow this record's scope for future invoices.

Consequences

  • Accounts touched: 766, 766-side produits / 666-side charges financiers.
  • Downstream rule: fiscal.yaml fx-deltas-766-666.
  • Annexe: FX-treatment method disclosed from this record at close.
  • Interaction: pending adc-006 (retainer currency) may change where FX lives for future invoices; until then this method applies unchanged.

QA & validation

  • Applied in the 2026-07-11 regularization; rehearsed on the sandbox (replay pack preserved under .claude/skills/dolibarr-sandbox-write/replay-packs/2026-07-11-books-regularization/).
  • The two écart entries themselves are [HUMAN] UI work tracked in erp#57.
  • Expert-comptable review: pending (rides the compliance.md § Questions list).

References

  • PRD compliance.md § ADC seed table (adc-002) + § The ledger grammar.
  • erp#57 (écarts +1.08 FAC004 / +50.05 FAC006), erp#53 / adc-006.
  • fiscal.yaml rule fx-deltas-766-666.