Solavel Solavel Docs

Organizations

docs/solavel/organizations.md

Who can use this: Organization Owners and Managers (create, edit, members); Solavel staff via the admin shell (read-only or read/write depending on role) URL / Route: /portal/orgs/* and /admin/organizations/*; older paths at /organizations/* and /users/* Plan / feature gate: Always on (the number of organizations you can create depends on your plan)

Purpose

An organization is a workspace tied to a single client. It has its own plan, members, projects (Solabooks, Inventory, etc.), and — once Solabooks is switched on — its own private accounting database. This page covers the user-facing flows: create, switch, edit, invite, and remove.

Step by step

Create an organization

  1. Open /portal/orgs from the sidebar.
  2. Click Create organization. You enter a four-step wizard:
    • Details (portal.orgs.create, portal.orgs.create.store) — name, display name, contact email.
    • Plan (portal.orgs.create.plan, .store) — pick a plan tier across each app you want to enable. See Plans and features.
    • Projects (portal.orgs.create.projects, .store) — toggle which apps (Solabooks, Projects, etc.) the organization should have. The available list is filtered to the projects your plan covers.
    • Checkout (portal.orgs.create.checkout, .store, .return) — paid plans go through Tap; free plans skip checkout. Tap returns to portal.orgs.create.checkout.return after the card is charged.
  3. The new organization appears in /portal/orgs and in the sidebar switcher.

Switch organizations

  • Click any organization in /portal/orgs, or use the dropdown at the top of the Organization sidebar section.
  • The selected organization is stored in your session under portal.current_org_id. The sidebar reflects it, and the Solabooks launcher uses it.

Edit an organization

  • portal.orgs.edit (form) and portal.orgs.update (PUT). You can change the display name and basic contact details.
  • The deeper "settings" page is at /admin/my-workspace/{organization}/settings for staff; for client users, only the editable fields are exposed.

Invite team members

The team-member tools live at the older /users/* paths (route names client.users.*):

  1. Open Team Access in the sidebar (/users).
  2. Click Add member.
  3. Enter their email, pick a role (Manager or Member), and pick which organizations they belong to.
  4. They get an email with a first-time password setup link (60-minute expiry). Once they set a password they can sign in and see the same /portal/* UI you do, scoped to their assigned organizations.

Per-organization member screens:

  • client.organizations.members.index — list members of one org.
  • client.organizations.members.create / .store — add a member directly to an org.
  • client.organizations.members.edit / .update — change their role inside that org.
  • client.organizations.members.destroy — remove them.

Manage what each member can do

Permission editing for individual users is at:

  • client.users.permissions.edit — open the permissions form for a user (/users/{user}/permissions).
  • client.users.permissions.update — save changes.

Per-project assignment:

  • client.organizations.projects.users.* — add or remove a user from a specific project inside an organization.
  • client.organizations.users.projects.update — bulk update the project list for one user inside one organization.

Deactivate or reactivate a user

  • POST /users/{user}/deactivate (client.users.deactivate) — turn off the account without deleting it.
  • POST /users/{user}/reactivate (client.users.reactivate) — turn it back on.

Delete an organization

  • DELETE /organizations/{organization} (client.organizations.destroy).
  • Only an Owner can do this. Deletion ends the subscription, archives the data, and removes everyone from the workspace. Solabooks data is preserved per the data-retention policy.

Admin-side counterparts

Solavel staff can read every organization and edit certain workspace-level fields:

  • admin.organizations.index (/admin/organizations) — searchable list.
  • admin.organizations.show — read-only view of one organization.
  • admin.my-workspace.* (/admin/my-workspace/*) — extended pages used by Solavel staff who themselves own the "Solavel Internal" client. Includes Apps, Billing, Solabooks launcher, Members, and Settings.

These pages do not appear for client users. See Admin dashboard.

Permissions / restrictions

  • Create organization: requires create-organization.
  • Edit / update: requires edit-organization.
  • Delete: requires delete-organization (Owner only).
  • View members: requires view-team-member.
  • Invite / edit / remove members: requires create-team-member, edit-team-member, delete-team-member respectively.
  • Switch organizations: requires access-organization for that specific org, or access-all-organizations (held by Owners).
  • Assign roles: requires assign-roles and manage-user-roles (Owner only).
  • Project assignments: requires manage-organization-projects and assign-project-users.

The number of organizations a client can create is capped by the active plan's max_organizations entitlement (resolved by App\Services\Entitlements\EntitlementResolver). Hitting the cap shows a "Upgrade to add another organization" prompt that links to Subscriptions and billing.

Common problems

  • "You do not have permission to create organizations." — Your role is Manager or Member. Ask the Owner.
  • The plan step shows fewer apps than expected — your client's plan does not cover them. The Apps step is filtered against the entitlement set.
  • A new member never receives the setup email. Check the System event logs and resend from the user's edit page.
  • "This organization is over its user limit." — Upgrade the org's plan tier or remove someone. Limits are seeded per tier (Free = 2, Professional = 5, Premium = 8, Enterprise = unlimited).

Related

Source: docs/solavel/organizations.md ← All documentation