Concorbit HelpAll guides →

Overview

Client Portal Overview

The Client Portal is a self-service web interface that lets your clients and contacts interact with your business through their own branded dashboard. Portal users can view invoices, pay online, download files, exchange messages with your team, access shared vault secrets, read knowledge base articles, manage subscriptions, and update their own contact details.

Requirements

  • Plan tier: concorbit or above.

  • Dependency: The Portal works alongside the CRM module. Portal users are CRM contacts with portal access enabled.

  • Online payments (optional): To enable invoice payments and card management through the portal, a Stripe integration must be configured on the tenant.

Key Features

FeatureDescription
DashboardA personalized overview with metric cards, alerts, recent invoices, upcoming appointments, and account summary.
InvoicesView all invoices, see payment status, pay outstanding balances online, and download PDF copies.
FilesBrowse and download files shared by your team. Upload documents back to your team.
MessagesSend and receive threaded messages with your team. Track unread counts and conversation history.
VaultAccess encrypted secrets shared with the contact, including company vault folder contents.
DocsRead published knowledge base articles from books with portal or public visibility.
SubscriptionsView active subscriptions, billing details, linked invoices, and request cancellation.
Payment MethodsAdd, manage, and remove saved payment cards. Toggle autopay.
ProfileView and update personal contact information, company details, and colleague list.
GDPR ExportRequest a JSON export of all personal data held by the tenant.

How the Portal Works

The portal is accessed via your tenant's subdomain:

https://{your-subdomain}.concorbit.com/portal

Each tenant has its own portal, completely isolated from other tenants. The portal displays your custom branding (company name, accent color, logo) so it looks like a native part of your business.

Authentication

Portal users authenticate separately from your admin team. Two authentication methods are available:

  • Email and password: Contacts with a portal password set can log in directly.

  • Magic link: Contacts receive a one-time login link via email that is valid for 30 minutes. This is the passwordless option.

Portal sessions are stored independently from admin sessions. A portal user being logged in does not affect admin sessions, and vice versa.

Data Scoping

All portal data is scoped to the authenticated contact:

  • Contact-level data: Invoices, files, and messages linked directly to the contact's record.

  • Company-level data: If the contact belongs to a company, they also see invoices, files, and subscriptions linked to that company.

  • Shared data: Vault secrets explicitly shared with the contact, and knowledge base articles published to the portal.

Draft invoices are never visible in the portal. Only sent, paid, void, and overdue invoices are shown.

Portal Access Model

Portal access is controlled at the contact level:

  1. Portal enabled: Each CRM contact has a portal_enabled flag. When enabled, the contact can authenticate and access the portal.

  2. Portal password: Optionally set a password for the contact to enable email/password login.

  3. Magic links: Available to all portal-enabled contacts. The contact enters their email and receives a login link.

A contact's portal access is independent of your team's admin access. You can enable or disable portal access for individual contacts without affecting their CRM record or your team's ability to manage them.

Dashboard

When a portal user logs in, they land on their dashboard. The dashboard provides a consolidated view of their account:

Metric Cards

  • Outstanding balance: The total amount owed across unpaid invoices.

  • Unpaid invoices: The count of invoices with "sent" status.

  • Unread messages: The count of unread messages from your team.

  • Open conversations: The count of active message threads.

  • Upcoming appointments: The count of scheduled future appointments.

  • Shared files: The total count of files shared with the contact.

Alerts

The dashboard surfaces contextual alerts:

  • Past due subscription: A subscription payment has failed. Links to the payment methods page.

  • Overdue invoices: One or more invoices are past their due date. Links to the invoices page.

  • Expiring card: The default payment card has expired or will expire within 30 days.

  • No payment method: The contact has active subscriptions but no saved payment method.

Recent Activity

  • Recent invoices: The three most recent invoices with status, amount, and due date.

  • Upcoming appointments: The next three scheduled appointments with title, date, and location.

  • Active subscription: Details of the primary active subscription including product, price, and next billing date.

Account Summary

  • Member since: When the contact's record was created.

  • Total paid: Lifetime payment total across all invoices.

  • Invoices paid: Count of paid invoices.

  • Active subscriptions: Count of active and trialing subscriptions.

  • Default payment method: The label of the default saved card, with an expiry warning if applicable.

Branding

The portal automatically displays your tenant's branding throughout the interface:

  • Company name: Shown in the header and various labels.

  • Accent color: Applied to buttons, links, and interactive elements.

  • Logo: Displayed in the portal header and login page.

Branding is configured in your tenant's Settings. See Portal Setup & Configuration for details.

Feature Availability

Some portal features can be enabled or disabled at the tenant level:

  • Messaging: Controlled by the portal_messages_enabled setting. When disabled, the Messages section is hidden from the portal navigation.

  • Online payments: Requires a Stripe integration to be configured on the tenant. When unavailable, the "Pay Online" button is hidden from invoice pages, and the payment methods page indicates that online payments are not available.

Security Model

The portal is designed with multiple layers of security:

Session Isolation

Portal sessions are completely separate from admin sessions. They use a different cookie (portal_session), a different database table (portal_sessions), and a different authentication mechanism. A portal user being logged in grants zero admin access, and vice versa.

Tenant Scoping

All portal data is strictly scoped to the authenticated contact's tenant. Cross-tenant data access is not possible. Every data query includes a tenant ID check.

Email Enumeration Protection

The login and magic link endpoints are designed to prevent attackers from determining which email addresses have portal accounts:

  • Failed password logins return a generic error message regardless of whether the email exists.

  • Magic link requests always show a success message, even when no matching contact is found.

Data Visibility Rules

Portal contacts can only see data that is explicitly associated with their contact record or their company:

  • Invoices must be linked to the contact or their company. Draft invoices are never shown.

  • Files must have the portal_shared flag set to true.

  • Vault secrets must be explicitly shared with the contact or stored in their company's vault folders.

  • Docs books must have portal or public visibility, and only published pages are shown.

  • Messages are scoped to the individual contact, other contacts at the same company cannot see each other's conversations.

No Write Access to Sensitive Data

Portal contacts have limited write capabilities:

  • They can update their own profile information (but not their email address).

  • They can send messages and upload files.

  • They can manage their payment methods and cancel subscriptions.

  • They cannot modify invoices, other contacts' data, vault secrets, or documentation.

Common Use Cases

Client Self-Service Portal

Enable your clients to manage their own account without contacting your team:

  • View and pay invoices online.

  • Download shared files (proposals, reports, deliverables).

  • Access shared credentials through the Vault.

  • Read product documentation and FAQs.

  • Manage their subscription and payment methods.

Support Communication Channel

Use portal messaging as a lightweight support system:

  • Clients open conversations for questions or requests.

  • Your team responds from the admin interface.

  • All communication is tracked in conversation threads.

  • No external ticketing system needed for basic support.

Knowledge Base Distribution

Publish documentation to your portal so clients can self-serve:

  • Set books to portal visibility.

  • Publish pages as they are ready.

  • Clients can browse and search the knowledge base without assistance.

Credential Sharing

Share passwords and API keys with clients securely:

  • Share individual secrets with specific contacts via time-limited links.

  • Use company vault folders for ongoing access to client-managed credentials.

  • All access is logged in the vault audit trail.

Next Steps