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

@@ -11,25 +11,24 @@ This file is a working conversion layer between the documented GL-001 gaps and f
| Target report | `Reports/GL/GL_001_general_ledger.md` |
| Assessment | `Assessments/Tradon/GL_001/` |
| Gap mapping | `Assessments/Tradon/GL_001/gap_mapping.md` |
| Open points | `Assessments/Tradon/GL_001/open_points.md` |
| Decisions | `Assessments/Tradon/GL_001/decisions.md` |
| Decision register | `Assessments/Tradon/GL_001/decision_register.md` |
| Retained source | `Assessments/Tradon/GL_001/source_documents/general_ledger_gap_analysis.md` |
## Summary
| ID | Priority | Status | Theme | Depends on |
| --- | --- | --- | --- | --- |
| DEV-GL001-001 | High | Blocked | Flat detailed GL dataset | GL001-PD006 |
| DEV-GL001-002 | High | Blocked | Transaction-currency grouping and balances | GL001-PD002, GL001-Q009 |
| DEV-GL001-003 | High | Blocked | Opening and closing rows | GL001-PD006, GL001-Q009 |
| DEV-GL001-004 | High | Blocked | Document and reference mapping | GL001-PD001 |
| DEV-GL001-005 | High | Blocked | Source document metadata | GL001-PD004 |
| DEV-GL001-006 | Medium | Blocked | Transaction-currency debit and credit split | GL001-PD002 |
| DEV-GL001-007 | Medium | Blocked | GL sign convention transformation | GL001-PD003 |
| DEV-GL001-008 | Medium | Blocked | Audit metadata columns | GL001-PD007 |
| DEV-GL001-001 | High | Blocked | Flat detailed GL dataset | GL001-Q008 |
| DEV-GL001-002 | High | Blocked | Transaction-currency grouping and balances | GL001-Q009 |
| DEV-GL001-003 | High | Blocked | Initial and ending balance columns | GL001-Q008, GL001-Q009 |
| DEV-GL001-004 | High | Blocked | Document and reference mapping | GL001-Q001, GL001-Q002, GL001-Q003 |
| DEV-GL001-005 | High | Blocked | Source document metadata | GL001-Q006 |
| DEV-GL001-006 | Medium | Ready | Transaction-currency debit and credit split | None |
| DEV-GL001-007 | Medium | Ready | GL sign convention transformation | None |
| DEV-GL001-008 | Medium | Ready | Audit metadata columns | None |
| DEV-GL001-009 | Medium | Blocked | CSV and XLSX export | DEV-GL001-001 |
| DEV-GL001-010 | Low | Blocked | Commodity quantity fields | GL001-PD005 |
| DEV-GL001-011 | High | Blocked | Currency rate exposure | GL001-PD008 |
| DEV-GL001-010 | Low | Blocked | Commodity quantity fields | GL001-Q007, GL001-Q013 |
| DEV-GL001-011 | High | Ready | Currency rate exposure | None |
## DEV-GL001-001 Flat detailed GL dataset
@@ -37,26 +36,26 @@ This file is a working conversion layer between the documented GL-001 gaps and f
| --- | --- |
| Source gap | Build or expose a flat detailed GL dataset matching `GL-001`, not only account summary plus drill-down |
| Linked questions | GL001-Q008 |
| Linked decision | GL001-PD006 |
| Decision register | GL001-Q008 |
| Priority | High |
| Status | Blocked |
Development scope:
- Provide one export-ready GL-001 dataset that combines account context and detailed move lines.
- Include one row structure capable of representing opening rows, movement lines and closing rows.
- Include one row structure capable of representing movement lines with initial and ending balance columns.
- Support the target GL-001 ordering: account, transaction currency, posting date, document number.
Out of scope:
- Final source table or SQL design until GL001-PD006 is confirmed.
- Final source table or SQL design until GL001-Q008 is confirmed.
- Commodity-specific fields, handled by DEV-GL001-010.
Acceptance criteria:
- A consumer can retrieve all required GL-001 output columns from one logical dataset or service.
- Account summary and line drill-down no longer have to be manually combined outside the reporting layer.
- Dataset rows can be typed as opening, movement or closing without ambiguous interpretation.
- Dataset rows can expose movement, initial balance and ending balance values without ambiguous interpretation.
Validation:
@@ -66,9 +65,9 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Add transaction-currency grouping, filtering and running balances |
| Linked questions | GL001-Q004, GL001-Q009 |
| Linked decisions | GL001-PD002 |
| Source gap | Add transaction-currency grouping, filtering, initial balances and ending balances |
| Linked questions | GL001-Q009 |
| Decision register | GL001-Q009 |
| Priority | High |
| Status | Blocked |
@@ -76,54 +75,55 @@ Development scope:
- Add transaction currency as a grouping key for GL-001.
- Add transaction-currency filtering where supported by the selected implementation design.
- Calculate or expose `balance_transaction_currency`.
- Preserve the `Currency_Rate` value needed to explain conversion from transaction currency to base currency.
- Calculate or expose `initial_balance_transaction_currency` and `ending_balance_transaction_currency`.
- Preserve the `currency_rate` value needed to explain conversion from transaction currency to base currency.
Out of scope:
- Deciding whether empty `second_currency` means company currency; this is GL001-PD002.
- Deciding the `Currency_Rate` source, direction and precision; this is GL001-PD008.
- Deciding the `currency_rate` precision; this remains part of GL001-Q014 follow-up mapping.
Acceptance criteria:
- GL-001 can be grouped by account and transaction currency.
- Running transaction-currency balances are available for movement rows.
- Initial and ending transaction-currency balances are available for movement rows.
- Base-currency lines have a documented transaction-currency fallback or exclusion rule.
- Non-base-currency rows retain a rate value or documented blank rule through DEV-GL001-011.
Validation:
- For each account and transaction currency, opening plus movements equals closing once DEV-GL001-003 is available.
- For each account and transaction currency, initial balance plus movements equals ending balance once DEV-GL001-003 is available.
## DEV-GL001-003 Opening and closing rows
## DEV-GL001-003 Initial and ending balance columns
| Field | Value |
| --- | --- |
| Source gap | Add opening and closing rows by account and transaction currency |
| Source gap | Add initial and ending balance columns by account and transaction currency |
| Linked questions | GL001-Q009 |
| Linked decisions | GL001-PD006 |
| Decision register | GL001-Q008, GL001-Q009, GL001-Q016 |
| Priority | High |
| Status | Blocked |
Development scope:
- Add explicit opening balance rows by account and transaction currency.
- Add explicit closing balance rows by account and transaction currency.
- Ensure movement rows sit between opening and closing rows in the exported ordering.
- Populate `initial_balance_transaction_currency` and `initial_balance_base_currency` on each movement row.
- Populate `ending_balance_transaction_currency` and `ending_balance_base_currency` on each movement row.
- Calculate ending balances as initial balance plus debit minus credit under the GL-001 positive-credit convention.
- Apply the balance sheet versus profit and loss initial-balance rule using the confirmed account classification source.
Out of scope:
- Storage versus reporting-layer calculation decision for transaction-currency opening balances.
- Storage versus reporting-layer calculation decision for transaction-currency initial and ending balances.
Acceptance criteria:
- Each account and transaction-currency group has an opening row when relevant.
- Each account and transaction-currency group has a closing row when relevant.
- Opening, movement and closing row types are machine-readable in the dataset or export.
- Each account and transaction-currency movement row includes initial and ending balances in transaction currency.
- Each account and transaction-currency movement row includes initial and ending balances in base currency.
- Balance sheet accounts use the account balance through the day before `date_from` as initial balance.
- Profit and loss accounts use the fiscal-year-to-date movement balance through the day before `date_from` as initial balance.
Validation:
- Opening balance plus period movements reconciles to closing balance for each account and transaction currency.
- Initial balance plus period movements reconciles to ending balance for each account and transaction currency.
## DEV-GL001-004 Document and reference mapping
@@ -131,7 +131,7 @@ Validation:
| --- | --- |
| Source gap | Define mapping for `document_number`, `journal_entry_number`, `voucher_number` and `reference` |
| Linked questions | GL001-Q001, GL001-Q002, GL001-Q003 |
| Linked decision | GL001-PD001 |
| Decision register | GL001-Q001, GL001-Q002, GL001-Q003 |
| Priority | High |
| Status | Blocked |
@@ -159,8 +159,8 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Normalize source document metadata: document type, document date and supplier invoice number |
| Linked questions | GL001-Q006, GL001-Q012 |
| Linked decision | GL001-PD004 |
| Linked questions | GL001-Q006 |
| Decision register | GL001-Q006, GL001-Q012 |
| Priority | High |
| Status | Blocked |
@@ -188,15 +188,15 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Split `amount_second_currency` into debit and credit transaction-currency columns |
| Linked questions | GL001-Q004 |
| Linked decision | GL001-PD002 |
| Linked questions | None |
| Decision register | GL001-Q004 |
| Priority | Medium |
| Status | Blocked |
| Status | Ready |
Development scope:
- Derive `debit_transaction_currency` and `credit_transaction_currency` from signed transaction-currency amounts.
- Apply the same transaction-currency fallback rule used by DEV-GL001-002.
- Apply the confirmed fallback rule: use `second_currency` when present, otherwise use company currency.
Out of scope:
@@ -216,10 +216,10 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Decide and implement GL sign convention transformation for credit columns |
| Linked questions | GL001-Q005 |
| Linked decision | GL001-PD003 |
| Linked questions | None |
| Decision register | GL001-Q005 |
| Priority | Medium |
| Status | Blocked |
| Status | Ready |
Development scope:
@@ -233,8 +233,8 @@ Out of scope:
Acceptance criteria:
- `debit_*` amounts are positive.
- `credit_*` amounts follow the confirmed GL-001 convention.
- Running balances are consistent with the exported debit and credit signs.
- `credit_*` amounts are positive, following the current Tryton convention.
- Initial and ending balances are consistent with the exported debit and credit signs.
Validation:
@@ -245,20 +245,16 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Add audit columns `entered_by`, `entered_date`, `modified_by` and `modified_date` |
| Linked questions | GL001-Q010 |
| Linked decision | GL001-PD007 |
| Linked questions | None |
| Decision register | GL001-Q010 |
| Priority | Medium |
| Status | Blocked |
| Status | Ready |
Development scope:
- Expose creation and modification metadata for GL-001 rows where available.
- Use consistent user and timestamp formatting across the report.
Out of scope:
- Defining shared audit mappings for all accounting reports unless GL001-Q010 is resolved that way.
Acceptance criteria:
- GL-001 includes `entered_by`, `entered_date`, `modified_by` and `modified_date`.
@@ -300,9 +296,9 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Add `payable_qty` and `uom` for commodity-related postings using Tradon lot, invoice or fee links |
| Source gap | Add `payable_qty` and `uom` for commodity-related postings using TradOn lot, invoice or fee links |
| Linked questions | GL001-Q007, GL001-Q013 |
| Linked decision | GL001-PD005 |
| Decision register | GL001-Q007, GL001-Q013 |
| Priority | Low |
| Status | Blocked |
@@ -328,30 +324,30 @@ Validation:
| Field | Value |
| --- | --- |
| Source gap | Expose and document `Currency_Rate` with confirmed source, rate date, direct/inverse convention and precision |
| Linked questions | GL001-Q014, GL001-Q015 |
| Linked decision | GL001-PD008 |
| Source gap | Expose and document `currency_rate` with confirmed source, rate date, direct/inverse convention and precision |
| Linked questions | None |
| Decision register | GL001-Q014, GL001-Q015 |
| Priority | High |
| Status | Blocked |
| Status | Ready |
Development scope:
- Populate `Currency_Rate` for GL-001 rows where transaction currency and base currency differ.
- Populate `currency_rate` for GL-001 rows where transaction currency and base currency differ.
- Define the blank or default rule for same-currency rows.
- Preserve enough information to reconcile transaction-currency amounts, base-currency amounts and the displayed FX rate.
- Keep the output column name aligned with `Reports/GL/GL_001_general_ledger.md` until naming is arbitrated.
- Keep the output column name aligned with `Reports/GL/GL_001_general_ledger.md`.
Out of scope:
- Creating a global FX-rate service or replacing source accounting conversion logic.
- Renaming `Currency_Rate` to `currency_rate` before GL001-PD008 is confirmed.
- Changing the confirmed `currency_rate` field name without a new decision.
Acceptance criteria:
- GL-001 output includes `Currency_Rate` in the required column order.
- GL-001 output includes `currency_rate` in the required column order.
- Rate source and direct/inverse convention are documented for each supported origin.
- Same-currency and missing-rate cases follow a documented rule.
- Exported transaction/base amounts reconcile to `Currency_Rate` within agreed rounding tolerance.
- Exported transaction/base amounts reconcile to `currency_rate` within agreed rounding tolerance.
Validation:

View File

@@ -29,7 +29,7 @@ Each item should include:
- backlog ID;
- source report;
- source gap or assessment reference;
- linked open point or decision;
- linked `decision_register.md` question or decision ID;
- development scope;
- out of scope;
- acceptance criteria;