Client portal development

Your customers call
because they see nothing.

Where is my order, has that invoice been processed, which quote was it again. The same question every time, someone looking it up and calling back every time. A client portal takes that work away: your customer logs in and sees their own file, you see who looked at what.

Sound familiar

Why companies start on this.

01

The same question, every week

Status, planning, invoices, documents. Every one of them data you already have, but that your customer can only reach through you.

02

Everything goes through email

Attachments that get lost, versions that do not match, and afterwards no trace at all of who approved what and when.

03

Everyone sees too much or too little

A shared folder or spreadsheet has no roles. One wrong link and customer A is looking at customer B's file.

04

Your team works in three systems

Planning here, invoices there, client details in a third tool. Nobody knows which source is right anymore.

05

Growth means more manual work

Twice as many customers currently means twice as much looking up and forwarding. That does not scale with your revenue.

06

Your customers expect it

Everyone knows a portal from their insurer or supplier. Not having one now stands out.

How it works

From first call to a portal that actually gets used.

01

Work out who may see what

Which roles exist, which data belongs to which customer, and what an employee may do that a customer may not. This decides the rest of the build.

02

Connect to what you already have

Your accounting, CRM or planning stays the source. The portal shows that data; it does not become a fourth place where someone retypes the same thing.

03

Build with permissions in the database

Row-level security in Supabase, so every customer can only reach their own file. Even if someone skips the front end.

04

Roll out with a few customers

A pilot with a handful of users first, then everyone. Including a short walkthrough so your team can manage it themselves.

What you end up with
  • Customers who see their own file
  • Login with roles and permissions per user
  • Integration with your accounting, CRM or planning
  • An admin side where your team manages everything
  • Repository and hosting in your name
Client portal development
from
€ 3,450fixed project price

Not the number of screens but the number of integrations and the permission structure drive the number.

The price depends mostly on the number of integrations, not the number of screens. After a half-hour call I know enough for a fixed number.

In detail
01

What exactly is a client portal?

A client portal is a protected part of your website where a client logs in and sees only their own data: jobs, invoices, documents, the status of a request. Not a new administration, but a window onto what you already have.

The confusion is usually in the name. Client portal, customer portal, service portal, dealer portal or simply 'a portal built' describe the same thing with a different audience in front of it. What it becomes depends on who logs in and what they are allowed to see.

Client portal

Your own clients log in for their file: quotes, jobs, invoices and documents, plus the status of what is running.

Supplier or dealer portal

Business partners with their own prices, orders and stock. Often several users per company and a role structure of its own.

Service portal

Reports, tickets and maintenance history in one place, so a fault no longer arrives through three mailboxes.

Internal portal

The same principle for your own team: planning, files and reporting, with permissions per role.

02

What a client portal costs

The number of screens drives the price far less than people expect. What moves the number are the integrations and the permissions: where the data comes from and who is allowed to see exactly what.

Three worked scopes with an amount next to each are on what a client portal costs; how pricing works in general is on pricing. In short: after a half-hour call one fixed price I hold myself to, with no paid run-up. Whether a portal pays for itself in your case is worked through in when a client portal pays for itself.

Integrations

Every source that has to come along — bookkeeping, CRM, planning, stock — is its own piece of work. One integration is a different project from four.

Roles and permissions

One type of user is simple. Clients, staff, admins and partners with different rights per record is the real work.

Existing data

Migrating history from an old system or a spreadsheet takes time, especially when the same client appears in it three times.

Self-management

If you want to change fields, copy or roles without me, I build an admin side for it.

03

Off-the-shelf portal software or custom

Portal software you rent per month exists, and for a standard process it is a fine choice. You are live quickly and pay per user. It pinches as soon as your process differs from what the package expects, and that is exactly why most companies end up here.

The honest rule of thumb: if the package fits eighty percent, take the package. If the difference sits in the part your clients judge you on, a package means years of paying for work you still have to build around it.

Package per month

Live fast, low risk, but your process bends to the software and you pay per user for as long as you use it.

Custom

The software bends to your process, connects to what you already have, and the code sits in your repository. One-off investment, then hosting.

04

What is always included

Regardless of size, this is always in it, because a portal without these things is not a portal but a liability.

  • Logins with roles per user
  • Permissions at database level, not just in the screen
  • Documents and files per client
  • An admin side for your own team
  • Email notifications for what matters
  • History of who saw what and when
  • Integrations with your current systems
  • Hosting inside the EU, code ownership yours
Frequently asked questions
What does a client portal cost?
You get one fixed number for an agreed scope. What that number is depends mostly on how many systems get connected; those integrations usually cost more time than the portal itself. Three scopes with an amount next to each are on what a client portal costs.
Is a customer portal the same as a client portal?
Yes. Both terms get used interchangeably and describe the same thing: a protected area where your customer logs in and sees their own data. Service portal, dealer portal or simply 'a portal' come up too. What it becomes in practice does not depend on the name but on who logs in and what they are allowed to see.
How long does it take?
Usually four to six weeks. If you do not know exactly what should be in it yet, we work that out in the first call; the scope and the price come out of it.
Can it connect to our current system?
Usually yes. If your package has an API, I connect to it. If not, we look at an export, an intermediate layer or a periodic sync. That is the first thing I check, because it decides the rest.
How safe is it when customers can log in?
The permissions sit in the database itself, not only in the screens. Technically every customer can only reach their own data, even if someone bypasses the front end. We do not store passwords ourselves and all connections are encrypted.
What if we want to extend it later?
That is the starting point. The code sits in your repository with documentation and migrations, so extending can be done by me, by your own team or by another developer.
We already built something with an AI tool. Can that come along?
Often yes, and it saves time because you already tried out what you want. I first judge what is usable and what is missing below the waterline. There is a separate track for that: vibecode to production.
Let's build

Tell me what you
want to build.

A half-hour call. You get an honest answer about what it costs, how long it takes and whether building it is smart at all.

This is what it looks like

The overview your team gets.

A working example, not a screenshot: change the period and hover over a bar. In a real portal this data comes from your accounting or planning, and every customer only sees their own rows.

app.jansen-interiors.com

Overview

Sample data · not real figures

Revenue in period
€331,000
Orders
768
Average order
€431
Outstanding
€55,000
2 overdue

Revenue per month

RevenueOrdersTarget
Revenue and orders per month
MonthRevenueOrders
Feb€18,40042
Mar€21,90051
Apr€19,70046
May€24,30058
Jun€27,80063
Jul€25,10055
Aug€22,60049
Sep€29,40068
Oct€31,20074
Nov€35,80086
Dec€41,30097
Jan€33,50079

Revenue per channel

€331KTotal
Webshop
€148,90045%
Quotes
€92,40028%
Subscriptions
€61,30019%
Marketplaces
€28,4009%

Everything on this screen comes from one fixed dataset in the page itself. In reality this comes from your database or accounting.

More working examples are on the demo page.

Bas Voets · Webframer
0:00 / 0:00
Client portal development · cost and fixed price