Job costing software for excavation contractors
Excavation is sold by the cubic yard and paid for by the hour and the load. CFOS for QuickBooks costs your equipment hours, trucking tickets and fuel to the job. You see the yard cost before the dirt is gone.
We email you when CFOS for QuickBooks opens, plus a few updates before then. Your address stays with Run On CFOS. One click unsubscribes.
30 days free, a 90-day money-back guarantee, and cancel anytime. It opens January 2027. We email you the day it opens.
How excavation bills and where the money leaks
Most excavation work is bid as unit price. You sell cubic yards of cut, fill and export, and the GC pays on measured quantities on each pay app. Your costs don't move in yards. They move in machine hours, truck hours, loads, fuel and the foreman's time.
That mismatch is where the money leaks. The contract quantity stays the same, while the haul route gets longer, the spoil site closes, or the trucks wait on the loader. Rock, wet material and undercut from a failed proof roll all cost more per yard, and often no one on the GC's side writes a ticket for them.
Extra work is the other leak. If the geotech calls for two feet of select fill, that's a change order, and it needs a signed T&M ticket from the GC before the crew starts. When the ticket is missing, you pay for the work yourself and argue about it at the end of the job.
How excavation costs split and what CFOS tracks
An excavation job spends money on four big things: your own equipment, hired trucking, the operators and laborers, and materials like select fill, aggregate and pipe bedding. Hired trucks usually come in as tickets from several haulers. They need to be coded to the job and the haul route, not lumped into one trucking line.
CFOS reads the jobs, cost codes and vendors from QuickBooks Online and compares actual cost to your estimate by cost code, updated every hour. Equipment gets a daily rate built from what it costs you to own, and that rate is charged to the job on each day the machine is on a daily. So an excavator parked on a job for six weeks is a cost on that job, not in overhead.
Because the budget is by cost code, you can see stripping, mass cut and fill, utility trenching and import fill as separate lines. A job can look fine overall while one phase loses money. The phase view tells you which one.
The workflow from the field to the office
The foreman fills out a daily with the crew, the equipment on site and photos. The equipment hours go straight to the job at the daily rate, and field time is approved and sent to QuickBooks Payroll. If the day includes extra work, a T&M ticket rides on the daily, the GC signs it on site, and it becomes a change order draft for the next pay app.
Trucking tickets and vendor bills come to your bills inbox by email. CFOS reads them, codes them to a job and checks them against the PO. The office doesn't retype a haul ticket, and the PM sees the cost the same week it was spent instead of at month end.
On the billing side, the pay app is built from the schedule of values with unit price lines. You enter the measured quantity, CFOS lays out the G702 and G703, and retainage is tracked on each one. See how change orders move through the same flow on the change orders page.
What the owner sees every month
At month end the PM enters cost to complete on each job and you approve it. That feeds a WIP schedule with over and under billing, which checks whether you've billed more than the work done or less. Earthwork jobs bill early and spend for a long time after, so a job that looks paid up can still have a lot of cost left to come.
The CEO Report grades your gross margin, overhead and net profit before taxes against the published average for excavation and the CFOS target for your size. It's the plain answer to whether the yard price you sold covers what you spent. A 13 week cash forecast built from your QuickBooks and pay apps marks the lowest week, so you know when the retainage held on finished pads is going to hurt.
You can also ask Claude or ChatGPT about your own jobs. It reads your numbers and can't change them. It sees only what your sign in allows.
Excavation cost codes, matched to QuickBooks
Each group below is one set of cost codes in CFOS. Bills, time and equipment post to them. QuickBooks keeps the books underneath, so your bookkeeper sees the same numbers.
| Cost code group | What goes on it |
|---|---|
| Stripping and clearing | Topsoil strip, clearing and grubbing, stockpile and respread labor and machine time. |
| Mass cut and fill | Scrapers, dozers, excavators and compaction by phase, with the equipment daily rate charged each day it's on the job. |
| Trucking and haul | Hired trucks by the hour or load, haul tickets, export and import by route, dump fees and tolls. |
| Undercut and select fill | Failed proof roll repairs, over-excavation, select fill and geotextile, tied to the change order and the signed T&M ticket. |
| Utility trenching | Trench excavation, bedding, shoring and backfill for pipe that another crew or your own crew lays. |
| Rock and dewatering | Rock removal, hammer and blasting subs, pumps, and hauling wet material. |
| Fuel and consumables | Fuel, teeth, cutting edges and other items bought for the machines and charged to the job. |
| Survey and testing | Grade staking, as-builts, density tests and proof roll standby time. |
| Mobilization and demobilization | Lowboy moves, each return trip to the job, and temporary erosion controls the job needs. |
How excavation contractors do, by revenue
Each row shows the all-trade average, this trade's average and the CFOS target where one is published. These are the numbers your own job costing gets graded against. Net profit is before taxes in every row.
| Revenue | Overhead | Gross margin | Net profit, before taxes |
|---|---|---|---|
| $1M to $5M | 15.1% all-trade average 14% Excavation 14.1% CFOS target | 22.1% all-trade average 21% Excavation 25% CFOS target | 7% all-trade average 7% Excavation 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 13% Excavation 13.1% CFOS target | 23.4% all-trade average 23% Excavation 26% CFOS target | 9.4% all-trade average 10% Excavation 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 12% Excavation 12.1% CFOS target | 24.6% all-trade average 24% Excavation 27.1% CFOS target | 11.5% all-trade average 12% Excavation 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 11% Excavation | 25.7% all-trade average 26% Excavation | 13.7% all-trade average 15% Excavation |
Gross margin and overhead come from figures CFMA, Jones Maresca and other sources publish by trade and size. Net profit is computed, not surveyed: net profit = gross margin minus overhead. Nothing comes out for taxes, interest or other income and expense, so it is a before tax figure, on the same basis as CFMA's net income before taxes.
CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. Gross margin minus overhead leaves out interest and other income and expense, so a figure here can come in a little above or below a reported net income on the same business.
Above the $10M to $25M band the gross margin and overhead rows are a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, so read those bands as a model and not as a survey result.
Problems excavation contractors write to us about
Get on the list for the day it opens
30 days free, a 90-day money-back guarantee, and cancel anytime.
We email you when CFOS for QuickBooks opens, plus a few updates before then. Your address stays with Run On CFOS. One click unsubscribes.
30 days free, a 90-day money-back guarantee, and cancel anytime. It opens January 2027. We email you the day it opens.
What excavation contractors ask
How does CFOS cost excavator and dozer hours to a job?
Each machine gets a daily rate built from what it costs you to own. When the machine is on the foreman's daily for a job, that rate is charged to the job for the day. Operator time comes from approved field time, so machine and labor both go on the same cost code.
Can I track trucking tickets by load and by haul route?
Yes. Trucking bills and tickets can be emailed to your bills inbox, read, coded to the job and checked against the PO. You can set up cost codes for hauling by phase or route so a long haul is its own cost.
How do I bill unit price work on a pay app?
You set up the schedule of values with unit price lines and enter the measured quantity each period. CFOS builds the G702 and G703 from it and tracks retainage. Lump sum lines work the same way on the same pay app.
What happens when the geotech calls for undercut that isn't in the contract?
The foreman puts a T&M ticket on the daily, and the GC signs it on site. It becomes a change order draft that goes on the next pay app, so the extra work has a paper trail before the cost is spent. Without the signature you can still see the cost, but you will know you have an unapproved change.
Does CFOS replace QuickBooks Online for my excavation company?
No. QuickBooks Online keeps the books, and CFOS works on top of it. It reads and writes jobs, cost codes, vendors, bills and invoices, so there is no migration and your bookkeeper keeps working where they work now.
- Job costing software that runs on QuickBooks
- One price. Every module. Priced by your revenue.
- Use all of it, or just the part you need
- Job costing software that runs on QuickBooks
- One price. Every module. Priced by your revenue.
- Use all of it, or just the part you need
- Excavation benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.