Cabinet and Millwork Shop Software: Stop the Margin Leak Between Quote and Install
If you are quoting more than roughly 40 custom kitchens a month across two or more shops, and your estimator is still rebuilding takeoffs in Excel while your CNC operator hand-fixes cut lists that Cabinet Vision spat out, building is usually the right call. Expect $60,000 to $130,000 for a focused first release shipping in 12 to 16 weeks (quoting engine plus cut list plus install scheduling), and $150,000 to $400,000 phased over 6 to 12 months for a full platform that runs shop floor, procurement, punch lists, and field sign-off. Below about 15 kitchens a month, stay on Cabinet Vision plus QuickBooks and fix your process instead.
Why cabinet and millwork software makes or breaks a custom shop
A cabinet shop does not lose money on the shop floor. It loses money in the six hours between the site measure and the quote going out, and again in the four hours between the engineer releasing the job and the CNC actually cutting the right parts. Everything in between is a human retyping numbers that already exist somewhere else.
Here is the actual stack in most $8M to $30M shops: Cabinet Vision, Microvellum, or Mozaik for design and part generation, an Excel estimating workbook that somebody's father built in 2011 with hardcoded hardware pricing, QuickBooks or Sage 100 for invoicing, a whiteboard or a Monday.com board for install scheduling, a shared Dropbox for shop drawings, and a group text for the install crews. Cabinet Vision list pricing lands roughly in the $6,000 to $15,000 per seat range with annual maintenance on top, and it is excellent at what it does: it turns a design into nested parts and a cut list. It was never built to tell you whether the job made money.
The concrete scene: a builder emails a revision at 4:40pm on a Thursday. Island grew 8 inches, three drawer banks became two, and the client switched from paint-grade maple to rift white oak. Your engineer opens Cabinet Vision, changes the model, regenerates the parts, and re-nests. Fine. Now somebody has to figure out that the oak change alone moves material cost by roughly $2,400, that the two sheets of maple already cut for this job are now scrap, that the veneer has a 3-week lead time which blows the install date, and that the original quote never had a change order clause for species swaps. Nobody figures that out. The job ships, the invoice goes out at the original number, and you find out in March that your gross margin on custom kitchens is 19% when you priced for 34%. Across 200 jobs a year, a 15-point margin gap on a $22,000 average job is roughly $660,000 that never existed.
Problem 1: The quote is a guess dressed up as a spreadsheet
Your estimator quotes a 32-box kitchen with a curved island, integrated appliance panels, and a 14-foot run of crown. He pulls a number from an Excel sheet with a linear-foot rate, adds a fudge factor for "the curved thing," and sends it. He is right about half the time. On paint-grade shaker boxes he is right within 4%. On anything with a mitered door, a radius, or an integrated panel, he is off by 20% in either direction, and you never learn which because the actuals never get compared back to the estimate at the line level.
Cabinet Vision can generate a bill of materials, and Microvellum can price it. What neither does is learn from your shop. They price from a rate table you maintain by hand. They do not know that your specific CNC takes 40% longer on 5-piece doors than the table says, or that your finish room throughput collapses when three jobs of different sheens stack up in the same week.
What a custom build does: model the estimate at the part level, not the linear foot. Every quote decomposes into boxes, doors, drawer boxes, hardware SKUs, edgebanding meters, finish square footage, and machine minutes by operation. Then you close the loop: shop floor scans (a $200 tablet at each station, barcode on the job traveler) write actual minutes back against the estimated minutes for that operation on that part type. After 60 jobs you have a rate table nobody typed. This is where AI earns its place: a regression on your own historical actuals that predicts labor hours for a new job from its part mix, and flags the estimate when the predicted hours diverge more than 15% from what the estimator entered. The output is a line like "kitchens with more than 6 integrated panel pieces run 31% over your estimated finish hours, every time," derived from your 400 completed jobs rather than a vendor's defaults.
Problem 2: The cut list is right and the job is still wrong
Cabinet Vision produces a perfect cut list for the model it was given. The model is a week old. The site measure came back with a wall out of plumb by 5/8 inch over 9 feet, the electrician moved a J-box, and the client picked a different pull that needs a different drilling pattern. Somebody catches two of those three. The third one shows up on install day and you eat a $1,900 return trip plus a remake.
Off-the-shelf design software has no concept of a change that arrives after release. There is a model, and there is a regeneration of that model. Nothing tracks that sheet 14 of 22 is already cut, that the doors are already in the finish queue, and that this specific change invalidates exactly 9 parts and nothing else.
What a custom build does: a release state machine per part, not per job. Every part carries a status: engineered, nested, cut, edged, drilled, assembled, finished, staged, installed. When a change order lands, the system diffs the new part list against the released one and produces three lists: parts that are unaffected, parts not yet cut that just need a re-release, and parts already in production that are now scrap with a dollar figure attached. That scrap number goes straight onto the change order as a line item, which is how you stop absorbing $1,400 of oak silently. The integration is a nightly or on-demand pull from the Cabinet Vision or Microvellum SQL database. You are not replacing the design tool. You are building the system of record around it that the design tool was never supposed to be.
Problem 3: Nobody knows where the job physically is
Your production manager walks the floor twice a day with a clipboard because that is the only way to know whether the Hendricks job's doors are in finish or still in the drill line. When a builder calls asking about a delivery date, the answer is a guess that takes 20 minutes to produce. At two locations it is worse: the Millwork side has capacity and the Cabinet side is drowning, and you find out three days late.
Monday.com and Smartsheet can hold a job card. They cannot hold 340 parts across 6 work centers with dependencies, and nobody will update them. The board goes stale inside two weeks, every time. Discipline is not the issue. The update has to be free or it does not happen.
What a custom build does: make the scan the update. Barcode on the traveler, scan at station entry and exit, and the part status moves without anyone deciding to update anything. From that you get a real finite-capacity schedule: hours of work queued at each work center against available hours, which is the only number that tells you if the install date is real. Multi-location means one capacity view with the ability to move a job between shops and see the freight cost of doing it. Builders get a portal link showing job status with a percentage that is computed, not typed, and in the shops we have built this for it takes most of the "where is my kitchen" calls off your production manager's desk.
Problem 4: Install and punch list live in a group text
The crew installs on Tuesday. There is a scratched door and a filler that needs remaking. The lead texts a photo to the PM. The PM is in a meeting. The photo dies in the thread. Three weeks later the builder withholds $6,000 of retention because the punch was never closed, and now you are reconstructing what happened from a phone.
Buildertrend and CoConstruct handle punch lists, but they are built for the general contractor, and they do not know what a drawer front is. You cannot tie a punch item to a specific part with a specific material and specific machine operations, which is exactly what you need to remake it without a human retyping the spec.
What a custom build does: a phone app for the install lead where a punch item is created against the actual part record. Photo, part ID, reason code. That item auto-generates a remake work order with the original part's full spec, routes it into the schedule, and tags it warranty, change order, or shop error so your cost of quality becomes a real number instead of folklore. Client signs off on the tablet at completion with a timestamp and photos attached. AI helps here in a narrow way: photo-based reason coding and automatic extraction of dimensions and specs from the builder's PDF plans and spec books at the front of the job, which currently costs your engineer 2 to 3 hours per job of reading and retyping. Document extraction on architectural PDFs is good enough now to pay for itself fast on a shop doing 15+ jobs a month.
Problem 5: Material and hardware buying is reactive
You buy sheet goods when you notice you are low. Blum and Richelieu orders go in per job, so you pay per-job pricing on hardware you buy 3,000 units of a year. Your veneer has a 3-week lead and you learn that on release day.
QuickBooks knows what you spent. It does not know what you committed. There is no forward view of "the jobs in the pipeline consume 210 sheets of 3/4 prefinished maple in the next 5 weeks, and you have 60."
What a custom build does: explode the quoted and released backlog into material demand by week, net against on-hand and on-order, and produce a buy list with lead times. Long-lead items get flagged at quote time, not release time, which is the single change that moves install dates the most. Connect to the Blum or Richelieu ordering API where available and the rest via structured PO email. Forecasting here is not exotic: it is a demand roll-up over your own pipeline with a win-probability weight on the quotes.
What this costs and how long it takes
Across Digital Heroes' delivery experience on 2,000+ projects, a focused first release for a cabinet and millwork shop runs $60,000 to $130,000 and ships in 12 to 16 weeks. Focused means: part-level quoting with your rate table, the Cabinet Vision or Microvellum data pull, release and change-order diffing, and barcode-driven shop floor status. That is the release that pays for itself, because it addresses margin leak and remake cost.
A full platform, adding finite-capacity scheduling across locations, the builder portal, install and punch mobile app, material demand planning with supplier integration, and the accounting sync, runs $150,000 to $400,000 phased over 6 to 12 months. Nobody should buy all of that in one purchase order.
What drives price up specifically in this category: reading the Microvellum or Cabinet Vision database is straightforward, but reading it correctly for your specific library and naming conventions is 3 to 5 weeks of work by itself, and every shop's library is different. CNC integration beyond exporting nest files (live machine status, real cycle times off the controller) adds meaningfully depending on whether you are on Biesse, Homag, or an older Thermwood with a controller from 2009. Multi-location adds a real dimension: inter-shop transfers, per-shop rate tables, and consolidated capacity. Sage 100 or Sage Intacct integration costs more than QuickBooks Online integration by a wide margin. And AI on your historical data only works if you have historical data, so if actuals were never captured, budget the first 4 to 6 months as data collection before the model is worth anything.
Build or buy: take the position
Buy, honestly buy, if you are under roughly $6M revenue, single location, and doing mostly repeatable box work. Cabinet Vision plus a disciplined estimating workbook plus QuickBooks will carry you, and $90,000 of software spend against a $6M shop is capital you need elsewhere. Most shops that want to build at that size have a process problem they are trying to buy their way out of, and software will make it worse.
Build when these show up: you are quoting across two or more locations and cannot answer "which shop should this job run in" without a meeting. Your estimate-to-actual variance is unknown, meaning you cannot state your gross margin by job type without a week of work. You are paying a full-time person or more to move data between Cabinet Vision, Excel, and QuickBooks. Remakes are above 3% of revenue and you cannot say why. Or a builder is asking for a portal and API access as a condition of a rollout contract, which is now common with the large production builders.
The clearest signal: your best estimator is your bottleneck and he is 61 years old. That knowledge is in his head, and either it becomes a rate table with actuals behind it or it retires with him.
How to choose a developer for cabinet and millwork software
Ask them to model your data before you sign. Give them one real completed job and ask them to describe the entity model: job, elevation, cabinet, part, operation, material, hardware SKU. If they hand you back something that treats a cabinet as a line item rather than a parent of parts with routings, they will rebuild it in month five on your money. This one question filters out most agencies.
Ask what they have read out of a Microvellum or Cabinet Vision database. Not "can they integrate," which everyone says yes to. Ask what the schema looks like, whether they have handled a shop's custom library, and how they deal with the fact that your part naming is not the same as the next shop's. A specific answer here is worth more than a portfolio.
Ask how they handle the shop floor when the network drops or the tablet dies. Cabinet shops are dusty metal buildings with bad wifi at the far end. If the scanning app requires a live connection, your production manager goes back to the clipboard in week two and the whole system fails. Offline-first with sync is not optional here.
Confirm code and data ownership in writing before kickoff, including database access and the right to take the repository. If the shop is doing government or institutional millwork you will also hit prevailing wage certified payroll reporting and lien waiver requirements, so ask whether they have built to those, because bolting compliance on afterward is expensive.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- The Standish Group 1995 CHAOS Report found only 16.2% of software projects fully succeeded; success varied sharply by size, with large-company projects succeeding about 9% of the time versus far higher rates for small projects - best treated as an industry survey, not an audited dataset. Source: Standish Group (1995) →
- Large companies globally have captured, on average, only 31% of the expected revenue lift and 25% of the expected cost savings from their digital and AI transformations - a significant gap between expected and realized value. Source: McKinsey & Company (2023) →
- In an October 2025 survey of 530 small-business employers (conducted by TechnoMetrica, October 3-9, 2025), 88% reported using AI tools and 73% said those tools had been important to their competitiveness and growth over the past year, with 60% citing efficiency and productivity as the primary motivation for adoption (42% cited improving customer service). Source: Small Business & Entrepreneurship Council (SBE Council) (2025) →
- An analysis of enrollment and completion data for 221 MOOCs (Katy Jordan, published in the International Review of Research in Open and Distributed Learning, IRRODL, 16(3), 2015 - not the Journal of Distance Education) found completion rates ranging from 0.7% to 52.1%, with a median completion rate of 12.6%, and completion negatively correlated with course length (longer courses had lower completion rates) - underscoring how unsupported self-paced online courses struggle to finish learners. Source: Journal of Distance Education (via ERIC / Katharina Jordan) (2015) →
Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.
Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.