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
3.2 KiB
id, title, status, decided, effective_from, effective_until, supersedes, superseded_by
| id | title | status | decided | effective_from | effective_until | supersedes | superseded_by |
|---|---|---|---|---|---|---|---|
| adc-001 | KM client invoices under autoliquidation - art. 259-1° CGI (no French VAT, box E2) | Accepted | 2026-07-18 | 2026-01-01 | null | null | null |
adc-001 — KM client invoices under autoliquidation — art. 259-1° CGI
Accepted as formalization of practice in force "since the first invoice" (PRD compliance › ADC seed table). The operator's sanity read is the erp#54 human gate; amendments before the PR merges are edits to a draft — immutability starts at merge on main.
Context
KissMetrics (US) is the sole client: B2B services exported outside the EU. The first client invoice forced the VAT position — charge French VAT, or treat the supply as outside French VAT scope.
Decision
B2B services supplied to a non-EU taxable customer are outside French VAT scope (place of supply = where the customer is established). Therefore: TVA collectée = 0 on every KM invoice; each invoice carries the autoliquidation mention referencing art. 259-1° CGI; the basis reports in box E2 of the CA3/CA12. Applied to 100 % of client revenue today.
Base légale & doctrine
- CGI art. 259-1° — place of supply of B2B services is where the preneur assujetti is established.
- CA3 box E2 mapping per the T10 mode opératoire (PRD task-inventory § T10 step 1: "box E2 export — today 100 % of client revenue is box E2 autoliquidation Art. 259-1°, collectée = 0").
- Invoice mention checked structurally by the
dolibarr-invoice-auditskill ("TVA 259-1° CGI"). - Expert-comptable confirmation pending — on the PRD compliance.md § Questions list (PAF documentation expectations for the export invoices).
Alternatives rejected
- Charging French VAT — wrong place-of-supply analysis for extra-EU B2B services; would create undue TVA collectée.
- Franchise en base — would renounce the right to deduct while the company runs a structural VAT credit (all revenue exported, FR expenses carrying 20 % VAT).
Consequences
- Structural TVA credit while KM is the sole client (collectée 0 vs déductible
on FR supplier invoices) — surfaced in
fiscal.yamlvat_position. - Downstream rule:
fiscal.yamlclient-export-autoliquidation. - E-invoicing: these export invoices stay OUT of domestic e-invoicing scope but ENTER e-reporting on 2027-09-01 (PRD compliance.md § Obligations, PAF row; roadmap § Milestones) — the PAF stays load-bearing for them.
- Annexe: the VAT method is disclosed from this record at close (ADC rule 3).
QA & validation
dolibarr-tva-reconciliationclassifies every KM invoice in bucket E2 (autoliquidation, collectée = 0) — in production.dolibarr-invoice-auditverifies the invoice mention per invoice.- Expert-comptable review: pending (PRD compliance.md § Questions).
References
- PRD compliance.md § ADC seed table (adc-001) + § Obligations (PAF row).
- PRD task-inventory.md § T05 step 2, § T10 step 1.
fiscal.yamlruleclient-export-autoliquidation.- erp#54 (this register's seeding issue).