Expenses
Where project costs come from, how to scan a receipt, approve a vendor invoice, record an office expense that belongs to no job, move a cost between projects, and push a bill to QuickBooks.
The Expenses tab on a project is where every cost lands, no matter where it came from. Some rows show up on their own as other parts of the app run; others you add by hand.
Where the costs come from
- Subtrade costs: when you issue a purchase order to a subtrade, the PO amount becomes a cost row automatically. If the job grows and you issue a supplemental PO, that's a second row.
- Materials and equipment: when a work order is marked complete, its materials and equipment lines are copied into the Expenses tab as cost rows, priced from each item's catalog cost (or the cost entered on the work order itself, if someone overrode it).
- Labor: hours logged in time tracking show up here too, priced at each crew member's hourly cost rate. This section is only visible to people with payroll access, since cost rates are sensitive.
- Vendor invoices and manual expenses: anything you enter yourself — a receipt from the hardware store, an invoice from a rental company, a reimbursement. These are the only two kinds of row you can edit or delete after the fact.
Revenue, job costs and profit
The three figures across the top of the tab answer one question: how is this job actually doing right now? Both of the first two count work that's underway, not just work that's finished being paid for or billed.
Job costs is what you've committed plus what's in flight. Committed means real cost rows — approved vendor invoices, subtrade POs, completed work orders, and logged hours. In flight means materials and equipment sitting on work orders that are still open. That second part is a projection, so it can't be billed to a client or sent to QuickBooks until the work order is completed. Those rows sit in the table with everything else, marked as projected, so you can always see which work orders the figure comes from.
Under the three top-line figures, a second row of tiles breaks Job costs into six categories: labor, materials and equipment, subtrade, supplier, vendor invoices, and manual entries. A category with nothing in it still shows, just dimmed, so the row doesn't reshuffle as a job's cost mix changes. Materials and equipment also shows what's in progress on open work orders; vendor invoices shows how many are waiting on approval; labor shows total hours plus either a crew count or an entry count, depending on whether you have payroll access.
Revenue is what you've invoiced plus what your current estimates say you still have left to bill. That's what lets a job show a margin before the first invoice goes out — while it's been priced and the crew is on site. Drafts count as well as approved estimates, which is deliberate: a job running at 3% is worth knowing about while the estimate is still something you can edit.
Three things follow from how the not-yet-invoiced part is worked out:
- Raising an invoice moves money from the not-yet-invoiced side to the invoiced side. The Revenue total, the profit and the margin don't move.
- Progress billing works the same way. A $9,000 invoice against a $24,600 estimate leaves $15,600 still to bill, not a $9,000 job.
- If you bill past the estimate — a change order invoiced but never estimated — the invoiced figure wins and the projection drops to zero.
Profit is revenue minus job costs, with the margin beside it. Whenever any of the revenue behind it hasn't been billed yet, the tile says so: that margin is a projection, not money in the bank. Sales tax is left out of all three figures on both sides, so the margin is a true gross margin.
The only time no margin appears is a job with no estimate and no invoice — there's nothing to work it out from.
Scanning a receipt
When you add a vendor invoice or manual expense, drop a photo or PDF of the receipt into the upload area, or click to browse for the file. A photo gets read automatically — the vendor name, amount, and reference number come back filled in within a few seconds, and you just check them over before saving. PDFs aren't auto-read yet; attach the file and fill in the details yourself.
Costs with no receipt
Some costs never come with a receipt, like crew per diems. Owners, admins and accounting can turn on No receipt required in place of attaching a file, and save the expense without one. The expense shows who turned it on, so whoever reviews it knows the receipt wasn't forgotten rather than simply missing. It isn't offered on a vendor invoice, which always needs the actual invoice on file.
Approving your own expense, or sending it to someone else
If you can approve expenses, saving one you entered yourself normally records it as approved right away — there's nobody else to check it. You can choose otherwise: pick Request approval from a teammate and name who should review it, and it lands pending their decision exactly like anyone else's submission. Everyone who can't approve their own expense always sends it to someone.
Approving vendor invoices
Vendor invoices start in a pending state until someone with approval permission reviews and approves them. Before you approve one, the system checks whether a different invoice from the same vendor with the same reference number has already been approved on this project. If it finds one, it stops you and asks you to confirm — approving a real duplicate would pay the same invoice twice. If you're sure it's a separate invoice (a vendor re-using a number, say), you can approve it anyway.
Office expenses
Not every cost belongs to a job. Toner, fuel for the shop truck, a course hotel, an inventory restock: record these as office expenses. When you add an expense, the Belongs to section asks for a job or an office expense. Pick office, and the cost lands on the Office expenses tab of the Expenses page instead of on a job, filed under its category. If your company has more than one branch you also choose the branch; a company with one branch never sees that field.
The Office expenses tab opens empty. Four tiles sit on top: Awaiting approval, Spent, Not in QuickBooks and Outstanding (what's still owed to vendors and to staff). Spent covers the last 31 days, the same as Payment received on Invoicing. The other three count every date, since an unpaid bill doesn't stop being unpaid because it's old. Pick dates in the Incurred menu and every tile moves to them; the date line under each tile turns blue so you can tell. Choose All time to widen Spent past 31 days.
Under the tiles, Spent by category breaks Spent down, largest first. It's always one row: the five biggest categories, then a tile for the rest that opens a searchable list. Press a tile or a category and the list shows exactly the expenses that figure counted. You can also search, filter by status or payment, or pick a date range to list everything in it. Export downloads the Spent window as a flat table plus a breakdown by category, and Display lets you hide columns you don't use. That choice is remembered on this browser. Office expenses never count against any job's profit. They go through the same approval as job expenses, and a bill owed to a vendor is pushed to QuickBooks from the same tab, with no customer on it, on the account mapped to its category.
If a category has no QuickBooks account yet, the approver picks one, or creates one right there. The account choice shows "Create new account" at the top of the list; choosing it opens a name and type, and the button says what will happen ("Create account and approve"). Nothing is created in QuickBooks until that button is pressed.
Once a bill is paid in QuickBooks, the row on the Office expenses tab shows it as paid, with the date, on the next hourly check.
Moving an expense to another project, or to office
Sometimes a cost gets recorded against the wrong project. Manual expenses and vendor invoices can be moved to a different project, or out to office expenses when they never belonged to a job at all. On a job's Expenses tab the move sits in the row's menu; on the Office expenses tab the row carries the Move button directly, next to Edit. Pick the destination and the cost relocates, along with a note in the activity log. Subtrade costs and work-order materials can't be moved this way; they're tied to the purchase order or work order that created them, so if that record needs to move, move it instead and the cost follows.
Billable costs and the Invoices tab
Any cost you mark billable, and that hasn't already been pulled onto a client invoice, sits in the Invoices tab's unbilled queue waiting to be added to the next invoice. Costs you don't mark billable — an internal tool rental, say — never show up there.
Sending subtrade invoices to QuickBooks
Once a subtrade invoice is approved, you can push it to QuickBooks as a Bill in accounts payable directly from its row. This only runs once per invoice — QuickBooks won't let the same bill go through twice, so there's no risk of double-paying a subtrade by clicking it again.