To build a SaaS in Nepal, scope one workflow customers will pay for, build it on a proven stack such as Next.js and PostgreSQL, and bill in rupees through eSewa, Khalti or Fonepay, renewing by invoice because their public docs describe no auto-debit. With me, a first version starts from NPR 70,000 and takes 6 to 12 weeks.
I am Ujjwal Rupakheti, a full-stack developer in Itahari. I built Jhino, Eknas and Nimtto, designed and built Sajilai, and worked on Prishta at Ektukra Digital Agency. All five are priced in rupees. This guide is what I tell founders before they spend money on code.
The payment facts below come from the public pages of eSewa, Khalti, Fonepay, Stripe and PayPal, checked on 3 November 2026, so confirm them before you sign anything. To hand the build over instead, see my page on SaaS development in Nepal.
How to Build a SaaS in Nepal: The Eight Steps
Building a SaaS follows the same eight steps in the same order, whatever the product. Skipping one rarely saves time; it moves the cost to later, when changes are harder.
- Find the paid problem: ask ten possible customers which task they would pay to stop doing by hand.
- Scope the first version: one core workflow, accounts, a plan and a way to pay. Everything else waits.
- Design the data model: accounts, users, roles, plans and invoices, written down before any screen.
- Choose a boring stack: well-known tools that any capable developer in Nepal can maintain after you.
- Build in weekly releases: a working link every week, so pilot customers try real screens early.
- Add billing in rupees: eSewa, Khalti or Fonepay, with every payment confirmed on the server.
- Run a short beta: a few real customers use it while you fix what they find.
- Launch and measure: payments live, the site indexed, backups tested and a few metrics watched weekly.
How Do You Scope a SaaS MVP?
A SaaS MVP is the smallest version a real customer will pay for. It needs fewer features than most founders plan, but it cannot skip sign-up, a plan and a way to pay, the one workflow that solves the problem, and an admin view for you.
| Area | In the first version | Usually after launch |
|---|---|---|
| Accounts | Sign-up, sign-in, password reset, invites | Single sign-on for large customers |
| Product | One core workflow, done well | A second and third workflow |
| Billing | Plans, payment, receipts, reminders | Coupons, referrals, add-ons |
| Admin | Customers, plans and payments in one console | Advanced analytics |
| Apps | A web app that installs on phones as a PWA | Native Android and iOS apps |
Decide early whether you offer a free plan or a free trial, because it shapes the data model. My own products show the range. Jhino has a free plan with 2 apps. Eknas starts every plan with a 3-day trial. Sajilai gives rental businesses 90 days free, and Prishta lets a school try any plan for 30 days with one class.
A simple test before any build.If you cannot name five businesses or people who have said they would pay a stated price in rupees, the scope is not ready. A clickable flow and those five conversations cost far less than six weeks of code.
Which Tech Stack Should a SaaS in Nepal Use?
Use well-documented, widely used tools. I build most SaaS products with Next.js and React in TypeScript, Node.js on the server and PostgreSQL for data. Any capable developer in Nepal can maintain that code after me.
| Layer | What I use | Where it runs today |
|---|---|---|
| Front end | Next.js or React with TypeScript | Eknas on the Next.js App Router; Jhino on React 19 |
| Server | Node.js with Fastify or Express | Jhino and Prishta on Fastify 5; Sajilai and Nimtto on Express 5 |
| Database | PostgreSQL, or SQLite on one server | Eknas, Sajilai and Prishta on PostgreSQL; Jhino and Nimtto on SQLite |
| Delivery | Docker, deployed with Coolify, with Cloudflare in front | Jhino, Nimtto, Sajilai and Prishta deploy with Coolify |
SQLite on one server is often enough until real traffic arrives. Choose PostgreSQL from the start when money moves between several parties or you need database rules, such as Sajilai’s constraint that refuses two overlapping bookings for one vehicle.
Nepal Details the Stack Must Handle
- Bikram Sambat dates: store dates in AD and show BS from a published table. Prishta uses an almanac table for BS 2070 to 2098, because Nepali month lengths are published, not calculated.
- Nepal time: Nepal is UTC+5:45, so for almost six hours a day the UTC date is still yesterday. Every date check should use Nepal’s calendar day.
- Devanagari: test names, receipts and exports in Nepali Unicode. Sajilai prints its PDFs in the Mukta font so Nepali renders correctly.
How Should Multi-Tenancy, Sign-In, Roles and Audit Logs Work?
Multi-tenancy means one application serves many customer accounts, and each account sees only its own data. For most first versions, the safest pattern is one shared database where every record carries an account ID, and every query is filtered by it on the server, never in the browser.
PostgreSQL can add a second check inside the database with row-level security. Its documentation notes that table owners bypass these policies unless you force them, so connect the app as a role that does not own the tables.
ALTER TABLE invoices ENABLE ROW LEVEL SECURITY;
CREATE POLICY account_only ON invoices
USING (account_id = current_setting('app.account_id')::uuid);
-- set once per request, inside a transaction
SET LOCAL app.account_id = '3f6c2a1e-0b7d-4c55-9a8e-2d41f0c9b712';Sign-In and Sessions
Hash passwords with Argon2id, which the OWASP Password Storage Cheat Sheet recommends first. Keep sessions in HttpOnly, SameSite cookies, add CSRF tokens to every form that changes data, and rate-limit sign-in. Prishta locks sign-in for 15 minutes after 10 failed attempts.
Roles and Audit Logs
Check every role on the server. In Eknas, a cashier, a manager and an owner see different data from the same screens, and cashiers see masked phone numbers. Then log the actions that matter, such as plan changes, refunds and deletions, with who did them and when. Prishta audits every submission, approval, lock and unlock of marks.

Case study: PrishtaA multi-tenant SaaS for Nepali schools, worked on at Ektukra Digital Agency, where every request is checked against the caller’s own school and a refusal returns 404, so nobody can probe another school.
How Do eSewa, Khalti and Fonepay Handle SaaS Subscriptions?
They handle one payment at a time. As of 3 November 2026, the public developer documentation for Khalti and eSewa describes a payment that your server starts and then confirms, and Fonepay describes a dynamic QR tied to one transaction. None of them describes automatic recurring charges, so a Nepali SaaS renews plans by invoice.
| Method | How the customer pays a renewal | How you confirm it |
|---|---|---|
| Khalti web checkout | Your server starts a payment for the invoice and sends the customer to Khalti’s payment page | A lookup from your server; Khalti says only the status Completed counts as success |
| eSewa ePay | A signed payment request for the invoice amount | eSewa’s status check API, called from your server |
| Fonepay dynamic QR | A new QR for each invoice with the amount inside; it expires after payment or a timeout | Your Fonepay merchant system or integration, through your bank |
| Bank QR with proof | The customer scans a static QR and uploads a screenshot | You approve the proof by hand before the plan extends |
Khalti amounts are sent in paisa, with a minimum of Rs 10, and a new merchant account cannot receive more than NPR 200 per transaction until its KYC is complete. Fonepay asks for a registered business and an account with a partner bank.
A Renewal Flow That Works Without Auto-Debit
- Remind: a week before the plan ends, email the amount and a pay link, and repeat a day before.
- Pay one invoice: the link opens Khalti, eSewa or a Fonepay QR for that exact amount.
- Confirm on the server: never extend a plan because the browser came back from the payment page. Ask the provider first.
- Record it once: save the payment against the invoice with an idempotency key, then send the receipt or VAT invoice.
- Grace, then read-only: if nothing arrives, show a banner for a few days, then lock editing, never delete data.
- Sell yearly plans: one renewal a year instead of twelve. Jhino charges a year at the price of ten months, paid by QR.
Eknas shows the invoice side: prices include 13% VAT, and each VAT invoice carries the shop’s PAN. Sajilai shows the QR side: it writes the amount and booking code into Fonepay and NepalQR codes, while personal eSewa and Khalti codes cannot carry an amount. How I build these connections is on my API and payment integration page.

Case study: EknasA loyalty SaaS with plans from NPR 799 per location a month, VAT invoices with the shop’s PAN, a 3-day trial and payment by eSewa, Khalti, Fonepay or bank QR.
Planning a SaaS for Nepal?Send me the problem, who pays and how you plan to charge. A first version starts from NPR 70,000 and takes 6 to 12 weeks.
Scope my SaaSCan a SaaS in Nepal Charge Customers Abroad?
Yes, but not through Stripe directly. Stripe’s global availability page, checked on 3 November 2026, does not list Nepal. PayPal’s Nepal page describes sending money and paying online, and does not describe receiving payments, so confirm what your account can do with PayPal before you depend on it.
Founders who also own a company registered in a country Stripe supports can use Stripe through that company. Nimtto shows another pattern: a Nepal site priced in rupees with Khalti, eSewa and Fonepay QR, and a separate international site priced in USD with PayPal or card, kept apart with hreflang.
Ask a chartered accountant before you invoice abroad.Nepal Rastra Bank sets the rules on earning and spending foreign currency and changes them by circular. A chartered accountant and your bank can tell you how to receive, convert and report the money.

Case study: NimttoOne product, two sites: rupees with Khalti, eSewa and Fonepay QR in Nepal, and USD with PayPal or card abroad, with one-time plans and no monthly fee.
Where Should You Host a SaaS, and What Does It Cost?
Most first versions run well on one virtual server with Docker, or on a managed platform. Global providers bill in US dollars, so ask your bank about a dollar card for online services, within the limits Nepal Rastra Bank sets.
| Option | Good for | Watch out for |
|---|---|---|
| One server with Docker and Coolify | Most first versions; Jhino, Nimtto, Sajilai and Prishta deploy this way | You own updates, backups and monitoring; Coolify itself is free to self-host |
| Vercel for a Next.js app | Fast delivery of the marketing site and app | The free Hobby plan is for personal, non-commercial use only, so a paid product needs a paid plan |
| Supabase for database and auth | A quick start with PostgreSQL, sign-in and file storage | Free projects pause after a week of inactivity and hold up to 500 MB of data |
| Cloudflare in front | DNS, certificates, caching and custom domains | Set SSL to Full (strict) so traffic to your server stays encrypted |
For an early product on one server, the running costs are usually small next to the build. Budget for backups as well as servers. Jhino and Nimtto keep 14 daily backups, and I test a restore before every launch, because a backup nobody has restored is only a hope.
How Long Does It Take to Build a SaaS MVP?
A focused first version usually takes 6 to 12 weeks. The first week fixes the scope and the data model in writing; after that you get a working link every week. Products I built sit inside that range: Jhino was designed and built in September and October 2026, and Nimtto and Sajilai were each built in October 2026.
| Stage | Typical length | What you get |
|---|---|---|
| Scope and data model | Week 1 | Users, plans, the core workflow and the database design, in writing |
| Clickable flow | About a week | The main screens as a link you can show early customers |
| Weekly builds | 4 to 8 weeks | Accounts, the core workflow, billing and admin, one release a week |
| Beta | 1 to 2 weeks | A few real customers using it while fixes go out |
| Launch | The final week | Payments live, the marketing site indexed, backups and monitoring on |
How Much Does It Cost to Build a SaaS in Nepal?
With me, the first version of a SaaS product starts from NPR 70,000 and usually takes 6 to 12 weeks. The price grows with the number of user roles, integrations and payment flows, and it is fixed in writing before the build starts. Larger products are quoted after a paid discovery week.
NPR70,000
From NPR 70,000, in 6 to 12 weeks: accounts, plans, payments, an admin console and the marketing site. What is included is on my SaaS product development page.
After a Paid Discovery Week
Several roles, integrations or a public API, released in stages. Custom business software is quoted per module on my custom software development page.
| Factor | Lower cost | Higher cost |
|---|---|---|
| User roles | One kind of user | Owners, staff, customers and a super admin |
| Payments | One plan, paid by Khalti or QR | Several plans, trials, VAT invoices and refunds |
| Integrations | Email only | SMS, a POS, a public API and webhooks |
| Languages | English only | English and Nepali, with BS dates throughout |
- Not included: hosting, domain, email sending, SMS and any AI APIs, which you pay directly.
- Founders abroad: quoted in USD against a written contract, and paid by bank transfer, Wise or PayPal.
I have not found reliable published price ranges for SaaS builds in Nepal; the cost guides that rank are written for US and European agencies. Compare written scopes, not headline numbers. For custom systems, see my guide to software development cost in Nepal.
Which SaaS Metrics Should You Track After Launch?
Track a few numbers every week, not a dashboard of fifty. For a SaaS that renews by invoice, watch on-time renewals closely, because a late payment and a lost customer look the same until the grace period ends.
| Metric | What it tells you | How to measure it |
|---|---|---|
| Activation | Whether new accounts reach the core action | Share of sign-ups that complete it in week one, such as a first bill or a first published app |
| Trial to paid | Whether the price matches the value | Paid accounts divided by trials that ended that month |
| On-time renewals | Whether reminders and pay links work | Invoices paid before the plan ends or within the grace period |
| Churn | Whether customers stay | Accounts that stopped paying this month, divided by paying accounts at the start |
A product also has to be found. Build the marketing site so search engines and AI assistants can read it, as my technical SEO checklist for 2026 explains. Jhino serves server-rendered snapshots of public pages and generates its own sitemap and llms.txt file.
I work from Itahari with founders across Nepal, including Kathmandu, and abroad. Every starting price is on my services and pricing page.