← Blog

Stop Rebuilding Recurring Billing on Every Nepal Project

1 June 2026 · 7 min read · For Developers & Vendors

If you've shipped more than one software product in Nepal that handles recurring fees, you've probably built the same things twice. A table to track subscriber renewal dates. A job that runs nightly and checks who's due. A connection to the eSewa or Khalti API. A reminder system that sends SMS before the due date. A reconciliation layer to match incoming payments to subscriber records.

None of that is your product's core value. It's infrastructure. But because there's been no standard infrastructure layer to reach for in Nepal, every team builds it from scratch — slightly differently, with slightly different bugs, and slightly different gaps.


Why this keeps happening

The recurring billing problem in Nepal has three distinct layers, and global tools only solve one of them cleanly.

Layer 1: Payment collection. eSewa and Khalti provide APIs for one-time transactions. They don't natively manage recurring cycles — there's no concept of a "subscription" in their API. You collect a payment; what happens next is your problem.

Layer 2: Renewal orchestration. Someone has to track when the next payment is due, determine who to remind and when, send the reminder with a fresh payment link, and handle the case where the payment doesn't come in. This is pure plumbing — but it has to exist before your product works.

Layer 3: State management. Active, due, overdue, paused, cancelled — subscriber status has to be tracked somewhere, updated when payments come in or don't, and queryable by your application. This is the layer that most custom implementations handle incompletely, because it's only the gaps that cause problems months later.

Global tools like Stripe Billing handle all three layers elegantly — but Stripe doesn't support eSewa or Khalti. The Nepal-specific layer has been missing. So developers fill it with custom code, every time, for every project.


The cost of building it yourself

Custom recurring billing infrastructure takes time to build correctly, and more time to maintain. Here's what that typically includes for a Nepal product:

  • eSewa and Khalti merchant API applications and verification
  • Payment callback handling and verification (HMAC checks, idempotency)
  • Subscriber data model and renewal date tracking
  • Scheduled jobs for reminders and status transitions
  • SMS integration for reminders
  • Dashboard or reporting for billing state
  • Edge case handling: failed payments, partial cycles, mid-cycle plan changes

Experienced developers estimate this at two to six weeks of build time — and that's before any of the maintenance burden when eSewa or Khalti changes their callback format, or when your scheduler has a bug at month-end.

For a team shipping a vertical SaaS product, two to six weeks of billing infrastructure is two to six weeks not spent on the features that differentiate your product.


What SUQO provides as infrastructure

SUQO is built as a billing infrastructure layer with an API at the core — not a dashboard that happens to have an API. The distinction matters for how it integrates.

The SUQO REST API lets you:

  • Create subscribers and assign them to plans
  • Query subscriber status (active, due, overdue, cancelled)
  • Manage plan assignments and billing cycle changes
  • Trigger renewal cycles and reminders programmatically

The payment gateway integration (eSewa, Khalti, ConnectIPS), the SMS reminder system, the renewal orchestration logic, and the state management are all handled by SUQO. Your product calls the API; SUQO handles the rest.

The practical result: a product that needs recurring billing can integrate SUQO in a few hours rather than building the full stack in a few weeks. And when auto-debit becomes available on Nepal's payment rails, it surfaces through the same API endpoints — no additional integration work required.


When SUQO makes sense — and when it doesn't

SUQO is the right choice when recurring billing is a necessary part of your product but not the product itself. If you're shipping a gym management system, an ISP portal, a CRM, or a SaaS product where billing is infrastructure — SUQO is the layer that lets you skip building it.

It's less suited to products with very specific billing logic that's deeply integrated with the product experience — custom proration logic, complex metered billing, or billing that's so tightly coupled to application state that a separate layer creates more complexity than it saves. For those cases, custom billing infrastructure may genuinely be the right call.

For the majority of Nepal SaaS and software products that collect recurring fees, the overhead of custom billing infrastructure isn't justified. The problem is solved. Use the layer that's already built.


For CRM and ERP vendors specifically

If you sell software to businesses that collect recurring fees, your clients are building the manual billing workaround inside your product right now. They're keeping a side spreadsheet for renewals, sending WhatsApp reminders manually, recording cash payments somewhere you can't see. The gap in your product is visible to them even if it's not visible to you.

Integrating SUQO via API means your product gains recurring payment collection as a native feature — eSewa and Khalti collection, SMS reminders, renewal tracking — without building any of it. Your clients solve the billing problem inside your product instead of alongside it. See subscription billing API Nepal for a fuller overview of the vendor use case.

Stop rebuilding the billing layer.

Integrate SUQO once. Deploy recurring billing to every Nepal product that needs it. Free API access — KYC required to collect payments.