Core Module

Projects

The operational core of ACOS. Every task, time entry, and invoice belongs to a project. Projects give you budget tracking, team management, phase planning, and real-time profitability — all in one place.

What a Project Is

A project represents a single client engagement. It holds the budget, the team, the work (tasks), the hours logged (time entries), and the financial outcome (invoices, margin). Everything flows through a project.

Projects are most often created by converting a won deal from CRM — this pre-fills the name, client, and budget automatically. They can also be created manually for internal work or engagements that don't go through the pipeline.

Project Types

TypeHow billing worksBest for
Fixed PriceTotal budget agreed upfront. Revenue = budget. Profit = budget − actual cost.Website builds, defined deliverable projects
Time & MaterialBilled by hours worked. Revenue builds as time is logged and invoiced.Ongoing development, consulting work
RetainerFixed monthly fee for a set number of hours. Managed separately in the Retainer module.Long-term client relationships with recurring work

The project type determines how profitability is calculated. For fixed-price projects, logging more hours than planned directly reduces your margin. For time and material, every billable hour logged becomes revenue.

Project Statuses

planning

Set up phase — no billable work started

active

Work is underway

on hold

Paused — client request or internal decision

completed

Work finished — invoices may still be outstanding

archived

Closed and historical — read-only

Status changes are manual. ACOS does not automatically move a project to Completed — you must do this explicitly. This is intentional: a project with all tasks done may still have unbilled time or outstanding invoices.

Project Profitability — How It's Calculated

Profitability fields on a project are cached and updated automatically by a background task every time a time entry is created, edited, or deleted. You never need to manually recalculate.

FieldFormula
Total Hours LoggedSum of all time entry hours on this project
Total Billable HoursSum of hours where is_billable = true
Total RevenueSum of billed_amount across billable entries
Total CostSum of cost_amount across all entries (billable and non-billable)
Gross ProfitTotal Revenue − Total Cost
Margin %(Gross Profit ÷ Total Revenue) × 100

Billing rate vs cost rate

When a time entry is saved, ACOS calculates two amounts:

  • billed_amount = hours × billing_rate. The billing rate comes from the ProjectMember rate override, falling back to the service default rate, then the org default.
  • cost_amount = hours × cost_rate. The cost rate is the internal cost to deliver that hour (team member salary equivalent). This is what makes margin calculation accurate — even non-billable time has a cost.

Health thresholds

HealthyMargin > 30%
ModerateMargin 15–30%
At RiskMargin < 15%

If a project reaches 90% budget consumed with less than 70% of tasks completed, ACOS generates a Budget Risk smart alert. You'll see it on your Dashboard. This alert fires once per 7-day window per project — it won't spam you.

Project Detail — Tabs

The project detail page is organized into five tabs. Each tab gives you a focused view of one aspect of the project.

TabWhat you'll find
OverviewProject stats cards, recent activity, team member list, phases timeline
TasksFull Kanban board — Todo, In Progress, In Review, Done columns
TimeAll time entries logged against this project, filterable by person and date
FinanceBudget vs actual, margin %, all invoices for this project, Generate Invoice button
SettingsEdit project name, type, budget, dates, manage team members and their billing rates

Team Members & Billing Rates

Every project has a team. Go to the Settings tab on the project to manage members.

Adding a team member

Click Add Member, select a team member from your organization, and optionally set a project-specific billing rate and cost rate. If you leave these blank, ACOS falls back to the service rate card defaults.

Per-project rate overrides

Sometimes you charge a different rate for the same person on different projects (e.g. a senior developer billed at $150/h for one client and $180/h for another). Set the override on the ProjectMember record. This override only applies to time entries on this specific project.

Changing a team member's billing rate on a project does not retroactively affect existing time entries. It applies to new entries created after the change. If you need to fix historical entries, edit them individually in the Time tab.

Project Phases

Phases let you organize a project into sequential stages (e.g. Discovery → Design → Development → Testing → Launch). Available on Growth and Scale plans.

  • Phases have a name, start date, end date, and optional description.
  • Tasks can be assigned to a phase, allowing you to filter the Kanban by phase.
  • Phases are visual and organizational only — they don't affect billing or profitability calculations.
  • There is no limit to the number of phases on a project.

Project Templates

Templates let you save a project's task structure and reuse it whenever you start a similar engagement. Instead of building the same task list from scratch on every website build, brand project, or onboarding engagement — create it once, save it as a template, and launch from it in seconds.

Saving a project as a template

1

Go to Settings → Project Templates

This is in your organization settings, not inside a specific project.

2

Click Save Current Project as Template

Pick any existing project. ACOS copies its tasks, subtasks, estimated hours, and priorities into the template.

3

Name the template

Give it a clear name that describes the engagement type — e.g. 'Website Redesign — Standard', 'Brand Identity Package', 'Monthly SEO Retainer'.

4

Save

The template is now available to any manager or admin when creating a new project.

What gets copied into the template

CopiedNot copied
Task namesTeam member assignments
Task descriptionsTime entries
Estimated hours per taskActual dates
Task priority (low / medium / high / urgent)Invoices
Subtask structureBudget amount
Task status reset to TodoProject phases

Creating a project from a template

1

Click New Project

The project creation dialog opens.

2

Select 'Start from template'

A dropdown lists all saved templates. Pick one.

3

Fill in project details

Name, client, type, budget, and dates. These are always project-specific — the template only provides the task structure.

4

Create

ACOS creates the project and instantly populates it with all tasks from the template. You can start assigning team members and logging time immediately.

Templates are organization-wide — any Manager, Admin, or Owner can use them. You can have as many templates as you need. Edit or delete templates at any time from Settings → Project Templates without affecting projects already created from them.

Roles & Permissions

ActionMemberManagerAdminOwner
View project list and details✓ (assigned only)
Create projects
Edit project name, budget, dates
Delete projects
View budget and margin %
Manage team members on project
View Finance tab
Create / use project templates
Delete project templates

Members can view project details for projects they are assigned to. They cannot see the Finance tab, budget numbers, or margin percentages. This is by design — billing rates and financial performance are managerial information.

Best Practices

  • Always set a budget before logging time. Without a budget, margin % cannot be calculated and the project health indicator shows a warning state.
  • Use project phases to break large engagements into milestones. This makes progress visible to clients (via the Client Portal) and helps the team self-organize.
  • Review the Finance tab at the start of each week. If cost is outpacing budget faster than tasks are completing, you have a scope or efficiency problem — address it before it becomes unrecoverable.
  • When a project is truly complete (all invoices paid), move it to Completed status. This removes it from the active project list and keeps your Dashboard accurate.
  • Don't archive a project until all invoices are paid. Archived projects are read-only.

FAQ

Can a project be linked to more than one contact?

No. Each project has a single client contact. If a project involves multiple decision-makers at the client, link the project to the company contact and use the CRM activities to track individual contacts at that company.

What happens to a project's time entries and invoices if I delete the project?

Deleting a project is a destructive action that also deletes all linked tasks, time entries, and invoices. ACOS will warn you before confirming. If the project has paid invoices, you cannot delete it — archive it instead.

My project shows 0% margin even though I've logged billable time.

Check that your time entries have the billable toggle turned on and that a billing rate is set on the ProjectMember record (or on the service in the rate card). If billing_rate = 0, billed_amount = 0, and margin will be 0 or negative. Go to the Time tab, click an entry, and verify the billed_amount field.

Can I move a project between clients?

Yes — edit the project and change the contact. This does not affect existing invoices (which are already linked to the previous contact). New invoices will use the new contact's details.

Can I update a template without affecting projects already created from it?

Yes. Templates and projects are independent after creation. Editing or deleting a template has no effect on any project that was already launched from it — those projects keep their tasks exactly as they were at creation time.

Can I create a template from scratch without an existing project?

Not directly — templates are always saved from an existing project. The recommended approach is to create a project, set up the task structure you want, save it as a template, then delete or archive that placeholder project.