Client Portal
- Free
- Solo
- Team
The client portal is a branded, self-service space where your clients can track projects, download deliverables, review proposals, view contracts, and pay invoices without needing a Kiaro account.
Enabling portal access
Portal access has two layers. The client has a portal switch, and each contact on the client is either allowed to sign in or not. A person can use the portal only when both are on.
- Open the client, go to the Contacts tab, and edit each person who should get in. Turn on Can sign in to the portal (see Giving a contact access).
- Go to Settings → Client Portal, find the client and click Enable. You can also turn the portal on from the client’s Portal tab, or with Enable client portal when you create a client.
Only workspace admins can turn a portal on or off and change a contact’s portal access. Other members can see the settings but not change them.
When you enable the portal, from any of these places, Kiaro emails a sign-in link to every contact who has access and an email address. In Settings → Client Portal, the Enable button stays disabled until at least one contact has access, and each client shows how many people have access, for example “2 people have access”.
Portal seats are limited by plan:
- Free: 1 portal seat
- Solo: Unlimited portal seats
- Team: Unlimited portal seats
Controlling what clients see
Once the portal is enabled for a client, you can control which sections it shows using the visibility toggles in Settings → Client Portal. These toggles apply to everyone at the client:
- Invoices: Outstanding and paid invoices with payment links
- Projects: Project status, timeline, and deliverables
- Deliverables: All files and deliverables across projects
- Proposals: Proposals with accept/decline capability
Drafts never appear in the portal. A client sees an invoice once you send or finalize it, and a proposal once you send it. If you take a proposal back to draft, it disappears from the portal and its emailed link stops opening it until you send it again.
- Contracts: Signed and active contracts with file downloads. Statements of Work appear under the agreement they belong to.
All sections are enabled by default. Toggle any section off to hide it from that client’s portal for every contact. Changes take effect immediately.
Giving a contact access
Each contact has its own portal access, set in the contact’s edit dialog on the client’s Contacts tab:
- Can sign in to the portal: Turn this on to let the contact sign in. New contacts start with it off. The first contact on a new client has it on, and existing primary contacts were given access when this feature launched.
- Section checkboxes: Invoices, Projects, Deliverables, Proposals and Contracts. A contact sees only the sections you tick. A section you hid for the whole client in portal settings is locked off for every contact and shows as unavailable.
- Send portal invite: A button on each contact who has access and an email address, once the client’s portal is on. It emails that one person a sign-in link.
Each contact on the list shows a chip such as Portal: Invoices, Projects so you can see who can see what. Every portal page and download checks the signed-in person’s sections, so a direct link to a section they can’t see does not open it. If you change a contact’s sections or turn their access off, it applies on their next page load. If you change a contact’s email address, anyone signed in as that contact is signed out, and the person at the new address signs in with a new link.
How clients log in
Clients access the portal through magic link authentication, with no password required. Each sign-in belongs to one contact, so the portal shows that person’s sections.
There are two ways a contact can get a magic link:
- You send an invite: When you enable the portal, every contact with access and an email address receives a link. Later, use Send portal invite on a single contact.
- Self-service login: The contact goes to your portal login page and enters their email. If that email belongs to a contact with portal access and the portal is on for that client, they receive a magic link. Any contact with access can do this, not only the primary contact.
Contacts you only CC on invoices or proposals cannot sign in unless you also give them portal access.
Invoice and reminder emails are not a portal login. These links open that invoice’s payment page and work for anyone on the email, whether or not they have portal access. Every invoice, payment reminder, upcoming-due notice and overdue notice carries a button that opens that specific invoice’s payment page, so a forwarded email never gives anyone access to the rest of the portal. When the portal is on, these emails also link to your portal login page.
Links inside invoice and reminder emails stay valid for 7 days and can be clicked more than once, so a client can come back to the same email tomorrow, or press back and click again, without the link going stale. Links from the self-service login form are single-use and expire after 15 minutes, because the client is waiting on that email as they request it.
If a client’s portal is switched off, they can still pay online, as long as you have Stripe connected. This includes invoice emails sent before you switched it off, and Revoke Sessions doesn’t stop them either. Their Pay Invoice button opens that one invoice’s payment page and nothing else: no portal navigation, no other invoices, no projects or documents. The portal stays off for them.
Without Stripe connected there is nothing to pay through, so those emails show your payment instructions instead of a button rather than sending the client to a login page they cannot get past.
Sessions
When a client clicks a magic link, they get a portal session that lasts 30 days. After that, they need to request a new magic link to log in again. Clients can log out at any time using the Log out button in the portal navigation.
Sessions belong to one client at a time. If someone works with more than one consultant who uses Kiaro, opening a link from a second consultant signs them out of the first portal and offers them a login for the one they just opened. They will not lose anything: the original portal is one magic link away again.
Portal dashboard
After logging in, clients land on a personalised dashboard that greets them by their company name and shows an overview of their account:
- Active projects with status
- Outstanding invoices with amounts and due dates
- Pending proposals awaiting response
- Active contracts
- Recent deliverables
- Activity feed showing recent events (invoices sent, deliverables uploaded, proposal responses, etc.)
Each section links to its full list page. Only sections enabled via your visibility settings are shown.
Branding the portal
- Solo
- Team
The portal carries your branding so clients feel they are in your space:
-
Your logo in the top-left, picked up from Settings → Invoices (same upload used on invoice PDFs).
-
Your company name next to the logo.
-
Your brand accent colour: set a hex value in Settings → Invoices next to the logo upload. The accent appears across the portal in a restrained, deliberate way:
- A 2px accent bar beneath the top navigation.
- The active navigation item, with matching underline.
- The client’s own company name inside the welcome heading.
- The icon on every dashboard card (Invoices, Projects, Proposals, Contracts, Deliverables).
- The “View all →” links on each dashboard card.
- A subtle branded tint when hovering list rows.
- Focus rings on keyboard-navigation.
- The Pay Now button on invoice pages, as a filled primary CTA. Pale accents such as gold get a slightly darker edge of the same hue so the button keeps a visible shape against the white page.
The accent must be a 6-digit hex colour such as
#6F6CB2. Use the swatch next to the field to pick one, or type the value yourself. Anything that isn’t a valid hex colour is flagged under the field and won’t save.Accept and Decline on proposals keep fixed colours (green to accept, red to confirm a decline) rather than taking your accent. They are a pair of opposite choices, so their colours have to mean the same thing in every workspace. A red or gold accent on an Accept button would either contradict the action or leave it hard to pick out.
If no accent is set, the portal falls back to the default Kiaro theme.
Clients see a personalised greeting (Welcome, their company name) along with a subtitle mentioning you by name.
Portal pages
Projects
Lists all projects for the client with status, date range, and deliverable count. Clicking a project shows its deliverables with download and preview options.
Deliverables
A flat list of all deliverables across all projects. Clients can download files or preview PDFs directly in the browser.
Invoices
All invoices issued to the client with amounts, status, and due dates. Clicking an invoice shows line items, totals, and payment options.
Proposals
All proposals sent to the client. Clicking a proposal shows the full content, pricing table, and accept/decline options.
Contracts
Signed and active contracts with file downloads. Clients can preview PDF contracts in the browser.
Accepting proposals
When you send a proposal, clients can view it on the portal including the full content and a structured pricing table. To accept, the client enters their full name and confirms consent. Kiaro records the signer name, timestamp, and IP address. Clients can also decline a proposal from the same page.
If a proposal has an expiration date and it has passed, the accept/decline buttons are replaced with a notice that the proposal has expired and the client should contact you for an updated proposal.
Paying invoices
If you have Stripe Connect configured, clients can pay invoices directly from the portal. They click the invoice, then click Pay, which takes them to a Stripe-hosted payment page.
Previewing the portal
To see exactly what your client sees, open the client’s Portal tab and click Preview portal. This opens the portal in a new tab with a “Preview Mode” banner. You can navigate all sections and verify the experience before your client sees it. Preview mode works even if the client’s portal is not yet enabled.
Use View as next to the button to preview as one contact who has portal access and see exactly the sections that person sees. Leave it on Full client view to see everything the client’s portal settings allow.
A preview lasts one hour. It is read-only for your client’s data: you can’t accept or decline proposals or start payments from it.
Revoking access
There are three ways to revoke portal access:
- Turn off one contact’s access (edit the contact, switch off Can sign in to the portal): That person is signed out on their next page load. Deleting the contact does the same.
- Disable portal (Settings → Client Portal, then Disable on the client): Disables the portal for the client AND revokes all active sessions, so everyone is signed out. Nobody can log in again until you re-enable it. Pay links in invoice emails keep working, so the client can still pay.
- Revoke Sessions button: Ends all current sessions but keeps the portal enabled. Contacts with access can request a new magic link and log in again. Pay links in invoice emails keep working.
Branding
On the Free plan, the client portal is a Kiaro-branded shell: the Kiaro mark sits in the top nav alongside your business name, the accent colour is the Kiaro purple, and a small “Powered by Kiaro” footer that links to kiaro.io appears at the bottom. Your business name still appears so the client knows whose workspace they’re in. The same Kiaro-branded treatment, including the linked footer, applies to invoice and proposal PDFs and the invoice, proposal, portal invite and payment emails your clients receive on Free.
On Solo and Team plans, the portal and PDFs are fully white-labeled: your logo (uploaded under Settings → Invoices) replaces the Kiaro mark, your accent colour replaces the Kiaro purple everywhere, and the “Powered by Kiaro” footer is removed.