Skip to content

Self-hosted WMS built for the floor.

Lightweight, opinionated warehouse management for multi-channel sellers shipping 50–500 orders a day.

If you're outgrowing spreadsheets but the enterprise players feel like overkill, that's exactly the gap PickOps fills.

AGPL-3.0 self-hosted. Commercial license available for hosted deployments.

Screenshot: the floor pick walk on a phone — location FH-04-C-03, item 2 of 2 picked, with scan-to-confirm and a skip-order option.

Built for warehouses, not boardrooms

Most WMS tools are built by software people who've read about warehouses. PickOps starts from the workflow on the floor and works back.

pick list

Pick lists sorted by aisle

Workers traverse the warehouse in a single pass. Location-grouped pick lists honor the building → aisle → bay hierarchy you actually walk.

scan reticle

Scanner-native receive + pick + pack

Scan-each flows on touch-first kiosks. Idempotent on the wire so a flaky network never double-posts. Manual entry always works as a fallback — scanners enhance, never required.

Transaction-journaled inventory

Every movement is a transaction record — inbound, outbound, transfer, cycle count. Inventory levels are projections of the journal, not the source of truth. Audit trail comes free.

product

Full identifier support

EAN, ISBN, UPC, SKU, internal codes — any product can carry any number of identifiers. Imports resolve against all of them, not just one.

Flexibility first

No expensive capital investment up front. Start with the equipment and process you already have, and add scanners, kiosks, and bin locations as you need them.

Self-hosted, Docker-native

Spin up locally or on your own infrastructure with Docker Compose. Intentionally minimal system requirements. Grows with you.

One product, three surfaces

Floor workers tap. Pack stations scan. Admins type. Three UIs each tuned to the input mode that role actually uses.

Screenshot: the floor pick walk on a phone — location FH-04-C-03, item 2 of 2 picked, with scan-to-confirm and a skip-order option.

Touch-first

Floor

Big tap targets, single-pass aisle traversal, scan-each picking that auto-advances.

Screenshot: the admin orders table on a desktop — a dense, filterable list of orders with per-package actions.

Mouse + keyboard

Admin

Dense tables, keyboard-driven filters, bulk imports. Same auth, role-gated routes.

Screenshot: the pack station on a tablet — items scanned one by one against the order, with a running packed count.

scan reticleScanner-first

Pack station

One scan per item, Enter seals the box. Idempotent on the wire so a flaky network never double-posts.

Quickstart

Three lines to get a local instance running. Then run migrations and bootstrap a first admin from the install docs.

Needs
Docker + Docker Compose. Docker Desktop on Mac and Windows, Docker Engine on Linux.
Disk
~2 GB free for the database and container images.
Hardware
Any machine that runs Docker. Barcode scanners and label printers are optional — every flow works without them.
git clone https://github.com/pickops/pickops.git && cd pickops
cp .env.example .env
docker compose up --build

Open core, in the open

There is no crippled free tier. Everything described on this page is in the open-source repository.

AGPL-3.0 — the whole product

No feature gating, no seat limits, no per-order fees, no upsell wall. Self-host it, read it, modify it, and run your warehouse on it for as long as you like. Your data stays in your own Postgres instance.

Commercial license

For organizations that can't accept AGPL terms, or that want to offer PickOps to others as a hosted service. A managed hosted tier doesn't exist yet — if you need one, say so in a discussion and it'll shape what gets built.

Start a discussion

Common questions

What is PickOps?

PickOps is an open-source, self-hosted warehouse management system (WMS) for multi-channel sellers shipping roughly 50-500 orders a day. It handles receiving, picking, packing, and inventory on hardware you control.

Do I need barcode scanners to use it?

No. Scanners make every flow faster, but none of them require one — manual entry works everywhere, including for items that have no barcode at all. A dead scanner battery slows the floor down; it doesn't stop it.

Does it print shipping labels?

Not yet. Packing slips print today through the browser print pipeline, and there's a ZPL endpoint for Zebra thermal printers, so location and badge labels work now. Carrier labels are the next integration on the roadmap.

Does it connect to Amazon, eBay, or Shopify?

Not yet. Orders come in today via TSV and CSV import with flexible column mapping. Marketplace connectors are designed as plugins rather than core, so they can be added without reshaping the product.

How do I get my data out?

It's your PostgreSQL database, running on your own server — connect to it directly and query it however you like. There's no export request to file and nobody to ask.

What happens if the project stops being maintained?

The AGPL licence means you keep a running copy and the source it was built from, forever. Nothing phones home, nothing expires, and no vendor can switch it off.

Open source. Self-hosted. Yours.

Star the repo if PickOps is useful to you. Contributions welcome, read the contributing guide to get started.