Cabinet Shop Accountant & Fractional CFO for Millwork Businesses

A cabinet shop runs two businesses at once — a manufacturing operation in the shop and a construction subcontract in the field. Most accounting systems are built for one or the other, so they get both wrong.

Wilburn CPA is a Tulsa-based CPA and fractional CFO practice built for residential home builders, remodeling contractors, and other trades and field-service businesses doing $1M–$15M a year. Cabinet shops, millwork shops, and custom finish contractors sit squarely in that work — and they carry accounting problems the rest of the trades don’t.


Why Cabinet Shops Don’t Fit Standard Contractor Accounting

A framing sub buys material and installs it within days. You buy sheet goods, hardwood, hardware, and finish, hold them, convert them over weeks, then deliver and install. That’s a manufacturing cycle followed by a construction cycle, inside one company, on the same job.

Three things follow from that, and generic bookkeeping misses all three. Cost sits on your balance sheet far longer than it does for other trades. Labor is a shop cost before it is ever a job cost. And your overhead — shop rent, dust collection, the CNC, the spray booth, utilities, shop supervision — has to be absorbed into what each job actually costs, not dumped into a monthly expense bucket nobody prices against.

Your Shop Rate Is the Number Your Pricing Depends On

Most shops quote by the linear foot, by the box, or off a spreadsheet built years ago and nudged upward since. That works until material prices move, until you add a machine, or until the mix shifts toward more complicated work — and then the same quote that used to make money quietly stops.

The fix is a fully loaded shop rate: direct shop labor plus payroll burden plus shop overhead, absorbed over the hours you can actually sell — productive hours, not hours on the clock. Where machine time is the real constraint rather than headcount, a machine-hour rate often allocates more honestly than a labor-hour rate. Either way, the point is the same: when shop hours are the larger half of your cost and material is the smaller half, a markup applied to material cannot cover overhead.

Work in Process on Fabricated Goods

A builder’s WIP schedule measures percentage of completion on contracts. A cabinet shop has that too, but it also has inventory sitting in three states at once: raw material on the rack, work in process on the floor, and finished goods crated and waiting on a jobsite that isn’t ready.

When sheet goods are expensed the day they’re bought, your gross margin tracks your buying habits instead of your production. The month you take a truckload of plywood looks like a disaster; the month you install looks like a windfall. Both months are correct on a cash basis — the issue is timing, because the material cost and the revenue it earned land in different periods. Accrual accounting solves that problem: material stays in inventory and work in process until the job it belongs to is recognized, so the margin shows up in the month the work was actually done. Inventory and work in process are also the numbers that change every week, and the ones most often estimated at year end rather than tracked as the work happens.

Customer Deposits Are Not Revenue

A 50% deposit on a custom order is a contract liability under US GAAP, not income. It’s money you owe in cabinets. Booking it as revenue overstates a good month, understates the month you actually build, and inflates the tax picture at exactly the wrong time.

The cash-flow version of the same problem is more dangerous. Deposits on jobs you haven’t started fund the material for jobs already on the floor. That works while the backlog holds and stops working the month it doesn’t. The number worth watching every month is simple: deposits held, against the cost still to be incurred on those same jobs.

Supply-Only vs. Supply-and-Install

Most shops run both. You sell boxes to a builder who installs them himself, and you sell installed packages direct to homeowners and general contractors. Same shop, same cabinets — different accounting.

A supply-only sale is generally recognized at a point in time, when control of the goods transfers. An installed contract is generally recognized over time, which is closer to percentage of completion and belongs on a WIP schedule. When both flow through a single revenue account with a single cost account underneath, neither margin is knowable — and supply-only work, which usually carries the thinner margin, hides inside the installed work that carries the better one.

Making JobTread Work for a Shop, Not Just a Jobsite

JobTread is built around construction phases — a sequence of trades moving through a jobsite. A shop doesn’t run that way. Your cost lands weeks before it ever reaches the field, and a job that reads as barely started on a schedule may be fully built, crated, and waiting on a jobsite that isn’t ready for it.

That’s a cost code problem before it’s a software problem. Shop labor and field installation labor have to sit in separate codes or your shop rate can’t be measured. Material has to be distinguishable between staged and consumed, or your inventory figure is a plug. And because JobTread tracks job cost but not inventory or work in process on fabricated goods, those balances live in QuickBooks Online — which means the two systems have to be reconciled deliberately, not assumed. We build both sides: cost codes in JobTread that match how a shop actually produces, and the inventory, WIP, and deposit accounts in QuickBooks Online that JobTread was never designed to carry.


What You Get

  • Outsourced accounting and bookkeeping structured around job and product costing, so you can see margin by job, by customer type, and by supply-only versus installed work
  • A defensible shop rate — labor burden and shop overhead absorbed on a method that matches how your shop actually runs, revisited as the business changes
  • Inventory and WIP a lender will accept — raw, in process, and finished goods tracked and supported, not plugged at year end
  • Deposit and contract-liability tracking so customer money is never mistaken for earned revenue
  • Fractional CFO support — backlog and shop capacity planning, pricing decisions, and cash forecasting a few days a month instead of a full-time salary
  • Construction tax planning — entity structure and strategy built around what a fabrication-and-installation business actually pays

What a Cabinet Shop Owner Says

Woodwright Cabinet Company logo

We’ve had a great experience working with Ron Wilburn. His background and firsthand knowledge of cabinet shop operations gives him a unique understanding of the financial challenges our business faces. His advice is practical, relevant, and tailored to how our business actually operates. I highly recommend Ron to anyone looking for a knowledgeable and experienced CPA.

Sean & Bobbie Leonard — Woodwright Cabinet Company, Montgomery, TX

Read this review on Google →

Shops and Specialty Trades We Work With

Custom cabinet shops, architectural millwork and casework shops, closet and built-in specialists, countertop fabricators, stair and trim shops, and finish carpentry contractors. If you fabricate in a shop and install in the field, the accounting problems on this page are yours.

We’re based in Tulsa and work with shops across Oklahoma — Tulsa, Broken Arrow, Owasso, Oklahoma City, Edmond, Norman — and throughout the Central Time Zone, including Texas, Kansas, Arkansas, and Missouri. The work is fully virtual: your QuickBooks and JobTread data, monthly video reviews, and a CPA who answers when you call. For the broader picture of how we handle construction financials, see construction accounting in Oklahoma.

Frequently Asked Questions

We already use QuickBooks. Do we need something different?

Keep it — QuickBooks Online stays your complete financial book of record: the general ledger, the balance sheet, payroll, and everything your tax return is built from. What most shops are missing isn’t a different accounting system, it’s job costing that captures cost while the work is happening. That’s the role JobTread fills: estimating, managing jobs, and tracking cost by job in the shop and in the field, with the job-cost data syncing into QuickBooks Online so the books stay in one place. It’s the setup we recommend and the one we build for cabinet shops — see how we support JobTread users.

Should a cabinet shop be on cash basis or accrual?

For management reporting, accrual — cash basis cannot show you inventory, WIP, or deposits, which is most of what determines whether a shop is actually making money. Your tax method is a separate decision with its own rules and thresholds, and the two do not have to match. See cash basis vs. accrual for how that plays out.

Do you work with shops outside Oklahoma?

Yes. We’re based in Tulsa and work virtually with shops and specialty trade contractors across the Central Time Zone, including Texas, Kansas, Arkansas, and Missouri.


Find Out What Your Shop Hours Actually Cost

If you’re pricing off a spreadsheet you no longer trust, start with a conversation about your shop rate, your deposits, and where your cost is actually sitting. Prefer email? ron@wilburncpa.com or call 918-289-8212.