Warehouse management on handhelds, from picking to GLS label
12 000
shelf locations, run from handhelds – offline too
An Android handheld warehouse system for a 12,000-location warehouse, with a web back office, connected to the existing Flexium ERP, with Zebra label printing and GLS.
- Scope
- 974 hours, 6 phases
- Team
- Backend, frontend, mobile, PM, QA
- Hosting
- On the client’s own servers
- Warehouse
- 12,000 locations, Android handhelds that also work offline
- 2026–
- In progress, on schedule
Screenshots
Screenshots use demo data – no real customer data is shown.
Contents
Modules
Purchasing, logistics & inventoryMobile back-end apps
Technology
KotlinJetpack ComposeRoom (offline)PHP 8.2CodeIgniter 4PostgreSQLVue 3PrimeVueFlexium API
About the client
Cardex Európa is a well-known name in Hungary’s greeting card and gift market: Hallmark and Disney products, its own display stands in national retail chains, a Superbrands award – and grass-paper gift bags that show it takes sustainability seriously. Every day a huge number of small items leave its warehouse, and it asked for a system that keeps up with that pace without errors.
Starting point
In a 12,000-location warehouse, picking, replenishment, packing and labelling were not a mobile process connected to the ERP, and a traditional stocktake seemed impossible.
What we built
- 01Android handheld app: picking log, totes, packing station, boxing, internal box labels, put-away, replenishment, receiving, stocktaking
- 02Picking tasks generated from orders, with optimal location and route suggestions; automatic replenishment tasks for locations below minimum
- 03Stocktaking tasks generated every morning for countable locations – so the whole warehouse is counted continuously
- 04Web back office: orders, replenishment documents, reports, configuration
- 05Two-way Flexium ERP sync: items, orders, end-of-day stock movements
- 06Location rules (minimum and maximum per item, item group or shelf band) and put-away suggestions; mandatory scan-back, and strict orders can only close in full or with a substitute item
Challenges
- Offline operation: handhelds keep working without Wi-Fi and sync later – coverage must never stop the process
- High picking volume: orders must be turned into picking tasks, with the system suggesting the optimal location and sequence
- Locations that fall below minimum must automatically get a replenishment task
- A stocktake seemed impossible – who could count 15,000 identical postcards? So every morning stocktaking tasks are created for locations that can actually be counted
- Two-way sync with an external ERP
Changes along the way
Something always changes on a large project. This is how we handled it.
What works elsewhere stays there
Delivery notes stayed in the existing ERP and were taken out of scope. The planned hours were kept as a reserve both sides can use for extensions.
Timeline
Jun 2026
Kick-off: API and ERP link
Sep 2026
Picking module delivered on time
Autumn 2026
Packing, labelling, back office
Dec 2026
Planned go-live







