Home / Help Center / pos-app-wholesale / wholesale / Pick List
📋 wholesale

Pick List

Pick List is a read-only picking sheet generated from existing Wholesale Orders. It does not have its own data entry — it aggregates the order items of orders matching a status and delivery date into either a By Product view (one line per product, quantities summed across all matching orders) or a By Order view (each order with its own item list), so a warehouse worker can pick and pack efficiently.

📍 Menu path: Wholesale → Pick List
👤 Who uses it: All roles with the Billing feature enabled

Overview

The page is entirely derived data — it calls GET /wholesale/pick-list with a status (default CONFIRMED) and an optional deliveryDate, and the backend groups the matching orders' items two ways: byProduct (summed quantity per product name, with a customer/qty/notes breakdown) and byOrder (each order with its own item list).

Status filter only offers Confirmed or Dispatched — there is no "All statuses" option, so the page only ever shows orders in one of these two states at a time.

The Date field filters by exact delivery date match — leaving it blank returns pick data for all delivery dates for the selected status, not just future/undated orders.

By Product grouping keys strictly on the product name string from the order item — items entered with slightly different product name text (e.g. trailing space, different casing) will appear as separate product groups even if they refer to the same product.

The Print button opens a new window and prints exactly whatever is currently on screen (the ref'd content), so it always matches whichever view — By Product or By Order — is toggled on at the moment you click Print.

Before You Start

Step-by-Step Guide

1 Generate today's pick sheet

  1. Open Wholesale → Pick List.
  2. Set the Date field to the delivery date you want to pick for (defaults to today) and leave Status on "Confirmed".
  3. Review the summary cards for Orders, Product Lines and Total Pick Lines to gauge the size of the run.

2 Pick by product (warehouse-style)

  1. Click the "By Product" toggle.
  2. Each product gets its own card showing the total quantity to pull, with a table underneath listing which customer/order needs how much and any notes.
  3. Use this view when one person is walking the warehouse pulling stock for multiple orders at once.

3 Pick by order (order-by-order packing)

  1. Click the "By Order" toggle.
  2. Each order is shown as its own card with customer name, delivery route (if set), order total and its item list.
  3. Use this view when orders are being packed individually rather than consolidated by product.

4 Print a pick sheet

  1. Choose the view (By Product or By Order) you want to hand to the picker.
  2. Click Print — a new browser tab opens with a simplified, printer-friendly layout of exactly that view and triggers the print dialog automatically.

5 Check dispatched orders instead of confirmed ones

  1. Change the Status dropdown to "Dispatched" to see what has already been picked and sent out for a given date, using the same By Product / By Order views.

Every Field & Button, Explained

Field / ButtonWhat it does
DateFilters orders by exact delivery date match. Leave blank to include orders with any (or no) delivery date for the selected status.
StatusConfirmed (default) or Dispatched — the only two statuses this page can show; there is no "all statuses" or Draft/Delivered/Cancelled option.
Orders / Product Lines / Total Pick LinesSummary cards: Orders = number of matching orders; Product Lines = number of distinct product groups in By Product view; Total Pick Lines = total number of individual customer/order lines across all product groups.
By Product / By Order toggleSwitches the layout below between a product-first picking sheet and an order-first packing sheet. Purely a client-side view toggle — both use the same already-loaded data.
Product card header (By Product view)Product name and the total quantity + unit to pull for every matching order combined.
Product card table (By Product view)One row per order that needs the product: Customer, Qty, and Notes (from the order item's notes field, or "—" if none).
Order card (By Order view)Customer name, delivery route (only shown if the order has one set) and order total, followed by a line-item table of products/quantities/line totals.
RefreshRe-fetches the current Date/Status combination from the server — useful after new orders are confirmed elsewhere.
PrintOpens a new window containing only the currently visible view and calls window.print() automatically.

Tips & Best Practices

Troubleshooting & FAQ

An order I just confirmed is not showing up.
Click Refresh — the page only loads data on mount and whenever Date or Status changes; it does not auto-poll, so orders confirmed by someone else after you opened the page will not appear until you refresh or change a filter.
The same product appears twice in By Product view with different quantities.
By Product groups strictly by the product name text stored on each order item, not by a product ID. Two entries usually mean the product name was typed or selected slightly differently across orders (extra space, different capitalisation, etc.).
I set a Date but still see orders I did not expect.
The Date filter matches deliveryDate exactly as stored on the order — if an order was created without a delivery date, it will only appear when Date is left blank, never under a specific date.
Can I mark items as picked or partially picked from this page?
No — Pick List has no picking/checklist state of its own. It is a read-only report generated fresh from order data each time you load it; there is nothing to check off and nothing is saved back to the order.
Print shows the wrong view (By Order when I wanted By Product, or vice versa).
Print always captures whatever is currently rendered on screen. Switch the By Product / By Order toggle to the view you want first, then click Print.