Track project profit and loss (P&L)

Last updated: Aug 24, 2026

Every project page shows a live P&L for owners and admins: a KPI row with Contract, Invoiced, Collected, Outstanding, Costs, and Profit, fed by the project's invoices, the expenses and subcontractors you log, and the job closes you link. The Profit tile shows profit against what you've invoiced, with the margin percent underneath. Other roles see the project without any of the money-side tiles.

Before you start

  • You need an owner or admin login — cost and profit data is hidden from every other role, on the server, not just in the interface.
  • Profit is only as accurate as what you feed it: log expenses as they happen, keep subcontractor amounts current, and link the project's jobs so their closes flow in.

How the numbers are built

TileWhat it counts
ContractThe agreed contract value you set on the project
InvoicedThe project's invoices, excluding drafts and cancelled ones
CollectedPayments actually recorded against those invoices
OutstandingSent invoices minus what's been paid
CostsExpenses + subcontractor agreed amounts + technician payouts and company-paid parts from linked job closes (the tile is labeled "expenses · subs · techs")
ProfitInvoiced revenue minus costs, with the margin shown as a percent of invoiced

Revenue also includes the gross of a linked closed job that has no live invoice of its own — and only then, so a job that was invoiced through the project is never double-counted.

Step 1 — Log expenses with receipts

  1. Open the project and click the Expenses & Subs tab.
  2. Under Expenses & materials, enter the Amount, pick a Category (Materials, Labor, Equipment, Permits, Subcontractor, Other), and add a Description like the form's example, "Tile Depot order".
  3. Optionally attach a receipt photo or PDF with the Receipt button, then click Add.

Each expense lists with its receipt thumbnail; receipts also land in the project's Photos & Docs tab automatically. Delete an expense with its trash icon if you logged it by mistake.

Step 2 — Track subcontractors

In the Subcontractors panel of the same tab:

  1. Pick a sub from your roster — or click New sub to create one (name, trade, phone) without leaving the page.
  2. Enter the Agreed $ amount and click Add.
  3. As you pay them, click Update paid on their row and enter the running total you've paid so far.

The agreed amount counts toward Costs; the paid figure tracks what has actually left your account.

On the Jobs tab, click Link existing job and pick this customer's dispatch jobs that belong to the project. When a linked job is closed, its technician payout, referral fee, and company-paid parts flow into the project's costs — and its gross counts as revenue if the job has no live invoice of its own. Unlink removes a job from the project without deleting anything.

Troubleshooting

  • No Costs or Profit tiles, and no Expenses & Subs tab — you're not signed in as an owner or admin. The money side of a project is restricted by role.
  • Profit looks too high — usually missing costs: expenses not logged, a sub not added, or the project's jobs not linked yet.
  • Profit looks too low or negative — check for a job that was both linked and separately invoiced outside the project, or an expense entered twice.
  • Collected doesn't match your bank — Collected counts payments recorded on the project's invoices. Record every payment (including checks and cash) on its invoice — see refunds and the finance ledger for the company-wide view.

FAQ

Who can see a project's profit and costs?

Owners and admins only. Dispatchers and technicians see the project without the Costs and Profit tiles, and the Expenses & Subs tab isn't shown to them at all — the server never sends them the money data.

What counts as project revenue?

The project's invoices (drafts and cancelled invoices don't count), plus the gross of linked closed jobs that don't have their own live invoice — so the same money is never counted twice.

What counts as project costs?

Expenses you log on the project, each subcontractor's agreed amount, and the technician payouts, referral fees, and company-paid parts from linked job closes.

Can my customer ever see my costs or profit?

No. The customer portal only shows the contract, what's been invoiced, what they've paid, and what remains — costs never appear in the customer-facing data.

Related articles