# Accounting Documentation

Date: 2026-05-05
Scope: modules `account*` standards Tryton + extensions comptables dans
`purchase_trade`.

## Objectif

Cette documentation sert a comparer le comportement comptable de ce repository
avec un standard externe ou une installation Tryton de reference.

Elle distingue volontairement:

- les modules comptables standards `account*`;
- les rapports imprimables `ir.action.report` / `.fodt`;
- les vues de reporting SQL exposees comme modeles `ModelSQL.table_query()`;
- les extensions metier `purchase_trade` qui changent les flux comptables ou
  ajoutent du reporting de gestion.

## Fichiers

- `modules_inventory.md`
  - inventaire fonctionnel des modules `account*`.
- `business_rules.md`
  - regles comptables et flux critiques extraits des modules standards et des
    notes de session.
- `reporting.md`
  - cartographie detaillee du reporting comptable standard et des extensions
    `purchase_trade`.
- `general_ledger_gap_analysis.md`
  - premiere comparaison detaillee entre le report ideal `GL-001 General
    Ledger` et le General Ledger Tryton/Tradon.
- `purchase_trade_extensions.md`
  - points d'extension comptables propres a Tradon.
- `comparison_checklist.md`
  - grille de comparaison avec un standard.
- `gap_analysis_workflow.md`
  - methode de comparaison a reutiliser pour les prochains rapports.

## Sources principales

- `modules/account/`
- `modules/account_invoice/`
- `modules/account_payment/`
- `modules/account_statement/`
- `modules/account_asset/`
- `modules/account_stock_*`
- `modules/account_export*`
- `modules/account_*` pays/localisations
- `modules/purchase_trade/account.py`
- `modules/purchase_trade/invoice.py`
- `modules/purchase_trade/stock.py`
- `modules/purchase_trade/fee.py`
- `modules/purchase_trade/forex.py`
- `modules/purchase_trade/purchase.py`
- `modules/purchase_trade/valuation.py`
- `modules/purchase_trade/credit_risk.py`
- `notes/business_rules.md`
- `notes/template_business_rules.md`
- `modules/purchase_trade/docs/*.md`

## Methode d'extraction

1. Lire `tryton.cfg` pour identifier dependances et XML charges.
2. Lire les classes `__name__ = 'account...'` et les registrations du Pool.
3. Identifier les workflows: `post`, `validate`, `cancel`, `draft`,
   `process`, `paid`.
4. Identifier les rapports:
   - `ir.action.report` pour les exports imprimables;
   - `ir.action.act_window` avec `context_model` pour les vues analytiques;
   - classes `Report`;
   - classes `ModelSQL` avec `table_query()`.
5. Croiser avec les docs locales `purchase_trade` pour les decisions metier.
