# Business Rules - Purchase Trade

Statut: `draft`
Version: `v0.3`
Derniere mise a jour: `2026-05-07`
Owner metier: `Open Squared`
Owner technique: `Open Squared`

## 1) Scope

- Domaine: `purchase_trade`
- Hors scope:
- Modules impactes:
  - `purchase_trade`
  - `lot`
  - `price`

## 2) Glossaire

- `Purchase Line`: ligne d'achat.
- `quantity_theorical`: quantite theorique contractuelle de la ligne.
- `Virtual Lot`: lot unique de type `virtual` rattache a une `purchase.line`.
- `Physical Lot`: lot physique de type `physic` utilise comme pont entre achat, vente et shipment.
- `lot.qt`: table des quantites ouvertes, matchees ou shippees par lot.
- `lot.qt ouvert`: enregistrement `lot.qt` avec `lot_p = virtual lot`, `lot_s = None` et sans shipment.
- `price.price`: index de prix marche.
- `price.price_value`: valeur datee d'un index de prix marche.

## 3) Catalogue des regles

| ID | Titre | Domaine | Detail |
| --- | --- | --- | --- |
| BR-PT-001 | Ajustement de la quantite theorique apres creation du contrat | Lot / Purchase | [business rules/lot-quantity.md](business%20rules/lot-quantity.md) |
| BR-PT-002 | Le lot physique est le pont metier entre purchase, sale et shipment | Lot / Navigation | [business rules/lot-navigation.md](business%20rules/lot-navigation.md) |
| BR-PT-003 | Le freight amount des templates facture vient du fee de shipment | Invoice / Freight | [business rules/invoice-freight.md](business%20rules/invoice-freight.md) |
| BR-PT-004 | Market Price Import | Pricing | [business rules/market-price-import.md](business%20rules/market-price-import.md) |
| BR-PT-005 | Shipment Fee Allocation | Shipment / Fees | [business rules/shipment_fee_allocation.md](business%20rules/shipment_fee_allocation.md) |

## 4) Convention pour les nouvelles regles

Voir aussi [documentation-management.md](documentation-management.md) pour le workflow complet de gestion documentaire.

Ajouter une ligne au catalogue puis creer une fiche detaillee dans `docs/business rules/`.

Structure recommandee:

- Intent
- Scope
- Inputs
- Expected Behavior
- Edge Cases
- Impacted Files
- Tests
- Open Questions

Les regles courtes peuvent rester dans ce catalogue temporairement, mais toute regle avec impact code, tests, edge cases ou flux transverse doit avoir son fichier dedie.

Dans les sections `Open Questions`, prefixer chaque question avec `Q:` et chaque reponse documentee avec `A:`.
