Job costing software for flooring contractors
Flooring is bought early, installed late and bid by the yard or the foot. Floor prep and moisture problems decide the margin. CFOS ties QuickBooks Online costs to your estimate by area and material, so you know what each floor cost.
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 flooring bills and where the money leaks
Commercial flooring is bid by the square yard for carpet and the square foot for resilient, wood and rubber, plus base by the linear foot. It bills on a schedule of values with a pay app each month and retainage, often by floor or by area. Material is a big share of the contract and has to be ordered weeks ahead to get one dye lot, so stored material billing decides whether you or the GC pays for it in the meantime.
Floor prep is the biggest leak. The bid assumes a flat, clean, dry slab, and what you find is a slab out of flat, covered in drywall mud, with old adhesive or with cracks to fill. Grinding, patching and self-leveler take crew days and material, and unless the bid excluded them and the GC signs for them, they're your cost.
Moisture is the other leak. A slab that fails its moisture or pH test needs a mitigation system or a wait, and either one costs money. Areas that aren't ready on the day you scheduled mean a crew paid to wait or a second mobilization, and protection damaged by other trades turns into replacement material.
How flooring costs split and what CFOS tracks
Flooring cost splits into material, adhesives, floor prep, install labor, base and transitions, freight and storage. Carpet and sheet goods are ordered with a waste factor, and seams, borders and stair work use more than the plans show. Install labor differs a lot by product, so carpet tile, sheet vinyl with flash cove and wood plank shouldn't share a cost code.
CFOS imports your estimate as the job budget by cost code and compares it to actual cost from QuickBooks Online every hour. When floor prep has its own code, you can see what leveling and patching really cost on each job, instead of what you guessed in the bid. That's the number you need when you price the next slab from the same GC.
Vendor bills emailed to your bills inbox are read, coded to the job and checked against the PO, so a carpet order or an adhesive pallet goes on the right job and area. Warehouse storage and freight go on their own codes. A job that waited months for the building to be ready then shows what the waiting cost.
Workflow from the field to the office
The foreman files a daily with the crew, the equipment and photos. Pictures of the slab before any work starts, and the moisture test results, are the record when floor prep or mitigation becomes extra work. The daily also records areas that weren't ready and why the crew left.
When the GC directs floor prep beyond the bid, mitigation or a return trip, a T&M ticket is attached to the daily and the GC signs it on site. It becomes a change order draft that goes on the next pay app. T&M rates and wage classes are set up ahead of time, so an installer hour and a helper hour are priced the same way on every ticket.
Field time is approved and goes to QuickBooks Payroll, posted to prep, install or base by area. The PM builds the pay app from the schedule of values, with retainage and with material in your warehouse or on site billed as stored material where the contract allows. Punch items and attic stock deliveries are tracked, so closeout has a list.
What the owner sees every month
Each month the PM enters cost to complete on every open job, and it gets approved. The WIP schedule then shows over and under billing, which tells you how much of the material you bought early is still unbilled. The master WIP shows the whole company on one page.
Your CEO Report grades gross margin, overhead and net profit before taxes against the published average and CFOS target for flooring at your size. Material heavy jobs can look fine on margin and still drain cash, so the 13 week cash forecast reads your pay apps and marks the lowest week. You see the week a large material bill and a slow pay app meet before it happens.
Floor prep and return trips stay on the jobs that caused them. After a year you can see which GCs and which building types need extra prep, and price it into the next bid. You can ask Claude or ChatGPT about your own jobs, read only, limited to what your sign in allows.
Flooring 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 |
|---|---|
| Floor prep and leveling | Grinding, scraping, crack fill, patch and self-leveler, labor and material. |
| Moisture testing and mitigation | Moisture and pH tests, mitigation systems and the waits they cause. |
| Carpet and carpet tile | Material by the yard, pad, seaming and install labor. |
| Resilient and sheet goods | Vinyl tile, plank, sheet vinyl, rubber, heat welding and flash cove. |
| Wood and laminate | Plank, underlayment, acclimation time and finish where in scope. |
| Adhesives and sundries | Adhesive, primers, seam sealer and trowels by job. |
| Base, transitions and stairs | Rubber base by the foot, reducers, stair treads and nosings. |
| Freight, storage and protection | Freight, warehouse storage, deliveries to each floor and floor protection. |
| Punch and attic stock | Return trips, damaged flooring replacement and extra cartons owed to the owner. |
| Change orders and T&M | Directed prep, mitigation and added scope tied to the signed ticket. |
How flooring 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% Flooring 14.1% CFOS target | 22.1% all-trade average 19% Flooring 25% CFOS target | 7% all-trade average 5% Flooring 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 13% Flooring 13.1% CFOS target | 23.4% all-trade average 21% Flooring 26% CFOS target | 9.4% all-trade average 8% Flooring 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 12% Flooring 12.1% CFOS target | 24.6% all-trade average 22% Flooring 27.1% CFOS target | 11.5% all-trade average 10% Flooring 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 11% Flooring | 25.7% all-trade average 23% Flooring | 13.7% all-trade average 12% Flooring |
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 flooring 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 flooring contractors ask
How do I track floor prep that wasn't in the bid?
Put floor prep on its own cost code so every hour and every bag of leveler shows on the job. When the GC directs it, a T&M ticket goes on the daily and is signed on site. It becomes a change order draft for the next pay app.
Can I bill carpet by the yard and base by the foot on the same job?
Yes. The schedule of values takes unit price lines and lump sum lines together. CFOS lays out the G702 and G703 with retainage on each line. Stored material can be added where the contract allows.
What about material stored in my warehouse for months?
The bill is coded to the job and checked against the PO when it comes in. Where the contract allows, the pay app can bill it as stored material. The WIP schedule shows what's still unbilled, so you know how much of it you're funding.
Can I see labor by product, like carpet tile against sheet vinyl?
Yes. Cost codes have three levels, so each product can have its own labor line under the area. Approved field time posts to the code it was worked on. You then compare each product's hours to what the estimate said.
Does CFOS replace QuickBooks Online for a flooring contractor?
No. CFOS works on top of QuickBooks Online, which keeps your books. It reads your jobs, cost codes and vendors from it, and Intuit bills QuickBooks Online separately.
- 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
- Flooring benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.