Receipts
It goes in from the parking lot, not from a shoebox in December.
Photograph the receipt before you pull out of the lumber yard. It lands on the job with its amount and its sales tax, and it goes straight onto that job’s cost. An order confirmation is kept and listed but never counted as money spent — you have not paid it yet, and a figure that pretends you have is worse than no figure at all.
Breeze will not let you delete a job that has receipts on it. The cost history of a finished job is the one thing you cannot go back and rebuild.
Quoted against actual
Line by line, while you can still do something about it.
Every cost line carries what you quoted and what it has actually cost. The line turns red when the actual runs over the quote by more than 2% or $25, whichever is larger — so a $7 overrun on a small line stays quiet and a real one does not. Materials compare before sales tax, because the tax you quoted is what covers the register. Client selections get a row of their own, so a homeowner upgrading their tile does not read as your materials running wild. While the job is still open, the margin shown is projected.
The rows compare on a job you quoted in Breeze. An imported paper contract written as all-in lines has no line-by-line quote to compare against, so it compares at the total only — and says so on the card instead of showing you a breakdown it had to invent.
Money received and money paid
By the day the money actually moved.
What came in, what you refunded, what went out to subs, what the receipts came to and the tax on them, and what is left: received, less paid out and refunds. Grouped by month, quarter, half and year, on your fiscal year if yours does not start in January. Every row is dated by the day the money moved, not the day you invoiced. One spreadsheet per year, with the exact period it covers written across the top of the file, for whoever does your books.
This is the closest thing Breeze has to a cash view, and it is still not your cash flow. Your crew’s payroll is not in it. Your overhead is not in it. Nothing reads your bank. The app tells you the same thing on the screen itself, in those same words.
Gross profit by period
Jobs closed, money in, total cost, gross profit, margin — by month, quarter or year.
Pick the grain and the year lays itself out: how many jobs closed, money in, materials, crew labor, crew hours, subs and other costs, total cost, gross profit, margin. Open a period and it names the jobs behind it and tells you what it had to assume — how many of those jobs it got real crew hours from, what got counted at a sub’s bid instead of hours, how much of the materials figure was really a client selection. The arithmetic shows its work.
Gross is the load-bearing word, and it is the app’s own column heading. Rent, insurance, trucks, fuel, your own pay and your taxes are in none of these figures, and there is nowhere to enter them. A job also counts in the period you closed it, at the numbers frozen that day: close a $90,000 job in March and all $90,000 sits in March even if the check clears in April. That is job profit. The money in and out view above is the one dated by the money.
Overhead
One figure, and the line calls itself an estimate.
Put your monthly overhead in settings and every period grows a line underneath it: the budget for the months it covers, and what is left of the gross profit after it. A month where nothing closed still cost you your overhead, so the months still add up to the year.
The line says what it is, right on the line, in the app: an estimate — gross profit less your budget figure, not a tax figure; your CPA works that out. It is never pushed down into a job, never folded into a total, and never in the spreadsheet.
What is still owed
What you invoiced, what they paid, what is still due.
Deposits and progress draws sit on the same no-login link your client already has. However the money actually turned up — check, cash, transfer, your own card processor — you mark it, and the draw schedule moves with it. A single check that covers two draws is recorded once across both, and it still foots.
Overdue counts from an invoice you sent. A draw you have not sent has a due date but no grace period, because there is nothing to be late on yet. And on a job whose price cannot be worked out, Outstanding prints a dash rather than inventing a number for you.
The close
The day you close it, the numbers stop moving.
Closing a job freezes quoted price, actual cost, gross profit and margin, and freezes each labor line at the rate it closed on — so giving your lead a raise in June does not quietly re-price a job you finished in March. Two of the places that write actuals refuse outright on a closed job rather than letting a late receipt slide in behind your back.
You can reopen a job, and reopening is a decision you make, not something to be talked out of. But a reopened job re-closes into the period you close it again, at that day’s rates — and the app tells you that on the line rather than letting you find it next quarter.
Files for the people you pay
Crew hours for payroll, and the sub figures added up before you call your CPA.
A crew-hours file for whoever runs your payroll. A year-end review of what you paid each sub, added up, so the 1099 conversation with your CPA starts from figures instead of from a search back through your checkbook. An invoices file, where a partly paid invoice goes in at its full amount and marked open, because that is what it is.
These are spreadsheets you download and hand over. Breeze files nothing, pays nobody, and withholds nothing.
Is this an accounting system?
No. And it is worth being exact about where that line falls, because “full job costing” gets stretched a long way in this industry and you are the one who finds out in February.
What it is: every dollar you record against a job — the contract, the change orders, the draws and the payments, the receipts, your crew’s hours, what you paid each sub — added up by job, by cost line, and by month, quarter and year. Breeze already holds all of it, because the job was quoted, sent, built and billed here. Nothing has to be entered twice.
What it is not, in five parts:
- It does not touch your bank. No feed, no statements, no reconciliation. Every figure on the page comes from something you recorded on a job.
- It does not sync to QuickBooks, or to anything else. The numbers come out as spreadsheets you download and hand over. Nothing is pushed anywhere on its own, and nothing is quietly kept in step behind your back.
- It does not do your taxes and will not tell you what you owe. The one place it mentions overhead calls itself an estimate on the line, and points at your CPA by name.
- “Gross” means gross. Rent, insurance, trucks, fuel, your own pay and your taxes are in none of these numbers, and there is nowhere to put them. A figure that called itself your profit while leaving your truck payment out would be the most expensive lie in the app.
- It does not find your leaks for you. It shows you the line that went over, the month that came in thin, and the assumptions sitting behind both. Reading that and deciding what to do about it is still your job, and that is the honest version.
Your CPA still does your books. What changes is which version of you walks in: the one with a shoebox and a bank app, or the one whose year is already added up by job, by month, and by what it actually cost to build.
The rest of the job — walkthrough to takeoff to signed contract — is on how it works, and what is still being built is on the roadmap, including taking a card through your own account rather than mine.