Stock across locations, purchasing against demand, orders picked and dispatched, and a stock figure the sales side can actually trust when it promises a delivery date.
Talk about scopeOn hand is four numbers, not one: physically present, reserved against an order, in transit from a supplier, and available to promise. Sales needs the fourth, the warehouse needs the first, and a system that shows one figure will be wrong for somebody every day.
A unit is not a unit: the same product is bought by the pallet, stocked by the case and sold by the item, with conversions that are sometimes not clean. Every quantity in the system therefore carries its unit, and every conversion is explicit — this is one of the few modelling mistakes that is genuinely unrecoverable later.
The count will disagree with the system: stock is miscounted, damaged, mispicked and occasionally stolen. The question is not how to prevent divergence but how to find and post it — cycle counting with a recorded adjustment and a reason, rather than an annual stocktake that silently rewrites the number.
Wholesale customers do not want a stock level, they want to know whether it ships on Thursday. Answering that means combining what is on the shelf, what is already promised to somebody else, what is arriving from a supplier and when, and whether the order can be split. This is the calculation the business runs on, and it is the one most inventory systems leave to a person with a spreadsheet and a good memory.
An order becomes a route through a building. Pick lists ordered by location rather than by order line, short picks recorded where they happen, and a partial dispatch that leaves the remainder correctly back-ordered rather than quietly cancelled. Software written without reference to how the warehouse is actually laid out gets printed out and ignored.
A → D → A → B → D → B. Four crossings.
A → A → B → B → D → D. One pass.
Reorder points set once and never revisited are why a business is simultaneously overstocked on some lines and out of the one a customer wanted. Useful purchasing reads real consumption per line, accounts for supplier lead time, and proposes a quantity with its reasoning visible so a buyer can disagree with it.
It should also be honest about what it cannot know. Seasonality, a promotion, or a single large customer changing their order pattern will beat any forecast, so the system's job is to surface the change quickly rather than to predict it confidently.
A packaged product is the right answer more often than a development company usually admits, and if your problem is an ordinary one that something off the shelf already solves, we will tell you so rather than quote for it. What follows is the case for the other answer — the conditions under which building is worth what it costs.
A packaged system that mostly fits leaves a residue — the spreadsheet kept alongside it, the step done by hand every month, the field used to mean something it was not named for. When that residue is where the actual work happens, you are already maintaining custom software, just without any of the benefits of having built it.
Every business has a few processes that are genuinely its own, and those are usually the ones it competes on. Off-the-shelf software is built for the average of a sector, so it handles the ordinary parts well and the distinctive part not at all. Building is worth it exactly where that overlap fails, and rarely anywhere else.
A vulnerability in a packaged product is a vulnerability in every deployment of it, and attackers only have to find it once. A system built for one business is not on that list.