Problems & solutions · Warehouse Management

Ecommerce WMS Problems: The 7 That Cost Real Money, and How to Avoid Them

Warehouse Management System FOR E-commerce software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in an ecommerce warehouse management system (WMS) build is inventory that decrements on order rather than on pick. It looks correct in testing and it oversells every flash sale, because two buyers on two channels can both claim the last unit in the seconds before your sync fires. The cost is not the refund, it is the cancellation email, the marketplace metric it damages, and the fact that your team stops trusting the stock number and goes back to counting shelves by hand.

Why does warehouse scope creep into a full ERP so often?

Almost every warehouse management system project we see starts with a clear brief, which is scanner driven pick and pack plus a channel sync, and ends up quoted as an enterprise resource planning replacement. The path is always the same. Once you are modelling stock, someone points out that purchase orders create stock, so purchasing should be in scope. Once purchasing is in scope, supplier terms and landed cost follow, and now you are building accounting. Then somebody asks whether the system should own product data, because the channel listings are inconsistent, and you have quietly added a product information manager to a four month build.

This happens harder in ecommerce than in classic distribution because a direct to consumer brand genuinely does run everything through one small operations team. The person asking for purchasing in scope is the same person doing pick and pack, so from where they sit it is all one job. It is not one system.

The fix is a hard boundary drawn before anyone writes code. The warehouse management system owns physical state: what is on the shelf, in which bin, in whose hands, in which box, on which truck. It does not own commercial state, meaning what you paid, what you owe, or what a product is called on TikTok Shop. Write that sentence into the scope document and use it to answer every request during the build. The core release should be receiving, putaway, directed picking, pack verification, one channel sync and returns intake. Everything else waits for phase two, when you have real throughput data telling you what actually hurts.

What goes wrong with SKU, bin and open order migration?

The stock file you have is wrong and nobody in the building believes how wrong until the count runs. Brands routinely carry SKUs that were merged in a channel but never merged in the spreadsheet, bundles recorded as single units, and physical locations that exist on the floor but not in any record because a picker invented an overflow shelf in 2023 and everyone just knows.

The specific ecommerce version of this problem is bundle and kit maths. If one saleable SKU is really three components, migrating it as a single stock line means your opening balance is a fiction and every subsequent count disagrees with the system. Serialised inventory has the same shape, where the legacy record has quantity but not serials, so the new system starts with a gap it can never close retrospectively.

The fix is unglamorous and it is a real workstream, not a weekend. Reconcile the channel catalogue against the physical shelf before migration, decide explicitly which SKUs are components and which are saleable, and give bundles a bill of materials rather than a stock balance. Then do a full physical count into the new bin structure as the migration event itself, rather than importing a balance and counting later. Run both systems in parallel for two to four weeks with the new one authoritative for physical moves and the old one authoritative for money, and cut over only when a zone reconciles cleanly two counts in a row. Budget three to five weeks for this. Projects that assume one week are the ones that go live with a stock file nobody trusts.

Why do Shopify and Amazon integrations break after launch?

They break because a marketplace connection is not a feature you build once, it is a relationship you maintain. Shopify and Amazon change their APIs on their own schedule, deprecate versions, adjust rate limits, and occasionally alter the meaning of a field without telling anyone who is not reading their developer changelog. A build that treats the integration as done at launch is a build that starts failing quietly in month five.

The failure mode is rarely a loud error. It is a webhook that stops arriving during a traffic spike because your endpoint returned a timeout and the platform stopped retrying, or a rate limit hit during a flash sale that silently drops fifty inventory updates. Amazon fulfilment adds its own layer, because their fulfilment centres hold stock you never touch, so reconciliation is a scheduled comparison rather than a live sync and it needs its own error handling.

The fix is to build the integration as a queue with observable state instead of a set of direct calls. Every outbound inventory update should be a job that can be retried, backed off and replayed. Every inbound webhook should be idempotent, so receiving the same order notification three times creates one order. Then instrument it: a dashboard showing sync lag per channel, failed job count and last successful reconciliation, checked by an actual human every morning. And write into the maintenance agreement who watches the platform changelogs and who pays for the work when a version is deprecated, because that day arrives whether or not it is convenient.

What happens when returns and cycle counting are not covered?

These two get pushed to phase two more than any other feature, and they are the two that decide whether your stock number stays true. Returns are trapped working capital. A unit sitting on a receiving bench for nine days is a unit you have already refunded and cannot sell, and in a brand doing meaningful volume that bench is quietly holding a large amount of sellable goods hostage.

The deeper problem is that an uncovered returns process creates phantom stock. Somebody puts a returned unit back on the shelf without a system transaction, so the physical count and the system count diverge, and the divergence compounds. Within a quarter your team is doing shelf checks before confirming large orders, which is exactly the behaviour the system was supposed to eliminate.

The fix is to treat a return as a first class inbound movement with a disposition decision attached. Scan the return, photograph the condition, route it to restock, refurbish, or scrap, and only a restock disposition makes the unit sellable again. Pair it with rolling cycle counts by zone so you never shut the warehouse for a full physical inventory, and set a variance threshold that triggers investigation rather than a silent adjustment. If a bin is out by one unit three counts running, something in the process is wrong and you want to know which process, not just correct the number.

Should you build custom or configure what you already own?

A large share of the brands who ask us for a custom warehouse management system should configure an existing one instead, and we tell them so. If your fulfilment shape is standard, meaning single warehouse, single unit or simple multi unit orders, no serialisation, no assembly at pick time, then a configured product like ShipHero, Fishbowl or a NetSuite warehouse module will run your floor and the money is better spent on inventory and marketing. Those products are mature at directed picking, scan verification and label printing, which is most of what a standard operation needs.

The honest test is not whether the platform annoys you. It is whether you are already paying developers to work around it. Count the scripts, the middleware subscriptions, the spreadsheet that reconciles two systems every Monday, and the transaction fees. If those together would fund a build inside two to three years, and the reason you cannot leave is a workflow the platform will never support, then a build is the cheaper option. Subscriptions, kitting at pick, serialised inventory, business to business and direct to consumer running different pick rules out of one building, and multi warehouse routing are the workflows that most often push a brand over that line.

There is also a middle path that gets picked less often than it should. Keep the platform for what it does well, and build only the layer it blocks. A brand whose real problem is bundle stock accuracy does not need a new warehouse management system, it needs a component level stock service that feeds the one it has.

How do hidden costs get into the quote?

The quote covers the software. The project covers rather more than the software, and the gap is where budgets break.

  • Warehouse infrastructure. Scanners, a label printer, and above all wireless coverage that actually reaches the back of the racking. Dead zones at the far aisles are discovered in week one of live picking, not during a site visit.
  • Data cleanup. The three to five weeks of SKU, bundle and location reconciliation described above. It is real work and it belongs in the plan.
  • Parallel running. Two to four weeks where staff do some tasks twice. That is overtime, and it is cheaper than a bad cutover.
  • Each additional channel. A second marketplace is not a configuration toggle, it is an integration with its own quirks, its own reconciliation and its own failure modes.
  • Ongoing maintenance. Budget 15 to 20 percent of build cost per year. Most of that is keeping channel integrations current, which is not optional.
  • Training during peak. Nobody wants to train pickers in November, so either you go live well before peak or you carry the cost of doing it badly.

Ask any vendor to itemise these separately rather than folding them into a headline number. A quote that does not mention data migration or wireless coverage is a quote written by somebody who has not stood in a warehouse.

What separates a build that works from one that fails here?

The successful ones share four traits. First, the hard problems are scoped first. Oversell prevention, returns disposition and multi channel reconciliation go in phase one, because a build that leaves them for the end discovers in month six that the data model cannot support them. Second, the cutover has a written plan with a rollback, because going live means moving real inventory without losing a shipping day, and vagueness there is the single strongest predictor of a bad launch.

Third, the rollout is phased. One zone or one channel proves itself in production while the rest of the floor runs as before. A brand that attempts a full floor big bang cutover in a single weekend is a brand that ships nothing on Monday. Fourth, somebody internal owns the system. Not a committee, one named person who reviews the sync dashboard, chases variances, and decides what phase two contains. Custom software without an internal owner rots faster than anyone expects, and the rot shows up first as staff quietly returning to their old workarounds.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
  2. Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
  3. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  4. EMARKETER reports that over 54% of mobile commerce transactions now happen within shopping apps rather than mobile browsers, underscoring the app channel's growing dominance of m-commerce. Source: EMARKETER (2025) →
Inaaya T. · Site Reliability Engineer · Delhi

Inaaya keeps client systems running at Digital Heroes: monitoring, alerting, incident response and the follow up work that stops the same failure repeating. Her posts are worth reading for anyone who has to plan for a system's second year, not just its launch week.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we stop overselling across Shopify and Amazon during a flash sale?

Decrement inventory when a unit is physically picked rather than when an order is placed, and hold one source of truth for physical stock that every channel reads from. That single design decision removes the window where two buyers on two channels can both claim the last unit. Then build the outbound update as a retryable queue rather than a direct call, because rate limits bite hardest at exactly the moment a flash sale is running and a dropped update is invisible until the cancellation email goes out.

Our bundle stock is always wrong. Is that a warehouse system problem?

It is a data model problem that a warehouse system exposes. If one saleable SKU is really three components, it cannot carry its own stock balance, it needs a bill of materials so availability is computed from the components. Brands that migrate bundles as single stock lines start with a fiction in the opening balance and never reconcile afterwards. Fixing this is often worth doing on its own, before any larger build, because it removes a large share of the counting your team does by hand.

How long does warehouse data migration actually take?

Plan three to five weeks inside the wider project, and treat a full physical count into the new bin structure as the migration event itself rather than importing a balance and counting later. The surprises are consistent: SKUs merged in a channel but not in the spreadsheet, overflow locations nobody recorded, and serialised items whose legacy record has a quantity but no serials. Teams that budget one week for this are the ones who go live with a stock file nobody trusts.

What breaks first after a warehouse system goes live?

Usually the channel sync, and usually quietly. A webhook endpoint times out during a traffic spike and the platform stops retrying, or a rate limit drops a batch of inventory updates with no visible error. The second most common is returns, because the process was scoped for phase two and staff put units back on shelves without a transaction, which starts the divergence between physical and system stock. Both are prevented by instrumentation: a daily view of sync lag, failed jobs and last successful reconciliation.

Should we configure ShipHero or Fishbowl instead of building?

If your fulfilment is standard, meaning single warehouse, no serialisation, no assembly at pick time and no split business to business rules, then yes, configure one of them and spend the money on inventory instead. They are mature at directed picking, scan verification and label printing. The build case starts when you are already paying developers to work around the platform, and when the workflow forcing that, such as subscriptions, kitting at pick or multi warehouse routing, is one the product will never support.

What is not included in a typical warehouse software quote?

Wireless coverage at the back of the racking, scanners and label hardware, the data cleanup workstream, two to four weeks of parallel running with the associated overtime, each additional sales channel as its own integration, and 15 to 20 percent of build cost per year in maintenance that is largely keeping channel integrations current. Ask for these itemised separately. A quote that never mentions migration or warehouse wireless was written without a site visit.

Can we go live across the whole warehouse in one weekend?

You can, and it is the most reliable way to not ship anything on Monday. The safer pattern is a phased cutover where one zone or one channel runs on the new system in production while the rest of the floor continues as before, then you expand once a zone reconciles cleanly across two consecutive counts. Phasing also means the training load is spread across a few people at a time rather than the whole shift at once.

Who needs to own the system internally after launch?

One named person, not a committee. Their job is to check the sync dashboard daily, chase count variances rather than silently adjusting them, and decide what goes into the next phase based on what is actually slowing the floor down. Custom warehouse software without an internal owner degrades quickly, and the first sign is staff quietly reverting to the spreadsheet workarounds the system was built to replace.

We run one small warehouse. What would a custom WMS cost for a business our size?
Plan on $40,000 to $80,000 for a focused single-site system covering barcode receiving, location tracking, directed picking, and a shipping station, which is the typical Digital Heroes range for operations with 5 to 30 floor staff. If your inventory pain costs less than about $1,500 a month in mispicks and recounts, custom rarely pays yet, and a mid-market tool or your ERP's inventory module is the smarter spend at that stage.
How do we migrate off spreadsheets or our old WMS without stopping the warehouse?
Run old and new in parallel on one zone or product line, then cut the rest over once a physical count validates the new data. Digital Heroes migrations import SKUs and locations weeks ahead, freeze the old system for a single weekend, and reconcile counts before Monday receiving, so floor disruption is measured in days rather than weeks. The riskiest data is not quantities but location mappings and unit-of-measure conversions, so audit those twice.
What are the biggest mistakes companies make on custom WMS projects?
Three repeat offenders from Digital Heroes' delivery experience: digitizing a broken process instead of fixing it first, skipping the parallel-run period so go-live errors hit live customer orders, and speccing the system entirely from the office without a single picker in the room. The fourth is treating training as a one-hour demo, because a technically sound system still fails when floor staff quietly keep paper backups. Put real floor training time in the project plan.
Is there any case where buying Manhattan or an ERP add-on beats going custom?
Yes. Buy when your processes are standard for your industry, you need proven functionality live within a quarter, or you are an enterprise that genuinely needs Manhattan's labor management and slotting algorithms, which took decades to refine and are not worth rebuilding. Custom wins on fit, ownership, and long-run cost, not on speed to standard features, and Digital Heroes turns away WMS projects where a $500-a-month packaged tool already solves the stated problem.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
How many people does it take to build a custom WMS?
Five is the typical Digital Heroes WMS team: a project lead, two backend developers, one developer on the scanner app and dashboard, and a QA engineer, with DevOps involved part-time. EDI-heavy or multi-warehouse scopes add a dedicated integrations developer. On your side, assign one operations person who can answer process questions within a day, because their availability moves the timeline more than adding developers does.
Who owns the code when an agency builds our WMS?
You should, completely, through an explicit IP assignment clause rather than a license. Digital Heroes assigns all custom code, database schemas, and documentation to the client at final payment, with the only carve-outs being generic open-source libraries. Also require that the repositories and cloud accounts live under your organization with the agency as an invited collaborator, so a change of vendor never locks you out of your own warehouse system.
How do I vet a software agency for a WMS project?
Ask for a warehouse or logistics system they have already shipped and talk to that client directly, since WMS punishes teams who have only built standard web apps. In the first call, a capable team asks about your racking layout, scan points, SKU count, and peak daily order lines before showing you anything, because a team that starts with screens instead of flows designs the wrong system. Also confirm who actually writes the code, as many agencies sell with senior people and deliver with juniors.
Who can build a custom warehouse management software system?

Digital Heroes builds custom warehouse management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other warehouse management software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?