Define the question and KPI contract first
A widget title defines no formula, statuses, currency, date, scope, freshness, history, or reconciliation source. Those decisions belong to business and data owners.
Short answer
Native operational dashboards support current work. Governed reporting depends on the deployment design.
Open Mercato has a configurable module-provided dashboard, released analytics widgets, operational widgets, saved table perspectives and route-configured export infrastructure. It does not automatically supply an enterprise semantic layer, historical warehouse, frozen close, board pack, budgeting, statutory statements or accounting reconciliation.
- Reviewed
- 2026-07-14
- Source snapshot
- Development snapshot after v0.6.5
- Reviewed release
- v0.6.5 · 0.6.5
This editorial method supports reporting design. KPI approval, accounting advice, reconciled reports, statutory output and deployment evidence must come from the responsible owners and professionals.
Evidence-state legend
Keep release notes, this reviewed develop revision, project work, absent evidence and roadmap or branch material distinct. Dashboard-v2 is not an ancestor of reviewed develop; roadmap materialized views remain future evidence.
- 1. released
- 2. reviewed current develop
- 3. implementation-dependent
- 4. not established
- 5. future or unmerged
Dashboard analytics were released in 0.4.2 and recent-order and quote widgets in 0.4.4. Later current-source hardening stays labeled post-tag.
Terms and two native families
- operational view
- perspective
- dashboard
- widget
- metric
- KPI
- dimension
- grain
- source of truth
- freshness
- snapshot
- reconciliation
- semantic layer
- data warehouse
- business intelligence
- forecast
- plan
- statutory report
Visibility also depends on enabled modules, discovery, default or administrator assignment, user or role inherit/override, feature grants, tenant and organization context, and valid data.
Operational domain widgets
Recent customers, deals, todos, next interactions, orders, quotes and time-entry actions use domain APIs for current work.
Generic analytics widgets
Registered entities and mapped fields support count, sum, avg, min and max with filters, grouping, ranges, comparisons and bounded caching.
Personal layouts store widget identifiers, order, size and settings. They configure display. They do not define shared formula ownership, fiscal calendars, targets, lineage, reconciliation or sign-off.
Current widget semantics and accounting boundaries
Current develop observation
1. Revenue
- Formula or grain
- SUM order grandTotalGrossAmount
- Date
- placedAt
- Material boundary
- all non-deleted statuses; no currency grouping
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
2. Average order value
- Formula or grain
- AVG order grandTotalGrossAmount
- Date
- placedAt
- Material boundary
- same missing status and currency policy
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
3. Order count
- Formula or grain
- COUNT orders
- Date
- placedAt
- Material boundary
- all non-deleted order states
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
4. Orders by status
- Formula or grain
- COUNT orders grouped by status
- Date
- placedAt
- Material boundary
- distribution without an approved outcome
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
5. Revenue trend
- Formula or grain
- SUM gross order total by time grain
- Date
- placedAt
- Material boundary
- gross order total without revenue recognition or forecasting
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
6. Sales by region
- Formula or grain
- SUM gross order total by shipping region
- Date
- placedAt
- Material boundary
- address quality and currency remain material
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
7. Top customers
- Formula or grain
- SUM gross order total by customer
- Date
- placedAt
- Material boundary
- label resolution and top-N are presentation choices
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
8. Top products
- Formula or grain
- SUM order-line totalGrossAmount by product
- Date
- line createdAt
- Material boundary
- line date differs from order placement
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
9. Pipeline
- Formula or grain
- SUM deal value by stage
- Date
- deal date mapping
- Material boundary
- no currency normalization
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
10. Customer growth
- Formula or grain
- COUNT customer records by time
- Date
- createdAt
- Material boundary
- record creation differs from acquisition and retention
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Current develop observation
11. Staff hours
- Formula or grain
- SUM time-entry duration by project
- Date
- time-entry date
- Material boundary
- recorded time excludes payroll and utilization approval
- Scope
- non-deleted rows · resolved tenant and organization path · feature-gated entity
Mixed currencies, draft or cancelled states, returns, refunds, taxes, corrections, boundary timestamps, timezones and fiscal calendars can materially change the answer. Gross order totals report the defined operational measure. They do not establish revenue recognition, net sales, cash, margin, profit, invoiced revenue or accounting truth.
Analytics may use a 120-second cache when available and returns fetchedAt metadata. A refresh control, fetch time and cache expiry do not prove source completeness, end-to-end latency or real-time delivery. Batch requests are capped at 50 and can fail independently.
Choose the smallest reporting tier
Record suitable questions, history, sharing, scheduling, governance, reconciliation, implementation effort and a stop condition.
- 1. live table
- 2. saved perspective
- 3. operational widget
- 4. analytics widget
- 5. custom widget or report
- 6. configured export
- 7. BI or warehouse
- 8. accounting or statutory system
A perspective stores columns, visibility, filters, sort, page size and search for a table. It does not create a materialized dataset, frozen snapshot, scheduled report, semantic layer or warehouse. CSV, JSON, XML and Markdown exports are available only when a participating route configures them. An extract does not prove reconciliation. Search and indexes retrieve records. They do not define metrics or presentation.
KPI contract
A chart is accepted only when its contract and representative data tests agree. Extensibility makes custom outcomes possible. It does not estimate effort, quality, support, performance, security or maintenance.
Define the decision, assumption, source, owner and test evidence explicitly.
- 1. decision question
- 2. business owner
- 3. formula
- 4. numerator
- 5. denominator
- 6. grain
- 7. source entity and fields
- 8. included statuses
- 9. excluded statuses
- 10. amount basis
- 11. currency and conversion
- 12. tax basis
- 13. event date
- 14. timezone and fiscal calendar
- 15. tenant and organization scope
- 16. dimensions
- 17. null and duplicate handling
- 18. returns, refunds and corrections
- 19. late-arriving changes
- 20. freshness
- 21. history or snapshot need
- 22. target
- 23. access classification
- 24. retention
- 25. reconciliation source and tolerance
- 26. sign-off
- 27. change control
Structural example with a project-defined formula
Assumption: an abstract operations owner wants a current order-state count. The project must still select statuses, date, timezone, organization filter, duplicate policy, cache tolerance, source reconciliation and sign-off. No business values or benchmark are supplied.
Decision ladder and escalation triggers
Escalate only when semantic, history, delivery, governance, reconciliation, scale or authoritative-system needs require it.
- 1
use a current table and filters
- 2
save a perspective
- 3
enable or configure an operational widget
- 4
accept a released analytics widget only when semantics fit
- 5
build a custom widget or domain report
- 6
add a controlled export or scheduled report
- 7
add a semantic layer and BI or warehouse
- 8
retain specialist accounting, planning or statutory authority
Native is enough when
- one or few operational sources
- accepted current-state semantics
- modest history
- bounded tenant and organization scope
- clear metric owner
- defined reconciliation tolerance
Move beyond native when
- cross-source joins
- long history
- frozen periods
- slowly changing dimensions
- multiple currencies
- governed definitions
- scheduled distribution
- row-level BI policy
- high volume
- strong auditability
- finance close or planning
- statutory output
Three synthetic reporting decisions
Load the structural row to compare need, native fit, missing decisions, recommended tier, acceptance evidence and stop condition without real values.
Hypothetical only
Synthetic daily sales operations view
Hypothetical only
Synthetic cross-organization operations view
Hypothetical only
Synthetic month-end finance handoff
Create a reporting plan
Local planning tool
Reporting-requirements register
Starts empty and stays browser-local. A complete row records planning details only. It does not approve a KPI, reconcile a report or decide readiness.
Do not enter real data: Use structural labels only. Do not enter company values, personal data, production identifiers, confidential formulas, copied dashboards, secrets or statutory working papers.
Privacy: The page does not send worksheet content, put it in the URL, or store it in cookies.
Acceptance and operational states
Define normal, edge, failure and adversarial inputs, expected output, scope, evidence, cleanup, owner and repeatable pass criterion.
- 1. formula
- 2. source and grain
- 3. dates and timezone
- 4. status inclusion
- 5. currencies and taxes
- 6. nulls and duplicates
- 7. returns, refunds and corrections
- 8. late data
- 9. history and snapshots
- 10. tenant scope
- 11. organization scope
- 12. permission denial
- 13. freshness
- 14. cache behavior
- 15. partial widget failure
- 16. configured export
- 17. reconciliation
- 18. performance
- 19. accessibility
- 20. recovery
- 21. ownership
- 22. no data
- 23. one record
- 24. unknown label
- 25. deleted row
- 26. boundary timestamp
- 27. changed formula
Expose this state distinctly in UI, evidence and support diagnostics. Distinguish it from every other state.
- hidden widget
- denied route
- empty scoped result
- unavailable provider
- stale cache
- partial batch failure
- true zero
Reconcile representative periods to an authoritative source with a named tolerance, exception path, accountable owner, sign-off and repeatable rerun procedure.
Reporting ownership
- business metric owner
- data owner
- system owner
- report builder
- access approver
- reconciliation owner
- change approver
Stop or defer
- undefined formula.
- unknown source of truth.
- unowned data quality.
- irreconcilable currency or status rules.
- inaccessible history.
- unresolved tenant or organization scope.
- missing access model.
- statutory or accounting ambiguity.
Practical questions
Which native reporting tools can I start with?
Start with filtered tables, saved perspectives and the dashboard widgets available in your enabled modules. Check each widget’s formula, date field and scope against the business question before relying on its total.
Can a dashboard combine multiple currencies?
The reviewed sales aggregates do not normalize currencies. Use a single-currency scope or implement an agreed conversion rule with a rate source and date before combining amounts.
Can I connect a BI tool or build a custom metric?
A project can add a custom widget, report or controlled data export. Define the formula, access rules, refresh interval and reconciliation first. A universal ready-made BI connector is not established by this guide.
Can the dashboard replace accounting reports?
Gross order totals describe operational orders. Finance reporting also needs agreed treatment of returns, taxes, currencies, closed periods and ledger reconciliation. Retain the accounting system as the authority until those requirements are satisfied.