Background Mobile

Warehouse Management Systems: Streamlining Inventory Control

erp/
September 17, 2026
Warehouse Management Systems: Streamlining Inventory Control

A practical look at how warehouse management systems actually work under the hood, what they get right, where they fail, and what to think about before you build or buy one.

What Does a WMS Actually Do at the Data Layer?

A warehouse management system is, at its core, a real-time inventory ledger with location awareness. Every SKU has a position in a three-dimensional grid: zone, aisle, rack, bin. Every movement, whether a receipt, a pick, a transfer, or a dispatch, writes a transaction against that grid.

The core data model is simpler than most people expect. You have:

  • A location master (static: physical addresses in the warehouse)
  • An inventory ledger (dynamic: quantity-on-hand per SKU per location)
  • A movement log (append-only: every transaction with a timestamp, operator ID, and quantity delta)

Most WMS failures happen because teams treat the movement log as optional or let it fall out of sync with the ledger. Once those two diverge, cycle counts become archaeology.

How Stock Accuracy Is Actually Measured

The industry standard metric is inventory record accuracy (IRA), calculated as the number of locations where physical count matches system count divided by total locations counted, expressed as a percentage. Best-in-class operations run above 99.5% IRA. Below 95%, picking errors compound fast enough to affect order fill rates visibly.

Radio-frequency (RF) barcode scanning at point-of-movement is the baseline method for maintaining IRA. Modern deployments add RFID at chokepoints (dock doors, zone entries) to catch the movements that operators forget to scan. RFID does not replace scanning; it catches exceptions.

Which Integration Points Break First?

The WMS sits between your ERP and your physical floor. Both sides generate events independently, and the WMS has to reconcile them continuously.

On the ERP side, the critical integration is purchase order receipt. When a PO is received in the WMS, it needs to post a goods receipt in the ERP within seconds, not in a batch run hours later. Batch syncs cause overselling and phantom stock. Use event-driven integration over a message broker (RabbitMQ, Kafka, or a managed equivalent like AWS EventBridge) rather than scheduled polling jobs.

On the floor side, the problem is device diversity. A mid-size warehouse typically runs Zebra handheld scanners on Android, fixed RFID readers with proprietary firmware, and increasingly, mobile robots with their own fleet management APIs. Each of these speaks a different protocol. Building a normalisation layer that converts all of them to a single internal event schema early on saves months of integration work later.

The other integration that breaks quietly is the carrier API connection for shipping label generation. Carriers update their label specifications and API versions on their own schedules. Zebra ZPL templates that worked fine in 2022 may produce non-compliant labels with a carrier's 2024 spec. Build version-aware label rendering and test against carrier sandbox environments on every deployment.

/// Not sure where to start?

Get the architecture before you commit

Tell us what you're building and we'll map the technical approach, stack, and rough timeline. No cost, no obligation, no sales call required.

How Should You Model Multi-Location and Multi-Owner Inventory?

If you run a 3PL or operate across multiple fulfilment centres, the single-location model breaks down quickly.

Multi-location inventory requires a location hierarchy above the bin level: warehouse, then zone, then aisle, then bin. Queries that aggregate stock across locations need to be explicit about which level they're operating at, because a "total available" figure that includes in-transit stock between facilities is genuinely different from "available at location X" for an outbound pick.

Multi-owner inventory (3PL scenario) adds a client dimension to every ledger entry. The ledger row is not just (SKU, location, quantity); it becomes (client, SKU, location, quantity, lot, expiry). Lot and expiry tracking are mandatory the moment you handle food, pharma, or any regulated product.

Allocation Logic and Reservation

Available-to-promise (ATP) logic is where most custom WMS builds go wrong. The naive approach is:

ATP = on_hand - reserved

The production-grade version accounts for:

  1. On-hand quantity per location
  2. Inbound PO quantities with expected receipt dates
  3. Hard reservations (orders already waved and in pick)
  4. Soft reservations (orders in the queue but not yet waved)
  5. Hold quantities (QC hold, damage hold, recall hold)

Getting this wrong means you confirm orders you cannot fulfil or turn away orders you could have taken.

What Does a Realistic WMS Tech Stack Look Like?

There is no universal answer, but there are sensible patterns.

Layer Common choices Notes
Backend API Node.js, Go, Java Spring Boot Go is strong for high-throughput event processing
Database PostgreSQL with partitioning, or CockroachDB for geo-distributed Avoid NoSQL for the core ledger; ACID matters
Message broker Kafka or RabbitMQ Kafka for high-volume event streaming; RabbitMQ for simpler topologies
Real-time sync WebSockets or Server-Sent Events For floor display boards and pick-to-light systems
Mobile/RF client Android with Zebra EMDK, or browser-based with Honeywell SDK Browser-based is more portable but slower on older devices
Label printing ZPL via Zebra SDK, or PDF generation with Bartender ZPL is faster; PDF gives more layout flexibility
ERP integration REST or IDOC (SAP), REST or GraphQL (others) Match the ERP's native integration method

PostgreSQL with table partitioning by date handles most warehouse transaction volumes without drama. Partition the movement log by month; most queries are against recent data anyway.

Should You Build, Buy, or Extend?

This is where the honest answer is: it depends on what makes your operation unusual.

Off-the-shelf WMS platforms like Manhattan Associates WMS, Blue Yonder, or Infor WMS cover 80–90% of standard warehouse operations very well. They have years of edge-case handling baked in and carrier integrations already maintained. If your warehouse runs a standard pick-pack-ship model with one or two carriers, buying and configuring is almost certainly faster and cheaper than building.

The case for custom development is narrow but real:

  • Your picking logic is genuinely non-standard (dynamic slotting based on real-time demand forecasting, for instance)
  • You need deep integration with proprietary automation equipment that off-the-shelf vendors do not support
  • You operate in a regulatory environment where the off-the-shelf audit trail is not sufficient
  • You are a 3PL with client-specific billing and reporting requirements that would require heavy customisation of any purchased system anyway

Building a WMS from scratch takes a competent team approximately 12 to 18 months to reach production-readiness for a single-site operation. That estimate assumes experienced engineers who have operated in warehouse environments before. If the team is learning the domain while building, add six months.

Conclusion

A WMS is only as good as the accuracy of its movement log. Before choosing a platform or starting a build, audit your current inventory processes and identify where movements go unrecorded. Fix that first. Technology cannot compensate for a team that does not scan.

The next concrete step: map every physical inventory movement in your warehouse, from truck dock to bin to pack station to outbound dock, and verify that each one is captured in your current system within 60 seconds of it happening. That audit will tell you more about your WMS requirements than any vendor demo.


FAQ

What is the difference between a WMS and an ERP inventory module? An ERP inventory module tracks stock at a site or warehouse level. A WMS tracks stock at the bin level within a warehouse, records every physical movement, and manages real-time picking and putaway tasks. For small operations with simple needs, the ERP module is sufficient. For active fulfilment operations, it is not.

How long does a WMS implementation typically take? A configurable off-the-shelf system like Manhattan or Blue Yonder takes six to twelve months to go live for a single site, depending on integration complexity. A custom-built system takes twelve to eighteen months for a production-ready single-site deployment. Multi-site rollouts add time proportional to site complexity, not just site count.

What is the most common cause of inventory inaccuracy in a WMS? Missed scans at point-of-movement. When an operator moves stock without scanning, the system ledger and physical reality diverge immediately. The fix is process enforcement and RFID exception catching at zone boundaries, not more sophisticated software.

Do you need RFID if you already have barcode scanning? Not always. RFID adds value at high-throughput dock doors where scanning every carton individually is a bottleneck, and as an exception-catching layer. For most mid-size warehouses running below 500 outbound lines per day, barcode scanning with disciplined process adherence is sufficient.

Can a WMS handle lot traceability for regulated products? Yes, but it requires explicit design. The inventory ledger must carry lot number and expiry date as first-class fields, not as optional attributes. FEFO (first expiry, first out) picking logic must be enforced at wave time, not left to the picker's discretion. Any WMS platform you evaluate for pharma or food should be asked specifically how it handles lot splitting across locations.

Have a project in mind? Contact Sodio Technologies to discuss your requirements and explore the right technology solution for your business.

/// Work with us

Talk to the engineers who'd build it

You'll get a technical scope, timeline and cost estimate from the people doing the work, not an account manager. In-house team, no subcontracting, since 2016.

Contact Us