Custom inventory management software: what you're actually paying for, and when it's the wrong answer

If you are getting quotes for custom inventory management software, you have probably already worked out that the numbers vary by an order of magnitude between firms, and that none of the proposals explain why. Same brief, same features, wildly different prices — which usually means the brief is not the thing being priced.

This is the honest version of that conversation, written by people who build these systems rather than sell development hours. It covers what a bespoke inventory build is actually priced on, the handful of operational shapes that genuinely need one, the questions that separate a competent supplier from an expensive one, and what has and has not changed now that a coding agent can produce a working stock system in a couple of days.

What the quote is actually for

A custom inventory management software quote is not priced on features. It is priced on three things, and the ratio between them tells you a lot about the firm.

Discovery. Someone has to establish how your operation works: whether a stocktake locks the shop, what happens when a delivery arrives short, whether stock can be moved between sites without paperwork, who is allowed to see cost prices, what a return does to a supplier balance. This is where good agencies spend their money and it is the part clients most often try to cut. Cutting it does not remove the work — it moves it to the end of the project where it is called a change request.

Integration. Almost never the inventory system itself. It is the till, the accounting package, the ecommerce platform, the label printer, the scanner, the supplier's ordering portal. Each one is a different vendor's idea of an API and a different failure mode. If a quote is unexpectedly high, integrations are usually why, and if it is unexpectedly low, they have usually been excluded in a paragraph you have not read yet.

Who carries it afterwards. A build is a one-off cost; a system is a running one. Hosting, backups, security patching, the phone call when a barcode scanner stops working on a Saturday. Firms that price this honestly look expensive next to firms that do not mention it, and the second kind are not cheaper — the cost simply arrives later, usually as an hourly rate.

Notice what is missing from that list: typing the code. That used to be the bulk of a quote. It is now the cheapest part of the job, and any proposal still priced primarily on developer-days of implementation is priced on a market that has moved.

What changed, precisely

Coding agents collapsed the cost of producing software. They did not collapse the cost of knowing what to produce.

We can be specific about this because we tested it rather than assumed it. We took a single retail inventory specification and had eight complete stock systems built from it by four different coding models — GPT-5.5 across four build lanes, Composer 2.5, Gemini 3.1 Pro and Grok 4.5 across two. Every one of them is a working application: item master, movement history, purchase orders, receiving, stocktakes, reporting. Each took a day or two rather than a quarter.

The audits are where it gets interesting. The differences between builds had almost nothing to do with features and almost everything to do with the parts nobody writes on a requirements list:

  • Two of the eight stored everything in flat files rather than a real database. Both looked completely finished. One of them lost every session on restart.
  • One could not be served as a single working application in production at all — the back end could not serve the front end. It ran perfectly on the machine it was built on.
  • One shipped with no sign-in whatsoever, despite its own requirements list selecting permissions. Another let you sign in by picking a name from a list.
  • One arrived with a fallback session key baked into the source code.
  • Several arrived essentially empty, or full of the test data the model had typed while checking its own work.

Every one of those is a substrate failure, and substrate is exactly what a good development firm sells you. The scores ranged from 93 down to 35 on identical instructions. The models were not the variable that mattered most — the specification was.

That is the real state of the market in 2026. The build is cheap. Knowing what a stock system has to do, and what it must never let anyone do, is the expensive part, and it is the part you are hiring for whether the invoice says so or not.

When custom is genuinely the right answer

Most retailers should buy off-the-shelf software. Square, Lightspeed, Loyverse, Erply, Cin7 and the rest are mature, cheap relative to your time, and somebody else patches them at 2am. If your operation fits one of their models, a custom build is an expensive way to end up with a worse version of a product that already exists.

Custom earns its place when your operation has a shape the off-the-shelf model cannot express. In practice that is a short list:

  • Consignment or sale-or-return stock. Stock you hold but do not own. Most systems have exactly one owner for a unit of stock, and workarounds here corrupt your valuation report permanently.
  • Kit assembly and breakdown. Buying in bulk and selling in units, or building bundles from components, where one movement has to decrement several SKUs and increment another. Standard systems either lack this or charge for a manufacturing module you do not otherwise need.
  • Per-batch or per-expiry tracking where the batch, not the SKU, is the thing you count.
  • A shared stockroom across separate trading entities, where one physical shelf belongs to two sets of books.
  • Non-integer or dual units — sold by weight, bought by case, counted by pallet.
  • A workflow with legal or contractual consequences — controlled goods, warranty serial numbers, audited chain of custody.

The test is not "would custom be nicer". It is: does the off-the-shelf model force a workaround that someone has to remember every day? Workarounds are where spreadsheets creep back in, and a shadow spreadsheet beside a paid system is the worst of every option.

When it is the wrong answer

Be honest about these, because they are the reasons most custom inventory projects are commissioned and most custom inventory projects disappoint.

"The interface doesn't suit us." Fixable with configuration and a week of training, at a fraction of the cost, and a bespoke interface built once will look dated in three years with nobody funding a redesign.

"We want to own our data." You can export from every serious product on the market. Ask about export format before you commission a build — it is a five-minute check that has cancelled a lot of projects.

"It'll be cheaper than the subscription." Compare against the honest total: build, plus hosting, plus backups, plus the person who fixes it. Custom sometimes wins that comparison, but it wins on fit, not on price, and a proposal that leads with price is one you should read twice.

"We're unusual." Almost everybody believes this. The way to check is to write your workflow down and try to configure a trial account to match it. If you can, you are not unusual and you have just saved yourself a project.

If you hire a firm: the questions that separate them

These are diagnostic. A supplier who answers them well has built inventory systems before; one who treats them as unusual has not.

  1. "Is the on-hand quantity stored or derived?" The only correct answer is derived — computed from an append-only movement history. If a developer can type a new stock level directly into a record, you have bought a spreadsheet with a login page. This is the single best question on the list.
  2. "Show me what happens when a delivery arrives short." You want partial receipt, a visible discrepancy, and a purchase order that stays open. If the answer involves editing an ordered quantity, the PO has no real states.
  3. "Walk me through a stocktake." Open a session, count, review variance against what the system believed when counting started, commit, lock, export. If the count writes straight over the quantity, it destroys the history you are paying for.
  4. "Who can see cost prices?" Permissions should be enforced on the server, not by hiding menu items. Ask them to demonstrate the restricted role hitting a restricted page directly.
  5. "What does the export actually produce?" Ask for a file, not a screenshot of a success message. Then ask what happens to it if you leave.
  6. "What runs where, and who has the credentials?" Get this in writing before, not after.
  7. "What is the handover?" Source code, database schema, deployment instructions, and the ability for another firm to pick it up. If handover is vague, you are buying a dependency, not a system.
  8. "What does month thirteen cost?" Support, hosting, patching, and the hourly rate for changes. The answer to this question is the actual price of the project.

If a supplier's proposal already addresses points 1 to 3 without prompting, that is a strong signal. They are the failures we see most often, and firms that have been burned by them talk about them unprompted.

If you build it with an agent instead

This is now a legitimate route for a lot of businesses, and it is worth being precise about what makes it work rather than romantic about it.

An agent will build the visible features well. Ask for an inventory system and you will get an item master, a stock list, purchase orders, a dashboard and probably a barcode screen, and they will mostly work. What it will not do unprompted is the substrate — because nothing in your request said to, and the version it has seen ten thousand times in training does not have it.

So the specification has to name these explicitly, and it has to name them before any code exists:

  • The movement ledger, first. Every quantity change writes an append-only row with before, after, reason and the person responsible. Nothing writes a stock level directly — not the interface, not an import, not an admin screen.
  • On-hand as a derived value, enforced by the schema rather than by discipline.
  • A stocktake that is a session — open, count, review variance against a snapshot, commit, lock.
  • Purchase orders with real states, including partial receipt and backorder.
  • A low-stock queue that hands off to a purchase order, not a dashboard card someone is meant to notice.
  • Real sign-in and server-enforced roles, specified as a requirement rather than assumed. This is the one that gets skipped most often, because it belongs to no feature and therefore to no step.
  • Seed data that looks like a business, or you cannot evaluate what you have been given.
  • A production build that is actually run, not a development server that has never been packaged.

That list is not a coincidence — it is the ranked order in which real retail systems ship these things, counted across 120 retail-only sources. On-hand derived by item and location appears in 32 of them, the item master and the full purchase-order lifecycle in 24 each, the stocktake in 23, reports and exports in 21, receiving in 18, the low-stock queue in 17.

The honest summary of the agent route: it removes the development cost and leaves the specification cost entirely intact. If you know exactly what to ask for, it is dramatically cheaper than an agency. If you do not, you get a convincing application with the same flaws you were paying an agency to avoid, and you will not find out until someone asks why the shelf disagrees with the system.

The four routes, side by side

Buy off-the-shelf. Right for most retailers. Fastest, maintained by someone else, and the model is fixed. Check exports before you commit.

Configure a platform. An off-the-shelf system plus its extension points. Under-considered, and often the answer when only one part of your operation is unusual.

Hire a firm. Right when the operational shape genuinely does not fit, and when you want a throat to choke. You are buying discovery and accountability more than code — price it that way and judge proposals on the eight questions above.

Build it with an agent. Right when you know precisely what the system must do, or you can get that specification from somewhere. Cheapest by a wide margin. The failure mode is not a broken app; it is a plausible one.

There is no universally correct answer here, and anyone who gives you one is selling something. The question that decides it is not "how much does custom inventory management software cost". It is "does anybody in this building have to remember a workaround every single day" — and if the answer is no, buy the software and spend the money on stock.


If you want the technical version of the substrate this article keeps referring to, inventory management system database design has the actual schema, and how to build a retail inventory management system has the build order. Build vs buy works through the decision in more detail, and what a retail inventory management system includes is the counted feature inventory the figures here come from.

If you are taking the agent route, the Retail Inventory Management planner is the specification we hand ours — the same one those eight build-off applications came from, written so the ledger rule, the lifecycle states and the permission requirements cannot quietly be skipped.