ERPNext pick lists for order fulfilment

ERPNext pick lists tell warehouse staff what to pull, from which location and batch, before a delivery note is raised. This page explains how they work, which selection rules fit your stock, and what to confirm in your version before you rely on them.

On this page

How ERPNext pick lists fit into order fulfilment

An ERPNext pick list is the warehouse work order that tells staff which items, quantities, batches and bin locations to collect for one or more confirmed sales orders. Teams need one when order volume or warehouse layout makes picking from the sales order screen unreliable, for example when a single order spans several locations, when stock must be drawn in a set sequence, or when batch-controlled goods must be chosen by expiry. The pick list itself does not move stock. It is a planning document that the picker works from, and it is the step where the system proposes which stock should be taken before anyone confirms the movement.

The stock movement happens later, when the fulfilled quantities are carried into a delivery note created from the pick list. That delivery note is what reduces warehouse stock and posts the cost of goods sold, so the pick list and the delivery note must reflect the same quantities and batches. Reservations, if your company uses them, also interact at this point, so confirm with your implementation team how a reserved quantity moves from the sales order to the pick list and then to the delivery note in your ERPNext version.

How the pick list chooses stock depends on the item setup and the ERPNext version in use. Selection by oldest stock first, by nearest expiry, or by a manual choice depends on whether the item is batch-tracked, serial-tracked or neither, and on which fields and settings your team has enabled. Before you design the process, confirm with your implementation partner and against the release notes for your version how batch selection, negative stock rules and the handling of partial picks behave for each item group in your catalogue. Test those cases with real item records before go-live.

Which stock selection rule fits which warehouse

This table compares three ways to choose which stock a pick list reserves and issues: manual selection, FIFO-style selection by receipt date, and nearest-expiry selection for batched items. Read each row against your own stock profile, then confirm with your ERPNext version and item setup which options your build actually exposes.

Selection ruleStock profile it suitsData it depends onMain risk
Manual selectionSmall warehouses with few SKUs, irregular stock, or items where pickers need to choose by location or conditionAccurate bin and batch availability at the time of pickingPickers choose the most convenient stock, leaving older lots to age and inflating write-offs
FIFO-style selection by receipt dateFast-moving goods with no expiry date, such as hardware, apparel or packaged non-perishables, held in mixed warehousesStock ledger posting dates, which depend on correct receipt dates and any backdated entriesBackdated receipts or reposting changes can reorder lots, so the rule issues stock that does not match what the floor expects
Nearest-expiry selection for batched itemsFood, pharmaceuticals, chemicals or cosmetics where batches carry a shelf life and customers require minimum remaining lifeBatch expiry dates captured at receipt, and batch numbers applied to each stock movementItems without expiry dates on the batch, or wrong dates entered at receipt, lead to the wrong lot being shipped
Valuation method interactionAny warehouse, but especially where stock cost differs between lotsFIFO or moving average set per item, which affects cost of goods sold on the delivery noteAssuming the selection rule changes valuation; the picking order and the cost method are separate settings
Mixed items in one warehouseWarehouses that stock both expiry-controlled and non-expiring goodsItem-level setup that marks each item as batch-tracked or not, plus receipt datesApplying one rule across all items, so expiry-sensitive stock is shipped by receipt date instead
Serialized itemsSerial-tracked goods where each unit is individually identifiedSerial numbers recorded at receipt and linked to the pick listSelection rules may not reorder units as expected, so pickers must confirm each serial at dispatch
Confirm before designEvery warehouse buildThe ERPNext version in use and whether the pick list selection options and batch settings match your item setupDesigning the process around options that differ by version or setup, so the floor cannot follow the documented sequence

Setting up pick lists before the first live order

This sequence proves that item tracking, stock balances and sales orders produce the right pick list and delivery note in a test environment. Each stage closes with a check and a named sign-off, so the first live order runs on verified data.

  1. Confirm batch and expiry settings on items

    An item manager checks the item master for every product that will be picked by batch or expiry. Confirm that batch tracking and expiry date fields are enabled where needed, that shelf life values are entered, and that serialized items follow your chosen tracking method. Test one item from each category and open its record to confirm the fields behave as expected. The check is complete when each test item shows the tracking settings your warehouse procedure requires, and the stock manager signs off the item list.

  2. Set up warehouses and opening stock

    A stock manager builds the warehouse tree and loads opening balances with stock reconciliation. Set the posting date to the actual receipt date for each batch, not the date of data entry, so that expiry and first-in order reflect the physical goods. Enter batch numbers and expiry dates for tracked items. The check is the stock balance report, which should show the expected quantity per warehouse and batch. The stock manager signs off the balances, and the accountant confirms the valuation matches the agreed opening figure.

  3. Create a test sales order

    A sales user creates a sales order for a customer account set up for testing, using items and quantities that match the stock loaded in the previous step. Submit it and confirm the order totals, delivery date and warehouse. If your version and configuration support stock reservation, check whether the order reserves stock as expected. The check is that the order is submitted with zero quantity delivered. A sales manager reviews and approves the test order before picking begins.

  4. Generate the pick list from the sales order

    A stock user opens the test sales order and creates a pick list from it. Use the function that finds item locations, then review which warehouses, batches and quantities the system selected. Compare the selection with the expected order for your process, such as first-in first-out or nearest expiry, and confirm which ordering options your ERPNext version offers before you rely on them. The check is that every line shows a location and batch that match the planned selection. The stock user signs off the pick list before any physical picking.

  5. Run test picks against test stock

    A warehouse operator follows the pick list against the physical test stock and records the quantity picked for each line. Include at least one short pick, where stock is less than the ordered quantity, to confirm how the pick list records the shortfall. Confirm that the batch scanned or selected matches the batch on the list. The check is that picked quantities and shortages are recorded accurately and that stock held for the order matches what remains in the warehouse. The warehouse supervisor signs off the results.

  6. Convert the pick list to a delivery note

    A stock user creates a delivery note from the completed pick list and checks that items, batches and quantities carry over without change. Submit the delivery note, then confirm that stock falls in the stock ledger and that the sales order shows the delivered quantity. Record the test results, including any issues and their fixes, in a sign-off log. The check is a matching delivery note, reduced stock balances and a closed test sales order. The stock manager and sales manager both sign the log before the first live order is released.

Where FIFO and expiry picking go wrong in practice

Pick lists look correct on screen until stock moves underneath them. The failures below share one cause: the warehouse picks against a picture of stock that has already changed, so each card names a check to run before goods leave the dock.

Backdated stock entries reorder receipts

A receipt or transfer posted with an earlier date can place older stock behind newer stock in the FIFO sequence, so a pick list suggests a batch that is no longer the oldest. Before releasing a pick, compare the stock ledger for the item against the receipt dates and confirm that no entries in the affected period were backdated. Where backdating is common, plan stock reposting so valuation and selection reflect the true order.

Missing or wrong batch expiry on receipt

Nearest-expiry picking depends entirely on the expiry date captured when stock is received. If a receipt leaves the expiry blank, or the supplier date is keyed incorrectly, the pick list will rank that batch as if it never expires or expires on the wrong day. Check that every batch-tracked item carries an expiry date at receiving, and run a report of batches without one before the first pick run of each day.

Pick lists that go stale

A pick list is a snapshot. If a sales order is amended, cancelled or split after the list is generated, the list keeps asking for quantities and items the customer no longer wants. Before the warehouse starts walking, confirm that the linked sales orders have not changed since the list was created, and regenerate the list when they have. Treat any edit to a source order as a signal to check the list again.

Reserved stock not respected

Stock reservation holds inventory for a specific customer or order. A pick list built from general stock can still draw quantities that another order has reserved, which leaves the reserved order short at the dock. Confirm how reservations are enabled for your version, check whether the pick list draws from reserved or unreserved quantity, and test a reserved item on a staging site before relying on the behavior in live picking.

Partial picks across locations

When one order is filled from several bins, racks or warehouses, the picked quantities can add up to the order total while a single location runs short or a bin is left over. Each partial pick should record its source location and batch, so a short line can be traced to the exact place it came from. Review split picks at the packing step and confirm that every location's quantity reconciles to the order line.

Picked quantity differs from delivery note

The delivery note is the document that moves stock and reaches the customer, so any gap between what was picked and what it records creates a stock and billing discrepancy. Compare the pick list quantities, batch numbers and serial numbers against the delivery note before it is submitted, and investigate every line where they differ. Make the delivery note the only step that closes the picking loop, so the discrepancy is caught before the truck leaves.

Picking models for single-site, multi-branch and floor-scanning teams

A single warehouse with a small team usually needs the simplest picking rule that keeps stock moving in the right order. Pick lists generated from confirmed sales orders fit this model well, and FIFO selection is a common default when goods do not expire and the team wants the oldest stock to leave first. Most of the setup effort goes into clean stock data before the first pick.

  • One default source. All lines draw from one stores warehouse, so the pick list needs no routing logic.
  • Oldest stock first. FIFO-style selection suits most general merchandise. Confirm whether the team wants this order or needs overrides for specific items.
  • Batch and expiry rules. If items carry batch numbers or expiry dates, decide whether picks should follow nearest expiry. This requires batch data on receipts before any pick runs.
  • Unit of measure data. Pick quantities depend on correct conversions between sales and stock units. Check that these match what the floor actually counts.
  • Separate roles. Decide whether one person generates the pick list and another confirms the delivery note.

Before configuring, ask the operations lead how many orders leave each day, which items expire, and whether a partial pick is ever acceptable.

Access, audit and data integrity for picking

Pick lists touch stock quantities, batch selection and the documents that feed invoicing, so access and recovery need to be designed alongside the picking flow. The cards below cover who can act on a pick, what gets recorded, how warehouse devices sign in, and what to back up before stock changes. Each one is a decision to make with your ERP owner and your security team before go-live.

Separating pick confirmation from pricing

Warehouse staff usually need to confirm picks and record quantities, but they should not be able to edit selling prices, discounts or stock valuation. Map the pick list and delivery note actions each warehouse role needs, then test them with a user who holds only that role. Check that rate fields stay read-only for picker accounts on sales orders and invoices they can open. Role definitions are covered in the ERPNext roles, permissions and access control topic.

Audit trail on picks and deliveries

ERPNext records version history for documents, and the pick list, stock entry and delivery note chain shows who created and submitted each step. Confirm which documents have version tracking enabled in your site, and agree who reviews changes to submitted delivery notes. Keep a short list of the reports you will use during an investigation, such as the stock ledger for an item and batch. Ask your implementation partner to show these records on a test order before you rely on them.

Mobile access for warehouse devices

Pickers often work from handheld scanners or tablets on a warehouse network, which changes how sessions expire and where login happens. Decide whether devices use the standard login page, a dedicated user per device, or a shared terminal, and set session length to match shift patterns. Test barcode scanning on each device model in the browser you plan to deploy. Login hardening options are described in the ERPNext roles and access control topic.

Backups before stock reposting

Reposting item valuation after a backdated receipt or pick rewrites stock ledger entries, and that change is hard to reverse by hand. Take a full site backup and confirm it restores to a separate environment before running a repost on live data. Record the backup time next to the repost run so you can match it to later investigations. Ask your partner to document the restore steps and how long a restore takes on your database size.

Sign-in through LDAP or Social Login

ERPNext can sign users in through LDAP against Active Directory or OpenLDAP, with group mappings applied at each login, or through Social Login Keys with OAuth or OpenID Connect providers. The identity source determines who can act on picks, so a warehouse group removed in the directory should lose pick access on the next login. Confirm how disabled accounts, leavers and contractors are handled in your identity system and in ERPNext. Review the LDAP and social login documentation before you choose a method.

Keeping pick lists correct after the go-live

The ongoing work after go-live is keeping pick lists trustworthy, and it starts with a weekly review of pick lists that remain in Draft or Open status. A pick list that sits unfinished usually means stock was moved, a sales order was amended, or a batch was consumed outside the normal flow. Assign one owner in the warehouse to clear these, and agree a rule for what happens to a pick list whose sales order has been cancelled or short-shipped. Also review the batch selection on pick lists that were generated before a receipt or quality hold, because the picker will follow whatever the document says, not what is currently true on the shelf.

Expiry-based picking depends on the batch data being right before the picking screen loads. Run a recurring check on batches approaching their expiry date, confirm that quality-blocked or quarantined batches are not available for selection in your warehouse setup, and confirm how your version handles expiry filtering when a pick list is created. Any change to batch expiry dates, or a bulk correction through the Data Import tool, should be followed by a review of open pick lists for the affected items. Batch data corrected after the fact is one of the most common reasons a picker is sent to the wrong bin.

Backdated receipts and returns change the valuation and sometimes the stock position that pick lists relied on, so plan stock reposting as part of operations rather than as an emergency. Agree who may post backdated entries, how the team tells the warehouse when one has been made, and when reposting runs. Train the warehouse team on a short procedure for physical counts that disagree with the system: stop picking that item, record the count, raise a stock reconciliation with a reason, and do not override the quantity on the pick list. Large inventories may need periodic maintenance such as stock closing entries and scheduled reposting. Confirm the reposting and closing approach for your ERPNext version and data volume with your implementation partner before you rely on it.

Limits to confirm in your environment before you rely on pick lists

Pick lists depend on the ERPNext version you run, how your items are tracked, how stock is reserved, and what your hosting allows. Each card below is a question to answer with the vendor or in a test environment before you design the fulfilment process around pick lists.

ERPNext version and support end

Confirm which ERPNext major version you will run and check its end-of-life date on the supported versions page before you build pick list behavior on it. Pick list screens and stock logic change between major releases, so a fulfilment design built on one version may need rework on another. Ask the partner which minor release you will start from and how often that line receives updates, then test your pick list flow on that exact release.

Batch, serial or untracked items

Identify which items are batch tracked, serial tracked or untracked before you configure picking. Batch and serial items need the correct batch or serial numbers selected at pick time, and FIFO or expiry-based selection only works if those records exist on the stock. Run a sample order for each item type in a test site and confirm the pick list shows the expected batches or serials before you release it to the warehouse.

Reservations alongside picks

Decide whether stock reserved for specific customers must coexist with pick lists generated from the same sales orders. If reservations and picks compete for the same bins, a picker may release stock already promised to another order. Ask how your ERPNext version handles reservation from sales orders and pick lists, and test a case where two orders draw on the same batch and warehouse.

Custom scripts on your hosting

Confirm that your hosting allows the server scripts your picking rules may need. From version 15, server scripts are disabled by default and must be enabled through the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. If you need custom sorting, validation or event logic, plan for a custom app or a hosting tier where server-side code is permitted, and verify this before you finalize the design.

Barcode devices and label printers

Check how your scanners, handheld devices and label printers connect to ERPNext. Scanning at pick confirmation depends on item and UOM barcodes being set correctly, and the printer must produce the label formats your carriers accept. Ask the vendor or your hardware supplier for the connection method and the label format, then test a full pick, scan and print cycle on a representative device before the warehouse depends on it.

Location-level picking in your layout

Decide whether pickers need to be directed to specific bins, racks or shelves, or whether warehouse-level selection is enough. ERPNext pick lists select stock by warehouse and rules such as FIFO or nearest expiry, so location-level direction depends on how your layout and storage locations are modeled. Walk your warehouse with the implementation team, confirm which locations you need to record, and test a pick across two bins in the same warehouse.

Questions buyers ask about ERPNext pick lists and outside help

How long does it take to set up and test ERPNext pick lists?

No duration is fixed in advance, because the effort depends on how many items, warehouses and picking rules your business uses. A written scope should state the number of items, the warehouses in use, the picking rules to build and the test cases that will be run before go-live. Ask any partner to show how they plan configuration, test runs with real stock and a cutover step, and ask for those phases to be listed as separate deliverables in the quote.

What drives the effort of an ERPNext pick list project?

The main drivers are the number of items, how many of them are batch or serial tracked, the number of warehouses and bins, and whether picking must follow rules such as first in first out or nearest expiry. Integrations with barcode scanners add testing on devices, label formats and handheld workflows. Custom print formats or picking reports add further build work. Ask for each of these to be counted in the scope so the quote can be compared against your own estimate.

What must our internal team provide before a partner starts?

Your team should provide clean stock data, including item codes, units of measure and current balances by warehouse. For batch items, expiry dates must be recorded accurately, because nearest-expiry picking depends on them. You also need a description of the warehouse layout, the picking rules your staff follow today, and the names of people who will approve rules and sign off test results. Missing or inconsistent data is one of the most common causes of delay, so start the data review early.

Can our own team set up ERPNext pick lists without a partner?

Yes, if your team has someone comfortable with ERPNext stock settings, the Frappe Framework and the way your warehouse runs. ERPNext is free and open source, and self-hosting it carries no software license fee. The work still requires testing against real orders, handling batch and serial edge cases and documenting the process for staff. Many organizations keep ownership in-house and buy a partner for a defined part of the work, such as a review of the picking design or a fixed-scope build.

What does a fixed-scope quote for pick lists usually cover?

A fixed-scope quote should list the modules and settings in scope, the number of warehouses and item groups, the picking rules to build, any scanner or report work, the test plan, the data migration steps if they apply, training and the handover documents. It should also state what is excluded, such as hardware, third-party integrations or future changes. DeployOpen agrees scope, deliverables and timelines in writing before work starts and does not publish a price list, so the quote follows from that written scope.

What goes wrong with FIFO or nearest-expiry picking in ERPNext?

The most common problems are missing or wrong expiry dates on batches, stock received without a batch number, and pick lists generated before stock has been reserved or posted correctly. Staff may also pick from a bin that the system does not expect, which leaves stock records out of step. Test these cases with real stock before go-live, and confirm with your team how returns and damaged goods are recorded, because they affect which batches are selected next.

Which ERPNext version and hosting choices should we confirm first?

Confirm the ERPNext and Frappe Framework version you plan to run, because support windows differ by release. Frappe's supported versions page lists the end-of-life and planned support dates, and a version that is no longer supported needs an upgrade plan before pick list work starts. Also confirm whether you will host on Frappe Cloud, with Docker Compose or with bench, since that choice affects which server-side customizations are permitted and who runs backups.

How DeployOpen scopes and delivers pick list work

DeployOpen plans, implements, customizes, tests, documents and supports ERPNext inside your own infrastructure, including the pick list rules for your warehouses. Engagements are fixed-scope, so the written scope sets what the pick list work covers before any build starts.

How we scope

  • We map your sales order to delivery note flow, including where pick lists are created today.
  • We confirm which warehouses, item groups and batch or serial items the pick list rules must handle.
  • We agree the warehouse selection logic in writing, such as FIFO or nearest-expiry batch rules, before build.

How we build

  • We configure pick list settings, warehouse selection and batch handling in a staging environment first.
  • We test partial picks, short picks and mixed batch selections against sample orders from your data.
  • We record every custom script or server logic change so it can be reviewed and redeployed on upgrades.

How we hand over

  • We deliver written procedures for warehouse staff covering pick list creation, confirmation and delivery note conversion.
  • We document the configuration, scripts and test cases so your team can repeat the checks later.
  • We walk your administrators and warehouse leads through the handover and record open questions for follow-up.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after go-live.
  • We can retest pick list behavior when ERPNext minor releases or your warehouse setup change.
  • Confirm with us in the quote which support terms, response expectations and upgrade work the retainer includes.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.