Skip to main content
The Client Portal is the public-facing side of Commerce — a branded web surface where clients view their invoices, pay outstanding balances, see contract status, and download statements without ever needing to log in to your dashboard. Sign-in is passwordless: clients enter their email address and receive a branded sign-in link, so there is no password to create and none to reset.
Setting up the portal for a client? Follow Give Clients a Portal to See and Pay Invoices, a step-by-step walkthrough with screenshots.
You control the portal — contacts, permissions, branding, and emails — from a dedicated page at Commerce → Settings → Client portal (also Client portal in the Commerce menu), organized into five sections: Contacts & activity, Access & permissions, Appearance, Emails, and Advanced. Blank text fields show the default wording the portal uses in their place, and live previews of the portal, the sign-in email, and the invite email update as you edit.

What clients see

Once signed in, a client sees these tabs:
  • Overview — A welcome message, their outstanding balance, a pay button for their oldest unpaid invoice, and their recent invoices, estimates, and contracts waiting for their signature
  • Invoices — Every invoice you’ve sent them (drafts and voided invoices stay hidden). They open an invoice to see the detail, pay it, or download the PDF
  • Payments — A searchable history of every payment they’ve made, exportable to CSV (shown when you enable it — see Payment history)
  • Statements — A statement for any date range, downloadable as CSV
  • Estimates — Their estimates, which they can accept and sign
  • Contracts — Contracts they’re a signer on, showing where each signer stands
  • Subscriptions — What they’re subscribed to, what it costs, and when the next payment is due
  • Payment methods — Their saved cards
  • Members — The people at their company who use the portal
Every page ends with a help block showing your contact details, and you can add your live-chat launcher (see Live chat). The invoice, payment, estimate, and contract lists are full data tables: a search box, a status filter, sortable column headers, and pagination, with an Export CSV button that downloads exactly what the current search and filter show. By default, each person sees only the documents addressed to them; you can widen that to a whole company (see Company access). Clients never see another client’s data, your internal notes, your team’s messages, or the rest of your dashboard.

How clients sign in

Sign-in is passwordless. No passwords exist anywhere in the flow, so there is nothing for clients to forget and nothing for you to reset.
1

The client enters their email

On the portal sign-in page, the client types the email address you have on file for them. You can also send them a sign-in link directly from the dashboard (see Managing client contacts).
2

They receive a branded email

The sign-in email carries your branding and contains a sign-in link. The link works once and expires after 24 hours.
3

They click Sign in

The link opens a page showing which portal and which email address they’re signing in to. Clicking Sign in takes them into the portal, scoped to their own records. They stay signed in for 30 days, and each visit extends that.
The extra Sign in click is deliberate. Email security scanners open links in incoming mail, and without that click they would use up the link before your client could. If a link has expired, the page offers Send me a new link, which emails a fresh one to the same address.

Appearance

The Appearance section of portal settings controls how the portal looks and what contact details clients see: Save the colour with Save brand and everything else with Save appearance. The colour is the same setting as Primary color under Commerce → Settings → Branding, so it also changes your other client documents.
The logo itself comes from Settings → Branding (your account logo). The Appearance section controls everything around it, and the live portal preview shows the result as you edit. Payment pages set their own terms and privacy links in each page’s editor.

Your portal address

The portal lives at a free Hiveku address you pick under Commerce → Settings → Domains. The same address is used for sign-in emails, invoice pay links, and payment pages. Changing the name breaks sign-in links and invoice pay links you have already sent. To serve the portal and your payment pages from your own subdomain, like billing.youragency.com, see Use Your Own Domain for Billing.

Sign-in and invite emails

The Emails section of portal settings lets you make both portal emails your own:
  • Sender email — Set your own address and, once your domain is verified, portal emails send from it. Leave it blank to send from Hiveku. Replies come back to you either way. This is the same address as From email under Commerce → Settings → Branding.
  • Subject and Opening — Edit the wording of the sign-in email and the invite email. The merge tags are {{first_name}}, {{last_name}}, {{full_name}}, {{company_name}}, and {{agency_name}}. A tag with nothing behind it is removed; write {{first_name | there}} to choose the fallback yourself.
  • Previews — Sign-in email preview and Invite email preview show the result as you type.
The sign-in link, how long it lasts, and the security line are always added below your wording and can’t be edited.

Choosing what clients can do

Every portal capability is a switch under Commerce → Settings → Client portal → Access & permissions. Click Save changes when you’re done. Everything is on by default except See their payment history, Show the live-chat widget, and Cancel their own subscription. The Payments, Statements, and Members tabs only appear when their switch is on (Statements follows See their invoices). The other tabs always show; an action you’ve switched off is blocked.

Settings for one client

To change any of these for one client only, open the contact’s access panel (see Managing client contacts), find Feature visibility, and click Adjust for this client. Set each switch to Inherit (your account setting), Show, or Hide, then click Save visibility.

Company access

By default, a client sees only the documents addressed to them. For clients whose accounts payable team handles billing, choose Everyone you grant company access under Access & permissions → Who can see what. Then grant each person access: in their access panel, choose the company under Company billing access and click Grant access. A person with company access sees every invoice, estimate, and subscription for that company, including ones addressed to their colleagues. Saved cards stay private to each person, and signed contracts stay visible only to the people who signed them. You need both steps: the setting does nothing until you grant a contact, and a grant does nothing while the setting is on Only their own documents.

Editing saved cards

Clients can update a saved card’s expiry date and billing address from Payment methods (the pencil icon on the card). This is on by default; turn it off with Edit saved-card details under Payments. Changes are checked with your card processor straight away, and no security code is needed.
The card number and security code (CVV) are never editable and never stored. If a client has a new card number, they remove the old card and add the new one.

Advanced

These settings are in their own Advanced section of the client portal settings.

Paying an invoice

Clients can pay an invoice in two places:
  • From the invoice email. The View and pay online button opens a pay page for that invoice; no sign-in needed. The link works for 60 days, and resending the invoice sends a fresh one.
  • In the portal. From Invoices (or the pay button on the Overview tab), they open the invoice and pay at the bottom of the page.
Either way, the client enters a card. They can’t pick a card they saved earlier: saved cards are used for automatic charges, and your team can charge one with Charge card on file on the invoice (see Charging a saved card).
  • With Stripe (Hiveku Payments or your own Stripe account), the button reads Pay $… securely.
  • With Authorize.Net, there are usually two buttons: Pay …andsavecard∗∗and∗∗Pay… and save card** and **Pay … without saving. Saving the card authorizes you to charge it for future invoices; if the invoice belongs to a subscription, the subscription moves to that card. In the portal, the save option only appears on the client’s own invoices.
  • If the invoice allows partial payments, an Amount to pay box lets them pay part of the balance.
The invoice shows as paid straight away, and the client is emailed a receipt if the invoice sends receipts (the default). If a payment fails, the page shows why and they can try again without going back to the email. If no payment processor is connected, the invoice tells the client to contact you to arrange payment. See Payments to connect one.

Payment history in the portal

Turn on See their payment history under Commerce → Settings → Client portal → Access & permissions to add a Payments tab to the portal. It’s a searchable, sortable, paginated list of every payment the client has made — amount, date, method, and the invoice it paid. Like the other portal lists, it has an Export CSV button. The export honors the client’s current search and status filter, so the file matches what’s on screen — handy when their accountant asks for “all payments this year” and they can pull it themselves instead of emailing you.

Saved payment methods

Clients can save cards for future charges. Cards are stored at your payment processor; Hiveku keeps only a reference plus the card’s brand, last four digits, and expiry. Bank accounts (ACH) can’t be saved. On Payment methods, clients can:
  • Add a card — Enter the card and click Save card
  • Make default — The default card takes over everything billed to their other cards: subscriptions, invoices set to charge automatically, and recurring invoices
  • Edit — Update the expiry date and billing address (the pencil icon)
  • Remove — Delete a card (the trash icon). If a subscription or automatic payment uses it, they first choose which card those payments move to. They can’t remove their only card while something bills it, unless you turn on Allow removing the last card
The list shows the cards saved with your active payment processor.

Getting a card from a client

To collect a new card without asking for card details by email, send a card-update link: click Send card update link on the client’s contact record, their portal access panel, or a subscription. The client gets a page where they save a new card, and whatever was billed to their old card moves to it. The link works for 7 days, stops working once they save a card, and charges nothing. You can choose Copy link instead of emailing it. With Authorize.Net, you can also add a card yourself from the contact’s record in CRM. Either way, never ask clients to send card numbers by email.

Subscriptions in the portal

The Subscriptions tab shows each subscription’s plan, price (tax included), next payment date, current period, the card it bills, and recent invoices.
  • Use a different card switches the subscription to another saved card. When the subscription is billed by invoice, the button reads Pay by card instead. You can turn this off with Change which card a subscription uses.
  • Cancel this subscription appears only when Cancel their own subscription is on (it’s off by default). The subscription ends at the end of the paid period, unless you set When a client cancels to Immediately. Until it ends, the client can undo it with Keep my subscription. The client gets a confirmation email, and your billing team gets an in-app alert.
  • With cancelling off, clients see: “Need to change or cancel this plan? Reply to any invoice email and we’ll sort it out.”
Clients can’t change plans or quantities in the portal; you make those changes on the subscription. See Subscriptions for changing, pausing, and cancelling from your side. To let just one client cancel, use Settings for one client.

Contracts in the portal

If a client is a signer on a sent contract, it appears on the portal’s Contracts tab. They can:
  • Open the contract and see where every signer stands
  • Click View document to read it
  • Click Review & sign when it is their turn
  • Click Remind signers when others still need to sign
  • Click Download signed copy once everyone has signed. The signed copy ends with a completion certificate listing each signer and when they signed
This is useful even for clients who already signed — they can pull the signed PDF anytime without emailing you.

Statements

Under Statements, clients choose a From and To date (the past year by default) and see what was invoiced, what was paid, and the balance, with each charge and payment listed. Download CSV saves the same period as a spreadsheet. The tab appears when See their invoices is on. Useful for clients’ year-end accounting close or expense reporting.

Live chat in the portal

If your account uses the helpdesk, you can put your live-chat launcher inside the portal. Turn on Show the live-chat widget under Commerce → Settings → Client portal → Access & permissions. What makes portal chat better than a chat widget on your website:
  • No identify step. The client is already signed in to the portal, so the chat opens as them — no “enter your name and email” form, no anonymous visitors.
  • Conversations become tickets. Each chat opens a ticket in your helpdesk, linked to the client’s contact record, so your team sees who’s asking and their billing context.
  • Conversation history persists. Returning to the portal reopens their existing conversation instead of starting a new one.
The toggle requires the helpdesk to be enabled on your account. If the launcher doesn’t appear in the portal, check that first.

Security

  • Sign-in links are single-use and expire. Each link works once and expires after 24 hours (invite links after 7 days); the client requests a fresh one if needed.
  • TLS-only. All portal traffic over HTTPS.
  • PCI scope is the processor’s. Card data never touches Hiveku servers — it’s tokenized client-side and stored at Stripe/Authorize.Net.
  • Email verification. Sign-in links go to the email on file; clients can’t redirect them.
  • Sign-ins are recorded. Each sign-in shows under Portal activity, so you can see who uses the portal and when.
Don’t forward sign-in emails to colleagues — the link signs in as the original recipient. If several people need access, add each one as a contact and invite them, so each signs in with their own email. To let them see the whole company’s billing, give them company access.

Portal activity

The Portal activity card under Commerce → Settings → Client portal → Contacts & activity answers “who is actually using this?”: who has access, when each contact last signed in, how many sessions are live right now, and recent portal events such as sign-ins, invites, and access changes. Each list has a View all quick-look popup for the full picture.

Managing client contacts

The people who can sign in to your portal are managed under Commerce → Settings → Client portal → Contacts & activity. The Client contacts card lists everyone with portal access and lets you:
  • Add a contact — Click New contact to create one without leaving portal settings
  • Edit a contact — Fix a name, phone, job title, or email in place
  • Send sign-in links in bulk — Select multiple contacts and send each their own sign-in link in one action
  • Remove a contact — Removes them from your contacts and revokes their portal access. Their invoices and history are kept
  • Filter and find: The list filters by lifecycle stage (it defaults to customers), a quick-look popup shows a contact’s details in place, and you can jump straight to the contact in CRM
Each contact’s Portal access opens an access panel with per-contact actions: Invite to portal, Send sign-in link, Open as (see below), Grant access for a company, Feature visibility, and Revoke. The same panel appears on the contact’s record in CRM. Revoking signs the contact out of every active device.
Changing a contact’s email address signs them out of all active portal sessions. Sign-in links prove identity through email, so an email change means the person must sign in again from a link sent to the new address. This is deliberate — it prevents a stale session from surviving an email handoff.

Multiple billing contacts

A client (especially an enterprise client) might need several people in the portal — accounts payable, the project lead, the executive sponsor. Add each person as a contact and invite them; each signs in with their own email and gets their own session. To let them all see the company’s invoices, estimates, and subscriptions, give each of them company access. Portal activity shows each person’s sign-ins, invites, and access changes.

Inviting clients to the portal

A sign-in link gets a client into the portal, but an invite is the better first touch — it’s a welcome email that explains what the portal is before asking them to click anything. The invite link works for 7 days.
1

Open the contact's access panel

Go to Commerce → Settings → Client portal → Contacts & activity and select the contact.
2

Click Invite to portal

The invite email sends to the contact’s address on file. If you’ve selected a company in the panel, the invite also grants billing access for that company, so one click sets up an enterprise contact completely.
3

Customize the invite copy (optional)

Under the Emails section of portal settings, edit the invite’s subject and opening. Leave both blank to use the default copy. Invites can send from Hiveku’s address or from your own verified email domain, so the email looks like it came from you.

Members: clients manage their own team

The Members tab (on by default; the Members area switch under Access & permissions) shows clients everyone at their company who can use the portal, with two roles. That is the whole difference: admins can add and remove, nothing else changes. You assign roles from the contact’s access panel in Contacts & activity (a Member/Admin toggle next to each company grant). New members invited by a portal admin sign in the same way as everyone else, with an emailed link; an invitation never signs anyone in by itself. A few guardrails apply automatically: the member cap and email-domain lock from the Advanced section, no invitations to suppressed or removed addresses, and removal cuts access immediately, including any signed-in devices. Admins cannot remove themselves.

Changing a sign-in email

A client’s email address is their portal identity, so changing it requires proving control of both mailboxes. From the Members tab, the client clicks Change email, receives a 6-digit code at their current address, then a second code at the new address. Only after both codes are verified does the email change, and every other signed-in device is signed out. Nobody else can change a member’s email, not even a portal admin or your own team from this flow.

See the portal as your client

“What does my client actually see?” is the most common portal support question. Answer it directly: click Open as on any contact’s access panel to open the portal in a new tab, signed in as that client.
  • It’s exactly their view. Same capabilities, same invoices, same branding — if a tab is hidden for them, it’s hidden for you.
  • It’s read-only. An amber banner across the top reads “Viewing as [client name]. Payments and changes are disabled.” Every action that would change anything — paying an invoice, editing a card, accepting an estimate — is blocked while you’re viewing as them.
  • It’s short-lived. The view-as session expires after 60 minutes and doesn’t renew itself. Click Exit in the banner to end it sooner.
Use it to verify branding after a change, walk a client through the portal over the phone while seeing their exact screen, or confirm a permissions toggle did what you expected.

Limiting or ending a client’s access

There’s no single switch that turns the portal off for one client. Instead:
  • Hide features — In the contact’s access panel, use Feature visibility → Adjust for this client to hide anything from that person only.
  • Sign them out — Click Revoke. This signs them out on every device, turns off any unused sign-in or card-update link, and removes their company access.
  • Stop them signing in again — Anyone whose email is on one of your contacts can request a new sign-in link from the portal sign-in page, so Revoke alone doesn’t keep them out. To do that, remove the contact; their invoices and history are kept.
Invoice emails still include the link to view and pay that invoice.

Troubleshooting

The portal hides drafts and voided invoices, so make sure the invoice has been sent. Each person sees only invoices addressed to them, unless you’ve given them company access — an invoice sent to a colleague won’t show in their portal otherwise.
Verification and the SSL certificate normally complete within minutes of adding the DNS records. The Check button on Commerce → Settings → Domains tells you exactly what is wrong (wrong CNAME target, missing record, or a Cloudflare-proxied record). See Use Your Own Domain for Billing for the records and the Cloudflare gotcha.
A card is saved at your payment processor first. If the processor refuses it, nothing is saved and the client sees the reason, so check that your processor is still connected in Payments. Payment methods lists only cards saved with your active processor, so cards can seem to disappear after you switch processors. With Authorize.Net, cards saved before you switch between sandbox and live can no longer be charged; those clients need to add their card again.
There’s no self-serve delete in the portal. If the relationship is over, Revoke their access, or remove the contact to stop them signing in again (see Limiting or ending a client’s access). Their invoices and payment history are kept for your records.
The tab only appears when See their payment history is on under Commerce → Settings → Client portal → Access & permissions, or for that client under Feature visibility. Check the toggle, then use Open as to confirm the client’s view.
Two switches control it: the helpdesk must be enabled on your account, and Show the live-chat widget must be on in portal settings. If both are on and it still doesn’t appear, use Open as to see the portal as the client — the launcher renders for signed-in portal sessions only.
It should — the export carries the same search and status filter as the list. If the numbers differ, the client likely changed the filter after downloading. Have them re-export with the filter they want; the file always reflects the filters at the moment of export.

What’s next?

Set Up the Client Portal

Branding, custom domain, and security walkthrough.

Invoices

What clients see and pay through the portal.

Payments

Connect Hiveku Payments, your own Stripe, or Authorize.Net so clients can pay online.

Subscriptions

Plans, renewals, and what clients can change from the portal.

Contracts

Documents that show up on the portal’s Contracts tab.

Payment Pages

Shareable checkout pages for taking a payment without an invoice.

Use Your Own Domain for Billing

Serve the portal and payment pages from billing.youragency.com.