Last month we bid on a full shop system for an established twenty-user job shop — work orders, floor tracking, invoicing, books sync. The competing quotes ran from roughly thirty to seventy thousand dollars. Ours was a multiple of the highest one.
We lost. The buyer chose rationally.
Here's the thing worth writing down: every number in that spread was honest, and they were not prices for the same thing. Understanding why — what each number actually buys, and what it costs over ten years — is more useful to a shop owner than anything in our proposal was. So that's this post. No names; the lesson is general.
What you're actually buying
A shop system is not a purchase. It's a ten-year relationship with a cost curve, and the sticker price is the least informative point on it. There are four basic shapes that relationship can take.
1. Rent it — the SaaS subscription
Modern cloud shop systems typically land somewhere between one and two thousand dollars per user per year once you're past the teaser tier. For a twenty-seat shop, call it $20–40k a year, forever.
What you get: live fast, a support desk, continuous updates you never have to think about. This is real value and for many shops it's the right trade.
The ten-year math: $200–400k, and in year ten you own nothing — not the code, not the workflow, and (read your export clause) maybe not even a usable copy of your history. The renewal price is set by someone else's board. Many of these vendors are venture-funded, and venture math eventually needs your subscription to grow faster than your shop does.
The quiet cost: the workflow tax. The product's shape wins arguments with your shop's shape. If your process is standard, that's fine. If your weird process is your margin, you're paying rent to sand it off.
2. Buy it — the perpetual license
The older model: tens of thousands up front for an on-prem package, plus 18–20% a year in "maintenance." You own a license, which feels like owning software until the day it matters.
What you get: predictability, and a system that keeps running even when the vendor loses interest. Shops run these packages for fifteen, twenty years. In the middle years, this is the cheapest option on the board.
The ten-year math: often the lowest total — if the vendor stays interested. The failure mode isn't the software; it's the sunset. One of the most widely deployed job-shop packages stopped being sold in 2021, and thousands of shops are now being marched toward a forced migration that abandons their customizations and most of their history. "Perpetual" described the license, not the vendor's attention.
3. Adopt open source
There is real open-source ERP out there, and the license price — zero — is genuinely zero. What you pay in instead is fit and accountability.
What you get: actual ownership. The code is public, the data is yours, no one can sunset it out from under you or raise the rent. If your vendor disappears, any competent engineer on earth can pick it up. That last sentence is the whole point, and no other model on this list can say it.
The honest limits: general-purpose open-source ERP is shaped like every business, which means it's shaped like no particular shop. Getting it to fit a high-mix job shop is a real project. And open source doesn't come with anyone accountable at 2 a.m. — you're hiring that separately, in-house or by contract, or you're doing without.
4. Build on an open substrate — where the market is quietly going
Now the part we learned by losing.
Nobody — not us, not anyone — genuinely builds a complete shop system from a blank repository for seventy thousand dollars. The hours don't exist at that price. So when a custom-build quote lands in the same band as the packaged options, it means the builder isn't starting from blank: they're quoting their existing platform plus your delta. The substrate is already built; you're paying for the part that's actually yours.
That's not a scam — it's the only economics that work. Our losing bid was the from-scratch number, honestly computed, and honestly wrong for that buyer. But the substrate model as usually practiced has a buried catch: the substrate belongs to the builder. You "own your code," but the foundation it stands on lives in someone's private drawer, and if they disappear or you fall out, your ownership is a technicality.
The clean version of this model fixes that one flaw: the substrate is open source. Then the split is honest on both sides —
- The generic 80% every shop needs lives in a public repo. You can
read it before you hire anyone. If the builder vanishes, it's still there.
- The 20% that encodes your business — your pricing logic, your
floor, your forms — is built for you, owned by you outright, and is the only part on your invoice.
- Platform improvements never show up on your bill, because the
platform isn't yours to pay for. Work that would help the next shop unchanged belongs to the substrate, not your invoice.
You get open source's unkillable ownership, the packaged option's price band, and custom software's fit. The cost of the model is patience: substrates have to be built before they can be built on, and the industry is only part-way there. It's the model we're moving our own practice to, and we'd rather say so plainly than bid another blank-page number.
The ten-year view, one table
| Model | Year 1 | Years 2–10 | What you own in year 10 | Kill risk |
|---|---|---|---|---|
| Rent (SaaS) | Low | $20–40k/yr, rising | Nothing | Price hikes, workflow tax |
| Buy (perpetual) | Medium | Maintenance % | A license | Vendor sunset, stranded customizations |
| Adopt open source | Medium-high | Your accountable person | Everything | Fit gap, no one on the hook |
| Open substrate + your delta | Medium | Only work that's yours | Your delta, plus a public floor | Model is young |
How to choose, honestly
- Standard workflow, no appetite for owning anything → rent, with
your eyes open about year ten, and demo your weirdest workflow before signing — not their happy path.
- Stable business, package still sold and supported → buying is
underrated; just check the vendor's pulse annually.
- Technical staff in-house and patience → adopting open source is
the most ownership per dollar on this list.
- Weird workflow that is your margin, and you want to own the result
→ find someone building on a substrate, and before you sign, ask the one question that separates the clean version from the drawer version: "Can I read the platform my system will stand on, today, without signing anything?"
If a bidder's answer to that last question is no, you're not buying ownership. You're buying rent with extra steps.