Pre-alpha. Armory Works is actively building in public. Site and product are both evolving.
All writing

Why we built our own ERP instead of customizing one off the shelf

This question comes up in every first conversation with a shop owner. Nothing's wrong with the commercial products. The reason we built Forge is the cost structure of the commercial alternatives is wrong for the shops we want to serve.


title: Why We Built Our Own ERP Instead of Customizing One Off the Shelf date: 2026-05-18 excerpt: It's one of the first questions a shop owner asks us. Nothing's wrong with the commercial products. The problem is that their cost structure is wrong for the shops we want to serve. tags: [positioning, business-model, open-source, forge] draft: true

It's one of the first questions a shop owner asks us, usually phrased as "why not just use NetSuite?" or "what's wrong with Epicor?"

Nothing's wrong with them. They work, and plenty of shops run them well. We didn't build Forge because the commercial products are bad. We built it because their cost structure is wrong for the shops we want to serve.

The license-fee problem

Every commercial manufacturing ERP charges per user, per year, and the per-user number has four figures in it. A thirty-person shop with fifteen named users is spending tens of thousands a year on licenses, forever, before anyone touches the software.

That money buys nothing the shop owns. If the vendor raises the price, you pay or you migrate, and migrating off a commercial ERP is painful because the data export is built to be. Shops stay on systems they hate for years because the alternative is worse.

We didn't want a relationship with our customers that depended on that. So we removed it. Forge is Apache-licensed: free to install, free to run, free to leave. The shop owns its install on its own hardware, and there is no per-user fee, ever.

That changes what we charge for. We charge for getting Forge running in a shop and for keeping it running. The software is free. Our time isn't.

The customization problem

Commercial manufacturing ERPs are configurable, not customizable. They have settings panels with thousands of toggles. What they don't have is the one workflow your shop runs differently from everyone else.

Ask a commercial vendor for something specific, a custom integration, a particular report, a workflow that isn't on the capability list, and the answer is one of three things: it's on the roadmap, it's a professional-services quote with a comma in it and a delivery date next year, or you'll need to talk to a partner. None of those help a thirty-person shop with a problem this quarter.

In Forge, customization is normal work, not an exception. We wrote it, so we can change it. When a customer needs something specific, we write the code. If it's broadly useful it goes into the open product; if it's only theirs it lives in their overlay. The customer pays for the time it takes. There's no license to negotiate, no vendor approval queue, no roadmap conversation.

The vendor-lock problem

Commercial ERPs build lock-in into their data. Even when export is a feature, it's usually CSVs of the surface, not the underlying schema. A shop's history, ten years of jobs, the parts master, the routing detail, ends up unportable in any practical sense.

Forge's data is in PostgreSQL. The shop owns the database, and we hand them the credentials to their own server. If a shop fires us tomorrow, they keep Forge, they keep their data, and they can hire any developer in the world to extend it. We built it that way on purpose. It removes the worst of the leverage commercial vendors hold over their customers.

Why this meant building it ourselves

We didn't set out to build an ERP. We set out to help manufacturers run their operations better, and the tooling kept getting in the way. Every time we priced a commercial product for a shop we wanted to help, the same three problems came up. Eventually the math flipped: building a manufacturing ERP from scratch cost less than fighting commercial-ERP economics, over and over, on behalf of shops that couldn't afford them.

The first concrete case was a plastics-injection shop in Idaho run by my brother: Armory Plastics. We priced out the commercial options for them and looked at what each would cost, what lock-in it would create, and what the customization queue looked like for the workflows they actually run. None of it worked. Forge started as the answer to that one shop's problem. Armory Plastics is our design partner today, which means every workflow in Forge gets tested by a working manufacturer who would notice if it didn't fit. It's also why the product is honest about what it does now rather than what it might do someday. They need the parts that work today.

Forge today has the master-data spine, the order-to-cash flow, production execution, kanban for the floor, kiosk login for operators, multi-op routing, OEE tracking, and a working QuickBooks integration. It's not feature-complete against Epicor Kinetic and doesn't need to be. It's built for the small manufacturer who pays Epicor's prices and uses a fraction of what they're paying for.

What this means for our customers

The software is free and only our time costs money. The product keeps improving because we maintain it and a working shop runs on it every day. And the incentives point the right way: if the install doesn't work, you fire us and Forge keeps running. There's no other revenue we can extract, so the only thing we can sell you is a system that works.

That alignment is hard to manufacture inside a commercial-ERP business model. Here it's the default.

What this means for us

We don't have a license-revenue treadmill to keep running, or a ninety-day enterprise sales cycle with a procurement department at the end of it. We have manufacturers who pay us for engagements and for ongoing support, and a product we own and improve. The business is smaller than NetSuite's. It's also more honest about what's being exchanged.

We think there are a couple hundred shops in the country that would be better off on Forge than on whatever they're running today. We're going to find a few dozen of them.