60 lines
1.8 KiB
Markdown
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.
|