Skip to content
article

₹3.1L MRR selling GST billing to textile traders: 11 things nobody tells you about Indian SMB SaaS

WhatsApp is the CRM, the uncle is the first customer, and nobody pays annually

Dhruv Thakkar@dhruv_ships

October 14, 2026 · 3 min read

Contents(1)

Kem cho! Two years ago I left a "stable" job (sorry Papa) to build GST billing software for textile traders in Ahmedabad and Surat. Today: ₹3.1 lakh MRR, 228 paying shops, 2 developers, 1 uncle. Bootstrapped, no VC. Here is what I learned, numbers included. Jo's posts inspired the format, the jokes are my own fault.

  1. Nobody pays annually. Everybody wants discount. We offered 2 months free on annual. 6 shops took it, and 4 of them asked for another discount on top. "Bhai thoda aur kam karo." Monthly is the default and that is fine.
  2. WhatsApp is the CRM, the support desk and the collections team. Payment reminders on WhatsApp with a UPI link took on-time payments from 61% to 84%. Email reminders did almost nothing. Nobody in a textile market opens email.
  3. UPI AutoPay for the bigger shops. Recurring mandates work well. Our plans are below ₹15,000, so after the first authorisation the monthly debits run without an extra OTP every time. Above that limit the rules want additional authentication and it gets messier.
  4. Onboarding happens in person. In year one I visited about 60 shops. You sit, you drink chai, you enter their first 10 invoices together. Then they trust the software. No product tour beats chai.
  5. Your first customer is your uncle. He will call at 9:30pm about a button. He will also bring you 14 customers. Take the call.
  6. Language sells. We added a Gujarati interface toggle. Trial to paid among Surat shops went from 24% to 37%. People trust software that talks to them the way their accountant does.
  7. Tally export is the feature. Almost every shop's accountant uses Tally. If your data does not go into Tally cleanly, the accountant tells the owner to stop using you. The accountant is the real decision maker. Treat accountants like kings.
  8. Compliance keeps moving. E-invoicing applies above a turnover threshold (₹5 crore since 2023), e-way bills have their own rules, and for the API side you work through a GST Suvidha Provider. Budget developer time every quarter for "the government changed something". Su karvanu.
  9. Diwali is your best and your worst month. Sales peak before Diwali, then many shops close for a week or two. Churn spikes in November because nobody pays while the shop is shut. Do not panic. They come back in December.
  10. Show prices including GST. A trader sees ₹999 + 18% and feels cheated by ₹180. Show ₹1,179 and nobody blinks. Same money.
  11. Hire from the market, not from SaaS. Our best salesperson used to sell fabric. He knows every trader's cousin. Our worst hire came from a big SaaS company and wanted a CRM, a deck and a quarterly offsite.

Numbers

  • MRR: ₹3.10 lakh (228 shops, average ₹1,360)
  • Monthly churn: 2.8% (5.5% last November, see point 9)
  • CAC: mostly my petrol and chai
  • Team: me, 2 developers, 1 salesperson, 1 uncle (unpaid, overpowered)

Next: a Hindi interface for the Delhi and Ludhiana markets. Pray for me. Bhai bhai.

Written by

Dhruv Thakkar

Building a GST billing SaaS for textile traders in Ahmedabad. ₹3.1L MRR, 2 devs, 1 very loud uncle as first customer. Bootstrapped, no VC, no regrets (some regrets).

Get the best of #bootstrapped_and_broke weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

13

Sign in to join the conversation.

Sign in to comment
Ankit Khurana@faang_or_bust#10 in Bootstrapped and Broke
3.1L MRR with 5 people. so like 60k per person per month before costs lol. my CTC is higher
8 net votes
Dhruv Thakkar@dhruv_ships#4 in Bootstrapped and Broke
Bhai MRR is revenue, the business is an asset, and my uncle cannot be laid off. Your CTC stops when your manager says so. Different games, both are fine 😄
3 net votes
Ankit Khurana@faang_or_bust#10 in Bootstrapped and Broke
asset lol. who is buying a textile billing app
0 net votes
Rohit Verma@rohit_codes1 rep in Bootstrapped and Broke
@faang_or_bust bhai tum har post pe CTC le aate ho, thakte nahi? Dhruv ka software 228 dukaanon ka kaam chalata hai. Respect karo yaar 🙏
5 net votes
Ankit Khurana@faang_or_bust#10 in Bootstrapped and Broke
just saying numbers. chill
5 net votes
Achieng Owino@achieng_devrel#2 in Bootstrapped and Broke
Points 2 and 10 are my Kisumu thread, translated perfectly. WhatsApp reminders taking on-time payments from 61% to 84% is a stunning number. Thank you for sharing it.
3 net votes
Jo Brennan@jo_ships#1 in Bootstrapped and Broke
the whatsapp collections number is incredible. and "the accountant is the real decision maker" is the best b2b insight i've read this year. my PDF API has the exact same thing with bookkeepers
2 net votes
Tanvi Hegde@tanvi_makes_games2 rep in Bootstrapped and Broke
dhruv the uncle line under "team" 😂🐈 so proud of you ~
2 net votes
Oluwatobi Adeyemi@tobi_freelance6 rep in Bootstrapped and Broke
Point 4: "no product tour beats chai". In Lagos we say no product tour beats suya. Same truth
6 net votes
Kenji Tanabe@kenjitanabe#9 in Bootstrapped and Broke
Point 11 is something every founder learns too late. Hire people who know the customer's world, not people who know your org chart.
3 net votes
Ayesha Siddiqui@laravel_ayesha3 rep in Bootstrapped and Broke
Point 10 is SO true for Pakistani clients also. Always show the final price. And Tally, we lost a client once because our export was in the wrong format. The accountant won
8 net votes
Vivek Chauhan@vivek_backend2 rep in Bootstrapped and Broke
Good post Dhruv bhai. On point 3: handle the mandate pause and revoke events properly. Users revoke from their UPI app and if you're not listening you only find out when the next debit fails
1 net votes
Dhruv Thakkar@dhruv_ships#4 in Bootstrapped and Broke
Vivek bhai yes, learned that one in month 3. Now we listen to every mandate event. UPI startup life 🙏
3 net votes