Consolidate GL-001 TradOn assessment decisions

This commit is contained in:
GiorgioCALLIGARO
2026-05-08 12:31:28 +02:00
parent 4ce9711c3f
commit c344be9dff
13 changed files with 918 additions and 396 deletions

View File

@@ -9,10 +9,10 @@ Tryton already provides a strong General Ledger foundation:
- journal filtering;
- posted-only option;
- drill-down from accounts to detailed move lines;
- running balance at line level;
- base-currency balance information at line level;
- party drill-down for party-required accounts.
The main gap is that the target `GL-001` report is specified as a complete detailed report, grouped by account and transaction currency, with explicit opening and closing rows and a rich audit column set.
The main gap is that the target `GL-001` report is specified as a complete detailed report, grouped by account and transaction currency, with initial and ending balance columns on each transaction line and a rich audit column set.
Tryton's current General Ledger is split between:
@@ -25,7 +25,7 @@ It does not expose the target output as one flat, export-ready detailed report.
The target `GL-001` specification is broader than the current Tryton standard General Ledger output.
Tryton covers the accounting foundation and several filters, but the target report requires an additional reporting layer that flattens account summary and detailed lines into a single exportable dataset, with transaction-currency grouping, opening and closing rows, audit metadata and normalized document references.
Tryton covers the accounting foundation and several filters, but the target report requires an additional reporting layer that flattens account summary and detailed lines into a single exportable dataset, with transaction-currency grouping, initial and ending balance columns, audit metadata and normalized document references.
## Areas already covered or substantially supported
@@ -47,9 +47,9 @@ Tryton covers the accounting foundation and several filters, but the target repo
| Flat detailed report | Not exposed as a single export-ready dataset |
| Account and transaction-currency grouping | Missing or partial |
| Transaction-currency filter | Missing as an explicit GL parameter |
| Opening and closing rows by account and transaction currency | Missing |
| Transaction-currency running balance | Missing |
| FX rate exposure for `Currency_Rate` | Source, rate date, direct/inverse convention and precision not yet mapped |
| Initial and ending balances by account and transaction currency | Missing |
| Transaction-currency ending balance per line | Missing |
| FX rate exposure for `currency_rate` | Rate date and precision not yet mapped |
| Rich audit columns | Raw ingredients exist, but not exposed in normalized GL output |
| Document, voucher and reference mapping | Requires functional arbitration |
| Dedicated XLSX export | Not identified |
@@ -60,12 +60,12 @@ Tryton covers the accounting foundation and several filters, but the target repo
The target `GL-001` convention is:
- debit amounts displayed as positive amounts;
- credit amounts displayed as negative amounts;
- running balances calculated using debit-positive and credit-negative logic.
- credit amounts displayed as positive amounts, following the current Tryton convention;
- ending balances calculated using debit-positive and credit-positive logic: initial balance plus debit minus credit.
Tryton currently exposes base debit and credit as positive numeric columns and computes balance as `debit - credit`. For transaction currency, Tryton stores a signed `amount_second_currency`.
The export layer must therefore decide whether to preserve Tryton's UI convention or transform credit columns to the target `GL-001` convention.
The export layer should preserve Tryton's positive debit and positive credit convention for GL-001.
## Export exposure
@@ -85,6 +85,8 @@ Tryton supports important base-currency controls:
- account start, debit, credit and end balances support reconciliation;
- Trial Balance reuses the same account model, helping base-currency reconciliation.
The main remaining control gap is transaction-currency reconciliation by account and currency, including opening, movement and closing balances.
The main remaining control gap is transaction-currency reconciliation by account and currency, including initial balance, movement and ending balance.
The new GL-001 `Currency_Rate` field also requires a conversion-control rule: for non-base-currency lines, exported transaction-currency amounts, base-currency amounts and the displayed FX rate should reconcile within the agreed rounding precision.
Initial balances must follow the account type: balance sheet accounts use the account balance up to the day before `date_from`, while profit and loss accounts use only the movement balance from the start of the fiscal year through the day before `date_from`.
The new GL-001 `currency_rate` field also requires a conversion-control rule: for non-base-currency lines, exported transaction-currency amounts, base-currency amounts and the displayed FX rate should reconcile within the agreed rounding precision.