Job profit and expenses
See what a job made — revenue next to materials, labor and expenses — compare jobs in the Job profit report, record job expenses with their receipts, and set what an hour of each person's time costs.
The Profit tab on a job shows what the job earned next to what it cost, so you can see which work actually pays. It adds up the materials, the time logged on the job at each person’s labor rate, and the job’s expenses, and shows the gross profit and margin.
Who sees it. Costs are private business numbers, so the Profit tab, expenses and labor rates appear only for people who can See costs: owners and admins always, and Billing by default. Field techs and Office staff don't see them unless it is switched on for them. Setting labor rates also needs managing users (each person's rate, in Edit user on the Users page) or settings (the default rate, in System Settings) — owners and admins. See Customizing access.
The Profit tab
Open a job and choose the Profit tab, next to Details. It lists:
- Revenue — what the job brings in, before tax, and where it comes from (see Revenue sources).
- Materials — the job’s materials at the cost recorded on each one.
- Labor — the hours logged on the job, each at the rate of the person who logged them. Time driving to the job counts, and the card shows how much of it was travel (incl. 0.75 h travel).
- Expenses — the job’s expenses (see below).
- Gross profit — revenue minus the three costs. If the job is losing money, the card says so.
- Margin — gross profit as a percentage of revenue.
Below the totals, Labor by person shows each person’s hours and what their time cost.
A draft job has no Profit tab. Save it first. While you’re editing a job, the Profit tab is unavailable; save or cancel your changes to open it.
Estimated, then actual
Revenue is marked Estimated or Actual, and the sentence under it says which and why:
- Estimated — the job hasn’t been invoiced yet, so revenue is the total of the job’s line items, less the quote’s discount (the discount the job’s invoice will carry).
- Actual — the job has been invoiced, so revenue is what its invoices bill, before tax. A deposit is counted once: the deposit invoice plus the final invoice (which credits the deposit) add up to the work. Void invoices and invoices that haven’t been sent yet don’t count.
A deposit on its own doesn’t make the job invoiced, and neither does the invoice a change order billed right away: the job stays estimated until the job itself is billed. The deposit is part of the work, and the change order is already in the job’s line items. Once the job’s own invoice exists, both count beside it.
If you can see costs but not invoices, revenue is always the estimate from the job’s line items, and the tab says Invoice details aren’t visible to your role. It doesn’t show any invoices.
Revenue sources
Under the revenue, Revenue sources lists where the number comes from, before tax, and whether each one counts:
- Quote — the quote the job came from and its total. It’s there for reference only: the quote’s total never decides the revenue.
- Job line items — the total of the job’s lines. While the job is estimated, this is the revenue (Counted: this is the estimate), less the quote’s discount if it has one. Approved change orders are included in the line items, and the list says how much they add.
- Less the quote’s discount and Estimate — shown when the quote has a discount: the line items less the discount, which is then the estimate. Once the job is invoiced, both say Not counted: the invoices carry their own discount, which may have been changed on the invoice.
- Pending change orders — change orders still waiting for approval. They aren’t included yet.
- Invoices — each of the job’s invoices with its status, and either Counted or why it isn’t: void, a draft not sent yet, a deposit on its own, a change order’s invoice before the job’s own, or money on the quote that counts on the quote’s first job instead (a job over several days).
Tap a quote or invoice number to open it, or a change-order line to go to the job’s Change orders. You see invoices only if you can see invoices. A Field tech who sees only their own work sees an invoice they can’t open (the office’s deposit, say) without its number when it counts, and doesn’t see it when it doesn’t.
Time without a rate
If some of the time on the job was logged by someone with no labor rate, and there is no default rate, that time isn’t counted in the labor cost. The card warns you, and the person is marked No rate under Labor by person. The profit shown is then higher than it really is. The same goes for a material with no cost: it’s left out, and the Materials line says how many.
Expenses
Expenses are money spent on a job that isn’t a material or someone’s time: equipment rental, a subcontractor, a permit, disposal, fuel or other.
To add one, tap Add expense under Expenses on the Profit tab. Enter the date, the amount and the category, and add a note if you like. You can also attach the receipt — a photo or a PDF. Tap Add expense to save it.
- You can add expenses to a job after it’s completed — a dump fee or a rental return often comes in later.
- If the receipt can’t be uploaded (for example it’s too large or not a supported file type), the expense is still saved. Open the expense’s ⋮ menu, choose Edit, and attach the receipt again.
- A receipt is attached to its expense, not to the job’s attachments, so only people who can see costs can open it. Tap Receipt under an expense to open it.
- To change or delete an expense, open its ⋮ menu. You can change your own expenses; owners and admins can change anyone’s. Deleting an expense deletes its receipt too.
A subcontractor’s bill is an expense in the Subcontractor category. Subcontractors you share a job with through a link don’t log time, so their cost never shows under labor. See Share a job with a subcontractor.
Adding expenses needs permission to edit jobs as well as See costs.
Labor cost rates
A labor cost rate is what an hour of someone’s time costs your business — their wage plus what you pay on top of it. There are two:
- The default rate, in Settings → System → Labor cost. It applies to anyone without a rate of their own.
- Each person’s own rate, in Edit user on the Users page, under Labor cost rate. Leave it blank to use the default; the field tells you what the default is.
A rate applies to time logged from then on. When someone logs time, the job keeps the rate that applied at that moment. Changing a rate later — or correcting the hours on an entry — doesn’t change the cost of time already logged, so past jobs keep their real numbers. Time logged while there was no rate stays without one; to price it, delete the entry and log it again.
The Job profit report
To compare jobs side by side, open Reports and choose the Job profit tab. It lists every job completed in the dates you pick, each with its revenue, materials, labor, expenses, gross profit and margin — the same numbers as the job’s Profit tab. The cards at the top add them up for the whole period.
- Pick the dates at the top of Reports. A job counts on the day it was marked completed.
- Filter by client, or by who the job is assigned to (the job’s lead). Clear filters shows everyone again.
- Sort by tapping a column heading: Completed, Revenue, Cost, Profit or Margin. Tap it again to reverse the order. Sorting by margin puts jobs with no revenue last.
- A job marked Missing costs has time with no labor rate or a material with no cost. Those aren’t counted, so its profit is higher than it really is. A note above the table says how many jobs are affected.
- Under each revenue figure, Billed means the job has been invoiced and Estimated means the figure is still the job’s line items, less the quote’s discount. A job whose only invoice is a change order’s is still estimated. To see where a job’s number comes from, open it: its Profit tab lists the revenue sources.
- Tap a job number to open the job on its Profit tab.
- Export CSV downloads the jobs on screen, with the same dates and filters, and a total row at the end.
If more than 1,000 jobs were completed in the dates you picked, the report shows the 1,000 most recent and says so. Pick fewer dates or a filter to see the rest.
Who sees it. People who can see both reports and costs: owners, admins, and Billing (unless See costs is switched off for them). Office staff see it only when both See reports and See costs are switched on for them. Field techs don't see Reports.