Files
2026-05-08 12:31:28 +02:00

355 lines
13 KiB
Markdown

# 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.