fix(write-skill): la garde de chronologie ne vise que les factures émises #95

Merged
arcodange merged 1 commits from arcodange/chronology-fac-only into main 2026-08-17 15:15:29 +02:00
Owner

L'article 289 impose une numérotation chronologique et continue aux factures que la société émet. Il ne dit rien de la référence de classement que Dolibarr attribue à celles qu'elle reçoit : pour ces dernières, le numéro qui fait foi est celui du fournisseur, porté par ref_supplier, et la séquence FAF suit l'ordre d'enregistrement — c'est sa construction normale, pas un défaut.

Le faux positif, mesuré

Registre Ruptures de chronologie en production
FAF — factures reçues 5, dont FAF2026003 (4 janvier) après FAF2026002 (9 janvier)
FAC — factures émises 0

Or adc-008 prescrit d'enregistrer une facture fournisseur à la date du document. Le cas ordinaire se heurtait donc au refus et exigeait ARCO_ALLOW_BACKDATE.

Une garde qu'on outrepasse par routine ne garde plus rien. Elle avait déjà été outrepassée deux fois en une journée sur les factures Anthropic, et le juge pré-gate avait produit le même faux positif sur le change-set d'indemnité — deux mécanismes indépendants arrivant à la même conclusion erronée, signe que l'erreur était dans la règle et non dans son application.

Vérification sur les deux registres

facture FOURNISSEUR antidatée au 01/03  ->  créée (id 32)
facture CLIENT      antidatée au 01/03  ->  REFUSÉE (FAC008 déjà émise au 23/07)

La garde protège désormais là où la loi s'applique, et cesse d'obstruer là où elle ne s'applique pas.

Note

Le test A laisse un brouillon (PROV32) de 1 € dans le bac à sable. Aucun scope n'accorde DELETE — il partira au prochain checkpoint refresh.

🤖 Generated with Claude Code

L'article 289 impose une numérotation chronologique et continue aux factures que la société **émet**. Il ne dit rien de la référence de classement que Dolibarr attribue à celles qu'elle **reçoit** : pour ces dernières, le numéro qui fait foi est celui du fournisseur, porté par `ref_supplier`, et la séquence `FAF` suit l'ordre d'**enregistrement** — c'est sa construction normale, pas un défaut. ## Le faux positif, mesuré | Registre | Ruptures de chronologie en production | |---|---| | `FAF` — factures **reçues** | **5**, dont FAF2026003 (4 janvier) après FAF2026002 (9 janvier) | | `FAC` — factures **émises** | **0** | Or `adc-008` prescrit d'enregistrer une facture fournisseur **à la date du document**. Le cas ordinaire se heurtait donc au refus et exigeait `ARCO_ALLOW_BACKDATE`. **Une garde qu'on outrepasse par routine ne garde plus rien.** Elle avait déjà été outrepassée deux fois en une journée sur les factures Anthropic, et le **juge pré-gate avait produit le même faux positif** sur le change-set d'indemnité — deux mécanismes indépendants arrivant à la même conclusion erronée, signe que l'erreur était dans la règle et non dans son application. ## Vérification sur les deux registres ``` facture FOURNISSEUR antidatée au 01/03 -> créée (id 32) facture CLIENT antidatée au 01/03 -> REFUSÉE (FAC008 déjà émise au 23/07) ``` La garde protège désormais là où la loi s'applique, et cesse d'obstruer là où elle ne s'applique pas. ## Note Le test A laisse un brouillon `(PROV32)` de 1 € dans le bac à sable. Aucun scope n'accorde DELETE — il partira au prochain `checkpoint refresh`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-08-17 15:15:20 +02:00
L'article 289 impose une numérotation chronologique et continue aux factures que
la société ÉMET. Il ne dit rien de la référence de classement que Dolibarr
attribue à celles qu'elle REÇOIT : le numéro qui fait foi pour ces dernières est
celui du fournisseur, porté par ref_supplier, et la séquence FAF suit l'ordre
d'ENREGISTREMENT — c'est sa construction normale, pas un défaut.

Appliquée aux deux registres, la garde produisait un faux positif systématique.
La production porte DÉJÀ cinq ruptures dans la séquence FAF — FAF2026003 daté du
4 janvier suit FAF2026002 daté du 9 — et ZÉRO dans la séquence FAC. Or adc-008
prescrit d'enregistrer une facture fournisseur à la date du document : le cas
ordinaire se heurtait donc au refus et exigeait ARCO_ALLOW_BACKDATE.

Une garde qu'on outrepasse par routine ne garde plus rien. Elle avait déjà été
outrepassée deux fois en une journée sur les factures Anthropic, et le même faux
positif avait été produit par le juge pré-gate sur le change-set d'indemnité —
signe que l'erreur était dans la règle, pas dans son application.

Vérifié sur les deux registres :
  facture FOURNISSEUR antidatée au 01/03  -> créée
  facture CLIENT      antidatée au 01/03  -> REFUSÉE (FAC008 au 23/07)

La garde protège désormais là où la loi s'applique, et cesse d'obstruer là où
elle ne s'applique pas.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
arcodange merged commit a8b27d2996 into main 2026-08-17 15:15:29 +02:00
arcodange deleted branch arcodange/chronology-fac-only 2026-08-17 15:15:29 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/erp#95