SaaS Product Development

Ship a multi-tenant SaaS with billing built in.

We design and build SaaS products with strict tenant isolation, plans and invoicing, sign-in and roles, an admin console and the metrics investors ask about. Fixed scope per phase, and the code is yours from the first commit.

  • Multi-tenant by design
  • Recurring billing and dunning
  • SSO, roles and audit log
  • Odoo Subscriptions back office
  • 100% code ownership
Code and IP owned by you
Scope and price per phase
Delivery languages
Reply time on enquiries

What we build

The SaaS foundations that have to be right on day one.

Tenancy, billing and access control are expensive to retrofit once customers depend on them. We build them first, test them hardest and document how they work.

Multi-tenant architecture

Shared schema with row-level security, schema per tenant or database per tenant, chosen by your compliance and cost needs. Every query is scoped to a tenant, and automated tests prove it.

Subscriptions and billing

Plans, trials, per-seat and usage pricing, proration, invoices and failed-payment retries on Stripe, 2C2P or Razorpay, with PromptPay QR where Thai customers expect it.

Sign-in, SSO and roles

Email and passkey sign-in, MFA, SAML and OIDC single sign-on for enterprise tenants, team invites, and a role model you can explain to an auditor.

Admin console

An internal back office to find any tenant, view their account with an audit trail, change a plan, issue a credit note and switch features on per account.

SaaS metrics

MRR, churn, expansion revenue, trial conversion and cohort retention computed from billing events, not from a spreadsheet someone updates on Fridays.

Public API and webhooks

Versioned REST or GraphQL APIs with scoped API keys, rate limits, signed webhooks and documentation your customers' developers can use without booking a call.

Onboarding and activation

Sign-up, workspace setup, sample data and in-app checklists that get a new account to its first useful result quickly, measured step by step.

Notifications

Transactional email, in-app and push notifications, and LINE messages for Thai users, with per-user preferences and a delivery log you can search.

Infrastructure that grows

Containers, managed PostgreSQL, background job queues and backups with tested restores, hosted in Singapore, US or Mumbai regions close to your users.

SaaS back office

Let Odoo Subscriptions run the back office.

Many SaaS teams rebuild accounting inside the product and regret it. We keep the product focused on usage and access, then sync plans, invoices and payments into Odoo Subscriptions and Accounting, where finance handles recurring invoices, deferred revenue, VAT and the month-end close.

  • Recurring invoices and renewals generated in Odoo Subscriptions
  • Payments reconciled against gateway payouts and bank lines, including PromptPay
  • Thai VAT, e-Tax Invoice and US sales tax handled in Accounting
  • MRR and churn reports that finance and product both trust
  1. Sign-up

    A customer picks a plan inside your product and starts a trial.

  2. Payment

    The gateway charges the card or PromptPay QR and sends a signed webhook.

  3. Sync

    The subscription, customer and payment are created in Odoo exactly once, using idempotency keys.

  4. Books

    Odoo issues the tax invoice, posts revenue and flags failed renewals for follow-up.

Who we build for

Three ways teams start with us

Founders with a validated idea

A focused MVP with one core workflow, billing and sign-in, ready for paying pilot customers, then extended in fixed-scope phases as usage data comes in.

Companies selling an internal tool

Turn the software you built for your own team into a product other companies pay for: tenant isolation, self-serve onboarding, pricing plans and a support workflow.

SaaS teams outgrowing version one

Split a single-tenant app into a multi-tenant platform, move billing off hand-made invoices, and add SSO before the first enterprise deal asks for it.

How we work

From scoping call to paying customers

  1. 1. Scope the first release

    We write down the one workflow that must work, the plans you will sell and the tenancy model, then fix the scope and price of phase one in writing.

  2. 2. Design the flows

    Clickable prototypes for sign-up, the core workflow and billing, tested with real prospective users before any code is written.

  3. 3. Build in slices

    Short iterations on a staging environment you can log into, with tenancy, sign-in and billing tests running on every change.

  4. 4. Launch to pilot tenants

    Production on your own cloud account, monitoring and backups switched on, and the first paying tenants onboarded while we watch the logs.

  5. 5. Grow on evidence

    Usage and billing data decide the next phase. Each phase is quoted separately, so you can pause or bring the work in-house at any point.

Our stack

A stack chosen to outlast version one

  • Next.js
  • React
  • TypeScript
  • Node.js
  • Python
  • PostgreSQL
  • Redis
  • Stripe
  • Keycloak
  • Docker
  • GitHub Actions
  • Odoo Subscriptions
  • Odoo Accounting

What you can hold us to

Commitments you can put in the contract

We do not publish invented growth numbers. These are the terms we work to on every SaaS build, and each one can be written into the statement of work.

Plan my SaaS build
Price per phase, agreed in writing
Written status note
Time zones across our offices
Reply time on business days

FAQ

Questions clients ask first

How long does it take to build a SaaS MVP?

It depends on the core workflow, not the length of the feature list. A first release usually covers sign-up, one core workflow, billing and an admin console, and we give you a phased timeline after scoping. An estimate made before we understand the workflow is not worth much.

How much does SaaS development cost?

Cost follows scope: the number of workflows, integrations and user roles, and how strict tenant isolation has to be. We quote a fixed price per phase after a scoping call and itemise every line, so you can remove what you do not need. Hosting and third-party fees are billed to your own accounts.

Should our SaaS be single-tenant or multi-tenant?

Most B2B products start well on a shared database with row-level security, which keeps hosting costs low and upgrades simple. Schema-per-tenant or database-per-tenant makes sense when customers require physical isolation, their own encryption keys or data kept in one country. We write down the trade-off before any code is written.

Which payment gateways can you integrate for subscriptions?

Stripe for international cards, 2C2P and PromptPay QR for Thailand, and Razorpay for India. We handle trials, upgrades, proration, failed-payment retries and receipts, and connect the results to Odoo Accounting or your existing books.

Can Odoo run our SaaS billing and accounting?

Often, yes. Odoo Subscriptions handles plans, recurring invoices, renewals and upsells, and we configure Odoo Accounting for Thai VAT, e-Tax Invoice or US sales tax and the month-end close. Your product stays the source of truth for usage and access, and a small integration keeps the two in step.

Do we own the code and the product?

Yes. The repository lives in your GitHub or GitLab organization from the first commit, and you own the source code, designs and cloud accounts. There is no license fee to us for your own product, and you can take development in-house whenever you choose.

Start your SaaS

Tell us what your customers will pay for

Send the problem, the users and any prototype you already have. You get a reply from the people who will build it within one business day, and after a short scoping call, a written plan with a fixed price for the first phase.

  • Reply within one business day
  • Fixed scope and price for phase one
  • Your code and cloud accounts from day one

Prefer to talk first? Call us or WhatsApp us.

Your details stay private. We reply within one business day.