Open-source Warehouse Control System

The WCS you
actually control.

openWCS orchestrates your automation — conveyors, ASRS, AMRs, AutoStore — and the real-time flow of goods, sitting between your WMS/ERP and the machines. Open, vendor-neutral, and yours to change.

AGPL-3.0 open source · self-host · no per-flow license fees

openWCS orchestrating an automated warehouse — conveyors, racking and robots
WMS / ERP openWCS Conveyor ASRS AMR AutoStore

What openWCS does

An open WCS that does the real work — and lets you change it.

openWCS is a full warehouse control system built in the open: the same capabilities you expect from a commercial WCS, with none of the lock-in. Run it yourself, read every line, and adapt it to your building.

Equipment

Vendor-neutral by design

A uniform device contract with adapters for conveyors, ASRS, AMRs and AutoStore. Add a vendor without re-architecting — their protocol stays in the adapter.

Conveyor routing

Routing you can see

Draw the conveyor topology in a visual editor, route handling units by shortest path through their targets, enforce loop limits — and even learn the layout from live traffic.

Processes

Design your own flows

A built-in BPMN designer: model goods-in, outbound and cycle-count processes in the browser, deploy instantly, and have their steps originate real WCS work.

Inventory

Real-time, event-sourced stock

Durable stock projected from an append-only transaction log, with location-scoped availability and reservations. Rebuildable, auditable, and yours to query.

Outbound

Allocation, cubing & labels

Pick-location allocation with UoM breakdown, multi-size cubing into shippers (largest-first, line-traceable), per-carton dispatch labels, and batch picking.

Host API

Integrate your WMS once

One canonical, vendor-neutral Host API for orders, ASNs and confirmations. SAP and Manhattan adapters translate into it; idempotency and webhooks included.

Security

Secure by design

Gateway JWT validation, per-endpoint role-based access control, and Keycloak — all toggleable so you can start simple and lock down for production.

Architecture

Built to evolve

Independent microservices, schema-per-service Postgres, a Kafka event backbone, and contract-first APIs — so you can extend or replace any part. Cloud-native: every service is stateless and scales horizontally on Kubernetes behind any load balancer.

Open

No lock-in, ever

Open source. Self-host on your own infrastructure, fork it, and integrate whoever you like. Leaving is never a rip-and-replace.

Slotting

Slotting & replenishment

Configurable put-away for ASRS/AutoStore/AMR blocks — velocity-to-exit, multi-deep same-SKU lanes, aisle redundancy and fill balancing — plus fixed pick-face min/max with opportunistic replenishment and direct-to-pick.

The problem

Your WCS shouldn’t be a black box.

Most warehouse control systems are shipped by the integrator who installed your equipment — closed software, tied to their stack and their contract. The logic that routes your totes and allocates your stock is hidden, and every change goes through them. That’s fine until you need to move fast.

Opaque

Black-box logic

You can’t see how routing, allocation or cubing decisions are actually made — so you can’t trust, tune, or debug them.

Slow

Every change is a quote

A new pick path or process tweak means a change request, a price, and a place in someone else’s queue.

Locked in

One vendor, one stack

The WCS is bound to the integrator’s preferred hardware and protocols. Adding a new device family means going back to them.

Hostage

Your data isn’t yours

Operational history and live state live inside a system you can’t query or export on your terms.

Risk

Their roadmap, not yours

Their priorities, their pricing, their support window. Switching later means a rip-and-replace project.

Cost

Pay to keep the lights on

Licenses, support contracts and change fees compound — for software you’ll never own or fully see.

openWCS vs. a locked-in integrator WCS

Same control floor. Different rules.

Capability Typical integrator WCS openWCS
Source & ownershipClosed binary you licenseOpen source you run and own
Change a process or pick pathPaid change request, weeks of lead timeDraw it in the BPMN/topology editor and deploy yourself
Equipment vendorsTied to the integrator’s preferred hardwareVendor-neutral adapters over a uniform device contract
Conveyor routing logicOpaque PLC / black-box rulesVisual, shortest-path, editable — and learnable from traffic
WMS / ERP integrationBespoke interface, re-built per integratorOne canonical Host API; SAP/Manhattan adapters translate in
Your operational dataTrapped inside the vendor’s systemEvent-sourced log + Postgres you host and query
Switching / exitRip-and-replace projectNo license lock-in — fork, self-host, extend
Cost modelLicense + support + per-change feesFree core; pay only for hardware, ops and the partners you choose
Slotting & replenishmentVendor's fixed rules, opaque and hard to tuneConfigurable put-away scoring + min/max replenishment you can read and change

Under the hood

Transparent by construction.

A clean microservice architecture you can read end to end: each service owns its data, movements are events on an append-only log, and equipment lives behind adapters.

            ┌──────────── API gateway ── JWT · RBAC ────────────┐
  WMS / ERP ─►  Host API  ─►  order-management · master-data · inventory
            │                          │  (event-sourced transaction log → Kafka)
            │   process-engine (BPMN) ─► flow-orchestrator ─► device adapters
            │   allocation · slotting · goods-to-person (put-to-light) stations
            └──────────────────────────┴────►  Conveyor · ASRS · AMR · AutoStore
Java 21 · Spring Boot

Domain services

master-data, inventory, orders, allocation, slotting, goods-to-person stations, flow-orchestrator, txlog, IAM — each independently deployable.

Go

Equipment adapters

Lightweight drivers that speak each vendor’s protocol and the uniform device contract.

Postgres · Kafka

Event backbone

Schema-per-service stores and an append-only event log — auditable, replayable, rebuildable.

Built in the open

Take control of your control system.

Read the code, run the stack with Docker Compose, and shape it to your warehouse. Contributions welcome.