Warehouse and order fulfillment

The warehouse screen runs full screen, with a barcode scanner and spoken prompts. Every action happens at one clear moment: a scanned item, a confirmed bin, a printed label. Stock is recorded by the work itself rather than by separate reports.

Picking: parallel sessions, queue split by courier and country, start barcode picking
Barcode picking

What problems it solves

In most warehouses, stock is kept in two places: in people's heads and in a spreadsheet someone updates at night. Orders are picked from memory, the customer is the first to find out they got the wrong item, and the online store sells goods that are no longer there. The more channels and staff you have, the more often this happens.

In our warehouse, what has been scanned counts as true. Stock is not typed in separately. It comes from receiving, put-away, picking and returns. When a figure does not add up, the system shows which movement changed it and which document is behind it.

The second goal is to let the person at the shelf work quickly. They do not switch between programs or copy numbers. They have one full-screen view, a scanner in hand and a clear answer after every action: correct, wrong, or what comes next.

How it works

A day in the warehouse goes through a few clear moments. Each one is a single action that leaves a record.

  1. A delivery arrives. Goods are scanned against the purchase order, or booked in from the invoice and then checked physically. Surplus and unordered items show up immediately.
  2. Received goods cover waiting orders first. The rest goes on a shelf and the bin is confirmed by scanning. From then on the item has an address in the warehouse.
  3. Orders from every channel land in one queue. It is split into sessions by courier, country or operator, so several people can pick at once without getting in each other's way.
  4. The picker scans the bin and the item. If the item is wrong, the screen stops it, and where it helps, a voice says where to go and how many to take.
  5. On confirmation, stock is written off, the waybill is issued and the label comes out of the thermal printer with no print dialog.
  6. A returned parcel is scanned, the goods go back to their bin and the order is cancelled. The customer is refunded with a separate button, so you know exactly when it happened.
  7. Stock counts are done bin by bin: scan the position, count the goods, save the result. Differences go into the movements with a reason and do not get lost in a new number.

What you get

  • Stock calculated by one formula (on hand, reserved, available) that reads the same in the warehouse, in orders and in your online stores.
  • A movements ledger where every receipt, write-off and adjustment links back to the document or order that caused it.
  • Purchase orders built from what customer orders are short of, which never order the same thing twice.
  • Checks that say in plain language what does not match, without waiting for someone to notice.
  • A restricted mode for a dedicated warehouse computer that shows only the warehouse screens and hides the rest of the menu.
  • The system is yours, with no licence and no per-user fee. A new warehouse employee costs nothing extra.

What it connects to

The warehouse is part of the same database as orders, documents and couriers, not a separate program. So stock follows sales without nightly exports and imports.

  • Online stores: Shopify and WooCommerce. The warehouse writes stock to them, and they do not change it in the warehouse.
  • Marketplaces and the physical shop: orders from eMAG, eBay and the till reserve from the same stock.
  • Couriers: the waybill and label are issued at the moment of confirmation.
  • Sales documents and returns: the write-off and the reversal come from the same action.
  • Excel: for importing barcodes and price lists and exporting purchase orders and reports.

Why we avoid intermediate states

We avoid intermediate states that the system maintains on its own, such as "goods in transit", automatic transfers between warehouses or draft documents nobody closes. Sooner or later they get stuck and leave quantities that are nowhere.

With us, every movement has one moment a person can point to: scanned, confirmed, printed. When the system refuses an action, it says why and what the next step is.

Modules in this solution

Barcode picking

The picker scans the bin, then the item, and the system marks the line as picked. The list of waiting orders can be filtered by courier and country, and the screen stops a wrong item straight away. The scanning itself fulfils the order, with nothing typed in separately.

Runs in: KoreanCare, Ivana Agro, KB Agro, Cosmetics of Korea

Voice picking

On every scan a recorded voice calls out the bin and the quantity. The audio is pre-recorded, so it plays with no lag even on a modest computer. The picker can keep their eyes on the shelf instead of the screen.

Runs in: KoreanCare

Several pickers at once

Several people pick at the same time, each in their own session, split by courier, country or operator. One order cannot end up in two sessions. The list of waiting orders and its filters stay on screen, so everyone can see what is still left.

Runs in: KoreanCare

Items without a barcode

An item with no barcode is confirmed with a button, and an X of Y counter shows how many are left. The order cannot be closed while any line is unconfirmed. Nothing drops out of the parcel unnoticed.

Runs in: KoreanCare

Receiving with a scanner

Incoming goods are scanned against the purchase order, and each line shows how much was ordered and how much arrived. If an item is not on the order, the scan adds it as a new line. What arrives goes to waiting orders first, and the rest goes to stock.

Runs in: KoreanCare, Ivana Agro, KB Agro

Receiving from the invoice

Goods are booked in from the supplier invoice and then checked physically with the scanner. If someone uploads the same invoice again, the system shows only the missing lines and adds them to the original delivery. A closed delivery is never reopened.

Runs in: KoreanCare

Multi-bin receiving

A scanned bin applies to every item after it until another bin is scanned. Changing the bin before any item is scanned counts as correcting the choice. That way one delivery goes onto the shelves in a single pass.

Runs in: KoreanCare

Put-away

Received goods are put on a shelf and the bin is confirmed by scanning it. Stock per bin updates at the moment of the scan. The next person looking for the item finds it where the system says it is.

Runs in: KoreanCare

Received counts as picked

Goods received for a specific order count as already picked and are not searched for again on the shelves. In picking, that line shows as done. An order that is already fulfilled does not reserve the incoming goods.

Runs in: KoreanCare

Bin locations

Every shelf and position is a record with a barcode, and goods and spare parts are kept per bin. You can see what is in each bin and where every item sits. A bin-versus-stock check shows the differences before they cause trouble at picking.

Runs in: KoreanCare, Ivana Agro, KB Agro

Bin labels

Barcode labels for bin locations are printed from the bin list. Each label carries the bin code the scanner reads during picking and receiving. A new bin is ready for work as soon as its label is printed.

Runs in: KoreanCare, Ivana Agro, KB Agro

On hand and reserved stock

Every item has three figures: on hand, reserved and available to sell. Reservations follow open orders from every channel, and stock is written off on fulfilment. Available stock comes from one formula and reads the same everywhere.

Runs in: KoreanCare, Ivana Agro, KB Agro, Easy App, BS Omni ERP

Stock movements

Every receipt, write-off and adjustment is a line with a time, a direction and a reason. Each line links to the document or order that caused it. When stock does not add up, this is where you find out why.

Runs in: KoreanCare, Ivana Agro, KB Agro, Easy App

Stock correction

A barcode or a per-bin quantity is changed straight from the stock list. A new barcode is also written to the online store. Every correction leaves a trace in the stock ledger.

Runs in: KoreanCare

Stock count

Scan the bin, scan the items one by one, enter what was actually counted, and save. Differences are shown before saving and go into the ledger with a reason. For a shop with a till, the count is also reconciled with the till's file.

Runs in: KoreanCare, Ivana Agro, KB Agro, BS Omni ERP

Hourly mismatch checks

Every hour the system compares orders, warehouse and online stores. The result is written as a sentence: which item, where it differs and by how much. Stock reductions with no order behind them show up here too.

Runs in: Easy App, BS Omni ERP

Barcode import from Excel

Barcodes are uploaded from Excel by SKU. Before saving you see which are new, which match and which do not find an item. Only what you approve is saved.

Runs in: KoreanCare

Warehouse as source of truth

Stock is calculated from the bins, pending documents and what has already been picked. The online store receives the exact quantity rather than a difference, so errors do not pile up. A nightly reconciliation catches anything that drifted during the day.

Runs in: KoreanCare

Supplier purchase orders

What the orders are short of is gathered into a purchase order per supplier, with quantities you can adjust by hand. The order goes out by email or as a file, and anything already ordered is not ordered twice. On receiving, deliveries are checked against the order line by line.

Runs in: KoreanCare, Ivana Agro, KB Agro, Easy App, BS Omni ERP

Checking purchase orders against orders

Before it is sent, the draft purchase order is checked against the customer orders. Cancelled and removed items come off, and items added to an order go on. Orders on hold are left alone.

Runs in: KoreanCare

Restock requests by brand

Out-of-stock and low-stock items are listed grouped by brand. Supplier and price are chosen by hand, the list is exported to Excel and saved as an expected delivery. When the goods arrive they are received against it.

Runs in: KoreanCare

Reorder forecast

From sales velocity and supplier lead time the system tells you when an item will run out. Items are ranked by urgency: out, critical, low. Selected lines become a purchase order in one step.

Runs in: KoreanCare, Ivana Agro, KB Agro

Supplier card

Each supplier has a card with contacts, price list and lead time. It is marked as a daily supplier or an external one with a longer lead time. Purchase orders and forecasts use this data without it being entered again.

Runs in: KoreanCare, Ivana Agro, KB Agro, Easy App, BS Omni ERP

Importer stock

Before ordering you can see what the importer has in stock. Sales staff know whether a part can arrive quickly without making a phone call. The customer gets an accurate answer the first time.

Runs in: Ivana Agro, KB Agro

Parts issuing

Parts for a service job or a customer are issued against a request: picked by scanner or by hand, then "Complete and issue". Quantities are written off from the bins at that moment. Every issue is visible in the ledger.

Runs in: Ivana Agro, KB Agro

Shared restock list

Shortages from service jobs are collected into one shared draft, with quantities summed per item. Lines can also be added by hand. "Send request" sends everything at once and downloads an Excel file.

Runs in: Ivana Agro, KB Agro

Parts kits per model

Each machine model has a ready kit of spare parts for servicing. For a service job the whole kit is taken instead of searching for parts one by one. The service team knows in advance what to take.

Runs in: Ivana Agro, KB Agro

Parts deliveries for customers

Parts ordered for a specific customer are tracked from request to arrival and handover. You can see what is waiting on the supplier and what is ready for collection. Sales staff can answer the customer without checking by hand.

Runs in: Ivana Agro, KB Agro

Service vans as mobile warehouses

Each service van is its own warehouse, with stock and movements. The technician sees "my warehouse" and knows what is on board before setting off. Mileage is recorded against the van.

Runs in: Ivana Agro, KB Agro

Pack-size allocation

When an item comes in several pack sizes, the system works out how many packs of each to use for the exact quantity. It picks the fewest packs and the fewest pack types, with no surplus. The picker gets a ready list.

Runs in: Easy App

Warehouse analytics

Besides quantities, the warehouse shows stock value, stock that is not moving, sales velocity and upcoming shortages. A separate tab points out incomplete data: items with no price, no bin or a mixed-up unit of measure. Everything is calculated on the server and opens quickly.

Runs in: Ivana Agro, KB Agro

Returns

The warehouse scans the returned parcel, which puts the goods back in stock and cancels the order. The item also comes off the supplier order if it has not been ordered yet. The refund is a separate button, and for cash on delivery a credit note is issued.

Runs in: KoreanCare, Cosmetics of Korea

Direct label printing

A small local app on the warehouse computer prints labels and A6 waybills straight to the thermal printer. There is no print dialog and no printer choice for each parcel. The label comes out the moment the order is confirmed.

Runs in: KoreanCare

Label archive

Every printed label is kept as a PDF in a folder on the warehouse computer. One button downloads them all at once, so every waybill stays at hand after printing.

Runs in: KoreanCare

Packing list with barcodes

The packing list is generated from the order and printed straight from the browser or saved as a PDF. Each line carries a vector barcode that scanners read cleanly, and the header repeats on every page. If a field is missing, it is left blank to fill in by hand rather than made up.

Runs in: Easy App

Screens

Where it runs

KoreanCare

International online store for Korean cosmetics

An international Shopify store for many markets and languages, with the BS Management system around it: a warehouse with barcode and voice picking, waybills for several couriers, our own checkout shipping service, sales documents, feeds, advertising, SEO and translations into many languages.

See the project

Easy App

Own product

Own product — business app for wholesale and retail

A business app for a wholesale and retail merchant: orders from Shopify and WooCommerce, a physical shop, waiting customers and stock allocation, supplier requests, wholesale invoices with VIES checks and export, versioned price lists and a B2B site with packing lists.

See the project

Frequently asked questions

Do we need special hardware?

An ordinary computer or tablet with a browser, a barcode scanner that works as a keyboard and a thermal label printer are enough. For direct printing with no print dialog, a small local app is installed on the warehouse computer. You do not need an expensive warehouse terminal.

Some of our items have no barcode. Is that a problem?

The work does not stop. An item without a barcode is confirmed with a button, and a counter shows how many lines are left, so nothing drops out unnoticed. Barcodes can be added gradually, one at a time from the list or in bulk from Excel.

Can we start with picking only, without receiving and bins?

Yes. We roll the system out in stages and each stage works on its own. Usually we start with picking and write-off, then add bins, receiving and stock counts.

What if the online store and the warehouse show different stock?

The warehouse leads. Stock is calculated from the bins and pending documents and written to the store as an absolute figure. The check describes the difference in one sentence (which item, where and by how much), and you can trace it in the movements ledger.

Does it work with several warehouses or vans in the field?

Yes. Each warehouse, shop or service van can be its own location with its own stock and movements. Available stock is calculated by the same formula for all of them.

Who owns the system once it is built?

You do. The code and the data stay with you, with no licence and no per-user fee. We maintain and extend it whenever you need.

Got a process that keeps getting stuck?

Describe it briefly. We will tell you how we would solve it.

Send an inquiry
Call us