Operations
Plan project and opportunity demand in Operations: assign people or placeholders, and review capacity by operating unit
Overview
Operations is Core's resource-planning workspace. It plans future labor demand before time is logged, using project assignments, opportunity assignments, and day-level cells so weekly and monthly capacity views can roll up accurately.
Operations Workspace
The Operations workspace (sidebar Operations) shows project demand by company, resourcing, person, department, and forecast. People and customer projects with no planned resourcing in the selected date range are hidden by default so the views stay focused on active demand.
Use Project status in Resourcing or Forecast to show one or more lifecycle groups together. Current remains the default and excludes HubSpot deal-stage planning. Select Deal — Best Case, Deal — Commit, or both when you want to pencil-resource pipeline work alongside selected Core statuses. When a deal leaves Best Case or Commit without being won, Core removes an integration-created planning project and its penciled resourcing; a pre-existing Core project linked by name is restored and unlinked instead of deleted.
People, Resourcing, and Forecast initially render 50 matching rows to keep large workspaces responsive. Choose Load more to display the next group in the same filtered result. This changes how many rows are on screen; it does not remove records from the result.
In the Company view, month and week headers show a holiday marker when that period includes a company holiday.
The Forecast view combines capacity totals with live scheduled revenue. It includes only active or approved payment schedules from active, non-archived contracts, plus active contract billing items. Draft and pending schedules stay in Contract Billing until they are approved. Shared contract revenue is counted once across linked projects, and revenue displays in the schedule's currency when available. Payment schedule rows can be sorted by project, schedule, source, status, or amount. Completed, cancelled, and archived projects stay out of the Forecast and other Operations demand lists automatically.
On Forecast payment schedule project rows, people who can update projects can use the row actions menu to Hide from resourcing (soft-hide without changing project status), Mark complete, or Archive. Use Show hidden in the filter bar to reveal soft-hidden projects again, then choose Show in resourcing from the same menu.
Use Bill with another project when a billable spin-off or change-order project should stay visible but its payment plan belongs to another project for the same company. The billing target must be a billable planning, active, or on-hold project that is not archived and does not already bill through another project. Links are always direct: a billing target cannot itself point to another project or become a child while other projects depend on it.
The linked project remains visible in Forecast with a $0 total and a link to the project that owns the revenue. Core prevents the billing target from being deleted or made ineligible while linked projects depend on it. Marking the child project not billable clears the billing link after confirmation.
Each project also has a Forecast tab with the same live payment-schedule month window and billing-item detail available in Operations. Authorized billing users can start a manual payment schedule from Forecast; Core opens Contract Billing so they can add amounts and approve the draft. The schedule appears in Forecast after approval. If another edit changed an active schedule amount first, Core asks you to refresh instead of overwriting the newer value.
Use Show unresourced to include the full roster and unstaffed customer projects. Core remembers this setting after you apply filters. The People view shows PTO, available hours, and free hours together so you can audit unused capacity without switching views.
Managers open Operations on My managed team by default and can use Scope to switch between their own resourcing, managed teams, and all teams. Technicians and read-only roles only see their own resourcing, even from direct person links.
People with project_resourcing:read and a linked staff record can update their own existing weekly or monthly hours and assignment status in My resourcing. Adding, swapping, converting, or removing assignments still requires a resourcing management permission.
In Operations > Resourcing, use the search filter to find projects by project name, project manager, assigned person or placeholder, or budget line. Project rows show editable start date, end date, budget, and project manager fields. When a project has no project manager set, Core defaults the column to the company's primary technician (shown as a soft default until you save a manager). New projects also pre-fill the project manager from that primary technician when you pick a company. When a project has a planned-hours budget, the row compares that plan with resourced hours across the full project and shows how far it is over or under. If Core cannot load the comparison, it shows Budget health unavailable instead of treating missing data as zero. Use the row expander to review each person or placeholder assignment under the project. Select an assignment's Penciled or Confirmed badge to change its status without opening the project. Unstaffed projects can still expand so you can add the first resource from the expanded row, opening the New assignment form without leaving the grid. Department grouping and the operating-unit filter in this view follow the project manager's department (or the primary technician's department when the manager is still a soft default).
In Operations > People, capacity managers can sort by the table headers, click legend items to filter by open, tight, overbooked, leave, or holiday periods, expand a person to review their project schedule breakdown, and edit weekly or monthly project hours from the expanded row. Select a single assignment's Penciled or Confirmed badge to change its status inline. When a breakdown row combines several assignments, the badge links to the project Resourcing tab so you can update each assignment separately. A single assignment stays editable even when a zero-hour period falls outside its current dates; Core asks whether to extend the assignment before saving. Read-only periods explain when no assignment exists or several assignments must be edited separately. Edits also validate available capacity. Weekly Spread forward requires an assignment end date so Core has a closed window for reallocation. Select a person's capacity status to update weekly hours, target billable percentage, primary line of business, and line-of-business allocation without leaving the grid.

Project Resourcing tab
Each project has a Resourcing tab for day-, week-, or month-level planning on that project alone. Open a project and choose Resourcing.
Use New assignment to add a resource window:
| Field | Use |
|---|---|
| Add a person | Search staff, contractors, and resource-only people |
| Add a placeholder resource | Create named demand for a role before the person is known |
| Placeholder name / staffing role | Label unstaffed demand, such as "Senior engineer" or "Engineering" |
| Budget line | Optional labor attribution for project budget reporting |
| Operating unit | Optional override; otherwise Core uses the budget line unit, then project unit |
| Start date / no. of months / end date | Date window for spread and capacity math; defaults from project dates, and months can drive the end date |
| Plan hours as | Enter total hours for the window or hours per month |
| Show months | Preview the monthly windows before saving |
| Spread mode | Weekday even, manual, front-load, or back-load |
| Status | Confirmed counts as committed demand; penciled is what-if demand |
| Hours | Optional initial spread across weekdays |
The header shows assignment count, confirmed vs penciled work, placeholder count, planned hours, budgeted labor hours, and planned value from resolved bill rates. Budgeted labor opens the project budget, and planned value opens assignment details so you can adjust the inputs behind those totals.
On the project's Budgets tab, the performance card compares forecast billable value with the value of active linked contracts. Core makes that comparison only when every contributing contract uses the same currency and that currency matches the forecast. If a currency is missing or does not match, the card explains what must be aligned and withholds the comparison rather than combining unlike amounts.
Use the connected date controls to choose daily, weekly, or monthly planning, then choose the matching range. Daily shows 7, 14, or 21 days; weekly shows 4, 10, or 16 weeks; monthly shows 6, 12, or 18 months. Rows show billable rate, future planned hours, and period planned value when rates are resolved. The matrix opens on the first period that already has resourcing planned, and Core remembers the range you pick for next time.
Select a row's future planned hours to open the monthly schedule editor. From there, update the assignment dates, status, notes, and monthly planned hours, or fill monthly hours up to the person's remaining capacity.
Use Export to download assignment and day-level cell details.
The live Project Works import is retired. Historical source labels and mappings remain for reference, but resourcing plans are now created and maintained directly in Core.
Placeholder Resources
Use a placeholder resource when sales planning knows the role, duration, and expected hours, but not the person yet. Placeholder resources roll into project, operating-unit, and forecast demand like assigned people, but they do not count against a named person's capacity until converted.
When staffing is known, open the assignment details and use Convert to search for the resource person. Core keeps the date window, budget line, status, operating unit, notes, and planned cells.
Editing Demand
Day view allows direct cell edits. Changing one day bleeds the remaining hours forward across future working days so the assignment total stays stable.
Weekly and monthly range views allow bucket edits when an Operations > People row maps to one assignment. Choose Adjust total to change the assignment total by that week or month only, or Spread forward to keep the current total and reallocate later periods. Weekly spreading requires an assignment end date.
If the month you edit falls outside the assignment's start or end dates, Core warns you and offers Extend dates & save or Save anyway. Hours land across the full calendar month either way — you are not blocked from planning past an assignment window.
If the change would exceed the person's available hours that month, Core asks you to type ASSIGN OVER CAPACITY before saving. This applies on the project Resourcing tab, Operations > Resourcing assignment rows, and the technician capacity page.
In Operations > Resourcing, month cells are editable when the project/month value comes from one assignment. Months made up of multiple assignments stay read-only on the project total; expand the project and edit the individual person or placeholder row instead. Editable hour boxes use the same compact style as the project resourcing tab, with penciled work shown as tentative.
Saved edits stay visible immediately, and any related day or month values update together when Core reallocates hours.
Project budget cells show the detailed active budget total when one exists, otherwise the project budget. Open the budget cell to review and edit the project budget without leaving the grid.
When changing a project start or end date in the grid, Core can also update resource assignments that still match the previous project date. Custom assignment windows stay unchanged.
Use Spread evenly to distribute a total while preserving manual overrides. Use Reset overrides and spread to wipe day-level overrides and recalculate.
Use the assignment action menu to Swap assigned people, Convert placeholders into named resources, or delete an assignment. Swap defaults to today, can be backdated, and only moves future planned demand from the selected date forward.
Opportunity Demand
Opportunity resourcing uses the same assignment and cell model as projects. Opportunity assignments can be penciled while a deal is still in pipeline, then copied into a project resourcing plan when work is ready to staff.
Rates
Bill rate resolution is:
- Contract billing item rate for the project's billing item
- Project member hourly rate
- Operating-unit bill rate from the assignment, budget line, or project
- Unresolved
Loaded labor cost resolution is restricted to financial/admin permissions:
- Technician compensation history effective on the assignment date
- Operating-unit cost rate from the assignment, budget line, or project
- Unresolved
Salary rows use annual salary × employer burden ÷ annual capacity hours. Contractor/hourly rows use hourly cost directly. Core keeps these cost rates separate from billable budget usage in project performance.
Operating Units
Resource capacity can be split across operating units in Operations > Manage capacity. For advanced teams, allocation percentages should total 100% for each person and are effective-dated. Unit-filtered capacity views prorate availability by those allocation percentages and filter assignment demand by assignment unit or project unit. The Resourcing view is the exception: its department grouping and unit filter follow the project manager's department so unstaffed and staffed project rows stay together.
Pending invitees appear in resourcing pickers and Manage capacity, so managers can plan assignments, set weekly hours, set target billable percentage, and choose operating-unit allocation before the person accepts their invite.
Financial admins can enter salary/hourly/contractor cost rows on the same manage-capacity page. The numbered form sections end with one Save capacity & compensation action that updates capacity, line-of-business allocation, and compensation together. Saved pay details appear immediately in salary history using their effective date. Those rows support loaded labor cost calculations without changing Xero actual P&L totals.
Permissions
| Permission | Access |
|---|---|
project_resourcing:read | View project and capacity resourcing; linked staff can update their own existing hours and status in My resourcing |
project_resourcing:manage_any | Manage assignments across projects |
project_resourcing:manage_own | Manage assignments on projects where the user is manager/lead, or for people on a team they manage |
technician_capacity:manage | Edit capacity and operating-unit allocations |
financials:compensation | Edit compensation history and view loaded labor cost |
operating_unit_rates:read_bill | Resolve and view bill-rate planning values |