# Reporting Standards These conventions define the default reporting vocabulary and presentation rules. A report may define a specific exception when its functional layout requires it. --- ## Date fields - `posting_date` - `value_date` - `document_date` --- ## Currency fields - `transaction_currency` - `base_currency` There is no separate `reporting_currency` in the current reporting scope. When a report exposes an FX rate between transaction currency and base currency, it should document: - the rate source; - the rate date; - whether the rate is direct or inverse; - the number of decimal places preserved in the export. `GL-001 General Ledger` defines the FX-rate field as `currency_rate`, following the wider field naming convention. --- ## Amount fields - `debit` - `credit` - `balance` When currency-specific amount fields are required, use the suffix: - `_transaction_currency` - `_base_currency` Examples: - `debit_transaction_currency` - `credit_transaction_currency` - `balance_transaction_currency` - `debit_base_currency` - `credit_base_currency` - `balance_base_currency` When a detailed report needs to show rolling balances on each movement line rather than a single running balance column, use: - `initial_balance_transaction_currency` - `ending_balance_transaction_currency` - `initial_balance_base_currency` - `ending_balance_base_currency` For `GL-001 General Ledger`, these initial and ending balance fields replace `balance_transaction_currency` and `balance_base_currency`. The first line initial balance date is the day before `date_from`: balance sheet accounts use the account balance up to that date, while profit and loss accounts use the movement balance from the start of the fiscal year up to that date. Subsequent line initial balances roll forward from the previous line ending balance. --- ## Posting status When exposed by the ERP, reports should include `posting_status` as an informational field. The field should identify whether the source transaction is posted, non-posted, reversed, cancelled, pending or another ERP-specific status. `posting_status` is not a standard filter by default. Each report should keep an open question until the target ERP confirms whether this field is available and which status values should be mapped. --- ## Sign conventions General financial statement sign conventions: - Assets: positive debit - Liabilities: positive credit - Revenue: positive credit - Expenses: positive debit These sign conventions apply to financial statement presentation and summary reports. Detail ledger reports may define their own sign convention when required. For `GL-001 General Ledger`, debit amounts and credit amounts are positive, following the current Tryton convention. Ending balances are calculated as initial balance plus debit minus credit. --- ## Sorting conventions Default sorting for accounting detail reports: 1. `account` 2. `transaction_currency` 3. `posting_date` 4. `document_number` --- ## Drill-down conventions Summary reports should define the expected drill-down path from summarized balances to supporting detail. Default drill-down path: 1. summarized balance or statement line; 2. underlying account, customer, supplier or open item movements; 3. accounting document or journal entry; 4. source document, when available in the ERP.