User guide

Projects

Looking for what it does rather than how to use it? Read the Projects overview .

What it is

Projects runs multi-week work that does not fit in a ticket: migrations, rollouts, onboarding. Each project carries its own tasks, milestones, team, risks, documents, Statement of Work, billing schedule and status reports, and moves through a defined lifecycle from initiation to closure.

An MSP runs projects for its clients; an organization runs its own. Both use the same screens, scoped to the account you are signed into.


Concepts

ConceptWhat it is
ProjectThe container. Owns a status, a phase, a health flag, a billing type and a budget.
TaskA unit of work with an assignee, due date, estimate and status. Can have subtasks and blockers.
MilestoneA delivery checkpoint with a target date. Completing one is an explicit action.
MemberA person on the project, with a role of Owner, Manager, Member or Viewer.
AllocationA share of a person’s week committed to the project over a date window, with optional cost/bill rates.
RiskSomething that could derail the project, scored likelihood × impact.
DocumentA file attached to the project, internal by default, optionally shared with the customer.
Statement of WorkThe scope the customer signs. One per project, versioned.
Billing milestoneAn amount to invoice, optionally tied to a delivery milestone.
Status reportA periodic summary. Internal until sent to the customer.
TemplateA reusable project skeleton — defaults plus the tasks, milestones and risks a new project starts with.

Status vs. phase

Two independent fields, and the difference matters.

  • Status is the coarse state: PLANNING, IN_PROGRESS, ON_HOLD, COMPLETED, CANCELLED, CLOSED. Your plan’s active-project cap counts anything that is not COMPLETED, CANCELLED or CLOSED.
  • Phase is where the project sits in its lifecycle: INITIATIONQUOTINGSOW_DRAFTINGAWAITING_ACCEPTANCEKICKOFFPLANNINGEXECUTIONMONITORINGCLOSINGCLOSED, plus CANCELLED.

Phase advances on its own at two points: creating a project from a quote lands it in SOW_DRAFTING, and sending a SOW moves it to AWAITING_ACCEPTANCE. When the customer accepts, it moves to KICKOFF.

Health

GREEN, YELLOW, RED or GREY, with an optional note. Set it by hand on the Settings tab, or let the nightly automation set it on a project whose automation level is SUGGEST or AUTO. Kicking off a project resets health to GREEN.


Roles and permissions

ActionMSP Admin / TechnicianOrg AdminPower UserCustomer
View projects in scope
Create / edit / delete a project
Kick off, close
Tasks, milestones, members, risks, documents
Billing milestones, approve, invoice
Author and send a Statement of Work
Accept or decline a Statement of Worksee below
Write, edit and send status reports
Manage project templates

Every write route is floored at organization administrator, so Power Users and Customers get a read-only view. Controls they cannot use are not rendered rather than failing on click.

Who signs the SOW

Only the owning organization can accept or decline — the organization the project belongs to. An MSP prepares and sends a SOW on a client’s behalf but cannot sign for them; the API returns Only the owning organization can accept or decline this SOW.

The signing form renders in the customer portal (/user). An Org Admin of the owning organization signs by switching portals: use the portal switcher at the bottom of the sidebar and pick Customer, then open the project and go to the SOW tab. Anyone whose maximum portal level is Organization or above can switch down to Customer.


Walkthroughs

Run a project end to end

  1. Create it. Projects → New project. Name and client organization are required. Pick a billing type, and optionally a template — a template brings its tasks, milestones and risks with it, not just its defaults.
  2. Draft the SOW. Open the project, SOW → New SOW. Fill in scope, objectives, deliverables, assumptions, constraints and terms, or press Generate with AI to draft the body and edit from there.
  3. Send it. Send to Customer moves the SOW to Sent, the project to Awaiting Acceptance, and renders a downloadable PDF.
  4. The customer signs. In the customer portal they open the project’s SOW tab, type their name and signature, and accept. The project moves to Kickoff and the PDF is re-rendered with the signature block embedded.
  5. Kick off. Press Kick off in the project header. Status becomes In Progress, phase becomes Execution, health resets to green, and today becomes the start date if none was set.
  6. Run the work. Add tasks on the Tasks tab, milestones on Milestones, people on Team. Log time against the project as usual.
  7. Report. On Reports, either write a report or press Generate from metrics to build one from the project’s current task, milestone and time figures. Review it, then Send to email the customer and notify members.
  8. Bill. See below.
  9. Close. Press Close project and add a closing summary. The summary is posted to the activity feed as a status change.

Bill a project

Two paths, depending on billing type.

Milestone / fixed-price. On the Billing tab, create billing milestones with an amount, an optional percentage and an optional link to a delivery milestone. Each one moves PENDING → REACHED → APPROVED → INVOICED → PAID. Press Approve, then Raise invoice. The invoice is created against the client organization’s account, in that account’s currency, with tax from the organization’s country and province.

Time & materials / hybrid. Press Invoice unbilled time, enter the hourly rate, and every time entry on the project that has not yet been invoiced goes onto one invoice. Projects on any other billing type do not offer this — the API answers Time invoicing is only available for T&M or Hybrid billing projects.

A billing milestone can no longer be edited or deleted once it is INVOICED or PAID.

Turn an accepted quote into a project

On an accepted quote, press Create project. The quote’s title, description, organization and total (as the budget) are copied over and the project starts in SOW Drafting. A quote can produce exactly one project — the button becomes View project afterwards.

Build and use a template

Settings → Project Templates → New template. Set the defaults, then list the tasks, milestones and risks one per line. A milestone line can carry a day offset from the project start: Design sign-off @14.

To capture an existing project instead, open it and use Settings → Save as template.

Templates can be cloned, deactivated and deleted. Global templates are authored by Solidlio and are read-only for you; you can clone one and edit the copy.

Plan capacity

On the Team tab, Allocations commit a percentage of someone’s week over a date window. Before saving, the form shows how allocated that person already is. The backend refuses any write that would take an overlapping window past 100%: Allocation would exceed 100% (currently N% allocated in this period).

Press Workload next to a member to see everything they are committed to across projects.


Configuration

SettingWhereWhat it doesIf unset
Billing typeCreate form, SettingsChooses the billing path. NOT_BILLABLE hides invoicing.NOT_BILLABLE
Automation levelCreate form, SettingsMANUAL, SUGGEST or AUTO — see below.MANUAL
MSP visibilitySettings (client-owned)HIDDEN, SUMMARY_ONLY or FULL_ACCESS — how much a servicing MSP sees.FULL_ACCESS
Health status / noteSettingsManual health flag shown in the header and on reports.GREY
Customer visiblePer documentExposes a document in the customer portal.Off — internal only
Project managerCreate formWrites a MANAGER membership in the same transaction as the project.No manager

Automation levels

  • Manual — nothing runs on its own. The AI tab’s buttons still work on demand.
  • Suggest — a nightly job evaluates the project and parks its findings on the AI tab as approve/dismiss cards.
  • Auto — the same job executes actions above 0.8 confidence and parks the rest. Billing actions always require a human, whatever the confidence.

Plan tiers

Project management is a gated feature. Reads are never gated — after a downgrade existing projects stay visible; only creating new ones is refused.

Plan groupTierProjectsActive project cap
MSP / IT PartnerFree0
Starter5
Growth15
ScaleUnlimited
EnterpriseUnlimited
End customerFree0
Essentials0
Professional10
BusinessUnlimited
EnterpriseUnlimited

“Active” means any project not in COMPLETED, CANCELLED or CLOSED.

An MSP-managed client that carries no plan of its own inherits its managing MSP’s entitlement. An independent organization always uses its own.


Troubleshooting

MessageCause
Project management isn't included in your current plan.The account’s tier has projectManagement: false. Reads still work.
Your plan allows a maximum of N active project(s). Upgrade to run more.At the tier’s maxActiveProjects cap. Close or complete a project, or upgrade.
Cannot kickoff project in <phase> phaseKickoff only accepts KICKOFF or PLANNING. A project reaches KICKOFF when its SOW is accepted.
Project is already <phase>Closing something already CLOSED or CANCELLED.
Quote must be in ACCEPTED status to create a projectGet the quote accepted first.
A project has already been created from this quotesourceQuoteId is unique. Open the existing project.
Template is not activeThe template is deactivated. Reactivate it or pick another.
Only the owning organization can accept or decline this SOWAn MSP tried to sign for a client. The client signs.
SOW must be in SENT status to acceptThe SOW is still a draft, or has already been answered.
Cannot revise an ACCEPTED SOW; its signed acceptance must be preserved.Raise a change request instead of rewriting a signed document.
Only draft SOWs can be deletedAnything sent is a record. Revise it instead.
Billing milestone must be in REACHED or PENDING status to approveIt is already approved, invoiced or paid.
Billing milestone must be APPROVED before invoicingApprove it first.
Cannot delete a billing milestone that has been invoicedAn invoice exists. Credit the invoice instead.
Time invoicing is only available for T&M or Hybrid billing projectsChange the billing type, or use billing milestones.
No unbilled time entries foundEverything logged is already on an invoice.
Allocation would exceed 100% (currently N% allocated in this period)Reduce the percentage or shorten the window.
Person is already a member of this projectThey are already on the team.
Cannot remove the last owner from a projectPromote someone else to Owner first.
Task cannot depend on itself / Would create circular dependencyThe blocker graph must stay acyclic.
Tasks must be in the same projectDependencies are project-local.
Cannot update a report that has been sent to customerSent reports are frozen. Write a new one.
Document data is empty or not valid base64The upload was truncated. Retry.

Limits and known behaviour

  • One SOW per project. projectId is unique on the SOW record. Revising bumps the version on the same row rather than creating a second one; earlier versions are not retained as separate records.
  • A signed SOW cannot be revised or edited. Scope changes to accepted work belong in a change request.
  • Milestone dates are dates, not schedules. A milestone has a target date and a completion date; it has no duration and no dependency on other milestones.
  • Documents are capped at 16 MB per file, uploaded as base64 in a JSON body.
  • Deleting a project deletes its sub-resources — tasks, milestones, risks, documents, comments, status reports and the SOW. Invoices already raised are not affected.
  • AI output is advisory. Generated plans, SOW bodies and risk assessments are shown for review; nothing is written to the project until you accept it.
  • Automation never invoices on its own. Billing actions are excluded from auto-execution regardless of confidence.
  • The customer portal is read-only apart from accepting or declining a Statement of Work. Posting to the activity feed is floored at Org Admin like every other write, so customers read the feed but do not add to it.

Questions this guide did not answer?

Ask us. You will get a reply from someone who uses the product every day.

Book a demo Contact us

A 30-minute walkthrough against your own workflow. No slides.