Useful Tools

How-to guide

A batch order fulfillment workflow for Shopify stores

Turn daily order fulfillment into a repeatable batch: filter, consolidate, pick, pack and mark fulfilled — a workflow for stores shipping 20 to 200 orders a day.

9 min read · Published July 9, 2026 · Updated July 9, 2026

Most fulfilment problems are not picking problems — they are routine problems. A store shipping thirty orders a day rarely struggles to find any single item; it struggles because the thirty orders are handled thirty different ways, some picked twice, some forgotten, the whole thing restarted from scratch every morning. The fix is not working faster. It is turning fulfilment into a repeatable batch: the same sequence of steps, in the same order, every day, so the process carries the load instead of your memory.

Batch fulfilment splits the day's work into two clean phases. First you pick — walk the stockroom once and pull every item across all the selected orders, using a single consolidated list. Then you pack — sort the picked pile into individual orders at the bench and mark them fulfilled. Separating the two is what makes volume manageable: you stop interleaving walking and packing, and each phase becomes a rhythm you can hand to anyone.

This guide lays out that workflow step by step, with the Shopify-specific details — order filters, the 60-day window, fulfilment status — that keep it honest. It builds on two companion guides: How to print one pick list for multiple Shopify orders for the consolidation itself, and How to organize warehouse picking by bin location in Shopify for the pick order. If your orders include kits, add How to pick and pack bundle orders in Shopify.

Pick first, pack second: why the split matters

Interleaved fulfilment — pick one order, pack it, pick the next — feels natural and scales badly. Every order sends you back to the same shelves, so popular items get walked to again and again, and the constant switching between stockroom and bench is pure overhead. Batch fulfilment amortises the walking: one trip pulls the totals for all orders at once, and packing then happens in one uninterrupted stint from the picked pile.

The trade is a moment of apparent disorder in the middle — a pile of picked items not yet assigned to orders — which is exactly why the consolidated pick list has to be accurate. If the list totals are right, the pile contains precisely what the batch needs and packing is a sorting exercise. If the totals are wrong, you find out at the bench with no easy way back. Accuracy in phase one is what buys the speed in phase two.

A repeatable batch fulfilment workflow, step by step

  1. 1

    Define the batch with filters

    Open your orders and filter to the set you will fulfil now: Unfulfilled and Paid is the usual core, oldest first so nothing ages out. Add tags or a date range if you batch by shipping method or sale event. The filter is the definition of the batch — get it right and everything downstream is just execution.

  2. 2

    Consolidate into one pick list

    Select the whole filtered batch and generate a single consolidated list: every item once, quantities totalled, only the amounts still left to fulfil. This is the core move; the full mechanics are in the companion guide on printing one list for multiple orders. Sanity-check the order, item and line counts before printing.

  3. 3

    Sort into pick order

    Sort the list to match your stockroom — by bin location if your shelves are binned, otherwise by vendor or SKU. A list in walking order turns the pick into one pass. Save the sort, layout and filters as a named preset so tomorrow's batch starts from the same setup instead of being rebuilt each time.

  4. 4

    Pick the batch in one walk

    Take the list to the stockroom and pull each line at its total quantity, ticking as you go. Handle exceptions on the spot: if a bin is short, note it against the line rather than silently skipping it, so packing knows an order will be incomplete before the customer does.

  5. 5

    Pack from the picked pile

    At the bench, sort the picked items back into individual orders. This is where per-order accuracy matters, so pack against the individual orders in Shopify or a packing document. Bundle orders get assembled here — see the bundle guide for how components map back to kits.

  6. 6

    Mark orders fulfilled and capture tracking

    As each order is packed, mark it fulfilled in Shopify and add tracking if you ship carried parcels. Doing this per order at the bench keeps Shopify's fulfilment status accurate, which in turn keeps tomorrow's Unfulfilled filter clean — the workflow feeds itself.

  7. 7

    Handle stragglers and a possible second batch

    Orders that arrived after you defined the batch, or that were short on stock, roll into the next run. Many stores do a smaller afternoon batch for same-day cutoffs. Because the process is identical, a second batch costs almost nothing to run — the routine is already loaded.

The batch fulfilment cycle at a glance

PhaseActionShopify touch-pointWatch out for
DefineFilter to the batchOrder filters: Unfulfilled, Paid, date/tagsOrders older than ~60 days need broader all-orders access
ConsolidateOne pick list, totalledOrder line items and quantitiesPartly shipped orders — count only what is left
SortInto walking orderBin metafield / vendor / SKUNatural sort so A2 precedes A10
PickOne walk, tick linesShort bins — flag, do not skip
PackSort pile into ordersIndividual ordersBundle components map back to kits
FulfilMark fulfilled + trackingFulfilment status, per orderKeeps tomorrow's filter clean

The cycle is deliberately boring, and that is the point: the same six phases run every day regardless of whether the batch is twelve orders or two hundred. Volume changes the size of each phase, not the shape of the workflow — which is what lets you hand any phase to a new hire with a one-page description.

The 60-day window is usually a feature, not a limit. Shopify's standard order access covers roughly the last 60 days, and picking tools that respect data minimisation deliberately stay inside it. For fulfilment that is almost always plenty — you ship current orders, not last quarter's. If you genuinely need to act on much older orders, that is a records or reprinting job for an order-document app with broader access, not a picking job. Keeping the picking window short is part of how a pick-list tool can request so little of your data.

Doing this with Solvi Pick Lists

Solvi Pick Lists is designed around this exact cycle. It opens on your open orders, pre-filtered to Unfulfilled and Paid with the oldest first, so the 'define' step is done before you touch anything. Selecting the batch consolidates it into one list with quantities totalled and only-what-is-left-to-fulfil counted; sorting by bin, vendor or SKU sets the pick order; and the preview is the exact PDF you print, complete and in order at 100% scale.

The part that makes it a routine rather than a chore is the saved preset: name a sort-plus-layout-plus-filter combination 'Morning batch' and tomorrow starts two clicks in. The app remembers your selection so you can resume where you left off, and a monthly recap (“38 pick lists · 214 orders picked”) makes the rhythm visible without nagging. Advanced filters — tags and date range — and saved presets are on the Starter plan; 'select all matching orders' in one click is on Growth for the days you pick everything open.

The app deliberately stops at the pick list: it reads items and quantities only, never customer data, and does not print packing slips or shipping labels. Packing and fulfilling happen in Shopify or your documents app, exactly as the workflow above describes. To go deeper on the two phases it touches, read printing one pick list for multiple orders and organizing picking by bin location.

Frequently asked questions

At what order volume is batch fulfilment worth it?

The moment the same item shows up in several of the day's orders, consolidation saves walking — that can be true at a dozen orders a day. The workflow scales smoothly from there: the same steps handle 20 or 200 orders, with only the size of each phase changing. Below a handful of orders a day, one-order-at-a-time is fine.

Should I pick and pack at the same time?

Batch fulfilment deliberately separates them: pick everything for the batch in one walk, then pack the whole pile into individual orders afterwards. Interleaving the two sends you back to the same shelves repeatedly and loses the main efficiency of batching. Keep picking and packing as two distinct phases.

Can I run more than one batch a day?

Yes, and many stores do — a morning batch for overnight orders and a smaller afternoon batch for same-day cutoffs. Because the process is identical each time, a second or third run costs very little to set up, especially if your sort and filters are saved as a preset.

Do I mark orders as fulfilled in the pick-list app?

No. A pick-list tool that reads items and quantities only does not change your orders — marking fulfilled and adding tracking happen in Shopify (or your fulfilment app) at the pack bench, per order. Keeping that write out of the picking tool is what lets it request so little access to your store.

Related guides

Do this in minutes with Solvi Pick Lists

Turn selected orders into one consolidated pick list — sorted, bundle-aware, printed in order.