Home / Help Center / pos-app / Money & Accounts / Rent Management
🏢 Money & Accounts

Rent Management

A one-screen overview of everything to do with rent you owe (or collect) from shop/stall vendors — how many agreements are active, what your total monthly rent bill is, what is overdue right now, and what is coming due in the next week.

📍 Menu path: Money & Accounts → Rent Management
👤 Who uses it: Managers/Owners only (managerOnly nav item)
🏷️ Plan tier: advanced+

Overview

Rent Management is built for shop owners who sublet stalls/counters to vendors (e.g. a market complex or shared retail space) and need to track rent agreements and collections without a separate spreadsheet.

The dashboard is the landing page for the whole Rent Management area and pulls together numbers from your Rent Agreements and Rent Payments records into four stat cards plus two action lists.

It has no filters or settings of its own — it is a read-only summary; agreements and payments themselves are created and edited on the Rent Agreements and Rent Payments pages.

Before You Start

Step-by-Step Guide

1 Read the rent stat cards

  1. Look at Active Agreements — a count of rent agreements currently in ACTIVE status.
  2. Look at Monthly Rent — the sum of the monthly rent amount across every active agreement, formatted as currency.
  3. Look at Overdue Amount — the total balance still owed across all rent payments that are past their due date.
  4. Look at Upcoming Due — the total balance owed across rent payments due in the next 7 days, so you can plan collections/cash flow ahead of time.

2 Chase down overdue rent

  1. If any payments are overdue, an Overdue Payments card appears listing each one by vendor name, due date, and balance amount in red.
  2. Use this list as your daily follow-up call sheet before it slips further past due.
  3. Once a payment is recorded (on the Rent Payments page), it disappears from this list on the next dashboard load.

3 Plan for rent due this week

  1. If any payments are due within the next 7 days, an Upcoming Payments (Next 7 Days) card lists each vendor, due date, and balance amount in orange.
  2. Use this to remind vendors ahead of the due date, or to make sure you have cash/UPI collection ready on the day.

Every Field & Button, Explained

Field / ButtonWhat it does
Active AgreementsCount of rent agreements currently marked ACTIVE (from the Rent Agreements page).
Monthly RentSum of monthly rent across all active agreements, shown as a currency value.
Overdue AmountTotal outstanding balance across every rent payment whose due date has passed and which is not fully paid.
Upcoming DueTotal outstanding balance across rent payments due within the next 7 days.
Overdue Payments listPer-vendor rows (vendor name, due date, balance amount) for every overdue payment — only rendered when at least one exists.
Upcoming Payments (Next 7 Days) listPer-vendor rows (vendor name, due date, balance amount) for payments due in the coming week — only rendered when at least one exists.

Tips & Best Practices

Troubleshooting & FAQ

All four stat cards show zero.
This means no rent agreements exist yet, or none are ACTIVE. Go to Rent Agreements and create one first.
The Overdue Payments card is missing even though I know a vendor is late.
The card only renders when the dashboard's overdue list is non-empty. Check that a rent payment record actually exists for that period on the Rent Payments page — the dashboard cannot show overdue amounts for a period that was never generated as a payment.
I do not see Rent Management in my sidebar at all.
It requires the Advanced plan tier (or above) and manager-level access. Ask your Admin to confirm your plan tier and your account role.

🧑‍💻 Developer Notes

Source component(s):

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

Backend endpoints used:

  • GET /rent-management/dashboard

Related tables (db-core repositories):

  • RentAgreement
  • RentPayment

Redux slices:

  • scope (selectCurrentScope / getScopeQueryParams)

Feature flag key: rent_management (requires advanced plan tier or above)

Fetches a single aggregated payload from the backend (dashboard.agreements, dashboard.overdue, dashboard.upcomingDue) rather than composing multiple calls client-side. Uses an AbortController so an in-flight request is cancelled if the component unmounts before it resolves. Currency is hard-formatted to INR via Intl.NumberFormat regardless of store locale digits.