Dashboard, Control Tower & Analytics
The three company-wide views at the top of the sidebar.
Dashboard (/dashboard)
The Today home. It shows what needs your attention (pending approvals, overdue SLAs, unpaid sales invoices, overdue supplier invoices, leave requests, out-of-stock products, draft invoices), unread updates, recently opened pages, and a row of number cards. Polls published by HR appear as a prompt at the top.
Number cards are in the company's base currency. You only see a card if your role has the matching right (and the company is licensed for the module):
| Card | What it shows | Opens | Shown with |
|---|---|---|---|
| Revenue this month | Posted sales invoices and POS receipts since the 1st | Sales invoices | Sales invoice, order or POS rights |
| Unpaid invoices | Open balance of posted sales invoices | Sales invoices | Same as above |
| Open sales orders | Draft, confirmed and partly delivered orders | Sales orders | Same as above |
| Open payables | Open amount of posted purchase invoices, with the overdue amount and invoice count underneath (same numbers as the AP aging report) | AP aging, or purchase invoices without finance report access | finance.reports.read or any purchase invoice right |
| Cash position | GL balance of the Cash and Bank accounts, their sub-accounts, and any other asset account used as the bank account on a payment. Hover the card for the balance per account | Bank registers, general ledger or chart of accounts, depending on your rights | finance.reports.read, finance.accounts.read or any bank register right |
| Stock value | Total of the inventory valuation report (quantity × average cost, all active warehouses you can see) | Inventory valuation | inventory.stock_levels.read |
| Open work orders, out of stock, checked in today / active employees | Field service, inventory and HR counts | The matching list | The module's read rights |
Pinned reports
Below the cards, anyone with analytics.reports.read sees their pinned reports. Pin a saved report from the report builder (Pin to dashboard). Each widget runs the report live and shows it as its saved chart, or as a table (first 8 rows) for table reports. From a widget you can move it up or down, open it in Analytics, download it as Excel, or unpin it.
Pins are personal: each user has their own list (up to 12). You can pin your own reports and shared reports. If a shared report is made personal by its owner or deleted, it disappears from other users' dashboards.
Control Tower (/ops/control-tower)
A live exception board that refreshes every 30 seconds. Tiles are grouped by area, and severity drives the size and colour of each tile (red high, amber medium, grey low), so the worst problems dominate the screen. Click a tile to open the record, or its list when the page has no detail view. The chips at the top filter to one exception type and show its full count; each type lists at most 25 tiles.
You only see an exception type if the company is licensed for the module and your role has the right listed below. The board opens with any one of those rights.
| Area | Exception | Raised when | Severity | Right |
|---|---|---|---|---|
| Sales & supply | Late cargo manifests | Posted manifest past its delivery date and the journey isn't finished | High | sales.cargo_manifests.read |
| Failed stops | Stop failed or refused in the last 30 days | High | sales.cargo_manifests.read | |
| Overdue purchase orders | Confirmed or partly received PO past its expected delivery date | Medium | procurement.purchase_orders.read | |
| Stale goods receipts | Draft goods receipt older than 2 days | Medium | procurement.goods_receipts.read or procurement.purchase_orders.read | |
| Low stock | Product below its reorder point (from reorder suggestions) | High below minimum or safety stock, otherwise medium | inventory.reorder_suggestions.read or inventory.stock_levels.read | |
| Promotions awaiting approval | Submitted promotion | Low | sales.promotions.read | |
| Service | Breached ticket SLAs | Open helpdesk ticket past its first-response or resolve deadline | High for high/urgent priority, otherwise medium | helpdesk.tickets.read |
| Tickets at risk | Open ticket whose next SLA deadline is within 2 hours | Medium for high/urgent priority, otherwise low | helpdesk.tickets.read | |
| Overdue work orders | Open work order past its SLA due time, or past its scheduled end when it has no SLA | High when the SLA is breached or priority is urgent, otherwise medium | field_service.work_orders.read | |
| Quality | Failed quality inspections | Inspection completed as fail or quarantine in the last 30 days | High for fail, medium for quarantine | hseq.quality_inspections.read |
| Open non-conformances | NCR that is open or in progress | High when overdue or critical/high, medium, or low (follows the NCR severity) | hseq.non_conformances.read | |
| Expiring supplier certificates | Newest certificate of a type expiring in the next 30 days or expired in the last 30 | High once expired, medium within 7 days, otherwise low | hseq.supplier_certificates.read | |
| Finance | Overdue invoices | Posted sales invoice past its due date with an open balance | High after 30 days, otherwise medium | sales.sales_invoices.read |
| Credit holds | Active partner on credit hold | High | finance.credit_management.read | |
| Pending credit releases | Credit release request awaiting a decision | Medium | finance.credit_management.read | |
| Unreconciled bank lines | Line on a posted bank register older than 7 days that isn't in a completed bank reconciliation | Medium after 30 days, otherwise low | finance.bank_reconciliations.read | |
| Fleet | Vehicle compliance deadlines | Vehicle registration, inspection or insurance, or a transport document (licence, tachograph card…), expiring in the next 30 days or already expired | High once expired, medium within 7 days, otherwise low | fleet.compliance.read |
| Vehicle services due | Active service schedule due by date or odometer (within its lead time) | Medium when overdue, otherwise low | fleet.service_schedules.read or fleet.compliance.read | |
| People | Expiring employee certifications | Latest certification of its kind for an employee expiring in the next 30 days or expired in the last 30 (revoked ones are skipped) | High once expired, medium within 7 days, otherwise low | hr.employee_certifications.read |
Each tile shows what is affected, who owns it (assignee, driver, employee or supplier) and the due date or age.
Analytics (/analytics/reports)
A report builder over live ERP data. Pick a dataset (sales invoices and lines, purchase invoices, payments, journal lines, stock movements, leave requests, work orders) or start from a template (revenue by month, top customers, outstanding AR, invoice status, sales by product, payments over time). Then change the grouping, up to three measures, an optional breakdown, filters, sort, top N and date range, and pick a chart (bar, horizontal bar, stacked, line, area, pie or table). You can compare against the previous period of the same length.
Save a report as personal or shared with the team. Viewing and running reports needs analytics.reports.read; creating, editing and deleting are separate rights.
Export offers two formats:
- CSV — the rows currently on screen.
- Excel (.xlsx) — the server runs the report again with the current settings and returns a workbook: one sheet named after the report, a bold header row, date groups as real Excel dates, amounts as numbers with two decimals, counts as whole numbers, a bold total row, sized columns and a frozen header. A report returns at most 500 groups, or the top N you chose.
Pin to dashboard appears once a report is saved and adds it to your Today page. Opening a pinned report from the dashboard loads it in the builder (/analytics/reports?report=<id>).