Repository navigation
fix(25-4-b2): le rappel réclame le reste dû — texte, PDF « Rappel » et QR (closes #416) - #479
Merged
Merged
Conversation
…nt réglée, reste à payer dit au client (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pas la facture réémise (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…x rappels (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… refs #456) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…a balance âgée et à l'échéancier (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rand livre, quatre passages du manuel (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…approchement par ventilation ou règle (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e-passations dans la règle (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#416) Implémentation T0-T6 de la Story 25-4-b1. Gates backend (2491/2491) et frontend (834/834) verts avant l'interruption ; gate E2E (T7) en attente. Commit de sauvegarde après un crash de la station : l'intégrité des fichiers a été vérifiée (git fsck, fins de fichiers, fmt, clippy, check). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nsé (refs #416) Le HAVING porte sur les factures à reste dû non nul, plus sur le total du contact : un trop-perçu hérité compensant une facture ouverte faisait sortir le contact entier. Commentaire de get_invoice rectifié ; tests du règlement annulé sur la balance âgée et l'échéancier. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, arrondi (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…existantes (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
L'arbre de main est identique à celui de la tête de la b1, ancêtre de cette branche : le résultat est l'arbre de la branche. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rate (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… boucle close (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…et QR (refs #416) Le texte annonce le reste dû plus les frais cumulés ({feeNotice}, vide sans frais) ; le PDF joint devient un rappel (déjà réglé, reste à payer, frais sur une ligne à part) dont la QR porte le reste dû avec la référence de la facture ; un reste nul est refusé par son nom (REMINDER_NOTHING_DUE), classé en échec par facture dans le lot. KF-053 (#478) documentée dans docs/testing.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…perçu ; montants lus dans une transaction (refs #416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…416) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #416.
Ce que la PR corrige
Un rappel réclamait le TTC complet d'une facture déjà réglée en partie, et joignait la facture elle-même, dont la QR portait ce TTC : le client qui la scannait payait une seconde fois ce qu'il avait déjà réglé. Seconde moitié de #416 — la balance âgée et l'échéancier ont été corrigés par la 25-4-b1 (#475).
{totalDue}= reste dû (arrondi une fois au centime) + frais cumulés. Nouvelle variable{feeNotice}, vide sans frais ; les 16 gabarits par défaut (4 langues × 4 niveaux) n'écrivent plus aucune phrase de frais en dur — fini « frais de rappel de 0.00 ».rappel-{n}.pdf. Hauteur du bloc réservée dans la garde de capacité, libellés bornés en largeur.422 REMINDER_NOTHING_DUE(en lot : échec par facture, plus deDATABASE_ERROR) ; règlement arrivé entre l'aperçu et l'envoi unitaire →409 REMINDER_AMOUNTS_CHANGED, rien ne part.[0.12.1].Hors périmètre, tracé : #476 (arrondi QR / trop-perçu, préexistant), #477 (imprimer le PDF de rappel pour la sommation hors Kesh), #478 (KF-053, symptôme E2E).
Revue
Validation de spec close en 5 passes ; revue de code close en 2 passes — passe 1
1H/1M/1L(Sonnet ×3 ; HIGH tranché par Guy : refus 409), passe 2 0 au-dessus de LOW (Haiku ×3). Détail :_bmad-output/implementation-artifacts/25-4-b2-residuel-aux-rappels.md.Gates locaux (dernier commit de code, base remise à zéro)
scripts/test-fast.sh: 2510 / 2510check0 erreur,lint-i18n-ownershipPASS,test:unit835 / 835, build OKproduct-revenue-account:133(pollution répertoriée), et trois verts rejoués seuls (dont le test de la story, tombé sur KF-053 [KF-053] E2E : /login rend la page SvelteKit « Erreur 500 » en cours de suite — une douzaine de specs expirent sur #username #478)🤖 Generated with Claude Code