The 9-second bill at the kirana counter.
2026-05-19 ยท 9 min read ยท by the thola team
It is 7:38 PM on a Friday and Vasanthi is six people back in the queue at Murugan's kirana in T. Nagar.
Murugan is at the counter typing. He has a calculator, a notebook, a battered black-and-blue POS terminal that hasn't worked since the last power cut, and a teenage helper who is supposed to be ringing up items but is currently looking for a packet of Surya agarbatti that may or may not still be in stock. The man in front of Vasanthi wants to pay UPI for his โน240 of groceries but the QR sticker is faded and he keeps re-trying.
Vasanthi is going to wait three more minutes. The man behind her โ Mr. Ravichandran, a regular who comes in for cigarettes and Coca-Cola every Friday โ is going to wait six. He won't wait. He'll put down the Coke and walk to the bigger store at the corner. That's โน148 of basket, gone, and a regular who is now less of a regular.
Multiply this Friday by the next 51 Fridays.
The cost of a slow counter
There is a deeply boring, deeply important pile of research on this. The kirana counter is the highest-leverage minute in retail. Here is what gets quoted in every industry survey we trust:
- Manual inventory accuracy averages ~65%. Automated systems reach 95%+.
- Top kirana pain points: ordering / receiving (74%) and storage / placement (60%).
- 97% of kirana owners are daily WhatsApp users. Only 12% have adopted any retail app.
- Slow POS directly increases cart abandonment, billing errors, and lost basket size โ all of which compound into the most painful number in retail: same-store revenue shrinking quarter on quarter while you can't tell why.
- 26% of kirana owners report difficulty learning new tools. 16% cite cost.
The last two numbers are the ones that matter for what we're building. Owners aren't refusing software. They are refusing the kind of software that adds steps to a counter that already has too many.
The thing we obsess over at thola is the time from "customer hands you an item" to "bill printed, payment confirmed, customer out the door." We have a target. The target is nine seconds.
How a 9-second bill is actually built
Murugan tried two POS apps before he found us. Both failed on the same Friday. One of them needed a "stable internet connection" that his neighbourhood does not always have. The other made him type the product name to find it โ full name, English spelling, exactly as it was entered three years ago.
The bill at Murugan's counter is faster now because of four boring decisions we made early:
1. Voice as a first-class input
Murugan says "kilo Sona Masoori, two parle-G, packet chai" in Tamil. The voice system listens for product aliases โ not just SKU names, but the words his customers actually use. "Chai" maps to the tea SKU. "Kaapi" maps to filter coffee. "Paal" maps to milk. The system supports six languages out of the box: English, Tamil, Telugu, Kannada, Malayalam, and Hindi.
This is not impressive AI. The impressive thing is the aliases โ every Indian retail SKU has 3โ6 colloquial names in 3โ6 languages, and the system has been taught most of them. Murugan trained two more aliases in his first week ("Pongal rava" for a specific brand of broken wheat, "podi" for the house-made gunpowder mix). They're his now.
2. Barcode where it helps, voice where it doesn't
For packaged goods, the barcode is faster than voice. Tap, beep, done. For loose items โ rice, dal, vegetables โ the barcode is useless. Voice wins. For the long tail of "things at the back of the shelf that don't have barcodes," visual product import from a snapped photo of the supplier invoice gets them into stock without anyone typing.
3. The counter is built offline-first
We learned this the hard way. The first version of our POS needed connectivity to confirm a sale. Murugan's shop is in a building where the 4G drops between 6 and 9 PM, which is exactly his peak hour. The current version writes every bill to the phone's local storage, marks it "pending sync," and confirms the sale instantly. The bill goes out, the customer leaves, and the system syncs to the cloud whenever the network comes back. A power cut, a router reboot, a thunderstorm โ none of these stop you from billing.
4. The counter changes shape by who's holding it
When Murugan opens the app, the big button says Bill. When his accountant opens the same app, the big button says Reconcile. When his nephew (who he's training as a manager) opens it, the big button says Stock Check. We call this the dynamic business counter. Role-gated, no menus to navigate, the action you need most is always the biggest thing on the screen.
What it looks like on the counter, in 6 steps
Here is what an actual 9-second bill looks like at Murugan's shop today, on the worst Friday of the month:
- Customer puts down items. Half are packaged, half are loose.
- Murugan taps the barcode icon, scans packaged items. Three beeps.
- He says, in Tamil: "Half kilo Sona Masoori, two podi packets." The app shows two line items, with prices auto-pulled from his current stock.
- The total appears. โน247. He confirms.
- A UPI QR appears on the phone screen. The customer scans, pays, gets the green confirmation.
- The bill prints to a small Bluetooth thermal printer next to the counter. Customer takes it and leaves.
Total time, from "customer puts down items" to "customer walks out": between 8 and 11 seconds for an experienced biller. Murugan's nephew, who learned the app in his first week, takes 14โ18 seconds. Both are dramatically faster than the old terminal.
The line moves. Mr. Ravichandran gets his Coke.
What's underneath, that nobody sees
Three things happen invisibly while Murugan is billing:
- Stock decrements. The half-kilo of Sona Masoori comes out of his Sona Masoori stock count, automatically. When the count drops below his reorder threshold, his morning brief on Monday will say "you're 4 days from running out of Sona Masoori at current burn." No more "I called the supplier for a reorder, then found two cartons in the back room nobody told me about."
- GST is calculated correctly. HSN code lookup, IGST vs CGST+SGST based on the warehouse state. Murugan never thinks about this. The receipt has the right tax breakdown because the tax engine sits behind every bill.
- The customer profile gets richer. Mr. Ravichandran has bought a Coke every Friday for 14 weeks. When his fifteenth visit happens, the system knows. Customer 360 builds itself โ birthdays, last visit, lifetime spend, frequency โ without anyone typing into a CRM. When Murugan wants to send a Pongal greeting offer to his top 50 customers next year, the list will already exist.
None of these are why Murugan signed up. He signed up because the line was too long on Fridays. The other things are gravy.
The honest version of the multi-branch story
Murugan opened a second outlet six months ago โ a smaller shop, run by his nephew, three kilometres from the main store. Multi-branch coordination is its own pain. Branch B runs out of an item that Branch A has piled up. Neither manager tells the founder. Stock-outs and overstock coexist in the same business, like two diseases.
thola's multi-branch view does one specific thing well: it shows you, for every SKU you stock, where the stock currently sits. Branch A has 47 packets of agarbatti. Branch B has 2. The morning brief tells Murugan this. He WhatsApps his nephew: "Send 20 from main to the new shop today." Done.
That's the whole feature. We do not yet do automated branch-to-branch transfer suggestions with optimal cost routing. We do not do truck routing. We do the visibility, you do the decision. Honesty bar: this is enough for a 2-store and a 4-store kirana. If you're running 60 outlets, you need more than what we ship today.
What it looks like a week later
Murugan keeps a small handwritten note next to his counter, on which he tallies basket sizes through the day. Old habit. The note for the week before he switched, vs. the note for the third week after:
- Before: average basket โน186, Friday peak queue 11 people, ~8 abandoned baskets per Friday evening.
- After (week 3): average basket โน224, Friday peak queue 4โ5 people, 1 abandoned basket on a particularly bad evening.
The basket size went up because customers had time to add the impulse item โ gum, ice cream, a chocolate bar โ that they walk past on the way to the counter. The bigger reason it went up: returning customers, like Mr. Ravichandran, are no longer abandoning their basket and walking to the corner store. They're staying.
That's the difference a 9-second bill makes. Not a fancier shop. A queue that moves.
What we're not pretending to do
A few honest limits, because we'd rather you hear them from us:
- Multi-channel ecommerce sync (Shopify, WooCommerce) is not yet shipped. If you sell online and offline, we handle offline cleanly. The online side is on the roadmap.
- Manufacturing batch / lot / serial tracking is planned, not shipped. If you need batch-level traceability (food production, pharma), we're not there yet.
- Supplier risk management โ beyond simple on-time and defect tracking โ is planned. We track deliveries. We don't yet score suppliers across complex dimensions.
- Voice is best with the six supported languages. If your customers use a seventh, the voice feature isn't there yet for them.
Get started
If you want to set up the POS with voice and offline-first billing on a phone you already own, the POS quick-start guide walks through it in under twenty minutes. You don't need a new terminal. You don't need fast internet.
You need a customer who's tired of standing in line.
More from the blog
Catching cashflow trouble three weeks earlier.
Most founders learn they have a cash problem on the Sunday they update the runway sheet. Here's what the same problem looks like when you see it the day it starts.
The Monday morning that doesn't start with a spreadsheet.
Fourteen tabs of 'Final v3 USE THIS ONE'. Sunday-night dread. Three days of context-switching to read your own business. Here's what changes when you fire all of that.
A payroll mistake costs โน2 lakh. We saw three this quarter.
PF under-deposit, wrong-rate overtime, attendance abuse โ the three payroll mistakes that don't look like mistakes until the EPFO notice arrives. Here's how to stop making them.