Home / Help Center / pos-app-grocery / grocery / Grocery Overview
🛒 grocery

Grocery Overview

Grocery Overview is a mini, grocery-specific dashboard that sits alongside the main Dashboard. It shows today's mandi (wholesale/market) rates grouped by category, plus a live list of your active bulk pricing rules, so a shop owner can see both at a glance without leaving the grocery menu.

📍 Menu path: Grocery → Grocery Overview
👤 Who uses it: All roles with the Billing feature enabled

Overview

The page loads two things in parallel: today's mandi rates (grouped into Vegetable / Fruit / Grain / Dairy / Spice / Other) and your active bulk (quantity) pricing rules from the shared Bulk Pricing catalogue.

It is a read-only summary — there is no add/edit here. Every card and list item is clickable and jumps you straight to the page where you can actually make changes (Mandi Rates or Bulk Pricing).

This page only exists in the Grocery variant; it is the first item in the "Grocery" section of the sidebar, appended after all the standard pos-app menus.

Before You Start

Step-by-Step Guide

1 Check today's mandi board at a glance

  1. Open Grocery → Grocery Overview. Today's date is shown under the page title as "Mandi board for ".
  2. The four stat cards at the top show: Today's Items (total rate rows entered for today), Bulk Price Rules (active rule count), Vegetables and Fruits (category-specific counts for today).
  3. Click any stat card to jump to the page it summarises — the three category-tagged cards go to Mandi Rates, the Bulk Price Rules card goes to Bulk Pricing.

2 Scan today's rates by category

  1. The "Today's Mandi Rates" panel lists every item entered for today, grouped under its category with a coloured chip per item showing "/".
  2. If nothing has been entered yet for today, the panel shows "No mandi rates for today" with an "Add rates →" shortcut straight into the Mandi Rates page.
  3. Click "Update Rates" in the page header, or "All →" inside the panel, to open the full Mandi Rates page and add or edit entries.

3 Review bulk pricing rules without leaving Grocery

  1. The "Bulk Pricing Rules" panel lists up to 8 active rules with product name, quantity range (e.g. "10–50 kg" or "10+ kg" when there is no upper bound) and the tiered price.
  2. Click "Manage →" to open the full Bulk Pricing page and add, edit or deactivate rules.

Every Field & Button, Explained

Field / ButtonWhat it does
Today's ItemsCount of all mandi rate rows entered for the current calendar day, across every category.
Bulk Price RulesCount of bulk pricing tiers currently marked active (rows where isActive is not explicitly false).
Vegetables / FruitsQuick counts of today's mandi rows filtered to just the vegetable or fruit category — the two categories a produce-heavy kirana store checks most often.
Today's Mandi Rates panelEvery rate entered for today, grouped by category with a coloured pill per item (colour follows the same category-colour scheme as the Mandi Rates page itself).
Bulk Pricing Rules panelUp to 8 active bulk pricing tiers, each showing product name, quantity range and the tiered price per unit.

Tips & Best Practices

Troubleshooting & FAQ

The Bulk Price Rules count does not match what I see on the Bulk Pricing page.
This dashboard only counts rules where isActive is not false — deactivated/paused rules on the Bulk Pricing page are intentionally excluded from this count.
Yesterday's rates are not shown here.
The Grocery Overview only ever shows today's date — to see other days, open Mandi Rates and change the date picker there.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/pos-app-grocery/src/pages/grocery/GroceryDashboardPage.jsx

Backend endpoints used:

  • GET /grocery/mandi
  • GET /products/price-tiers/all

Related tables (db-core repositories):

  • GroceryMandiRate
  • ProductPriceTier

Both API calls are fired with Promise.allSettled so a failure in one (e.g. bulk pricing not licensed) does not block the mandi rates panel from rendering, and vice versa. Bulk pricing intentionally has its own table/route family (product price tiers) — grocery does not have a separate "bulk pricing" backend, it only links into the generic one.