diff --git a/modules/purchase_trade/docs/business-rules.md b/modules/purchase_trade/docs/business-rules.md index 6520797..38c6838 100644 --- a/modules/purchase_trade/docs/business-rules.md +++ b/modules/purchase_trade/docs/business-rules.md @@ -815,3 +815,26 @@ Pour cette regle, couvrir au minimum: `amount = unit_price * quantity * (price / 100) * fin_int_delta / 360`. - La ligne `Estimated date` avec `trigger = bldate` sert a porter `fin_int_delta`; la date estimee n'entre pas dans le calcul du montant. + +### Session 2026-05-09 - Lots Management et Apply matching + +- Le rapport `Lots Management` separe maintenant les filtres: + `Matching status`, `Shipping status`, `Side`, `Dimension` et `Strategy`. +- Les bornes `As of` / `To` filtrent sur `purchase.purchase_date` et + `sale.sale_date` uniquement quand elles sont renseignees; elles ne doivent + pas filtrer par defaut a l'ouverture du report. +- Le filtre `Dimension` cible une valeur dynamique de dimension analytique via + `analytic.dimension.assignment.value`, pour les achats comme pour les ventes. +- Le filtre `Strategy` cible les strategies MTM rattachees aux lignes achat ou + vente (`purchase.strategy` / `sale.strategy`). +- `Apply matching` doit proposer les reliquats ouverts meme si le meme lot + purchase ou sale possede deja une autre ligne `lot.qt` matchee. +- Une ligne est exclue ou bloquee dans `Apply matching` seulement si la ligne + `lot.qt` selectionnee est elle-meme deja matchee: + - cote purchase: `lot_p` renseigne et `lot_s` vide + - cote sale: `lot_s` renseigne et `lot_p` vide +- Exemple: un achat de `1000` avec `800` deja matches et `200` encore ouverts + doit laisser le reliquat `200` selectionnable dans `Apply matching`. +- Dans `Link to transport`, le type de shipment reste impose a + `Shipment In`; l'utilisateur ne doit pas pouvoir basculer vers Out/Internal + depuis cette action.