This commit is contained in:
2026-06-29 20:34:23 +02:00
parent 5635856711
commit f9ade37eab
15 changed files with 1024 additions and 9 deletions

View File

@@ -9,6 +9,7 @@ Statut: `migration partielle`
- Matching, Create Contracts, back-to-back: [matching.md](matching.md)
- Shipments, controllers, SLA, weight reports: [shipments-execution.md](shipments-execution.md)
- Pricing manuel, basis, premium, linked currency: [pricing.md](pricing.md)
- Trading cafe, echantillons, cupping, qualite: [FR](coffee.md) / [EN](coffee.en.md)
- Fees, freight, lots effectifs, quantités, `% rate`: [FR](fees.md) / [EN](fees.en.md)
- Valuation, PnL, MTM, derivatives: [FR](valuation-pnl-mtm.md) / [EN](valuation-pnl-mtm.en.md)
- Factures provisoires/finales, padding: [invoicing.md](invoicing.md)
@@ -35,6 +36,7 @@ Statut: `migration partielle`
- `BR-PT-PRI-001`: premium dans priced et basis.
- `BR-PT-PRI-002`: linked currency.
- `BR-PT-PRI-003`: pricing manuel.
- `BR-PT-COF-001`: echantillons cafe phase 1.
- `BR-PT-FEE-001`: maritime freight depuis fee shipment.
- `BR-PT-FEE-002`: lots effectifs des fees.
- `BR-PT-FEE-003`: quantité du fee alignée sur les lots effectifs.

View File

@@ -0,0 +1,45 @@
# Coffee trading - samples and quality
Mirror page: [coffee.md](coffee.md)
## BR-PT-COF-001 - Coffee sample phase 1
Status: active
Source: project decision on 2026-06-29
### Business rule
Coffee trading must track samples linked to purchase and sale lines.
Each sample stores:
- a sample type: offer, pre-shipment, shipment, arrival, stock, customer or
retained;
- a purchase or sale direction;
- a lifecycle: requested, received, sent to lab, under review, approved,
rejected, expired, archived;
- an expiry date computed from the request/receipt date and the sample shelf
life;
- a simple cupping score and physical quality values.
`purchase.line` and `sale.line` store the target coffee quality specifications:
origin, process, variety, crop year, screen size, maximum moisture, maximum
defect count and minimum cup score.
### Developer notes
- Models/fields:
- `coffee.sample`
- `purchase.line.coffee_samples`
- `sale.line.coffee_samples`
- `coffee_*` fields on `purchase.line` and `sale.line`
- Files:
- `modules/purchase_trade/coffee.py`
- `modules/purchase_trade/coffee.xml`
- `modules/purchase_trade/view/coffee_sample_*.xml`
- `modules/purchase_trade/view/purchase_line_form.xml`
- `modules/purchase_trade/view/sale_line_form.xml`
- Caveats:
- expiry is monitored through the `Expired` and `Expiring soon` domains;
- phase 1 does not block shipment or contract validation;
- lab delegation is a tracking field, not a complete lab workflow yet.

View File

@@ -0,0 +1,47 @@
# Trading cafe - echantillons et qualite
Page miroir: [coffee.en.md](coffee.en.md)
## BR-PT-COF-001 - Phase 1 echantillons cafe
Statut: active
Source: decision projet du 2026-06-29
### Regle consultant
Le trading cafe doit pouvoir piloter les echantillons rattaches aux lignes
d'achat et de vente.
Chaque echantillon porte:
- un type d'echantillon: offer, pre-shipment, shipment, arrival, stock,
customer ou retained;
- un sens purchase ou sale;
- un cycle de vie: requested, received, sent to lab, under review, approved,
rejected, expired, archived;
- une date d'expiration calculee depuis la date de demande/reception et la
duree de vie de l'echantillon;
- une notation de cupping simple et des donnees de qualite physique.
Les lignes `purchase.line` et `sale.line` portent les specifications qualite
cibles du cafe: origine, process, variete, crop year, screen size, humidite
maximum, nombre de defauts maximum et score cup minimum.
### Notes developpeur
- Modeles/champs:
- `coffee.sample`
- `purchase.line.coffee_samples`
- `sale.line.coffee_samples`
- champs `coffee_*` sur `purchase.line` et `sale.line`
- Fichiers:
- `modules/purchase_trade/coffee.py`
- `modules/purchase_trade/coffee.xml`
- `modules/purchase_trade/view/coffee_sample_*.xml`
- `modules/purchase_trade/view/purchase_line_form.xml`
- `modules/purchase_trade/view/sale_line_form.xml`
- Points de vigilance:
- l'expiration est pilotee par les domaines `Expired` et `Expiring soon`;
- aucun blocage shipment/validation n'est introduit en phase 1;
- la delegation labo reste une information de suivi, sans workflow labo
complet.