The Indore kirana owner and the credit book that wouldn't close

Rohit Malviya stands behind his counter in Vijay Nagar, Indore, with his hand on the udhaar bahi. The leather-bound notebook is thick, worn soft at the edges from two decades of transactions. His father opened the shop in 2004, a 200-square-foot rectangle squeezed between a dhaba and a medical store, selling atta, dal, oil, namkeen, and Parle-G to the neighbourhood. When his father's knees gave out five years ago, Rohit took over — not from ambition, but because family shops don't close. You inherit them. You keep them running.

The Indore kirana owner and the credit book that wouldn't close

The shop moves at its own rhythm now. Morning is steady: office-going mothers buying bread ingredients, old men getting their oil refills. Afternoon slows to nothing until 4 PM, when Munna — a part-timer from the lane — arrives to help with the rush. Evening brings the real crowd. By 9 PM, Rohit locks the door, stands still for a moment, and opens the bahi to write down the day's udhaar entries: names, amounts, dates, notes. The notebook is his ledger, his memory, his evidence. It is also, unbeknownst to him on most days, incomplete.

In March, Rohit noticed that the udhaar bahi showed ₹1,12,000 in outstanding credit. That's more than two months of turnover. He did the maths and felt the familiar tightness in his chest — the same feeling his father must have felt a thousand times. The family on the fourth floor, who took groceries on credit for years, seemed to owe ₹11,400. That was a problem. That was a debt that might never come back.

By April, something else stopped working. Sharma-ji, the accountant who files Rohit's GST returns twice a year, called to say that the GSTR-4 annual return — the one that closes out the year — wouldn't submit. The button in the GST portal was greyed out, unavailable. Somewhere in the system, something was missing. And at the same time, Rohit received an SMS in English, late morning, during the rush hour when he couldn't read it properly. It mentioned "CMP-08" and a date in January that had already passed. He showed it to someone, forgot about it, and moved on.

Then came Ram Navami. Rohit's cousin Priya was visiting from Pune, where she works as a data analyst. Priya is the kind of person who asks questions. She asked about the udhaar bahi. She asked about the SMS that kept appearing on Rohit's phone. She asked why the GST return was stuck. And after listening to Rohit explain each problem in the shorthand of everyday anxiety — "bhai, kuch gadbad hai" (something is wrong) — she said, "Let me help you."

Priya installed something called GabFORGE on Rohit's phone. It took two minutes. She asked for access to his PhonePe PDF exports and his SMS inbox. She set it up so the app could read through both. Then she told Rohit: "An agent will look at everything and tell you what's missing and what you need to do."

🗓️ The annual rhythm of a kirana — GST composition, udhaar bahi, UPI economy

A small kirana shop in India lives by three calendars: the Hindu calendar (festivals when credit demand spikes), the financial year (July to June, when GST returns are due), and the municipal calendar (when the Shop and Establishment licence must be renewed). Most small shop owners never see these as separate timelines. They just survive in the gap between them.

Rohit's shop is registered under GST Composition Scheme CMP-08, which means he pays a flat 1% tax on turnover instead of collecting and filing detailed invoices. For this, he must file a quarterly return — the CMP-08 form — four times a year. The deadline for the October–December quarter is January 18. At the end of the year, he files the annual GSTR-4 return, which sums up all four quarters. If even one quarterly return is missed, the system blocks the annual return. The door locks until the back return is filed.

The udhaar bahi exists outside these timelines. It is pure neighbourhood economics. When someone runs out of money and says "likh do bhai" (write it down), Rohit writes it down. By month three, he can no longer remember who owes how much — the bahi is the truth. But the bahi is only as accurate as the notes he makes at the end of each day. If a customer pays by UPI, Rohit might forget to cross it off. If the customer is in a hurry and says "ji, baad mein settle kar dunga" (I'll settle it later), Rohit writes it down without the payment. The ledger accumulates errors. After two years, it no longer reflects reality.

The third calendar — the municipal one — arrived as an SMS. The Shop and Establishment Act requires every retail shop in Indore to renew its licence annually. The renewal deadline is usually the last day of the previous month. If you miss it, you incur a late fee. The IMC (Indore Municipal Corporation) sends an SMS reminder, but many shop owners miss it. It comes in English, at a random hour, and says "renewal". Shop owners see the notification, think "I'll do it tomorrow," and then three months pass.

This is the rhythm: quarterly GST returns that need attention in January, April, July, and October; a daily udhaar bahi that drifts out of sync; and an annual Shop and Establishment renewal that floats somewhere in the municipal database, known only through an SMS that arrived during the lunch rush.

⚠️ April: GSTR-4 button greyed out, udhaar overcount, lapsed licence

By April, all three rhythms had stopped. The GSTR-4 button was greyed out because the CMP-08 for October–December quarter, due January 18, had been missed entirely. Sharma-ji, who handles fifty small shops in the area, had not known the deadline had passed until Rohit mentioned it. Filing it now incurred a penalty: the late fee came to ₹4,800, calculated at ₹200 per day with a ₹5,000 maximum cap, plus interest. The system was now asking for that payment before the annual return could proceed.

The udhaar bahi showed ₹1,12,000 in outstanding credit. To Rohit, this seemed catastrophic. He didn't sleep well. He looked at the fourth-floor family's line and saw ₹11,400, which made him think they had become the kind of neighbours who don't come back. He felt the weight of his father's legacy — a shop that has survived twenty-two years by treating the neighbourhood with fairness, and now fairness seemed to be going broke.

The Shop and Establishment licence, meanwhile, had simply expired. The SMS had arrived in February, unread among the hundred other notifications. The renewal deadline had passed, and now if an IMC inspector came by, there would be a fine. The CSC (Common Service Centre) down the road could renew it, but it would take time Rohit didn't have, and there would be a late fee on top.

Three separate problems, each with its own deadline, its own penalty, its own small catastrophe.

🌗 Priya visits, installs GabFORGE, agent reads the SMS and PhonePe PDF

Priya returned to Indore for Ram Navami. She stayed for six days. On the third day, sitting in the shop during the afternoon lull, she asked Rohit to show her his phone. He unlocked it. She opened GabFORGE.

The app is designed for exactly this scenario: small business owners who use multiple payment systems (cash, UPI, cheques, credit), receive dozens of government SMS every month, and need to reconcile their books without hiring a full-time accountant. Priya gave the agent access to Rohit's PhonePe transaction history (exported as a PDF) and his entire SMS inbox. Then she told the app to "find all UPI payments that might not be recorded in the udhaar bahi."

The agent worked through the data. It found nine thousand two hundred rupees in UPI transactions that Rohit had received but never marked as paid in his notebook. Some were from the fourth-floor family. Some were from other regulars. The money had come in, but the bahi still showed the debt. This wasn't fraud or dishonesty — it was the gap between digital and paper, between the speed of UPI and the time it takes to sit down and update a ledger by hand.

When Rohit saw the number — ₹9,200 — he felt something shift. The fourth-floor family didn't owe ₹11,400. They owed ₹2,600. They had been paying. He had just forgotten to write it down.

At the same time, the agent found the SMS from October. It was in English, from the Goods and Tax Service Authority, and it said: "Composition return for Oct-Dec 2025 (CMP-08) due by 18 Jan 2026. Please file immediately." Priya read it aloud and explained it in Hindi. Rohit listened. Sharma-ji had missed it. The system had sent the SMS, but Sharma-ji's office — like thousands of other accountants' offices across the country — had no way to receive government SMS and forward them to clients in a tracked, visible way. The notification had arrived in Rohit's phone, unread, like everything else.

The agent also found the licence renewal SMS from February. "Indore Municipal Corporation: Your Shop and Establishment licence expiry is 28 Feb 2026. Renew before 28 Feb at nearest CSC. Late fee applies."

What it does

What it does not do

    🧭 Twelve million kirana shops, all getting English SMS at 11:32 AM during rush

    India has approximately 12 million kirana shops. Each one is registered with the GST portal, the municipal corporation, and several other government databases. Each one receives SMS notifications from these systems — CMP-08 reminders, licence renewal alerts, compliance notices. The SMS arrive at random times, in English, using acronyms like "CMP-08" and "GSTR-4" that assume the recipient understands the GST system.

    Most of these SMS arrive during business hours. A kirana shop is busiest between 11 AM and 1 PM (office-goers), 4 PM and 7 PM (schoolchildren), and 8 PM and 9 PM (dinner crowds). The government does not coordinate with the kirana's rush. The SMS arrives, the phone buzzes, Rohit glances at it, sees something incomprehensible, and puts the phone down. By the time he has time to read it properly, the deadline has passed.

    This is a simple problem with a simple solution: the notification needs to be explained. Not filed, not handled by government — just explained in Hindi, with a clear action, by someone who understands both the government system and the kirana owner's life. It needs to sit on the phone as a flagged alert, in the owner's language, saying exactly what is due and when.

    Priya showed Rohit the agent's output. The agent had translated the English GST SMS into Hindi and added a timeline. Here is what it told him:

    "रोहित भाई, यह SMS GST return के बारे में था — अक्टूबर से दिसंबर तिमाही का CMP-08 फॉर्म 18 जनवरी तक भरना था। यह miss हो गया। अब GSTR-4 block है। Sharma-ji को यह बताओ — पहले CMP-08 file करना होगा, फिर GSTR-4 खुलेगा।"

    (Rohit, this SMS was about the GST return — the CMP-08 for October–December quarter was due January 18. It was missed. Now GSTR-4 is blocked. Tell Sharma-ji — CMP-08 must be filed first, then GSTR-4 will open.)

    Rohit called Sharma-ji and explained what the agent had found. Sharma-ji, who had been waiting for Rohit to notice the problem, immediately filed the late CMP-08 with the ₹4,800 penalty. The GSTR-4 button became available. The annual return was filed by the next Friday.

    For the licence renewal, Rohit and Priya took an autorickshaw to the nearest CSC (Common Service Centre). The operator renewed the licence in 40 minutes and charged ₹600 — the base fee plus the late fee. It was a small amount, but it was money Rohit would not have spent if the SMS had been translated and flagged when it arrived.

    "चौथे माले वाले ₹11,400 नहीं, ₹2,600 के निकले। UPI से दे रहे थे — बही में लिखा नहीं था।"

    — The fourth-floor family owed ₹2,600, not ₹11,400. They had been paying by UPI — it just wasn't in the ledger.

    🌱 Monthly reminder, fourth-floor family comes back, what we hope happens

    Three days after the licence renewal, the fourth-floor family came to the shop. They walked in at their usual time, 7 PM, when the evening crowd was thinning. Rohit updated the udhaar bahi to reflect the ₹9,200 in UPI payments that had never been recorded. The family's outstanding balance became ₹2,600 instead of ₹11,400.

    When they asked if they could "close their account" — settle the debt fully — Rohit said yes. They paid ₹2,600 in cash. The line in the bahi was struck through. The family felt like they had cleared their conscience. Rohit felt like the shop was a fair place again. His wife, who had been worried about the shop's finances, finally slept through the night without asking him about the credit book.

    The agent now sends Rohit a monthly reminder on the first of every month. It says: "Rohit bhai, mahine ki shuruat ho gayi. Composition return ka deadline check karein." (Rohit, the month has started. Check the composition return deadline.) The reminder also includes a flag for PhonePe reconciliation — "Any UPI payments since last month that aren't in the bahi?" — and it tells him which quarters have deadlines coming up in the next 90 days.

    This is not artificial urgency. The deadlines are real. The penalties are real. But having a reminder arrive in Hindi, at the right time, from a system that understands the kirana's calendar, is the difference between compliance and panic, between a ₹4,800 penalty and a settled return.

    Rohit still uses Sharma-ji. The accountant still files the GST returns. Rohit still makes the calls to customers who are slow to pay. The udhaar bahi is still a paper notebook. Nothing has been automated away. But the three calendars — the GST calendar, the credit calendar, and the municipal calendar — are now visible at the same time. Rohit can see all three deadlines before they expire.

    The shop continues. The Parle-G packets are restocked every week. The oil drums are refilled. Munna arrives at 4 PM for the afternoon rush. Rohit opens the bahi at the end of each day and writes down the new entries. But now, once a month, he also glances at his phone and sees: "Composition return ka deadline check karein." And he does.

    This is what twelve million kiranas in India need: not replacement, not automation, not government apps that work only in English. They need translation. They need someone to read the SMS at 11:32 AM, when Rohit is too busy, and explain it at 7 PM, when he has time. They need a hand that writes Hindi on top of the government's English, so the deadline becomes real and urgent and understandable.

    Priya returned to Pune the week after Ram Navami. Rohit gave her a box of namkeen and some Parle-G biscuits, as he gives to anyone who does something kind. She took a photo of him standing in the shop, beside the udhaar bahi, and sent it to her office group. The caption said: "This is how you scale government compliance to small towns — you listen to their rhythm, not yours."

    The udhaar bahi continues to grow, one entry at a time. The shop has survived twenty-two years. Now it has a chance to survive the next twenty-two with less anxiety, less panic, and more clarity. That is all most small business owners ask for.