Files
tradon/modules/purchase_trade/docs/rules/lot-navigation.md
2026-05-07 15:02:15 +02:00

60 lines
1.8 KiB
Markdown

# BR-PT-002 - Le lot physique est le pont metier entre purchase, sale et shipment
## Intent
Disposer d'un chemin unique et stable pour retrouver les informations logistiques et de facturation reliees a un contrat d'achat ou de vente.
## Scope
- Domaine: `purchase_trade`
- Flux: navigation metier entre achat, vente, shipment et facture
- Priorite: `structurante`
## Expected Behavior
Le lot physique (`lot_type = physic`) porte simultanement le lien vers:
- la `purchase.line` via `lot.line`
- la `sale.line` via `lot.sale_line`
- le shipment via `lot.lot_shipment_in` / `lot.lot_shipment_internal` / `lot.lot_shipment_out`
Pour toute logique qui doit naviguer entre achat, vente, shipment et facture, il faut privilegier ce lot physique comme source de verite.
Depuis une facture d'achat:
- remonter a la `purchase.line`
- puis au lot physique de la ligne
- puis au shipment et aux donnees logistiques associees
Depuis une facture de vente:
- remonter a la `sale.line`
- puis au lot physique matchant qui porte aussi la `purchase.line`
- puis au shipment et aux donnees logistiques associees
## Typical Use Cases
- recuperer `bl_date`, `bl_number`, `controller`, `from_location`, `to_location`
- retrouver une facture provisoire liee au lot
- retrouver des fees rattaches au shipment
## Impacted Files
- `modules/purchase_trade/lot.py`
- `modules/purchase_trade/purchase.py`
- `modules/purchase_trade/sale.py`
- `modules/purchase_trade/invoice.py`
- Templates facture relies aux donnees logistiques, si le flux documentaire est concerne.
## Tests
Couvrir les changements au plus proche du flux modifie:
- navigation achat vers lot physique puis shipment
- navigation vente vers lot physique puis shipment
- cas sans lot physique pertinent
## Open Questions
- Documenter au cas par cas les champs exposes au reporting facture quand ils dependent de cette navigation.