Files
erp/fleet/harness/runs/2026-08-24-clause-bilingue/changeset.json
T
arcodangeandClaude Opus 5 5607e2af86 feat(erp): cycle M4 KissMetrics, comblement des écarts bancaires, clause de pénalités rétablie
Deux passages gated en production, et l'outil qui manquait pour clore le dossier
client.

CYCLE M4 (2026-08-24-m4-et-ecarts). Cinq opérations : le tiers Anthropic PBC —
entité américaine, distincte d'Anthropic Ireland Limited — et sa facture de
90 EUR réglée le 19/07 ; le règlement Darnis de 262,20 EUR ; les deux factures
du cycle M4 (part fixe 2 500 USD → 2 140,45 EUR échéance 22/09, part différée
3 000 USD → 2 568,54 EUR échéance 23/11). Les trois écarts bancaires relevés
sont comblés ; Qonto tombe à 3 806,08 EUR.

Le juge pré-gate a bloqué : le règlement Darnis du 14/08 précède la facture
datée du 31/08. C'est un fait bancaire, pas une erreur de saisie — Darnis
facture en fin de mois — et adc-008 avait EXPRESSÉMENT prévu ce blocage et
autorisé le passage outre tracé. L'art. 289 du CGI qu'invoque le juge régit la
numérotation des factures ÉMISES, non l'ordre entre un paiement et sa facture ;
c'est la troisième fois de la session qu'il l'étend hors de son champ.

CLAUSE DE PÉNALITÉS (2026-08-24-clause-bilingue). Les factures M4 sont sorties
avec une clause AMPUTÉE : sans la traduction anglaise, sans la mention « Ces
stipulations sont des minima légaux d'ordre public auxquels il ne peut être
renoncé ». Détecté par le contrôle des mentions obligatoires sur les PDF —
avant tout envoi. La note publique est rétablie dans sa rédaction de référence,
à droit constant : aucun montant, aucune date, aucune ligne touchés.

Deux raisons de corriger plutôt que de laisser courir. La permanence des
méthodes (PCG art. 121-5, adc-011) : une clause légale identique doit être
rédigée identiquement, sans quoi la variation se lit comme une intention. Et le
fond : le destinataire est américain, c'est la version anglaise qui lui rend la
clause opposable en fait — et c'est sur elle que s'appuie la relance.

Le juge a bloqué là aussi, en supposant que la référence portait « ce montant ».
Il ne l'avait pas vérifié, et son propre residual risk demandait de le faire.
Vérification faite et consignée (02b-preuve-reference.txt) : FAC005 à FAC008
portent toutes « ce forfait », et la clause proposée leur est identique au
caractère près — 1283 car. Le finding était inversé.

test/buildInvoicePdf.ts. Valider une facture par l'API ne produit AUCUN PDF : le
fichier n'existe que si quelqu'un l'a demandé. `PUT /documents/builddoc` le
ferait mais répond 403 — ce droit n'est accordé à aucun scope agent. Le script
emprunte donc l'interface, puis relit le fichier par l'API : on ne croit pas la
page de retour, on vérifie que le PDF est déposé et lisible par un tiers.

Les deux juges post-gate passent sans dérive.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-24 13:12:34 +02:00

40 lines
5.3 KiB
JSON

{
"title": "Rétablir sur les factures M4 la clause de pénalités DANS SA RÉDACTION DE RÉFÉRENCE — bilingue, avec la mention d'ordre public",
"rationale": "Les factures FAC009 et FAC010, créées ce jour, portent une clause de pénalités AMPUTÉE par rapport à celle des factures FAC005 à FAC008 : la traduction anglaise a disparu, ainsi que la phrase « Ces stipulations sont des minima légaux d'ordre public auxquels il ne peut être renoncé ». Deux raisons de corriger avant tout envoi. D'abord la PERMANENCE DES MÉTHODES (PCG art. 121-5, adc-011) : une clause légale identique doit être rédigée identiquement d'une facture à l'autre, sans quoi la variation se lit comme une intention. Ensuite le fond : le destinataire est américain, et c'est la version anglaise qui lui rend la clause opposable en fait. Aucun montant, aucune date, aucune ligne n'est touché — seule la note publique, à droit constant.",
"observe": [
"/invoices/19",
"/invoices/20"
],
"ops": [
{
"label": "FAC009-CL0001009 — note publique : clause de pénalités rétablie (bilingue)",
"api": {
"method": "PUT",
"path": "/invoices/19",
"body": {
"note_public": "PART FIXE DU CYCLE M4 — engagement de conseil convenu entre les parties, en vigueur depuis le 23/04/2026.\nMontant contractuel : 2 500,00 USD, réglé en euros au taux de référence EUR/USD du jour du paiement. Conversion indicative à l'émission : 1 EUR = 1,16798 USD le 24/08/2026, soit 2 140,45 €. Le montant effectivement dû en euros sera arrêté au taux du jour du règlement.\nPériode d'exécution : 23/07/2026 au 23/08/2026. Conditions de règlement : net 30 — échéance 22/09/2026.\nPÉNALITÉS DE RETARD — En cas de retard de paiement, sont automatiquement dues, sans rappel préalable : (i) des pénalités de retard calculées au taux d'intérêt appliqué par la Banque centrale européenne à son opération de refinancement la plus récente, majoré de 10 points de pourcentage (art. L.441-10 II du Code de commerce) — soit 12,15 % l'an au 1er semestre 2026 et 12,40 % l'an au 2e semestre 2026 ; (ii) une indemnité forfaitaire pour frais de recouvrement de quarante euros (40 €) par facture impayée (art. L.441-10 III du Code de commerce et décret n° 2012-1115) ; (iii) une indemnisation complémentaire sur justification documentée lorsque les frais de recouvrement exposés sont supérieurs à ce forfait. Aucun escompte n'est accordé en cas de paiement anticipé. Ces stipulations sont des minima légaux d'ordre public auxquels il ne peut être renoncé. / LATE PAYMENT — automatically due without prior reminder: (i) interest at the ECB refinancing rate plus 10 percentage points (Art. L.441-10 II French Commercial Code) — 12.15 % p.a. in H1 2026, 12.40 % p.a. in H2 2026; (ii) a fixed recovery indemnity of forty euros (€40) per unpaid invoice (Art. L.441-10 III and Decree no. 2012-1115); (iii) further indemnification on documented justification. No early-payment discount."
}
}
},
{
"label": "FAC010-CL0001010 — note publique : clause de pénalités rétablie (bilingue)",
"api": {
"method": "PUT",
"path": "/invoices/20",
"body": {
"note_public": "PART DIFFÉRÉE DU CYCLE M4 — contrat cadre du 23/04/2026 (art. 6) et son avenant (art. 2 et 4).\nMontant contractuel : 3 000,00 USD, réglé en euros au taux de référence EUR/USD du jour du paiement. Conversion indicative à l'émission : 1 EUR = 1,16798 USD le 24/08/2026, soit 2 568,54 €. Le montant effectivement dû en euros sera arrêté au taux du jour du règlement.\nÉmise le 23/08/2026 pour une échéance au 23/11/2026 : le différé de trois mois est une modalité de PRIX convenue au contrat, non un délai de paiement accordé après facturation — l'art. L.441-10 I n'est donc pas en cause.\nPériode d'exécution : 23/07/2026 au 23/08/2026.\nPÉNALITÉS DE RETARD — En cas de retard de paiement, sont automatiquement dues, sans rappel préalable : (i) des pénalités de retard calculées au taux d'intérêt appliqué par la Banque centrale européenne à son opération de refinancement la plus récente, majoré de 10 points de pourcentage (art. L.441-10 II du Code de commerce) — soit 12,15 % l'an au 1er semestre 2026 et 12,40 % l'an au 2e semestre 2026 ; (ii) une indemnité forfaitaire pour frais de recouvrement de quarante euros (40 €) par facture impayée (art. L.441-10 III du Code de commerce et décret n° 2012-1115) ; (iii) une indemnisation complémentaire sur justification documentée lorsque les frais de recouvrement exposés sont supérieurs à ce forfait. Aucun escompte n'est accordé en cas de paiement anticipé. Ces stipulations sont des minima légaux d'ordre public auxquels il ne peut être renoncé. / LATE PAYMENT — automatically due without prior reminder: (i) interest at the ECB refinancing rate plus 10 percentage points (Art. L.441-10 II French Commercial Code) — 12.15 % p.a. in H1 2026, 12.40 % p.a. in H2 2026; (ii) a fixed recovery indemnity of forty euros (€40) per unpaid invoice (Art. L.441-10 III and Decree no. 2012-1115); (iii) further indemnification on documented justification. No early-payment discount."
}
}
}
],
"verify": [
{
"path": "/invoices/19",
"expect": "LATE PAYMENT"
},
{
"path": "/invoices/20",
"expect": "LATE PAYMENT"
}
]
}