Job costing software for carpentry contractors
Carpentry is mostly labor: blocking before the board, then doors, trim and cabinets at the end. CFOS for QuickBooks costs every hour and trip to the job and cost code, so you see which jobs and which scopes made money.
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 carpentry bills and where the money leaks
Commercial carpentry is usually a lump sum subcontract billed on a monthly pay app with retainage, split into rough carpentry and finish carpentry on the schedule of values. Residential finish work is priced per house, per opening or per foot of base and casing, and production builders pay by the draw. A lot of carpentry is install only, where the GC or owner buys the doors, trim and cabinets and you sell labor.
That makes labor the whole bet. The bid counts openings and feet of trim, and the crew is paid by the hour, so a slow building, a missing delivery or a room that isn't ready uses up hours the bid never priced. Blocking is the classic leak, because backing missed before drywall means cutting open a finished wall later, and someone has to pay for that.
The end of the job is the other leak. Carpentry finishes last, so punch lists, damage by other trades and callbacks after move in all fall on your crew. Retainage waits on the whole building, and the last pay app often waits on a punch walk you don't control.
How carpentry costs split and what CFOS tracks
A carpentry job spends mostly on crew time, plus fasteners, adhesive, blades and small tools, rented lifts, and lumber and plywood for blocking. On furnish and install work, trim packages, doors and hardware add a big material line. Rough work and finish work use different crews at different times, so they need different codes.
CFOS imports your estimate as the budget by cost code and compares it to actual cost from QuickBooks Online every hour. Blocking, door installation, base and casing, cabinet installs and punch each get a budget and an actual. Cost codes have three levels, so a floor or a unit can be the top level with each scope under it.
Time is entered in the field by job and cost code, approved, and posted with burden by class. That's the number carpentry lives on, because a crew that spends two days on a one day door count is visible the same week instead of at closeout. Bills for trim, lumber and consumables emailed to the bills inbox are read, coded to the job and checked against the PO.
Workflow from the field to the office
The foreman writes the daily with the crew, the equipment and photos, and records which rooms were ready and which weren't. When the doors come in damaged or the cabinets are the wrong size, the photo and the date are on the daily. That record turns waiting time into something you can bill.
When the GC adds backing for owner equipment, moves a door or asks for trim that wasn't in the contract, the work goes on a T&M ticket that the GC signs on site. It becomes a change order draft for the next pay app, priced from your T&M rate sheet. Small adds come up every week on a finish job, and the signed ticket is how each one gets paid.
Field time goes through approval to QuickBooks Payroll, with wage classes and overtime set in advance. The PM bills from the schedule of values, with retainage and stored material where the contract allows. Punch items and RFIs are tracked with dates, so the last few items on a punch list don't delay the final pay app.
What the owner sees every month
Each month the PM enters cost to complete on every open job, and you approve it. The WIP schedule shows over and under billing, which in carpentry often shows rough work billed early and finish work still ahead. The master WIP adds the jobs together, so you see the company and each job on one page.
In setup you pick the nearest comparable trade, framing, and the CEO Report grades your gross margin, overhead and net profit before taxes against its figures. No survey publishes a carpentry average on its own, and finish carpentry buys far less lumber than a framer does, so read those figures as a reference. Your own job costing is the real answer, and a year of it shows what an opening or a foot of trim costs your crews.
The 13 week cash forecast reads your pay apps and marks the lowest week. Carpentry pays crews every week and waits on the GC's pay app and retainage at the end, so knowing the low week early helps. You can ask Claude or ChatGPT about your own jobs, read only, limited to what your sign in allows.
Carpentry 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 |
|---|---|
| Rough blocking and backing | Wood blocking in stud walls for cabinets, grab bars, TVs and equipment, labor and lumber. |
| Roof and parapet blocking | Nailers, wood curbs and parapet blocking ahead of the roofer. |
| Door installation | Installing doors in frames, then the hardware, and adjusting, tracked by opening. |
| Base, casing and trim | Base, casing, crown and chair rail, by the foot or by the room. |
| Cabinet and countertop installs | Installing owner furnished or your own cabinets, tops, fillers and scribes. |
| Wall panels and wood ceilings | Wainscot, wood paneling, slat walls and wood ceilings. |
| Stairs and railings | Stair treads, risers, wood handrails and balusters. |
| Shelving and accessories | Closet shelving, toilet accessories, corner guards and other install only items. |
| Punch and callbacks | Punch list work, repair after other trades and warranty trips. |
| Change orders and T&M | GC and owner changes coded separately, tied to the signed ticket. |
How carpentry contractors do, by revenue
No survey separates carpentry, so each row shows the all-trade average, the figures of framing, 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% Carpentry, derived from framing 14.1% CFOS target | 22.1% all-trade average 18% Carpentry, derived from framing 25% CFOS target | 7% all-trade average 5% Carpentry, derived from framing 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 12% Carpentry, derived from framing 13.1% CFOS target | 23.4% all-trade average 19% Carpentry, derived from framing 26% CFOS target | 9.4% all-trade average 7% Carpentry, derived from framing 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 11% Carpentry, derived from framing 12.1% CFOS target | 24.6% all-trade average 20% Carpentry, derived from framing 27.1% CFOS target | 11.5% all-trade average 9% Carpentry, derived from framing 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 10% Carpentry, derived from framing | 25.7% all-trade average 22% Carpentry, derived from framing | 13.7% all-trade average 12% Carpentry, derived from framing |
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 carpentry 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 carpentry contractors ask
Can CFOS cost a job where the GC buys the material and I only install?
Yes. On install only work almost all the cost is labor, so the job budget is mostly hours by cost code. Approved field time posts to those codes with burden, and the job cost report shows cost against the budget on each scope.
Can I price per opening or per house and still see hours?
Yes. The schedule of values can have unit price lines for openings or houses, and the estimate becomes the budget by cost code. Time posts to the same codes, so the cost of each opening or house is next to its price.
How do I see what punch and callbacks cost?
Give punch and callbacks their own cost code and have the crew post time there. The daily records the reason and the photos. After a few jobs you can see which GCs and which kinds of work bring the most trips back.
What if the GC's doors or cabinets come in damaged or late?
The foreman records it on the daily with the date and photos. If the GC agrees to pay for the waiting time or the extra work, a T&M ticket signed on site becomes a change order draft. If not, the cost is still on its own code instead of lost inside the trim budget.
Does CFOS replace QuickBooks Online for a carpentry contractor?
No. CFOS works on top of QuickBooks Online, which keeps your books. Field time goes 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
- Carpentry benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.