The portal is enabled by default for every Commerce account. This guide focuses on customization (branding, domain) and per-account security settings. If you just sent your first invoice and the link works, the portal is already running.
What you’ll do
Step 1: Brand the portal
Upload your logo
Recommended: PNG with transparent background, at least 400px wide. Shows on the portal header and on PDF invoices/estimates.
Set primary and accent colors
Pick from the color picker or paste hex codes. The portal’s buttons, links, and headers use these colors.
Add footer text
Your business address, support email, and any disclaimers (“Charges appear as ‘Acme LLC’ on your statement”). Shows on every portal page and on invoice PDFs.
Step 2: Set up a custom domain (optional)
By default, portal URLs look likehttps://your-account.hiveku.com/portal/.... To use your own domain:
Pick a subdomain
Most businesses use
billing.yourdomain.com or portal.yourdomain.com. Pick one and stick with it.Add the DNS record
Hiveku shows you a CNAME record. Add it to your DNS provider:Adjust the Name based on your subdomain choice.
Wait for DNS propagation
Typically under 15 minutes; up to 24 hours worst case. Hiveku polls and updates the status to “Verified” once the CNAME resolves.
SSL certificate auto-issues
Hiveku provisions a Let’s Encrypt cert automatically. Until it’s issued (usually within an hour of DNS verification), the domain shows a security warning — wait it out.
Step 3: Configure session security
Session duration
Default is 7 days. For higher-security accounts, drop to 24 hours. Clients then need a fresh magic link if their session expires before they finish what they were doing.
IP logging
On by default. Each session logs the IP and user-agent used to authenticate. Useful for audit and abuse detection.
Multiple billing contacts
Enable if your enterprise clients have multiple people who need portal access (AP team, project lead, exec sponsor). Each contact gets their own magic link and own session, scoped to the same company’s data.
Step 4: Test as a client
Create a test contact
Add a CRM contact with your own email (or a personal one). Mark them as a Commerce client.
Send them a test invoice
Use the Send Your First Invoice flow with the test contact and a small test amount.
Walk through paying
Use Stripe’s test card
4242 4242 4242 4242. Confirm the success page renders correctly with your branding.Save the payment method
Check “Save this card for future payments.” Confirm it shows up under the contact’s saved methods in CRM.
What clients see
The portal’s main pages:- Outstanding invoices
- Payment history
- Documents
- Subscriptions
- Statements
- Payment methods
All unpaid invoices, with totals and Pay Now buttons. Hidden if there are no outstanding invoices.
Magic-link authentication
The portal uses magic links rather than passwords:- Every invoice/estimate/contract email contains a unique link
- Clicking the link creates a session tied to the client’s email
- Sessions last 7 days (configurable)
- Single-use: once consumed, that link can’t create a new session
- For longer-lived access, the client requests a fresh login email from the portal footer
Multiple billing contacts
For enterprise clients with multiple people involved in billing:
Each contact gets their own session, scoped to the same company. The audit log tracks which contact viewed what.
Disabling the portal for a client
For strict-security industries that won’t allow portal access:Verify it worked
After setup:- Portal URL loads with your logo and colors
- A test invoice email links to the portal correctly
- A test payment processes successfully and saves the method
- The session expires per your configured duration
- Multiple billing contacts (if enabled) get separate sessions
Troubleshooting
Custom domain shows a security warning
Custom domain shows a security warning
DNS isn’t fully propagated, or the SSL certificate hasn’t issued yet. Wait up to 24 hours. Verify the CNAME is correct using
dig billing.yourdomain.com or an online DNS checker.Logo looks tiny on the portal
Logo looks tiny on the portal
The portal renders at a fixed pixel height. Re-upload at higher resolution (400px+ wide) and let the portal scale down. Tiny source images don’t scale up well.
Colors look wrong on dark mode
Colors look wrong on dark mode
The portal auto-detects system theme. Test both modes — colors that read fine on light backgrounds can vanish on dark. Pick high-contrast accents that work on both.
Client says the link doesn't work
Client says the link doesn't work
Magic links are single-use. If they clicked once and re-click from a different device, the second click fails. Send a fresh link from the contact’s actions menu.
Multiple billing contacts but only one gets emails
Multiple billing contacts but only one gets emails
Check that all billing contacts have the “Billing Contact” flag set. Email routing only sends to flagged contacts. The primary billing contact gets all emails by default; additional contacts need the flag explicitly.
Self-serve cancellation is enabled but clients can't cancel
Self-serve cancellation is enabled but clients can't cancel
Self-serve cancellation requires the subscription’s “Allow self-serve cancel” flag. The account-level toggle is the default, but you can override per-subscription. Check the subscription’s settings.
What’s next?
Client Portal Reference
Full reference for sessions, security, and features.
Send Your First Invoice
See the portal in action end-to-end.
Payment Processing
Connect Stripe or Authorize.Net to enable payments.
Custom Domain
More on Hiveku’s custom-domain setup.