Merchant Dashboard — SanadiqCloud Dashboard

Product version: 1.0.0+1 Last updated: 2026-10-07 Audience: Tenant Owners, Tenant Employees, Platform Staff with support access


Overview

The Merchant Dashboard (/dashboard) is the home screen for one active organization. It answers: how is this organization doing, what is happening, and what needs attention?

Projection: GET /api/dashboard/v1/dashboard/tenant/{tenant_id}
Live overlay: inventory GetLowStockItems, GetExpiringItems, and expiringSoonCount.

Requires dashboard:read and an active organization context. You only see organizations you are a member of. Switching organization reloads the page for the new tenant. Pull down to refresh both the projection and the live overlay.

There is no export report on this page. Detailed management stays in Product, Inventory, Requisitions, Billing, Members, and Audit.


Access for platform staff

Platform admins and staff can open an organization's merchant dashboard only while they hold approved support access to that organization. Without it the request is refused (SUPPORT_ACCESS_REQUIRED). See Support access.


Sections

Section What it shows
Snapshot time When the tenant projection was read
Tenant briefing Executive risks only (danger + warning summaries): unhealthy subscription, low stock, expiring lots, pending requisitions, overdue billing invoices, seats ≥ 90%, storage ≥ 75%. Not an activity feed — creating products or editing stock does not appear here unless a rule above fires. In-transit transfers and open customer returns stay in Needs attention only.
Needs attention Full actionable queue (same summary rules + live/projected stock rows + in-transit transfers + open customer returns + open stock counts + recent requisitions), category filters, View all. Open counts appear under the Counts category as stock counts in progress and stock counts awaiting approval; the category total is both added together. See Counts. Owners who decide support access also see each pending Support access request (case number, scope, request deadline) at the top; tapping it opens the case to approve or reject, and the row leaves once decided or expired. See Support access.
Tenant KPIs Products, product items, inventory items (7-day low-stock sparkline when low stock exists), active members vs seats
Subscription & usage Plan, status, amount, next billing, seats, storage (upgrade CTA at ≥ 75%)
Stock alerts Live low stock, then projected alerts (deduped), then expiring lots. Calm empty state when healthy. Overlay errors are not shown as “healthy”.
Inventory activity 30-day transactions vs low-stock trend
Inventory health Healthy vs low-stock composition
Business Sales MTD, gross profit MTD, inventory value, monthly revenue vs profit (up to 12 months). Sales revenue / COGS / GP come from Finance journal projections (not Sales invoice create alone).
Recent requisitions Compact list when any exist
Recent activity Latest ~8 tenant audit events (session / password / token noise dropped)
Quick links Invite, Members, Stock, Billing Hub, Organization Settings (permission-gated)

Refreshing

Pull to refresh. The dashboard reloads the projection and the live inventory overlay for the current tenant. Month-to-date values reset on the 1st of each month at 00:01 UTC.


Related: Dashboard Overview | KPI Reference | Finance | Billing | Notifications