Appearance
Reports and dashboard field guide
Reports are controlled views over operational and financial data. A number without scope, period, source, currency, or definition is not a reliable KPI. OSERP reports should preserve the filters, data version, permissions, and drill-down that produced a result.
Report definition fields
Open Analytics → Reports → New.
| Field | Example | Purpose and impact |
|---|---|---|
| Report code | AR-AGEING-2026 | Stable saved-view key |
| Name | Customer ageing | User explanation |
| Module | Receivables | Source domain |
| Company scope | company_uae | Isolation |
| Date basis | Due date | Measure interpretation |
| Period | 2026-09 | Time boundary |
| Currency | AED functional | Comparability |
| Dimensions | Customer, branch | Grouping |
| Measures | Open balance, days overdue | KPI definition |
| Source status | Posted only | Data quality |
| Refresh | On demand / scheduled | Timeliness |
| Permission | reports:read | Access |
| Export | Restricted | Data protection |
| Owner | Controller | Accountability |
Filters and scope
Filter fields include company, branch, warehouse, department, project, partner, item, batch, salesperson, channel, currency, date range, status, source module, and owner. Required filters prevent accidental all-tenant queries.
Store whether a date means posting, document, tax, due, service, or event date. A September sales report using invoice date differs from one using delivery date. The report header should display selected basis.
Dimensions and measures
Dimensions group data; measures aggregate values. Common measures are quantity, net, tax, gross, COGS, margin, open balance, days, budget, actual, commitment, and forecast. Define whether totals use transaction or functional currency and how rounding works.
A sales-margin report grouped by branch and channel should reconcile revenue and COGS to posted journals. A stock report grouped by warehouse and batch should reconcile quantities to movement ledger.
Drill-down and lineage
Every aggregate should drill to source rows, document IDs, statuses, dimensions, and journal/stock effects. Lineage fields include report, query version, source tables or APIs, transformation, run time, and correlation ID.
An AR total should drill to invoice, credit, receipt allocation, dispute, and customer statement. A project cost should drill to PO, receipt, invoice, timesheet, expense, and journal.
Snapshots and reproducibility
Snapshot fields include report ID, filters, run time, data cutoff, user, permission, currency rate version, query version, row count, and hash. A board or regulator pack should be reproducible with the same snapshot reference.
Live dashboards may change as postings arrive; published snapshots must not. Label provisional, refreshed, and approved states.
Export and sharing
Export fields include format, columns, filters, file ID, requester, recipient, expiry, encryption, watermark, and delivery status. Export rights are narrower than view rights. Sensitive payroll, health, bank, or privileged data requires masking and approval.
Public or external links are signed, time-limited, and revocable. A failed delivery remains an exception and does not change source data.
Scheduling and alerts
Schedule fields include report, timezone, frequency, period rule, recipients, threshold, owner, retry, and status. An alert such as margin below 15% stores measure, basis, threshold, actual, source period, and acknowledgement.
Scheduled reports should use fixed company scope and bounded date ranges. A failed run records error, retry count, and owner; it must not silently send stale data.
Permissions and row-level security
Report access uses tenant, organisation, company, branch, warehouse, department, and role scope. A regional manager may see four branches; a warehouse clerk may see one warehouse. Export may be disabled even when viewing is allowed.
The server applies scope to data queries; hiding columns in the UI is not security. Access reviews record report, user, scope, permission, reviewer, and decision.
Accounting and operational reconciliation
Financial reports reconcile to trial balance, subledgers, tax, bank, inventory, assets, payroll, and projects by period and company. Operational reports reconcile orders to deliveries, receipts to stock, work orders to invoices, and meter or production events to revenue.
Differences show amount, currency, source IDs, reason, owner, age, and action. Do not adjust a report result; correct the source or document a controlled adjustment.
API and audit mapping
Report APIs use report ID, filters, dimensions, measures, currency, status, pagination, snapshot, and permission. Return query version, run time, totals, next cursor, and correlation ID.
json
{"reportId":"ar_ageing_2026","companyId":"company_uae","asOf":"2026-09-30",
"filters":{"branch":"DXB-MAIN","status":"POSTED"},"dimensions":["CUSTOMER","DUE_BUCKET"],
"measures":["OPEN_BALANCE","DAYS_OVERDUE"],"currency":"AED","snapshot":true}Audit records report changes, filter execution, export, schedule, share, permission, snapshot, and query version. Redact credentials and sensitive data in logs.
Practice checklist
Create AR ageing, sales margin, inventory, project forecast, and cash-position reports. Set date basis, company/branch filters, dimensions, currency, status, drill-down, snapshot, schedule, alert, export permission, and reconciliation. Explain every field, measure, precision, owner, status, permission, source, API ID, and audit event. Then attempt an all-tenant export and a report with unposted documents; prove both controls block or warn appropriately.
Related: Dashboard Atlas, Chart of Accounts field guide, Audit and Compliance field guide, Bank Reconciliation field guide, and API cookbook.