Home / Help Center / pos-app-electronics / electronics / EMI Tracker
💳 electronics

EMI Tracker

EMI Tracker records a customer's instalment payment plan for a purchase — total amount, down payment, monthly EMI, tenure and the financing bank — and tracks how many instalments have been paid, with a one-tap WhatsApp reminder as the next instalment date approaches.

📍 Menu path: /electronics/emi
👤 Who uses it: Owner,Manager,Staff

Overview

Each EMI plan stores the customer, product, Total Amount, Down Payment, Monthly EMI amount, Tenure (months), a Start Date, a recurring EMI Date (day of month), the financing Bank/Finance Company and its Ref/Loan Number, and how many Installments Paid so far.

A visual progress bar and "paid/total" counter on each row shows how far through the plan a customer is, with a green checkmark once fully paid.

Plans move through ACTIVE, COMPLETED, DEFAULTED or CANCELLED status.

When editing an existing plan, a live Pending Balance is shown — Total Amount minus Down Payment minus (Installments Paid × Monthly EMI) — so you can see at a glance what the customer still owes.

Before You Start

Step-by-Step Guide

1 Add a new EMI plan

  1. Click Add EMI Plan.
  2. Enter Customer Name * (required) and Phone.
  3. Enter Product * (required) — e.g. "iPhone 15, Samsung S24…".
  4. Enter Total Amount and Down Payment.
  5. Enter Monthly EMI, Tenure (months) and EMI Date (the day of the month, 1–31, the instalment is due).
  6. Set Start Date and Installments Paid (defaults to 0).
  7. Enter Bank/Finance Co. and Ref/Loan No. if financed through a third party.
  8. Set Status (defaults to Active) and add any Notes, then click Add EMI Plan.

2 Update instalment progress

  1. Open an existing plan via the edit icon.
  2. Increase Installments Paid each time the customer pays their monthly EMI.
  3. While editing, watch the Pending Balance line — it recalculates live from Total Amount, Down Payment and Installments Paid × Monthly EMI as you type.
  4. Once Installments Paid reaches Tenure (months), update Status to Completed.

3 Send a WhatsApp instalment reminder

  1. The WhatsApp icon appears on ACTIVE plans with a customer phone and EMI Date where fewer than 5 days remain until (or have already passed) that day of the current month, and not all instalments are yet paid.
  2. Click it to open WhatsApp Web/App with a pre-filled reminder message stating the EMI amount, product, due day of the month, and how many instalments have been paid out of the total.

4 Search, filter and manage plans

  1. Use the search box to filter by customer name, product name or bank/loan reference number.
  2. Use the status chips (All, Active, Completed, Defaulted, Cancelled) to narrow the table.
  3. Click the trash icon and confirm to permanently delete a plan.

Every Field & Button, Explained

Field / ButtonWhat it does
Add EMI PlanOpens the blank EMI plan form.
Active EMI plans bannerShown at the top of the page whenever at least one plan is Active, with the running count.
Customer Name * / PhoneRequired customer name and optional contact phone (needed for reminders).
Product *Required product name the instalment plan is financing.
Total AmountFull price of the item being paid off via instalments.
Down PaymentAmount paid upfront, subtracted from Total Amount when computing Pending Balance.
Monthly EMIThe instalment amount due each month.
Tenure (months)Total number of monthly instalments in the plan.
EMI Date (day)Day of the month (1–31) the instalment is due; drives the WhatsApp reminder timing.
Start DateThe date the plan began.
Installments PaidRunning count of instalments paid so far; drives the progress bar and Pending Balance.
Bank / Finance Co.The financing bank or finance company, e.g. HDFC, Bajaj Finance.
Ref / Loan No.The bank/finance company's reference or loan number for this plan.
Pending balance (edit form)Live-calculated as Total Amount − Down Payment − (Installments Paid × Monthly EMI); only shown while editing an existing plan and only when greater than zero.
StatusActive, Completed, Defaulted, or Cancelled.
NotesFree-text notes on the plan.
Progress bar + N/N counterVisualises Installments Paid against Tenure (months) on each row, with a green checkmark once fully paid.
Search boxFilters by customer name, product name or bank reference/loan number.
Status filter chipsAll, Active, Completed, Defaulted, Cancelled.
WhatsApp iconSends a pre-filled instalment reminder via wa.me; only shown for Active plans with a phone, an EMI Date, and unpaid instalments remaining within 5 days of (or past) the due day this month.
Edit / Delete iconsEdit opens the form pre-filled; Delete permanently removes the record after a confirmation prompt.

Tips & Best Practices

Troubleshooting & FAQ

The WhatsApp reminder icon isn't showing for a plan I expect it on.
It requires the plan to be Active, have a saved customer phone number and an EMI Date, have unpaid instalments remaining, and be within 5 days of (or already past) that day-of-month — plans further from their due date, fully paid, or missing a phone/EMI Date will not show it.
The reminder icon keeps appearing every day even though the due date already passed this month.
The due-soon check compares EMI Date minus today's day-of-month and treats any value of 5 or less — including negative numbers, i.e. the due day has already passed — as "due soon", so an overdue instalment continues to show the reminder icon for the rest of that month.
Pending Balance isn't showing while I edit a plan.
It is hidden both for brand-new plans (only shown when editing an existing one) and whenever the calculated balance is zero or less — e.g. once Down Payment plus paid instalments already cover the Total Amount.
The progress bar shows 0/0 or looks wrong.
Progress is Installments Paid ÷ Tenure (months); if Tenure (months) was left blank or zero, the percentage is forced to 0 to avoid a divide-by-zero rather than showing an error.

🧑‍💻 Developer Notes

Source component(s):

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

Backend endpoints used:

  • GET /electronics/emi
  • POST /electronics/emi
  • PUT /electronics/emi/:id
  • DELETE /electronics/emi/:id

Related tables (db-core repositories):

  • ElectronicsEMI

Redux slices:

  • None — local component state only

Feature flag key: billing

The "due soon" check (dueSoon()) is a simple `emiDate - today <= 5` comparison against the day-of-month with no month-rollover awareness — it does not distinguish between "5 days until due this month" and "overdue by 20 days earlier this month", so the WhatsApp reminder icon effectively stays visible for any active, unpaid plan from the moment its due day passes until the calendar rolls into the next month. There is no automated payment-received flow — Installments Paid, and therefore Pending Balance and the progress bar, must be updated manually by staff each time a customer pays.