Job costing software for millwork and casework contractors
Millwork is built in a shop months before it goes into a building. CFOS for QuickBooks costs shop hours, sheet goods, finishing and the install crew to the job, so you see what each job made from drawings to punch.
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 millwork and casework bills and where the money leaks
Architectural millwork and casework is usually a lump sum subcontract with a schedule of values: shop drawings, materials, fabrication, delivery and installation. Some contracts allow billing for casework finished and stored in your shop, with proof of insurance and a bill of sale, and some pay only once it's installed. Retainage is held until the building is done, which can be a year after you bought the material.
The leaks start with drawings. Shop drawings go back and forth with the architect, and every revision after you've cut parts costs shop time and material the bid never priced. Field measurements wait on walls that aren't framed or a ceiling that isn't up, so the shop either waits or builds to the plan and fixes it in the field.
The building's schedule is the other leak. Finished casework gets built on time and then waits for a room that isn't ready, so you store it, move it and handle it twice. Damage on site by other trades, a countertop that doesn't fit, and installers sent back for punch all come out of the same lump sum.
How millwork and casework costs split and what CFOS tracks
A millwork job spends on engineering and drafting, sheet goods and hardwood, laminate and veneer, cabinet hardware, shop labor, finishing, countertops that are often subcontracted, delivery and the install crew. Shop time is the biggest number most shops don't track by job. When it goes to overhead instead, every job looks more profitable than it was and the shop looks like it loses money.
Shop employees enter time by job and cost code the same way field crews do, and the time is approved and sent to QuickBooks Payroll. CFOS compares actual cost from QuickBooks Online to the estimate by cost code every hour, so drafting, fabrication, finishing and installation each have their own budget and actual. A revision that adds shop hours is visible on the job that caused it.
Bills for sheet goods, hardware and countertop material emailed to the bills inbox are read, coded to the job and checked against the PO. Sheet goods are often bought for several jobs at once, so the code on the bill decides which job pays for them. Seven cost types keep labor, materials, equipment, subs and other costs apart inside each code.
Workflow from the field to the office
The install foreman writes the daily with the crew, the equipment and photos, and records which rooms were ready to install. A photo of a wall out of plumb or a room full of another trade's material is the record you need when a delay costs you a return trip. Damage found at delivery or after install goes on the daily the same day.
When the architect changes a detail after drawings are approved, or the GC asks for added casework, the PM writes a change order for it, and its number and revisions are kept. Extra field work, like scribing to a wall that's out of line or a site change the GC directs, goes on a T&M ticket the GC signs on site and becomes a change order draft too. That keeps the drawing revision and the price together on the next pay app.
The PM builds the pay app from the schedule of values with lines for drawings, material, fabrication and install, and retainage. Stored material is listed where the contract allows it, so finished casework waiting in your shop can be billed instead of financed by you. Punch items and RFIs are tracked with dates, which helps when the punch walk is the last step before retainage.
What the owner sees every month
Each month the PM enters cost to complete on every open job, you approve it, and CFOS builds the WIP schedule with over and under billing. Millwork jobs often spend shop hours long before the building lets you install, so the WIP shows whether your billing has kept up with the work in the shop. The master WIP shows every job on one page.
In setup you pick the nearest comparable trade, interiors, and the CEO Report grades your gross margin, overhead and net profit before taxes against its figures. No survey publishes a millwork and casework average on its own, and a shop has machines, a spray booth and a building that an interiors contractor doesn't. Your own job costing is the real answer, and a year of it shows what your shop hour costs.
The 13 week cash forecast reads your QuickBooks Online and pay apps and marks the lowest week. A big order of sheet goods and hardware is paid for months before the install pay app, so knowing the low week early is useful. You can ask Claude or ChatGPT about your own jobs, read only, limited to what your sign in allows.
Millwork and casework 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 |
|---|---|
| Engineering and shop drawings | Drafting, CNC programming and each round of revisions, coded so revisions are visible. |
| Field measure | Trips to measure, verify and template before fabrication. |
| Sheet goods and lumber | Plywood, particleboard, MDF, hardwood, laminate and veneer by job. |
| Cabinet hardware | Hinges, drawer slides, pulls, catches and grommets. |
| Shop fabrication | Cutting, edgebanding, machining and assembly hours in the shop. |
| Finishing | Stain, lacquer, spray booth time and touch up materials. |
| Countertops | Laminate tops built in house, and quartz or stone tops, often subcontracted. |
| Delivery and storage | Trucks, crates, storage while the building isn't ready, and moving it twice. |
| Installation | Install crew hours, scribing, fillers, shims and anchors on site. |
| Punch, damage and changes | Punch list work, repair of damage by others and signed changes. |
How millwork and casework contractors do, by revenue
No survey separates millwork and casework, so each row shows the all-trade average, the figures of interiors, the nearest comparable trade, labelled as derived, and the CFOS target where one is published. Use them to find the neighbourhood, then let your own job costing be the answer. Net profit is before taxes in every row.
| Revenue | Overhead | Gross margin | Net profit, before taxes |
|---|---|---|---|
| $1M to $5M | 15.1% all-trade average 13% Millwork and casework, derived from interiors 14.1% CFOS target | 22.1% all-trade average 19% Millwork and casework, derived from interiors 25% CFOS target | 7% all-trade average 6% Millwork and casework, derived from interiors 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 12% Millwork and casework, derived from interiors 13.1% CFOS target | 23.4% all-trade average 21% Millwork and casework, derived from interiors 26% CFOS target | 9.4% all-trade average 9% Millwork and casework, derived from interiors 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 11% Millwork and casework, derived from interiors 12.1% CFOS target | 24.6% all-trade average 22% Millwork and casework, derived from interiors 27.1% CFOS target | 11.5% all-trade average 11% Millwork and casework, derived from interiors 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 10% Millwork and casework, derived from interiors | 25.7% all-trade average 23% Millwork and casework, derived from interiors | 13.7% all-trade average 13% Millwork and casework, derived from interiors |
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 millwork and casework 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 millwork and casework contractors ask
Can shop hours be costed to each millwork job?
Yes. Shop employees enter time by job and cost code, it's approved, and it goes to QuickBooks Payroll. The hours post to the job with burden, next to the estimate. You then see which jobs used more shop time than you bid.
Can I bill for casework that's built and waiting in my shop?
Where the contract allows it, yes. The pay app lists stored material on the schedule of values, with retainage by line. Your G702 and G703 show what's installed and what's stored.
How do I keep track of shop drawing revisions that add work?
Code drafting time and rework to their own cost codes, so each revision's cost is visible. When the architect's change adds work, the PM writes a change order, and the number and revisions are kept. It goes on the next pay app once it's approved.
What happens when another trade damages installed casework?
The install foreman records it on the daily with photos the day it's found. The repair goes on a T&M ticket the GC signs on site, which becomes a change order draft. If the GC won't sign, the cost still goes on its own code so you know what it was.
Does CFOS replace QuickBooks Online for a millwork and casework shop?
No. CFOS works on top of QuickBooks Online, which keeps your books. Field and shop time go to QuickBooks Payroll, 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
- Millwork and casework benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.