Skip to main content

How batches share orders and set stock aside (Beta)

Beta: pick one order on several batches, filter batch profiles by status, and see how stock holds, Batch Allocation and Fulfillable work.

Beta: this feature is new and still experimental. It is released to the Next version of SKULabs first, and it can change before it reaches every account. If something does not work as described here, contact support at support@skulabs.com.

Batches can now share an order. When an order's items are stocked in different warehouses, a picker in each warehouse can pick their part of the same order at the same time, on their own batch. SKULabs also keeps track of the stock each batch and each printed order sets aside, so two pickers are never sent to the shelf for the same unit.

This article explains how that works, what you need to set up, and what you will see on the Batch, Orders and Order pages. Batches are not on every plan. To add them, contact sales.

Multi-batch orders and stock holds: what's new at a glance

  • One order, several batches. Each batch takes only the items its own warehouses can supply. Each picker sees, picks and ships only their part.

  • New Statuses filter on batch profiles. You choose which order statuses a batch profile can pick from, including orders another batch is already working.

  • Correct order statuses across batches. An order is Partially cleared while another batch is still picking it, and Cleared when the last batch finishes.

  • Stock holds. Building a batch or printing a packing slip sets the stock aside for that order. Holds shrink as stock is deducted and are released when the work is done.

  • More accurate Fulfillable column. Fulfillable on the Orders page now leaves out stock set aside for other orders.

  • Restart and delete only undo their own batch. They no longer wipe another picker's progress.

  • No more errors when two people build a batch at once. The second picker sees a short notice and the build continues on its own.

Existing batch profiles keep working exactly as before. Nothing changes for a profile until you set its new Statuses filter.

Key terms

  • Stock hold – units SKULabs has set aside for one order, so no other batch or printed order counts on them. A hold comes from a batch or from printing.

  • Batch Allocation tag – the tag SKULabs adds to an order when printing sets stock aside for it. Removing the tag gives that stock back.

  • Fulfillable – the column on the Orders page that shows how much of an order can be filled from the stock that is free for it.

Picking one order on more than one batch

A batch now claims each item line it can supply from its own warehouses. A line belongs to one batch only. When geo routing splits a line between two warehouses, each half is treated as its own line, so each warehouse's batch takes its half.

Example

Order #1001 has a costume (stocked only in Warehouse A) and a wig (stocked only in Warehouse B).

  1. Picker A builds a batch for Warehouse A. The batch takes the costume line. Picker A only sees the costume.

  2. Picker B builds a batch for Warehouse B. The same order is added, and the batch takes the wig line. Picker B only sees the wig.

  3. On the Orders page, the Batch column for order #1001 shows both batch numbers.

  4. Picker A finishes first. The order becomes Partially cleared.

  5. Picker B finishes. The order becomes Cleared.

If a third picker builds a batch with nothing left to claim on that order, the order is skipped. If no order is left for them at all, they see: "No orders are available to pick right now."

How to set it up

  1. Link each store to its warehouses. Go to Settings > View all store settings, edit the store, and map each sales channel fulfillment location to a SKULabs warehouse.

  2. Turn on "Restrict picking to linked warehouses" in the same store settings. This makes each line belong to the warehouse the sales channel assigned it to. Each linked warehouse must also be one of the store's inventory warehouses.

  3. Give each picker their own warehouse. Build each batch with the warehouse filter of the picker's warehouse (on the batch profile, or the picker's user warehouse access).

  4. Set the batch profile's Statuses filter. In the batch profile, mark Not started, Awaiting fulfillment, Opened and In progress as Include. Opened and In progress are what let a second batch pick up an order that is already on a batch. See the next section for details.

Tip: If an order has one line of 2 units that is not split by geo routing, the whole line belongs to the first batch that claims it, even if the second unit sits in another warehouse. To have each warehouse pick its part, the line must be split (for example by geo routing or by the sales channel's fulfillment locations).

The Statuses filter on batch profiles

Open the batch profile editor (Batches > Processing > Settings, or Settings > Change batch settings). Next to the Warehouses list there is a new Statuses list. Click a status to cycle it:

  • First click: Include (blue check). The profile picks orders in this status.

  • Second click: Exclude (red check). The profile never picks orders in this status.

  • Third click: back to unselected.

Use Toggle all to include every status at once, or to clear every selection.

How the filter decides

What you select

Which orders the profile picks

Nothing

Same as before: Not started and Awaiting fulfillment, plus Partially shipped when "Allow partially shipped orders" is Yes. Orders already on another batch are left out.

One or more Include

Only orders in the included statuses.

Only Exclude

Every status except the excluded ones and Cleared.

  • Shipped and Cancelled orders are never added to a batch, so they are not in the list.

  • Once any status is selected, the Allow partially shipped orders setting is grayed out because the Statuses filter replaces it. Include Partially shipped if you want those orders.

  • Including Opened or In progress only lets a batch take the lines no other batch owns. It never takes lines away from another batch.

What each picker sees

  • Pick steps and Summary show only the lines their batch owns, including only their warehouse's part of a split line.

  • Batch ship page: lines owned by another batch show 0 and cannot be edited. Hover them to see "Picked on another batch". Package weight and customs cover only this batch's lines, and the origin warehouse defaults to the batch's warehouse.

  • Lines with no barcode (for example custom line items) have nothing to pick, so they show on every batch the order is on.

  • Batch page settings always come from the profile the batch was built with, no matter which user opens it.

  • Order page: the scan history shows the batch number of each batch scan. Removing a batch scan from the order page warns you that it belongs to a batch.

  • Orders page: the Batch column lists every batch the order is on, and searching by any of those batch numbers finds the order.

Finishing a batch: order statuses

When a picker clicks Finish, the dialog now counts orders separately:

"You're done picking! Do you want to mark this batch cleared? 3 orders will be marked cleared. 1 orders will be marked partially cleared."

Situation when the batch finishes

Order status

Every line is picked, and no other batch is still picking the order

Cleared

Another batch is still picking lines of the order

Partially cleared (becomes Cleared when the last batch finishes)

A line could not be reached by any batch (for example its warehouse is not covered)

Partially cleared

The order was already Partially shipped

Stays Partially shipped. The dialog says so.

A line that was already shipped before the batch was built counts as done. A batch never moves an order backwards: for example, a second batch being built does not move an In progress order back to Opened.

Restarting, deleting and removing orders

Each of these now undoes only its own batch's work. Another picker's scans, picks and shipments on the same order are left alone.

  • Restart batch – undoes this batch's scans and starts over. The batch keeps its lines and its stock set aside the whole time, so no other batch can take them while you restart.

  • Delete batch – gives this batch's lines and stock back, so a new batch can claim them. If you reset the orders, an order with an earlier shipment becomes Partially shipped, otherwise Not started. An order another batch is still picking keeps its status.

  • Remove order from batch – gives back only that order's lines and stock on this batch.

  • Reset from the Order page still resets the whole order, but an open batch keeps owning its lines, so another batch cannot take them.

Shipped units are never put back into stock by a restart or delete.

Stock holds: how stock is set aside

A stock hold reserves units for one order in one warehouse. Holds are used on accounts with Batches or Batch Allocation. They do not change the quantities SKULabs syncs to your sales channels, your inventory table or your exports. They only decide which order, batch and warehouse the stock belongs to.

What creates a hold

  • Building a batch (or adding orders to it, or restarting it). Before claiming, the batch subtracts everything other batches and printed orders already hold, so a unit is never promised twice.

  • Printing a packing slip or pick list. Printing sets the stock aside and adds the Batch Allocation tag to the order. Printing never reserves a line a batch already owns.

When a batch is built over an order that was already printed, the batch takes over the print hold instead of holding the stock twice. If that batch is later deleted, restarted, or the order is removed from it, the hold goes back to the order as a print hold and the tag stays.

How a hold shrinks and grows

A hold covers units that are set aside but not yet taken out of on hand. When on hand goes down, the hold goes down with it, so the same unit is never counted twice. Your inventory deduction method (Settings > Inventory) decides when that happens:

Deduction method

Hold shrinks when

Hold grows back when

Per scan

The picker scans the item

The scan is removed

Per shipment

The item ships

The shipment is voided

On per-shipment accounts, a finished batch keeps holding what it picked until the order ships, so the units in the tote are not offered to another batch. Units the batch did not pick are freed when it finishes.

When a hold is released

  • The batch finishes or ships (on per-shipment accounts, when the order ships).

  • The batch is deleted, or the order is removed from the batch.

  • The order ships, is cancelled or is archived.

  • The Batch Allocation tag is removed from the order (order page, Orders page tag editor, CSV tag import or the API). Only print holds are released this way. A hold a batch has taken over stays with the batch.

  • A print hold that is never picked or shipped expires after 7 days by default.

  • Stock in the bin is counted down below what is held (newest holds are reduced first), or the sales channel removes the line from the order.

Setting removed: the Tag Batch Allocation printed orders option is gone from Settings > Printing. Printing now always tags the orders it sets stock aside for, and the tag comes off when the last print hold on the order is released.

The Fulfillable column

On the Orders page and the dashboard, Fulfillable now counts only stock that is free for that order:

Fulfillable = on hand − what other orders hold + what this order holds itself

  • Only the warehouses the person viewing the page can see are counted.

  • An order's own hold never counts against it.

  • Orders that have not been printed or batched yet do not set stock aside, so they do not lower anyone's Fulfillable.

  • The column updates when you reload the page.

Example

An item has 5 on hand. Order A needs 2 and order B needs 4. Both show as fully fulfillable (A 2/2, B 4/4).

  1. Print order A's packing slip. A holds 2 and still shows 2/2.

  2. Order B now sees 5 − 2 = 3 free, so it shows 3/4.

  3. Remove the Batch Allocation tag from order A and reload. A's hold is released and B shows 4/4 again.

Two pickers building a batch at the same time

Batch building is now faster, and when two people build at the same moment the second one no longer gets a lock timeout error. They see:

"Someone else on your account is building a batch right now. Please try again in a moment."

The page retries on its own, and the build completes as soon as the first one is done.

Frequently asked questions

An order I expected is missing from my new batch. Why?

Another batch already owns every remaining line of that order. The build dialog lists it as "All remaining items are already claimed by another batch." If it was taken while your batch was saving, you see "Taken by another batch or moved status while this batch was being saved."

The build says "opened orders are excluded". How do I let a second batch pick the order?

Your batch profile has no Statuses selected, so it works the old way. Include Opened and In progress in the profile's Statuses filter.

My batch is done but the order says Partially cleared.

Another batch is still picking part of that order, or one of its lines could not be reached by any batch. It becomes Cleared when the last batch finishes.

Restart did not reset the whole order.

That is intended. A restart only undoes its own batch's work, so it cannot wipe another picker's progress.

Fulfillable went down after someone printed.

That is intended. Printed and batched stock is set aside for that order and no longer counts as free for other orders. Remove the Batch Allocation tag if the print should not hold stock.

What happens to batches created before this change?

They keep working. Their orders are not offered to new batches until they finish.

Do stock holds change the stock sent to my sales channels?

No. Channel stock sync, reserved quantities and exports are calculated exactly as before.

Related articles

Did this answer your question?