82 lines
4.6 KiB
Markdown
82 lines
4.6 KiB
Markdown
# Journal de migration et sessions
|
|
|
|
Statut: `non canonique`
|
|
|
|
Cette page sert de routeur vers les notes historiques. Une note devient
|
|
canonique seulement quand elle est reprise dans une page thematique.
|
|
|
|
## Sources historiques
|
|
|
|
- `modules/purchase_trade/docs/business-rules.md`
|
|
- `modules/purchase_trade/docs/business-rules-architecture-proposal.md`
|
|
- `notes/business_rules.md`
|
|
- `notes/template_business_rules.md`
|
|
|
|
## Notes deja partiellement promues
|
|
|
|
- Session `2026-06-02`: demurrage / charter conditions et clauses de contrat,
|
|
a promouvoir dans une page thematique avant de devenir canonique.
|
|
- Demurrage / charter conditions:
|
|
- Les conditions de charter sont portees par `charter.condition`, avec
|
|
clauses laytime/NOR/demurrage/despatch, responsabilite, partie concernee
|
|
et lignes de rates via `charter.condition.rate`.
|
|
- Les contrats Sale et Purchase ont un onglet `Charter Conditions` au
|
|
niveau entete et ligne. Une ligne sans conditions propres herite des
|
|
conditions de l'entete; des conditions de ligne remplacent l'heritage.
|
|
- Les conditions creees depuis une Sale ou une Sale Line sont limitees au
|
|
role `Customer`; celles creees depuis une Purchase ou Purchase Line sont
|
|
limitees au role `Supplier`. Les conditions creees depuis une
|
|
Charter Party ne peuvent pas utiliser les roles `Supplier` ou `Customer`
|
|
afin d'eviter la confusion entre conditions armateur/charte et conditions
|
|
contractuelles achat/vente.
|
|
- Les shipments et SOF exposent les conditions Owner, Supplier et Customer
|
|
retrouvees depuis le charter party et les lots/lignes physiques.
|
|
- Le calcul SOF privilegie la condition appliquee: laytime allowed,
|
|
evenement de debut de laytime, offset de debut, evenement de fin,
|
|
pumping rate, rate demurrage et rate despatch. Les clauses texte
|
|
laytime/NOR/demurrage/despatch restent contractuelles et ne doivent pas
|
|
servir de source de calcul.
|
|
- Un solde de laytime negatif cree une compensation `demurrage`; un solde
|
|
positif peut creer une compensation `despatch` si un rate despatch est
|
|
defini.
|
|
- Contract clauses:
|
|
- Structure ajoutee autour de `contract.clause`, `contract.template`,
|
|
`contract.template.line` et `contract.clause.selection`, visible dans les
|
|
onglets Sale/Purchase et dans les menus globaux Sales/Purchases.
|
|
- Les clauses et templates de reference sont generes depuis
|
|
`STANDARDIZED CONTRACTS - REFERENCE BOOK 2012 (Official version).docx`
|
|
dans `contract_clause_reference.xml`: 53 clauses, 6 templates Sale et
|
|
120 lignes de template.
|
|
- Un script SQL direct PostgreSQL existe dans
|
|
`docs/sql/import_contract_clause_reference.sql` pour alimenter la base
|
|
quand les tables existent deja; il ne remplace pas la mise a jour module
|
|
necessaire pour creer/mettre a jour le schema.
|
|
- Les templates generes sont `direction = sale`, car le document source
|
|
parle de Sales Agreement avec Seller/Buyer. Les variantes Purchase
|
|
doivent etre adaptees avant import si on veut les afficher cote achat.
|
|
- Les variables reconnues sont rendues depuis le contexte contrat
|
|
(`[Contract_Number]`, `[reference]`, `[party]`, `[company]`,
|
|
`[currency]`, `[incoterm]`, `[incoterm_location]`, `[payment_term]`,
|
|
`[product]`, `[quantity]`, `[unit]`, `[product_origin]`, `[del_from]`,
|
|
`[del_to]`). Les variables inconnues restent litterales pour override.
|
|
- Sens metier attendu de `Optional`: une clause optional peut etre retiree
|
|
sans validation juridique; une clause non optional est obligatoire et ne
|
|
devrait pouvoir etre que surchargee. Les overrides devront declencher une
|
|
validation Legal/Juridique dans le workflow; l'utilisation d'un template
|
|
sans modification ne devrait pas la declencher.
|
|
- Session `2026-04-30`: PnL fees ouverts et `% rate`, promue dans
|
|
[fees.md](fees.md) et [valuation-pnl-mtm.md](valuation-pnl-mtm.md).
|
|
- Session `2026-05-01`: solde ouvert apres lots physiques et lots effectifs
|
|
des fees, promue dans [lots-and-quantities.md](lots-and-quantities.md) et
|
|
[fees.md](fees.md).
|
|
- Session `2026-05-06`: Remove physical lot, promue dans
|
|
[lots-and-quantities.md](lots-and-quantities.md).
|
|
- Session `2026-05-09`: Lots Management, promue partiellement dans
|
|
[lots-management.md](lots-management.md).
|
|
- Session `2026-05-13`: cadrage `quantity_theorical` / `quantity`, amount de
|
|
ligne, Weight basis, invariants de quantite, checks Python bloquants et
|
|
diagnostic SQL. Promue dans
|
|
[lots-and-quantities.md](lots-and-quantities.md),
|
|
[lots-and-quantities.en.md](lots-and-quantities.en.md),
|
|
[invariants.md](invariants.md) et [sql/README.md](sql/README.md).
|