Skip to content

Dashboard and Accounting Control Center ​

Use these pages at the start and end of each working day. The Dashboard explains financial performance; the Control Center proves whether operational events and control balances are reliable.

Accounting Dashboard ​

Open Admin → Accounting → Dashboard. Choose All Branches or one Branch, a From/To date range (maximum 366 days), and optional comparison, chart interval, account types, accounts, dimensions, or journal types. Apply Filters recalculates the page; Reset removes analytical filters; Refresh reloads current posted data.

All-branch totals use historical base-currency values. A selected branch uses its ledger currency. Analytical account or dimension filters intentionally disable the full accounting-equation check.

KPI cards ​

CardWhat it means
RevenuePosted revenue during the range.
Gross ProfitRevenue minus COGS.
Net IncomeGross profit minus operating expenses.
Cash & BankPosted cash-account balance as of the end date.
Accounts ReceivableBalance of mapped customer receivable controls.
Accounts PayableBalance of mapped supplier payable controls.
Total Assets / LiabilitiesPosted statement balances as of the end date.

Comparison can be None, Previous Period, or Previous Year. Granularity can be automatic, daily, weekly, or monthly.

Dashboard sections ​

  • Financial Performance charts revenue, gross profit, and net income.
  • Expense Mix shows the largest cost and expense accounts.
  • Cash Movement separates inflow, outflow, and net movement.
  • Branch Performance compares default-currency revenue, profit, income, margin, and change.
  • Balance Sheet Composition compares assets, liabilities, and equity and reports whether the accounting equation balances.
  • Close & Controls counts open/soft-locked periods, draft or failed journals, and pending reconciliations.
  • Recent Journal Activity shows entry, date, type, status, description, and total; use View Journals for detail.

No posted ledger activity means the filters found no posted lines, not necessarily that the business had no operational activity. Check Posting Logs and Unposted Events.

Accounting Control Center ​

Open Accounting Control Center. Tabs cover Overview, Event Catalog, Control Reconciliations, Health Findings, Health Runs, and Production Gates. Branch and date filters scope runs.

Posting pipeline and event catalog ​

The event catalog lists module, event, owner, handler, and version. It proves that expected source events have a registered accounting handler. Posting pipeline statuses are:

StatusMeaning and next step
PendingQueued but not started; monitor warning threshold.
ProcessingCurrently handled; stale processing needs review.
PostedJournal created successfully.
SkippedHandler intentionally produced no journal; inspect its reason.
FailedProcessing failed; correct the cause before retry.
BlockedA mapping, period, currency, or source precondition prevented posting.

Control reconciliations ​

Choose Run Reconciliation to compare operational subledgers with mapped GL controls. A run can be Running, Completed, Completed with Differences, or Failed. Each item shows control, operational balance, ledger balance, difference, and status.

Item status is Reconciled, Difference, Blocked, or Not Applicable. Blocked means the comparison could not be completed because required scope, mapping, or source evidence is unavailable; it is not a zero difference.

Use Classify to record why a difference exists: missing posting, duplicate posting, timing, mapping, FX, migration adjustment, operational data, or unknown. Classification explains evidence; it does not alter balances. Correct the source or create an authorized accounting correction, then rerun.

Health findings ​

Findings show severity (Critical, Error, Warning, Information), check, occurrences, and last seen. Actions are:

  • Acknowledge: confirms a reviewer saw the finding; it remains open for resolution.
  • Resolve: records that the cause has been corrected.
  • Accept Risk: records an authorized decision to tolerate the condition. Enter a meaningful review reason.

Run Health Checks after configuration changes, posting recovery, and close work.

A health run is Running, Completed, or Failed. Completed with Differences belongs to control-reconciliation runs, not health runs.

Production-readiness gates ​

The page checks event-catalog completeness, critical findings, health heartbeat, seven reviewed daily reconciliations, MySQL concurrency, production-volume performance, alert delivery, backup/restore, worker recovery, and rollback rehearsal.

For evidence-based gates, choose Record Verification and enter the evidence type, reference (CI run, ticket, report, or controlled test), notes, verification date, and optional expiry. Revoke outdated evidence with a reason. Recording evidence does not perform the technical test; it records the already completed verification.

Posting Logs ​

Open Posting Exceptions → Posting Logs. Filter by source type, event, and status. Columns show source type/id/event, status, attempts, error code/details, and journal entry.

The detail page adds idempotency key, processed/next-retry time, payload snapshot, metadata, and journal totals. An idempotency key prevents the same event from creating duplicate journals. Use Retry only after correcting the cause. A successful retry links the journal and changes the log to Posted.

Unposted Events ​

Unposted Events are source events that do not currently have a completed journal. Filter by source, event, severity, and status. The detail page shows reason, metadata, assignee, resolution owner/time, and the source identity.

Statuses are Open, Ignored, Resolved, and Retried. Severities are Information, Warning, Error, and Critical.

Use Ignore only when the event legitimately should not post. Ignoring is an audit decision, not a way to hide an accounting error. For missing mappings, closed periods, invalid dimensions, or currency problems, fix the cause and use the source/posting retry workflow.

Daily Control Routine ​

  1. Check Dashboard Close & Controls.
  2. Review blocked/failed Posting Logs and open Unposted Events.
  3. Run Health Checks and review new or repeated findings.
  4. Run control reconciliation for the relevant branch/date.
  5. Classify differences, correct their causes, and rerun.
  6. Open the relevant Financial Report to confirm corrected balances.

Do not retry blindly

A retry uses the original source evidence. Repeated retries will not correct an invalid mapping, closed date, or malformed source transaction and may exhaust the configured retry threshold.

Tenvoro