Job Costing

Know whether a job made money: line costs and margins, labor tracking against the estimate, and actuals at completion.

Job costing in BranchSite runs on the same lines you price with. Every line item carries a Cost next to its Price, labor gets estimated up front and tracked against timesheets, and completion records the actual quantities used — so by the time a job is approved you can see estimate versus reality.

Costs on the estimate

Each line's Cost defaults from the item's catalog entry and can be overridden per line. Lines flagged Actual are the ones that count toward cost — they represent work performed and materials used, and they print on the work order rather than the invoice. That's the core split: Billable builds the revenue side, Actual builds the cost side, and most lines are both. If an item has no price or cost set in the catalog, the estimate flags it so unpriced work doesn't slip through.

The Margin column shows profit per line, read through the account's markup mode (Cost Plus — profit over cost — or Percentage — profit over price; switching modes only changes the displayed number). A line priced below cost gets a warning hint. The Update Margins tool reprices a whole category or subcategory at a target margin, and the Subcategory Totals panel rolls up quantity, revenue, cost, and margin as you build.

The job's header shows the headline numbers: Est. Margin and Est. Hours.

Note: Costs and margins are financially sensitive, so they're permission-gated. Members whose role can't view costs see the estimate without the Cost and Margin columns and without the margin metrics.

Labor against the estimate

Line items can carry estimated labor hours. As crews clock time on the job's visits, an admin-visible labor band on the job compares the two:

  • Actual — hours worked, with the loaded labor cost.
  • Estimated — the hours you sold.
  • A status pill: On track (within about 10% of estimate), Over estimate, or Under estimate.

If timesheet entries have no labor rate, the band tells you their cost is missing from the total and points you to setting default rates for those labor resources (Setup, Labor). Time tracking itself happens in clock in and out; admins reconcile entries in manage timesheets.

Actuals and expenses

Costs that arrive during the work flow onto the job automatically. The estimate's Actuals & Expenses section lists lines added from a Purchase Order or from a visit (a visit expense or visit line). They count toward the job's totals but are managed at their source — see link purchases to jobs and expenses.

Truth-up at completion

The Complete Work screen is where estimates meet reality. You record the Actual qty per billable line and see Estimated cost, Actual cost, and Projected margin before the job is billed — details in complete and approve. Cost reporting uses actual quantities where they exist, falling back to the estimated quantity where they don't, and once the job reaches Approved the numbers are treated as confirmed results (approval is also what depletes inventory for inventoried items).

Recurring contracts by month

Recurring jobs priced as annual contracts can attach a labor schedule that distributes the contract's labor across the year's visits by month. The Monthly distribution summary then shows, per month: allocated units, Revenue, Labor Cost, Gross Margin, Other Costs, and Adjusted Margin — a month-by-month P&L preview of the contract before you win it. Distribution affects estimated crew hours only; it never changes what the customer is billed.