The landing dashboard¶
The dashboard is the home page users land on after login. It renders one
of two layouts based on the site's system mode: a member/group
dashboard (group and merchant modes share the same layout) or a
supplier dashboard. The controller picks
templates/dashboard/{systemMode}.html.
The member / group dashboard¶
Shown on group and merchant sites, oriented around buying activity:
- News — recent news posts.
- Prices this week — recent price-list documents (members).
- Upcoming events — the events calendar widget.
- Figures — a turnover/figures widget (group mode).
- Turnover — a spend widget backed by the turnover query, scoped to the user's own company unless they're a superuser.
The supplier dashboard¶
Shown on supplier sites, oriented around the supplier's own trading across the buying groups it supplies:
- Your deals — the supplier's active/pending deals across tenants, each with a spend projection and effective rate.
- Rebate due — outstanding (unpaid, past-period) rebate totals per deal.
- Rebate projections and spend projections — stacked charts and pies of projected rebate and spend to period/year end, by site.
- Documents — the supplier's recently-viewed documents (ranked by download count over the last year), with an inline upload for adding new ones.
- Sales heatmap — a Google-Maps heatmap of where the supplier's spend lands geographically (see below).
Because a supplier can trade with member companies across several separate sites, these widgets fan out across tenants: the backend finds the supplier's company records on every site (matched by the supplier's site ID) and aggregates across them.
The sales heatmap¶
The heatmap plots the supplier's last-12-months spend onto the map:
- Customer points (blue-weighted) — for each member that buys from the supplier, the member's total spend is spread evenly across that member's geocoded branches. So a member with four mapped branches shows a quarter of its spend at each — the map weights locations, not actual per-branch sales (branches carry no sales data of their own).
- Prospect points — members who buy in the supplier's categories but not from this supplier, plotted the same way, to show where the opportunity is.
Branches without valid coordinates are omitted.
Who sees what¶
The member widgets scope to the user's own company (superusers see all); the turnover widget additionally fails closed for users without a turnover/figures-entry role (it substitutes an impossible company ID that returns nothing).
The supplier widgets have no role check — they scope purely by the supplier's own site (matching the supplier's company records across tenants), returning empty when there are none. So on a supplier site the data is naturally limited to that supplier, but access isn't role-gated.
Why does the dashboard change unexpectedly¶
- The layout is completely different for another user — they are on a site with a different system mode (supplier vs group/merchant).
- The turnover widget is empty — the user lacks a turnover/figures role (it fails closed), or the figures haven't been entered.
- Supplier deals dropped off — a deal expired more than six months ago (stale deals are filtered out) or its figures date aged out.
- Heatmap weights shifted — a member's spend changed, or its branch count changed (spend is divided by branch count).
What the dashboard is not¶
- Not the deal dashboard — that is one deal's landing view; this is the site home page.
- Not the rebate management dashboard — that is the cross-deal payment grid.
- Not a real per-branch sales report — the heatmap distributes company spend across branches for map weighting only.
Related pages¶
- News posts and the daily digest
- The events calendar
- Branches and the branch locator — the coordinates the heatmap plots
- The rebate management dashboard