back to blog
/ essay

Can I Build Inventory Software That Matches How My Stock Actually Moves?

Spreadsheets break and packaged inventory apps assume one warehouse, fixed units, and a stock flow that isn't yours. The third path: start from a real warehouse-and-procurement foundation, shape it to how your stock actually moves — and own the database underneath.

Can I Build Inventory Software That Matches How My Stock Actually Moves?

Yes — and if you’re asking, your stock has probably already outgrown wherever it lives now.

Inventory is deceptively specific. How you receive, where you store, how you count, what “available” means when some of it is reserved, how you reorder — every business does these a little differently, and the differences are exactly the parts that go wrong when the tool doesn’t fit. A spreadsheet hides the mismatch until two people edit it at once. A packaged app hides it until you hit the thing it assumed you’d never need.

The real question isn’t “can I track inventory?” It’s “can I track it the way my stock actually moves, without living in spreadsheets or fighting someone else’s app?” There’s a good answer — after a quick look at why the usual options disappoint.

Why spreadsheets and packaged apps fight you

A spreadsheet has no idea what a warehouse, a unit, or a reservation is. It will happily let you sell stock you don’t have, double-count a transfer, or overwrite last week’s numbers — because it was never built to run an operation, just a grid. It works right up until the volume, the locations, or the number of people touching it crosses a line, and then it fails quietly.

A packaged inventory app has the opposite problem: it has very firm ideas. One warehouse, or a fixed notion of locations. Units it understands and units it doesn’t. A receiving flow that assumes a PO when you work off a request, or a request when you just receive. Where your process differs, you get a workaround — and workarounds in inventory are how stock and reality drift apart.

The shape of the data is the real constraint. If it doesn’t match how your stock moves, you spend forever reconciling.

The two ways teams usually lose

Run it on spreadsheets. Cheap, flexible, and structurally incapable of enforcing the integrity inventory needs. The moment you have multiple locations, real concurrency, or anyone asking “what’s actually available right now,” the cracks show.

Buy a rigid app — or build one from scratch. A packaged app fits until it doesn’t, and then you’re bending it. A from-scratch build fits perfectly on launch day, costs months, and leaves you owning a custom application to maintain forever.

There’s a third path that avoids both.

A spreadsheet or rigid app can't represent multiple warehouses, units, and reservations, while a shaped model maps warehouses, stock, movements, and reservations to how your business actually works.

The third path: start from a foundation, then shape it

dForge ships a working warehouse-and-procurement core out of the box: warehouses, a product catalog with categories, stock levels, stock movements, purchase requests that become purchase orders, and stock reservations — with vendors living in the shared parties model. That’s a real operational backbone you can run from day one.

And because the whole model is defined by metadata rather than hard-coded, you shape it to your stock:

  • Model your real locations — multiple warehouses, zones, bins — instead of forcing everything into one.
  • Add the fields and units you track — lot numbers, expiry dates, serial numbers, your units of measure, the attributes your products actually have.
  • Add the entities your process needs — a goods-inspection step, a transfer order, a cycle count — and link them into the flow.
  • Wire the rules — reorder points, auto-numbered purchase orders, validation that won’t let stock go negative, lifecycle states on a PO.

The point is that fitting it to your business is configuration, not a code fork — so the next change to how you operate is a change, not a rebuild.

The procurement-and-stock foundation — purchase request to purchase order to stock to movement across warehouses — extended with your own locations, fields, and rules.

And the system you shape is one you own

The inventory system you build on dForge is a standard PostgreSQL database — your stock, your movements, your purchase history, in real tables you can query, back up, and self-host. When the warehouse team asks for a report nobody anticipated, a developer can query the data directly instead of waiting on an export.

That ownership matters more for inventory than almost anything else, because stock data is the kind you can’t afford to have trapped. We covered exactly where that line sits — and where it doesn’t — in Only You Own Your Data.

Where the line is

dForge is the internal operational platform for your stock and procurement — what you receive, hold, reserve, move, and reorder. It is not a public storefront, and it is not a pre-built suite of carrier, EDI, or barcode-hardware integrations out of the box. Its integration surface is data in via API and out via webhooks, so scanners, shops, and shippers connect to it rather than ship inside it.

If you need a webshop or a turnkey 3PL integration pack, that’s a different tool. If you need the durable, owned core that knows where every unit is and how it got there — shaped to your operation — that’s the idea.

Frequently asked questions

Can I track stock across multiple warehouses and locations? Yes. Warehouses are part of the model, and you shape locations to match your real operation — multiple sites, zones, or bins — rather than being limited to a single warehouse.

Can I add fields like lot numbers, expiry, or serials? Yes. You add the fields and units your products actually need to existing records, and you can add entirely new entities (an inspection, a transfer, a cycle count) and link them into the stock flow.

Do I need developers to build a custom inventory system in dForge? You don’t start from scratch — the warehouse-and-procurement foundation is there on day one. Shaping it is configuration of the metadata model rather than application engineering, so much of it doesn’t require a developer; deeper changes are still configuration, not a custom codebase.

Does it handle purchasing and reordering? Yes. Purchase requests, purchase orders with line items, and vendors are built in, and you can wire reorder rules and auto-numbering to match your procurement process.

Is my inventory data actually mine? Yes. It runs on a standard PostgreSQL database, one per tenant, that you can query directly, back up, and self-host. See Only You Own Your Data.

Can it connect to barcode scanners or our online store? Through its API and webhooks, yes — dForge owns your stock data, and external scanners, stores, or shippers integrate with it. It does not ship those integrations pre-built out of the box.


If your stock has outgrown spreadsheets and packaged apps don’t match how you actually operate, there’s a path between them: start from a real foundation, shape it to your stock, and own what you build. That’s what dForge is for — see how the whole platform is built.

/ keep reading

More from the forge

Supabase Builds Your Backend — Not Your Back Office
[essay]

Supabase Builds Your Backend — Not Your Back Office

Supabase gives you a backend: Postgres, auth, APIs, storage, realtime. What it deliberately doesn't give you is the internal operational app your team runs the business on. Here's the gap, and the cleanest ways to fill it.

Igor Shtanko · 4 min
Audit Trail and Row-Level Security, Built In — Not a Premium Tier
[essay]

Audit Trail and Row-Level Security, Built In — Not a Premium Tier

On most platforms, a full audit log and granular access control are the expensive add-on. In dForge they're the floor: every change captured with before/after values, and row-, column-, and operation-level security applied on every request.

Igor Shtanko · 6 min
Can I Build Billing Software That Fits How My Business Actually Invoices?
[essay]

Can I Build Billing Software That Fits How My Business Actually Invoices?

Spreadsheets lose track of what's paid, and packaged billing tools assume an invoice shape and a workflow that aren't yours. The third path: start from a real invoicing and AR/AP foundation, shape it to how you bill, and own the database underneath.

Igor Shtanko · 5 min
/ try the platform

Stop reading.
Start building.

Open a free workspace on dforge.app — see the platform behind the essays.