Repository navigation
feat(25-4-c3-b): solder au centime, l'écart d'arrondi en troisième ligne (closes #476) - #493
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… l'orchestrateur (refs #420) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… arbitrages en attente (refs #420) 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>
… en partie (refs #420) Le filtre des candidates, le score, le re-score à l'acceptation et le montant affiché portent sur le reste dû (TTC − avoir − règlements), par la forme jointe ; le TTC ne suit qu'en mention quand les deux diffèrent. Manuel et brochure réécrits sur le score réel ; #481 ouverte pour le reste. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ues, Playwright départagé (refs #420) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le rejeu sur interblocage (refs #480) 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>
…n rejoue un interblocage (refs #480) Le règlement manuel incrémente invoices.version à chaque règlement, partiel compris : le verrou optimiste de l'acceptation refuse désormais celle qui arrive après un règlement concurrent. Un interblocage absorbé dans une proposition (ROLLBACK TO SAVEPOINT en 1305) remonte en TransactionAborted et la route rejoue le lot par retry_with. Trois tests de course sans sleep. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…INT, verrou de test détaché (refs #480) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(refs #480) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ge du compte d'arrondi (refs #476) 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>
…s paramètres (refs #476) Nouvelle colonne company_invoice_settings.default_rounding_account_id (DDL seul, non breaking), validée charge ou produit, actif, imputable ; absente d'un PUT elle est préservée, à null effacée. Section Différences d'arrondi dans Paramètres > Facturation ; export ; import d'une sauvegarde antérieure prouvé. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… s'il change, Playwright nettoyé en finally (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ne (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ns les plans livrés (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… livrés, désigné d'office (refs #476) Marqueur de plan roundingDifference (pas de rôle, pas de numéro dans le code), validé au chargement ; les deux insert_with_defaults* désignent le compte marqué du plan de la société (FOR UPDATE), NULL sans erreur s'il manque. Rien chez les sociétés existantes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n tracée, types liés par l'enum (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…done (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…iture (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…u règlement manuel, sites triés (refs #476) 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>
…476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…gne (refs #476) Le reste dû peut porter quatre décimales (10.0050) ; QR, rappels et dialogue réclament 10.01, que le rapprochement ne proposait pas et que le règlement manuel refusait en trop-perçu. Toute comparaison se fait au centime (amount_due_to_centime) ; un paiement égal au reste arrondi solde la facture, réglée au reste brut, l'écart passant sur le compte de différences d'arrondi (double borne : entre brut et arrondi, trop-perçu). Sans compte utilisable, refus dédié ROUNDING_ACCOUNT_NOT_CONFIGURED, rien d'écrit. Règlement manuel à plus de deux décimales refusé. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…compte d'arrondi produit testé (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e production ; story done (refs #476) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…di-au-centime # Conflicts: # docs/manual/fr/admin-manual.pdf # docs/manual/fr/user-manual.pdf # frontend/src/lib/shared/i18n-keys.test.ts
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 #476
Dernière des trois stories de la 25-4-c3 : solder au centime une facture dont le total porte plus de deux décimales.
Le défaut
Une ligne à prix ou quantité fractionnaire donne un reste dû comme 10.0050. La QR-facture, les rappels et le dialogue de règlement réclament 10.01, mais :
Ce qui change
amount_due_to_centime, construite surMoney::round_to_centimes) pour toutes les comparaisons et tous les affichages ; le reste dû calculé n'est pas arrondi.classify_payment) :ROUNDING_ACCOUNT_NOT_CONFIGURED(400 au règlement manuel, avec un message qui renvoie à Paramètres → Facturation ; refus par proposition au rapprochement).VALIDATION_ERROR, après normalisation : « 10.000 » est accepté).[0.12.1]Fixed.Vérifications
Ouvert en route, hors périmètre
🤖 Generated with Claude Code