# GL-001 Tradon Development Backlog Disposable draft created from `Assessments/Tradon/GL_001/`. This file is a working conversion layer between the documented GL-001 gaps and future development tickets. It is intentionally conservative: items remain `Blocked` where mapping, business or architecture decisions are still open. ## Traceability sources | Type | Reference | | --- | --- | | Target report | `Reports/GL/GL_001_general_ledger.md` | | Assessment | `Assessments/Tradon/GL_001/` | | Gap mapping | `Assessments/Tradon/GL_001/gap_mapping.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-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-Q007, GL001-Q013 | | DEV-GL001-011 | High | Ready | Currency rate exposure | None | ## DEV-GL001-001 Flat detailed GL dataset | Field | Value | | --- | --- | | Source gap | Build or expose a flat detailed GL dataset matching `GL-001`, not only account summary plus drill-down | | Linked questions | GL001-Q008 | | 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 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-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 expose movement, initial balance and ending balance values without ambiguous interpretation. Validation: - Compare base-currency movement totals with existing Tryton general ledger totals for the same period and account selection. ## DEV-GL001-002 Transaction-currency grouping and balances | Field | Value | | --- | --- | | Source gap | Add transaction-currency grouping, filtering, initial balances and ending balances | | Linked questions | GL001-Q009 | | Decision register | GL001-Q009 | | Priority | High | | Status | Blocked | 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 `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 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. - 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, initial balance plus movements equals ending balance once DEV-GL001-003 is available. ## DEV-GL001-003 Initial and ending balance columns | Field | Value | | --- | --- | | Source gap | Add initial and ending balance columns by account and transaction currency | | Linked questions | GL001-Q009 | | Decision register | GL001-Q008, GL001-Q009, GL001-Q016 | | Priority | High | | Status | Blocked | Development scope: - 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 initial and ending balances. Acceptance criteria: - 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: - Initial balance plus period movements reconciles to ending balance for each account and transaction currency. ## DEV-GL001-004 Document and reference mapping | Field | Value | | --- | --- | | Source gap | Define mapping for `document_number`, `journal_entry_number`, `voucher_number` and `reference` | | Linked questions | GL001-Q001, GL001-Q002, GL001-Q003 | | Decision register | GL001-Q001, GL001-Q002, GL001-Q003 | | Priority | High | | Status | Blocked | Development scope: - Implement confirmed mappings for the GL-001 document and reference fields. - Preserve enough information to trace each line back to the accounting document and source document. Out of scope: - Choosing the final business meaning of each reference field. Acceptance criteria: - `document_number`, `journal_entry_number`, `voucher_number` and `reference` follow the confirmed decision. - Fields are populated consistently for accounting moves and AP-originated entries. - Empty optional values are intentionally blank, not silently overloaded. Validation: - Sample accounting entries can be traced from GL-001 output back to the accounting move and, where available, source invoice. ## DEV-GL001-005 Source document metadata | Field | Value | | --- | --- | | Source gap | Normalize source document metadata: document type, document date and supplier invoice number | | Linked questions | GL001-Q006 | | Decision register | GL001-Q006, GL001-Q012 | | Priority | High | | Status | Blocked | Development scope: - Populate `document_type`, `document_date` and `supplier_invoice_number` according to confirmed origin-model rules. - Support AP-related entries where supplier invoice information is available. Out of scope: - Commodity quantity mapping, handled by DEV-GL001-010. Acceptance criteria: - GL-001 exposes normalized source document metadata for confirmed origin models. - AP-related entries include `supplier_invoice_number` when available. - Non-AP entries follow a documented fallback or blank rule. Validation: - Review a sample containing AP invoices, manual journal entries and other available origin types. ## DEV-GL001-006 Transaction-currency debit and credit split | Field | Value | | --- | --- | | Source gap | Split `amount_second_currency` into debit and credit transaction-currency columns | | Linked questions | None | | Decision register | GL001-Q004 | | Priority | Medium | | Status | Ready | Development scope: - Derive `debit_transaction_currency` and `credit_transaction_currency` from signed transaction-currency amounts. - Apply the confirmed fallback rule: use `second_currency` when present, otherwise use company currency. Out of scope: - GL credit sign convention, handled by DEV-GL001-007. Acceptance criteria: - Debit and credit transaction-currency columns are populated deterministically. - Zero, blank and base-currency-only cases follow documented rules. Validation: - Transaction-currency debit and credit totals reconcile to movement totals by account and currency. ## DEV-GL001-007 GL sign convention transformation | Field | Value | | --- | --- | | Source gap | Decide and implement GL sign convention transformation for credit columns | | Linked questions | None | | Decision register | GL001-Q005 | | Priority | Medium | | Status | Ready | Development scope: - Apply the confirmed GL-001 display convention for debit, credit and balances. - Ensure base-currency and transaction-currency amounts use consistent signs. Out of scope: - Changing Tryton accounting storage or standard UI conventions. Acceptance criteria: - `debit_*` amounts are positive. - `credit_*` amounts are positive, following the current Tryton convention. - Initial and ending balances are consistent with the exported debit and credit signs. Validation: - Sample entries reconcile between source Tryton amounts and GL-001 export amounts after documented transformation. ## DEV-GL001-008 Audit metadata columns | Field | Value | | --- | --- | | Source gap | Add audit columns `entered_by`, `entered_date`, `modified_by` and `modified_date` | | Linked questions | None | | Decision register | GL001-Q010 | | Priority | Medium | | Status | Ready | Development scope: - Expose creation and modification metadata for GL-001 rows where available. - Use consistent user and timestamp formatting across the report. Acceptance criteria: - GL-001 includes `entered_by`, `entered_date`, `modified_by` and `modified_date`. - Missing metadata is handled consistently and visibly. Validation: - Compare exported values against source record creation and modification metadata for a sample of move lines. ## DEV-GL001-009 CSV and XLSX export | Field | Value | | --- | --- | | Source gap | Add dedicated CSV / XLSX export target | | Linked dependency | DEV-GL001-001 | | Priority | Medium | | Status | Blocked | Development scope: - Provide CSV and XLSX exports for the GL-001 flat dataset. - Preserve column order from `Reports/GL/GL_001_general_ledger.md`. Out of scope: - Wide PDF export unless separately prioritized. Acceptance criteria: - CSV export includes all required GL-001 columns. - XLSX export includes all required GL-001 columns. - Column names match the report specification. Validation: - Exported row counts and totals match the underlying GL-001 dataset for the same parameters. ## DEV-GL001-010 Commodity quantity fields | Field | Value | | --- | --- | | Source gap | Add `payable_qty` and `uom` for commodity-related postings using TradOn lot, invoice or fee links | | Linked questions | GL001-Q007, GL001-Q013 | | Decision register | GL001-Q007, GL001-Q013 | | Priority | Low | | Status | Blocked | Development scope: - Populate `payable_qty` and `uom` for commodity-related postings if retained for first implementation. - Document blank behavior for non-commodity postings. Out of scope: - Making commodity fields mandatory for all GL-001 rows. Acceptance criteria: - Commodity-related GL rows expose payable quantity and unit of measure when source data is reliably available. - Non-commodity rows remain blank or follow a documented rule. Validation: - Review a sample of commodity AP postings against source invoice, lot or fee evidence. ## DEV-GL001-011 Currency rate exposure | Field | Value | | --- | --- | | 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 | Ready | Development scope: - 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`. Out of scope: - Creating a global FX-rate service or replacing source accounting conversion logic. - Changing the confirmed `currency_rate` field name without a new decision. Acceptance criteria: - 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. Validation: - Review a sample of foreign-currency accounting lines against source accounting amounts and stored currency rates.