# Reports et templates

Statut: `migration partielle`

Voir aussi:

- `../template-rules.md`
- `../template-properties.md`
- `../../../../notes/template_business_rules.md`

## BR-PT-RPT-001 - Templates trade via proprietes Python

Source: `template-rules.md`, `template-properties.md`, notes AGENTS

### Regle consultant

Un document trade doit afficher des informations metier fiables, sans dependre
d'expressions fragiles dans le fichier bureautique.

### Notes developpeur

- Preferer des proprietes Python simples, souvent prefixees `report_*`.
- Dans les placeholders XML, utiliser `&quot;` et `&apos;` plutot que des
  antislashs.
- Pour les factures liees a vente/achat/shipment, privilegier le lot physique
  comme pont.
- Verifier le cache `invoice_report_cache` avant de conclure qu'une action
  report pointe vers le mauvais `.fodt`.
- Pour les templates shipment, preferer `records[0]...` ou des proprietes sur
  `stock.shipment.in` plutot qu'une variable locale supposee.

## Decisions deja documentees a migrer ensuite

- `insurance.fodt`: compagnie courante, amount insured a 110%, surveyor.
- `packing_list.fodt`: date du jour, unites depuis `purchase.line`.
- `bill.fodt`: maturity date reelle et montant en lettres depuis le total.
- `invoice_ict.fodt` / `invoice_ict_final.fodt`: poids, shipments et lots.
- `sale_ict.fodt`: priorite lots et unite reelle.

