Home / Help Center / pos-app / Home / Dashboard
🏠 Home

Dashboard

The Dashboard is the first screen after login. It gives shop owners and managers a live, at-a-glance summary of the day's business — money coming in, what is selling, what is running out of stock, and what needs attention.

📍 Menu path: Home → Dashboard
👤 Who uses it: All roles (chart/report widgets need Export/Reports permission)

Overview

The Dashboard pulls together data from Sales, Inventory, Customers and Cheques into one screen so you do not have to open five different pages every morning.

It refreshes automatically when the page loads, and you can force a fresh pull any time with the Refresh button — useful right after a busy rush when you want the freshest numbers.

Every card is clickable where it makes sense (e.g. clicking the "Today's Revenue" card jumps straight into Sales) so the dashboard also works as a fast launch pad.

Before You Start

Step-by-Step Guide

1 Read your day at a glance

  1. Look at the six KPI cards in the top row: Today's Revenue, This Month, Avg. Sale Value, Total Customers, Out of Stock, and Pending Payments.
  2. A red/upward or amber colour on a card (e.g. Out of Stock, Pending Payments) means it needs attention today.
  3. Click any KPI card to jump directly to the related page (Sales, Reports, Customers, or Inventory).

2 Use Quick Actions to start a task fast

  1. The Quick Actions strip at the top offers one-tap shortcuts: New Sale, Add Product, Add Customer, New Quotation, Stock Entry, View Reports.
  2. Only the actions you have permission for are shown — e.g. a cashier without inventory rights will not see "Stock Entry".

3 Investigate low stock or overdue cheques

  1. Scroll to the Low Stock Alerts card — each row shows a progress bar comparing current quantity to the minimum stock level you set on that product.
  2. Rows in red mean the item is at zero quantity; amber means it has dropped below half of the minimum level.
  3. Click Manage Inventory in the card header to go straight to the Inventory page to reorder or adjust stock.
  4. If any cheques you have received are overdue for deposit, an Overdue Cheques card appears automatically — click a row to open the Cheques page.

4 Review today's sales pattern

  1. The Today's Sales by Hour bar chart shows revenue bucketed by the hour, so you can see your busiest hours.
  2. The Payment Methods donut chart shows the split between Cash, UPI, Card, Wallet, Credit and Split payments for today.
  3. The Recent Transactions table at the bottom lists your last 8 bills with invoice number, customer, time, payment method, amount and status — click any row to open Sales.

Every Field & Button, Explained

Field / ButtonWhat it does
RefreshRe-fetches all dashboard data immediately instead of waiting for the next page load; shows a spinning icon while loading and disables itself mid-refresh to prevent double-clicks.
Today's RevenueSum of completed sale totals for the current calendar day, with the count of transactions underneath.
This MonthRunning total of revenue for the current calendar month plus number of sales; an up-arrow shows when month revenue is greater than zero.
Avg. Sale ValueToday's revenue divided by today's transaction count — a quick health check on basket size.
Total CustomersTotal customers on file plus how many of them transacted this month ("active this month").
Out of StockCount of products at zero quantity, with the count of additional low-stock (but not zero) items shown underneath.
Pending PaymentsCount of sales still awaiting payment (credit / partial); shows "All cleared" in green when zero.
Lifetime totals rowTotal Revenue (All Time), Total Transactions, Tax Collected, and Total Discounts Given — only visible to roles with export/reports rights.
Top Selling ProductsYour best sellers ranked by quantity sold, each with a proportional bar and total revenue contributed.
Recent Transactions tableLast 8 bills — columns for Invoice #, Customer (shows "Walk-in" if none), Time, Payment Method badge, Amount, and Status badge (Completed / Pending / Refunded / Cancelled).

Tips & Best Practices

Troubleshooting & FAQ

Why do I only see some of the KPI cards?
Charts, lifetime totals and top-products need Reports/Export permission. Ask your Admin to grant it under Settings → Staff Permissions if you should have access.
Why is the sales-by-hour chart empty?
It only plots today's sales. If nothing has been billed yet today, or the reports feature is below the Advanced plan tier, the chart area shows an empty state instead.
Numbers look stale after a big rush of sales — what do I do?
Click the Refresh button in the top-right of the dashboard header to force an immediate reload of every widget.
Overdue Cheques card is missing.
That card only renders when there is at least one overdue cheque; if all cheques are current it will not appear at all.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/Dashboard.jsx

Backend endpoints used:

  • GET /sales/stats
  • GET /reports/revenue
  • GET /reports/sales/daily
  • GET /reports/sales/top-products
  • GET /inventory/low-stock
  • GET /inventory/stats
  • GET /customers/stats
  • GET /sales
  • GET /cheques/overdue

Related tables (db-core repositories):

  • Sale
  • SaleItem
  • Product
  • Customer
  • ChequePayment

Redux slices:

  • navAccess
  • auth
  • scope (selectCurrentScope / getScopeQueryParams)

All widgets are fetched in parallel with Promise.all and each call is individually caught so one failing endpoint (e.g. reports being feature-gated) never blocks the rest of the dashboard from rendering. Chart widgets are additionally wrapped in a TierGate component that hides them below the required plan tier rather than erroring.