
Building a customer portal in 2026 typically costs $15,000 to $500,000+ depending on what it does. A read-only portal (orders, invoices, downloads) runs $15k to $40k. A transactional portal (manage subscriptions, support tickets, upgrades) runs $50k to $150k. A full B2B portal with multi-user roles, audit logs, SSO, and white-label runs $200k to $500k+.
The cost gap is real, and it comes from one decision: how much of your business logic the portal exposes to the customer. A page that shows past invoices is a SQL query and a PDF link. A page that lets an admin at a customer org invite teammates with scoped permissions is a small product inside your product. Same word, two completely different builds.
This post breaks down what you actually pay for, how to choose between building and buying, and where to spend the money where it earns its keep.
Most "customer portal" projects fit into one of three buckets. Pricing each accurately requires knowing which bucket you are in before you write a single ticket.
A read-only portal lets a logged-in customer see their own data. No mutations beyond updating their profile and changing a password. Typical features:
This is the cheapest portal because the heavy lifting is read queries and PDF rendering. There is no permissioning beyond "is this row owned by this user." You can ship this in 3 to 6 weeks with one mid-level engineer and Clerk (or Auth0) for auth.
Now the customer can change things that cost you money or risk. Typical features:
This is where engineering cost jumps roughly 4x. Every mutation needs validation, an audit trail, an idempotency key, and a careful rollback path. Stripe billing portal handles a chunk of the subscription work, but custom logic around upgrade rules, dunning, and team plans still lives in your code. You are looking at 8 to 16 weeks with one senior engineer plus a junior on test coverage and edge cases.
Now multiple humans at a customer org log into the same account, with different roles and audit trails. Typical features:
This is a real product. You are not building a "portal," you are building the customer-facing surface of an enterprise SaaS. Plan 4 to 9 months with a lead engineer architecting, a senior shipping the org and roles model, and a mid or junior on glue work. Most of the cost goes to multi-tenant data isolation, the audit log infrastructure, and SSO + SCIM testing across the four or five identity providers your customers actually use.
The portal pillar has a wider cost range than almost any other software build, because the right approach depends entirely on whether the portal is your business or a feature next to your business. Here is the honest comparison:
| Approach | Cost | Timeline | Pros | Cons |
|---|---|---|---|---|
| US full-time hire (senior) | $180k+/yr | 8 to 14 weeks to ship Tier 2 | Owns it long-term, full context | 3-month hiring loop, equity, $30k+ in benefits, can quit |
| Dev agency (US/EU) | $80k to $250k fixed bid | 12 to 20 weeks | Project management included, contractual | Scope creep is expensive, agency talent rotates, low ownership of edge cases |
| Freelancer (Upwork / Toptal) | $50 to $150/hr ($40k to $130k total) | 8 to 16 weeks | Fast to start, no long-term commitment | Quality varies wildly, often disappears mid-project, you manage the loop |
| Salesforce Experience Cloud (formerly Community Cloud) | $25 to $250/user/month + $50k to $150k implementation | 3 to 6 months | Enterprise-grade out of the box, SSO and audit log built-in | Locks you to the Salesforce data model, per-user pricing scales painfully, customization needs Salesforce devs ($150+/hr) |
| HubSpot Service Hub portal | $150 to $1,200/month + customization | 2 to 8 weeks | Cheap to start, integrates with HubSpot CRM | Limited customization, not a true portal for product accounts, branding caps |
| Build on Clerk + Next.js + Supabase | $20k to $200k engineer time + ~$300/month infra | 4 to 16 weeks | Full control, your data, modern stack | You own the maintenance, you build SSO from scratch (or pay Clerk B2B) |
| Cadence | $500 to $2,000/wk | 48-hour trial, then week one ship | AI-native engineers by default, weekly billing, replace any week, no hiring loop | Less suited to large enterprise procurement workflows |
The buy-it route (Salesforce, HubSpot) is genuinely the fastest path if your customer portal is a checkbox in a sales cycle, not a core product surface. If customers will live in it daily, build it. The lock-in math on Salesforce gets ugly above 200 portal users.
Real numbers for the components you will actually wire together. We have shipped enough of these on Cadence (~340 customer-portal-adjacent bookings in the last 12 months) to have honest priors.
Recommendation: never build auth from scratch in 2026. The break-even against Clerk or WorkOS is somewhere north of 100k MAU.
This is where Tier 3 portals burn money. You need a roles model (RBAC or ABAC), org-scoped row-level security, an invite flow with magic-link emails, and an audit log. The Clerk and WorkOS B2B SDKs handle the schema and UI for orgs and basic roles. Custom permissions on top (per-resource, per-action) is 4 to 12 weeks of senior work.
A real audit log writes immutably, records actor and IP and action, and ships to S3 or a SIEM. Use AuditBoard, Cribl, or roll your own with append-only Postgres + S3 archive. Most teams underspec this at v1 and pay later when SOC 2 audit asks for 12 months of retention.
A useful rule: if you have fewer than 5 enterprise customers on SSO, build cheap (or use WorkOS pass-through). If you have more than 20, the math on building still does not beat WorkOS unless you have a security engineer in-house.
Subdomain per customer, custom branding, custom email from-address. The DNS and TLS automation (Cloudflare for SaaS or Vercel Custom Domains API) is the real work. Allow 2 to 4 weeks of senior time.
Embed Intercom, HelpScout, or Zendesk via their web SDK ($50 to $500/month + per-seat) instead of building. A native ticket system inside the portal is 4 to 8 weeks and rarely worth it unless support is your differentiator.
For more on this pattern of building only the differentiators, see our breakdown on the cost to build an admin dashboard, which shares most of the architectural decisions.
The biggest wins come from being honest about what you can hand off to SaaS and what is actually core to your product.
This staging pattern is the same one we recommend for building a Next.js application end-to-end: ship the smallest valuable thing, then layer features against real usage data.
A useful framework:
For founders without an in-house engineer who need a clean estimate before committing, the fastest path is to scope the portal as Tier 1, Tier 2, or Tier 3 (using this post), then book a Cadence senior or lead for the first sprint. You will know inside two weeks whether the scope and the engineer are right.
The 48-hour read on Cadence: book a senior or lead engineer with a portal-shaped spec, get matched in 2 minutes, run the first 48 hours free. If they ship the Tier 1 scaffolding in week one, you have your answer. Start a booking on Cadence.
Three steps that work for almost every founder we have shipped portals with:
A Tier 1 read-only portal takes 3 to 6 weeks with one mid-level engineer. A Tier 2 transactional portal takes 8 to 16 weeks with a senior. A Tier 3 full B2B portal takes 4 to 9 months with a lead plus 1 to 2 supporting engineers. AI-native workflows on tools like Cursor and Claude Code compress these by 30 to 50% versus manual coding on the same scope.
The default for greenfield portals is Next.js (App Router) on Vercel, Postgres on Supabase or Neon, Clerk or WorkOS for auth, Stripe for billing, Resend or Loops for transactional email, and Cloudflare for SaaS or Vercel Custom Domains for white-label. This stack ships a Tier 1 portal in days and scales to Tier 3 without a rewrite.
Buy Salesforce if the portal is a procurement checkbox and your customers will use it monthly, not daily. Build it (with Clerk + Next.js + Stripe) if portal usage is core to your product experience or if you have more than 200 portal users (where Salesforce per-user pricing gets painful). HubSpot Service Hub is a cheaper middle ground if you are already on HubSpot.
If you build SAML from scratch, expect 4 to 8 weeks of senior engineer time ($6k to $16k on Cadence) plus ongoing maintenance. If you use WorkOS, expect ~$125 per active SSO connection per month and a one-day integration. The break-even is around 10 enterprise SSO customers, where building plus maintaining slightly edges WorkOS, but most teams should buy.
A Tier 1 read-only portal, yes. Use a no-code or low-code stack: Softr, Glide, or Stacker on top of Airtable or Supabase. Expect $50 to $200/month and a week of setup. Anything in Tier 2 or Tier 3 needs at least one senior engineer because the surface area for billing, permissions, and audit bugs is too large for no-code to cover safely. A useful comparison is our breakdown on the cost to build a Shopify app, where the same buy-vs-build math applies.