Who can use this: Organization Owners, Managers, and Members (each sees a different subset) URL / Route:
/portal/*(theportal.*route group) Plan / feature gate: Always on
Purpose
The client portal is your main workspace inside the Solavel central app. It is where you pick an organization, manage its members and projects, see what plan it is on, and pay invoices. Everything under /portal/* shares one sidebar and one selected-organization context, so once you pick an organization you stay inside it until you switch.
What is in the sidebar
The portal sidebar (resources/views/components/client/sidebar.blade.php) has three sections.
Workspace — top-level pages that do not require an organization:
- Dashboard →
/dashboard. The starting screen. - Organizations →
/portal/orgs. List of organizations you can access. - Team Access →
/users. Visible only if you haveview-team-member. The team-member admin lives here, not under an organization.
Organization — appears once you have selected an organization. Items:
- Overview →
portal.orgs.show - Members →
portal.orgs.members.index - Projects →
portal.orgs.projects.index - Billing (collapsible) — visible only if your role grants
can_view_billing_portal. Submenu links to Overview, Subscriptions, Payment Methods, Invoices, and Payments. See Subscriptions and billing.
Account — pages tied to your user, not the organization:
- Profile & Security →
/portal/settings(routeportal.settings.edit). Covered in Profile and account settings. - Reports →
/client/beta-reports(the bug-report tool). - Documentation → opens this docs site (
/docs/finance) in a new tab.
Step by step (typical session)
- Sign in. You land on
/dashboard. - Click Organizations in the sidebar. Pick the one you want, or click Create organization if you have none.
- The sidebar now shows the Organization section. Use Overview to see the org at a glance.
- From Members, invite or remove people. From Projects, see which apps (Solabooks, etc.) are enabled.
- From Billing → Subscriptions, change plan, switch tier, or cancel.
- To enter Solabooks, use the "Open Solabooks" launcher on the overview card. It walks you through the SSO redirect.
The 32 organization routes
The portal.orgs.* group has 32 routes. Grouped by purpose:
- List and select:
portal.orgs.index,portal.orgs.select(POST),portal.orgs.show,portal.orgs.edit,portal.orgs.update. - Create wizard:
portal.orgs.create(start),portal.orgs.create.store,portal.orgs.create.plan(pick plan),portal.orgs.create.plan.store,portal.orgs.create.projects(pick apps),portal.orgs.create.projects.store,portal.orgs.create.checkout,portal.orgs.create.checkout.store,portal.orgs.create.checkout.return. - Members:
portal.orgs.members.index. (Add/edit happens at the older/usersroute, not under the org — see Organizations.) - Projects:
portal.orgs.projects.index. - Plan:
portal.orgs.plan.show,portal.orgs.plan.update,portal.orgs.plan.cancel. - Billing:
portal.orgs.billing.show,portal.orgs.billing.subscriptions.index,portal.orgs.billing.invoices.index,portal.orgs.billing.invoices.show,portal.orgs.billing.payments.index,portal.orgs.billing.payment_methods.index,portal.orgs.billing.payment_methods.replace,portal.orgs.billing.payment_methods.default,portal.orgs.billing.payment_methods.destroy,portal.orgs.billing.subscription.cancel_at_period_end,portal.orgs.billing.subscription.resume,portal.orgs.billing.tap.initiate,portal.orgs.billing.tap.return.
Plus the top-level portal.home, portal.billing, portal.plan, and portal.settings.edit.
Permissions / restrictions
- Sign-in is required for every route in the group.
- Email must be verified (the
EnsureWorkspaceOnboardingCompletedcheck redirects to/onboarding/verifyotherwise). SetClientContextresolves your client (the legal entity that owns your organizations). If you have no client linked, you cannot reach/portal/*.- Once you open a specific organization,
SetSelectedOrganizationchecks that you actually belong to that organization. People who are not members get a 403. - Billing menu items are hidden for users whose role does not grant the billing-portal permission. The Spatie permission key behind this is
manage-subscriptions(held by Owners and Admins, not by Managers or Members).
Common problems
- "Page not found" when opening
/portal/orgs/{id}. You are not a member of that organization, or the organization was deleted. - The sidebar shows no Organization section. Pick one from
/portal/orgsfirst. - The Billing submenu is missing. Your role does not include billing access — only Organization Owners (and Solavel admins) see it.