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.
Dashboard
Northwind · 41 active clients
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
| Screen | Half | What it does |
|---|---|---|
| Dashboard | Internal | Work across every client. |
| Work Orders | Internal | The unit of delivery. |
| Inbox | Internal | Messages from clients. |
| Companies | Internal | Your clients. |
| Brands | Internal | The trading names you deliver under. |
| Publishers | Internal | The catalog of places work can be placed. |
| Desk Knowledge | Internal | Reference material for the team. |
| Services | Internal | What you sell, as orderable things. |
| Forms | Both | What you ask clients for. |
| Billing | Both | Invoices, subscriptions, coupons, payments. |
| Client workspace | Client | What a client sees when they sign in. |
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
The unit of delivery in the erp.io Client Portal: creating a work order, its states, what the client sees, and how it relates to invoicing.
Clients and brandsAvailableCompanies and brands in the erp.io Client Portal — how a brand decides which address a client signs in at, and the failure that signs somebody into the wrong one.
Catalog and servicesAvailableServices and the publisher catalog in the erp.io Client Portal — turning what you sell into orderable things, and where placements come from.
FormsAvailableCollecting structured information from clients in the erp.io Client Portal, and why a form beats an email thread for anything you will need twice.
Portal billingAvailableInvoices, subscriptions, coupons and payment collection in the erp.io Client Portal — including its role as the payment rail for the platform itself.
Desk knowledgeAvailableThe internal knowledge base in the erp.io Client Portal — what belongs in it, what does not, and why most of what a team knows is not in it.
What this does not do
Clients see work orders, not a project plan. Projects is internal.
Messaging is per work order, not a live channel.
Branded addresses need the plan that includes white label.
Files attach to work orders rather than living in a shared drive.
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.