On this page6 sections
I build custom portals, and I'll say up front that most of the time I recommend against building one. The right choice between portal software, a connected setup and custom development comes from one live demonstration, not a feature checklist.
Here's how I'd start. Pick one customer task the vendor has to demonstrate live: find the current project information, approve a deliverable, or pay an invoice. Watch the whole task, not the sales deck. That one demonstration usually tells you whether the product fits your business or you're about to bend your business around the product.
Four ways to get a portal
"Custom portal" can mean a branded subscription product, a configured app builder, or software written for your business. I make the proposal say which one it is. Your logo and a custom domain don't tell you who controls the workflow or how your data gets out.
| Approach | When I'd consider it | What I check before choosing it |
|---|---|---|
| Your existing software's customer area | The main task already lives in your billing, support, or project tool | The customer can complete the task on your current plan, with the right permissions |
| Dedicated portal software | Its built-in workflows match how you actually deliver work | The real task works past the demo; seat limits and exports fit |
| A configured portal with integrations | You need a tailored front end over records held elsewhere | The connected systems expose the data and stay the source of truth |
| Custom development | A required experience or rule has a demonstrated gap | The build, maintenance, access rules, and handover are all realistic |
These combine. A custom project area can hand billing to Stripe's customer portal, which handles invoices, payment methods, and subscription changes inside its configuration limits. It does not handle your project approvals or delivery workflow, and I don't ask it to. Stripe customer portal documentation
When I'd tell you not to build
If your existing software already does the task and customers just can't find it, hire nobody. Fix the confirmation email and the link.
If a dedicated portal product demonstrates your real task end to end, buy it. I'd rather spend a few hours helping you configure it than sell you a build that recreates what the vendor already maintains.
If the only argument for custom is that the product looks a bit generic, that's not enough. Visual polish is a weak reason to take on hosting, updates, and support for your own application. I take on builds when there's a real gap, and I'll say plainly when I don't see one.
Turn the feature list into tasks
A checklist says "files, messaging, payments, dashboard." A scope says what a person does with them.
For a file: who uploads it, who can see it, how the current version is marked, whether an old link still works. For a status: which record it comes from, who keeps it current, what the customer should do next. For an approval: who approves, exactly what they're approving, and what happens as a result.
Here's the kind of first-release journey I write before I compare any product:
- A customer receives an invitation tied to their company.
- They see the current deliverable and the decision it needs.
- A colleague can view the file; only the authorized approver can accept or request changes.
- The decision points at a specific version and shows up for the delivery team.
- A replacement version creates a fresh decision instead of inheriting the old approval.
That's a worked example, not a client project. Its value is that a vendor can demonstrate it and I can estimate it. "We need an approval feature" leaves every important question open.
I built the planner below to turn your situation into this kind of comparison. Selecting several tools or several customer roles does not automatically mean custom. Evidence that a product handles the real task matters more than the count.
Build your portal comparison brief
Test the fit before choosing the build
An untested requirement is an open question. Use one realistic customer task to compare a configured product and a custom approach.
Ask every option to prove this
An authorized customer approves the exact current version; a revised file requires a fresh decision.
Every displayed status has a named source; a delayed connection is visible and recoverable.
A viewer cannot approve, a removed colleague loses access, and another customer cannot reach the record.
A staff owner can invite customers, correct a mistake, and export the required records.
Start with this illustrative approval workflow, then choose your needs. The worksheet evaluates your stated requirements; it does not test vendor software or estimate a project price. Selections stay in this page until you leave or reload.
The two features that change the decision
Permissions. Before you pick anything, I make a small table: customers, their colleagues, your staff, admins. For each role, what can they view, add, edit, approve, download, remove? Include the fact that one person can belong to two businesses and one business has several people. Then I test invitation, switching accounts, lost access, and removal. A departing customer employee should lose exactly the access you meant to revoke. A copied link to a private file should not work for someone else. OWASP's guidance separates being signed in from being allowed to reach a particular record, and that's the test I run: try to reach another customer's file, and expect nothing. OWASP authorization guidance
The source of each fact. The best customer screen still depends on someone keeping the record behind it true. I decide where project status, approved files, invoice balances, and contacts live, and the portal reads from there. It can show an invoice balance without becoming the accounting system. If a connection is delayed, the screen says how fresh the information is instead of confidently showing an old state. When the portal needs connections to do that, the CRM integration guide covers how I scope them.
Compare the real cost, not the sticker
There are two budgets: getting the portal into use, and keeping it useful. I put both on one sheet, one column per option.
| Cost area | What I include |
|---|---|
| Setup and configuration | Requirements, branding, roles, customer journeys, templates |
| Data preparation | Cleanup, account relationships, file organization, historical import |
| Integrations | Supported actions, customer matching, field rules, failure recovery |
| Custom development | Agreed screens, workflows, permission checks, staff tools |
| Launch | Testing with realistic records, customer invitations, staff training |
| Ongoing operation | Subscriptions, per-user charges, hosting where needed, updates, support |
| Exit | Exports, retained documents, replacing a provider |
Don't add a product's entry price to a generic development figure and call it the total. Find the tier your permissions, customer count, and exports actually require, then add the time someone spends managing the experience, which exists with every option. Where a vendor can't yet demonstrate a required task, I write "unknown" in that cell. Unknown beats an invented zero.
For my own work, a bounded improvement or a configured connection sits in a $1,000–$3,000 planning range, and a custom system with accounts, roles and workflow in $8,000–$20,000+. Those are planning ranges, not market averages and not a quote for an unseen portal. Project pricing
Three situations and what I'd recommend
A consulting firm mainly needs invoices and current documents. A billing portal plus a clean document-sharing setup covers it. The project is making the journey clear and proving files and invoices land on the right account. A custom dashboard needs a second reason to exist.
A project business likes its delivery software, but customers can't see the right information. I'd test a configured portal against the source data first. If the interface fits and only the connection is missing, I price the integration and its upkeep and compare that with moving the whole workflow.
A business needs approvals tied to changing deliverables and account-specific rules. I'd ask candidate products to demonstrate the whole process, including revision and withdrawal. Where a required part is unsupported, I prototype that part as custom software before anyone expands into messaging, billing, or reporting.
"Build versus buy" is a useful shorthand, but the real decision is usually which parts to buy, which to connect, and which one piece is distinctive enough to build.
Pick the portal approach by watching one real customer task work end to end, not by comparing feature lists. Use the customer area in software you already pay for, buy dedicated portal software, connect a configured portal to your existing records, or build custom only where there's a proven gap. Compare the running cost, not the sticker.