Skip to main content

Project costs

View

The project Cost tab is where you see what a project has actually cost — labour, materials, purchases, and expenses — and how that compares to the plan. It's a read-only picture built from the work recorded elsewhere in Jobyo, split into spend roll-ups, a planned-vs-actual variance table, and material tracking views.

Project managerFinanceAdministrator

What the Cost tab shows

Open a project and select the Cost tab. It pulls together several read-only views:

  • Spend summary — total actual cost, split into posted (finalised) and draft (not yet finalised).
  • Cost composition — actual cost by class: direct (job cost), overhead (allocated indirect cost), and adjustment (corrections).
  • Cost by category — actual spend per cost category.
  • Cost by work order — every work order under the project, with its cost, sorted by amount.
  • Cost lens — the same cost pivoted by worksite, location, or equipment.
  • Planned vs actual variance — actual direct cost against a frozen baseline plan (see below).
Cost is recorded, not typed

You don't enter cost on the Cost tab. Jobyo builds every figure from the time, materials, purchases, and expenses logged against the project's work orders and tasks. A brand-new project with nothing logged yet reads zero — that's the honest empty state, not an error. Figures fill in as work is recorded.

Where the money comes from

Each cost figure traces back to activity captured elsewhere:

Cost sourceRecorded in
Labour and transportTime & attendance on work orders
Materials and inventoryItem consumption, goods receipts
Supplier purchasesPurchase invoices
Miscellaneous expensesAdd expense on the project or a work order

Labour and transport are priced from labour cost profiles (set up under Company Settings), which hold the hourly, daily, per-km, or flat rates the cost engine applies when time is logged.

Planned vs actual variance

The variance table compares the actual direct job cost against the cost that was frozen when a baseline was published — so you can see where the project is running over or under plan.

Variance needs a published baseline

The variance table only appears once at least one baseline has been published on the project's Plan tab. A baseline freezes the planned cost at a point in time; the table then compares actuals against that frozen version. With no baseline, there's nothing to compare to.

  1. Open the Cost tab

    From the project workspace, select Cost and scroll to the Planned vs actual variance section.

    project / cost — variance🖥️ Desktop
    Variance section — baseline picker, per-phase Planned / Actual / Variance rows, project total
    Variance section — baseline picker, per-phase Planned / Actual / Variance rows, project total
  2. Pick a baseline version

    Use the baseline-version selector to choose which published baseline to measure against.

  3. Read the rows

    You get one row per phase (and a project total), each with Planned (the frozen figure), Actual (direct cost so far), Variance ($) (actual minus planned — negative means under plan), and Variance (%). The percentage shows as when the planned figure is zero. Rows where actual exceeds planned are flagged.

Variance is direct-cost only

The variance lens compares direct job cost only. Category- or bucket-level breakdown within variance isn't available yet — the table compares totals per entity.

Cost buckets

Planned cost rolls up into three buckets by category — labour, material (materials and equipment), and expense (everything else). This bucket split is how a project's plan is summarised; it sits alongside the actual-cost composition (direct / overhead / adjustment) on the Cost tab.

Planned-cost lines are seeded, not hand-entered

The line-item plan that feeds variance is built by the back end — today it's seeded from an accepted quotation's cost-bearing lines when a project is created from that quote. There's no in-app screen to add, edit, or delete individual planned-cost lines. (The project's estimated budget and category breakdown are a separate, editable planning figure — see Project budget.) Because of this, variance stays at zero until both a baseline with planned lines is published and actual cost has been recorded.

Materials: what to buy and where it stands

A project gives you two material views, each with a different audience and permission level.

Buy plan

A supplier-grouped list of the materials the project still needs to order. It's netted against what's already on purchase orders and shows a suggested unit price, so a buyer can turn it straight into draft purchase orders. This is the project's slice of the buyer's planned-requests queue.

Draft and closed POs both count

Ordered quantity counts POs in every state except cancelled — including draft POs (so a second run doesn't re-suggest lines already queued) and closed POs (so fully-bought material doesn't reappear as buyable). Only cancelled POs drop out of the netting.

The suggested unit price is hidden unless you hold cost-viewing permission (see Who can see what). Reading the buy plan also needs purchase-order view permission on top of project view, because it carries supplier identity.

Material status

A cost-free, supplier-free tracking view for project managers. For each material it shows, grouped by phase:

ColumnMeaning
PlannedUnits in the project's task plans
OrderedUnits covered by purchase orders (draft/requested/issued/received all count; only cancelled is excluded)
ReceivedUnits physically delivered and logged via a goods receipt
PendingUnits still to order (planned minus ordered)

Any row with Pending greater than zero means that material isn't yet fully covered by a purchase order. Because it shows quantities only — no prices, no supplier names — it needs only project view permission, so any project manager can follow procurement progress without cost or purchasing access.

project / materials — status🖥️ Desktop
Material status — phase-grouped rows, Planned / Ordered / Received / Pending columns
Material status — phase-grouped rows, Planned / Ordered / Received / Pending columns

Who can see what

Cost visibility is controlled by permission, not by plan tier.

  • Actual cost roll-ups (spend summary, composition, cost by category, cost by work order, cost lens) require the view actual costs permission (actualCosts:view) — a single on/off gate. Without it, the money figures on the Cost tab are hidden.
  • Variance requires the view planned costs permission.
  • Buy-plan suggested price is hidden unless you hold view-actual-costs or cost-pricing permission.
  • Material status is cost-free and needs only project view permission.
Money can be hidden even when the layout isn't

On the project Invoicing view, the billing-coverage structure stays visible to a project manager, but the money buckets are blanked out unless they hold the company-wide view actual costs permission. Seeing the table isn't the same as seeing the figures. See Project invoicing.

If it doesn't work

Common blocks & how to fix them
  • Cost tab shows all zerosNo cost has been recorded yet, or it is still processing. Costs come from time, materials, purchases, and expenses logged against the project — check that activity exists.
  • Money figures are hiddenYour role doesn't include view actual costs. An administrator can grant it under Users & roles.
  • No variance tableNo baseline has been published. Publish a baseline on the Plan tab first, then the variance section appears.
  • Variance shows zero after publishing a baselineThe baseline has no planned-cost lines, or no actual cost has been recorded yet. Both are needed for a meaningful comparison.
  • Buy-plan prices are blankYou can see the buy plan but not costs. Viewing suggested prices needs view-actual-costs or cost-pricing permission.
  • Material status table is emptyNo materials have been planned on this project's tasks. Planned materials are entered at the task and work-order level.

FAQ