Industry guide · ERP

Cabinet and Millwork Shop Software: Stop the Margin Leak Between Quote and Install

The short answer

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.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. 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) →
  2. 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) →
  3. 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) →
  4. 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 Malhotra · Enterprise Software Consultant

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.

FAQ

Frequently asked questions

How much does custom cabinet shop software cost for a two-location shop doing $15M?
Expect $60,000 to $130,000 for a focused first release covering part-level quoting, the Cabinet Vision or Microvellum data pull, change-order diffing, and barcode shop floor tracking, delivered in 12 to 16 weeks. A full platform adding multi-location capacity scheduling, a builder portal, install punch app, and material planning runs $150,000 to $400,000 over 6 to 12 months. At $15M across two shops, the first release usually pays back inside a year on margin visibility and remake reduction alone. Multi-location adds real cost because of inter-shop transfers and per-shop rate tables.
Should we replace Cabinet Vision or build around it?
Build around it. Cabinet Vision is genuinely good at turning a design into nested parts and a cut list, and rebuilding that is a multi-year mistake nobody should make. What it cannot do is tell you whether the job made money, track what changed after release, or schedule across two shops. The right build reads its SQL database and becomes the system of record for cost, status, and scheduling on top of it.
Why is our estimate-to-actual variance so bad on custom kitchens?
Because your rate table is typed by hand and never learns from what the shop actually did. Estimators are usually accurate within a few percent on paint-grade shaker boxes and 20% off on anything with mitered doors, radius work, or integrated panels, and nobody compares actuals back at the operation level so the error never corrects. Fixing it requires capturing actual machine and labor minutes per part per operation, which means scanning on the floor, then rebuilding the rate table from your own history.
Can Monday.com or Smartsheet run our shop floor scheduling?
No, and it will fail in a specific way: the board goes stale in about two weeks because updating it costs someone time. Those tools hold a job card, not 340 parts moving across six work centers with dependencies and finite capacity. The only shop floor tracking that survives is the kind where the status update is a byproduct of scanning a barcode, not a decision someone makes.
How long does it take to migrate off our Excel estimating workbook?
The migration itself is fast because the workbook is usually a few hundred rows of rates and formulas, but converting it into a part-level model takes 3 to 5 weeks and it is the hardest conversation of the project. The workbook encodes your estimator's judgment as fudge factors, and those have to be decomposed into actual operations and materials. Most shops run both in parallel for 6 to 8 weeks and compare quote by quote before switching.
Do we own the code if we hire an agency to build this?
You should, and it must be written into the agreement before kickoff, including full database access and the right to take the repository and hosting. Digital Heroes ships client-owned code as standard practice. If a developer hedges on ownership or hosts the database somewhere you cannot reach, walk away, because your job history and rate tables are the most valuable asset the system creates.
Where does AI actually help a millwork shop versus being a gimmick?
Three places, concretely: extracting dimensions and specs from builder PDF plans and spec books, which currently costs an engineer 2 to 3 hours per job; predicting labor hours for a new quote from its part mix using a model trained on your completed jobs; and auto-coding punch list photos into reason codes. All three depend on having your own historical data, so if you have never captured actuals, the AI is worthless for the first 4 to 6 months while data accumulates.
We do institutional and government millwork. What compliance do we need in the software?
Prevailing wage certified payroll reporting and lien waiver tracking are the two that hit hardest, and both need to be designed in rather than bolted on later. Certified payroll means labor hours have to be captured against the job with worker classification, which changes how the shop floor scanning is built. Ask any developer directly whether they have shipped to those requirements before, because retrofitting them typically costs more than building them in.
When is it too early to build custom software for a cabinet shop?
Under roughly $6M revenue and single location doing mostly repeatable box work, building is usually the wrong call. Cabinet Vision plus a disciplined estimating workbook plus QuickBooks will carry that shop, and the money is better spent on process and people. Shops at that size that want to build are almost always trying to buy their way out of a process problem, and custom software will make it more expensive, not less.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
How long does custom ERP development take?
Plan on 3 to 4 months for the first working module and 6 to 12 months for a full multi-module rollout. In Digital Heroes delivery experience the schedule risk is data migration and integration testing, not feature coding, so we stage go-lives module by module instead of one big-bang launch.
Should I pick Microsoft Dynamics 365 Business Central or build a custom ERP?
Pick Business Central if you already live in the Microsoft stack, your processes are close to standard, and around $80 per user per month for Business Central Essentials stays affordable at your headcount. Build custom when your revenue-driving workflow, such as custom manufacturing steps or unusual pricing logic, would need heavy extension work anyway. In our experience, once Dynamics customization quotes pass about $100,000 the custom option deserves a serious side-by-side.
How do we migrate years of data from our old system without losing anything?
Through a staged migration with a parallel run, never a single cutover weekend. The data gets extracted and cleaned early, loaded into the new ERP while the old system stays live, and both run side by side for two to four weeks so your team can verify counts, balances, and open orders match. In Digital Heroes ERP projects, data cleaning consistently takes longer than the technical transfer, so it starts in week one, not at the end.
What mistakes kill ERP projects most often?
The three we see most in rescue work at Digital Heroes: recreating the old system's broken process in new software, launching everything at once instead of module by module, and having no single internal owner with authority to decide. A fourth is skipping the parallel run on data migration to save two weeks, which trades a short delay for months of distrust in the numbers. None of these are technical failures, which is why vendor selection should weigh process discipline over demo polish.
What should I prepare before contacting an ERP development agency?
Bring a list of your current tools and spreadsheets, a rough map of how an order or job moves through the company today, your user count by role, and the three problems costing you the most hours. You do not need a formal specification; a good agency writes that with you during discovery. Companies that arrive with those four things typically cut two to three weeks off scoping in our experience.
Will a custom ERP scale as we grow from 50 to 500 employees?
Yes, if it is designed for that from the start, which mostly means clean database design, permissions that handle new departments, and modules that stay separable. Adding users to software you own costs nothing in licenses, the opposite of the per-seat scaling penalty on NetSuite or Dynamics. What does need budget as you grow is new modules and integrations, so keep a small standing development arrangement rather than restarting a vendor search every two years.
Can a freelancer build an ERP, or do I need an agency?
An ERP is too wide for one person: it needs backend, frontend, database design, integrations, QA, and someone mapping your business processes. A solo freelancer can extend an existing ERP or ship one small internal tool, but full ERP builds by single developers are the most common rescue scenario Digital Heroes takes on. If budget is tight, shrink the scope to one module rather than shrinking the team below three or four people.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?