Modules

Availableportal.erp.io

Client Portal

Two halves: a workspace where your team runs client work, and a portal where your clients see their own. The second half is why this module has its own addresses.

Not path-mounted
Deliberately
Client addresses
Your brand domains
Clients as seats
No
Brands
First-class

What it is for

The Client Portal is for businesses that deliver work to clients and want the client to see it. Your team works in the internal half — work orders, clients, services, billing. Your clients sign in to the portal half and see their own work, their own invoices, and the forms you have asked them to fill in.

The important commercial fact: clients are not members of your organisation and are not charged as seats. A hundred clients signing in costs nothing. That is what makes client-facing work viable here rather than something that scales your bill with your client list.

portal.erp.io
Dashboard

Northwind · 41 active clients

Open work orders86
Due this week23
Awaiting client14blocked on them
Unread9client messages
The internal workspace. Work orders across every client, with what needs attention.

Why it is not on app.erp.io

Every other module is mounted on a path of app.erp.io. This one is not, and the reason is worth understanding because it also explains what the module can do that the others cannot.

The portal answers on many hostnames — its own address plus a branded address for each of your brands, which is what your clients bookmark and what appears in the emails you send them. A path mount is global to an application, so mounting it would rewrite every one of those brand addresses simultaneously and break every client bookmark and emailed link at once.

The reason to collapse a module onto the shared origin is a session cookie shared with the shell — and portal clients are not shell users at all. So the trade simply does not apply here.

The screens

ScreenHalfWhat it does
DashboardInternalWork across every client.
Work OrdersInternalThe unit of delivery.
InboxInternalMessages from clients.
CompaniesInternalYour clients.
BrandsInternalThe trading names you deliver under.
PublishersInternalThe catalog of places work can be placed.
Desk KnowledgeInternalReference material for the team.
ServicesInternalWhat you sell, as orderable things.
FormsBothWhat you ask clients for.
BillingBothInvoices, subscriptions, coupons, payments.
Client workspaceClientWhat a client sees when they sign in.
A client can only belong to one brand

Brand assignment decides which address a client signs in at and what they see. A client with no brand assigned is a real and common state after a migration, and it produces sign-in behaviour that looks arbitrary — a redirect can land them on the wrong brand entirely. If clients report seeing the wrong company's name, check brand assignment first.

In this section

What this does not do

No client-side project management

Clients see work orders, not a project plan. Projects is internal.

No client chat

Messaging is per work order, not a live channel.

No white label below Scale

Branded addresses need the plan that includes white label.

No client-side file library

Files attach to work orders rather than living in a shared drive.

Not a helpdesk

There are no tickets, SLA timers or queues in the support sense.

Questions

Do clients need an erp.io account?

No. They sign in to the portal, not to the suite.

Can a client see another client's work?

No. A client sees their own company and nothing else.

Can we use our own domain?

Yes, on plans that include white label.