# Order Preparation & Picking (dfpicking) — Complete Guide

> Overview dfpicking speeds up order preparation in PrestaShop 8 and 9. The module groups several orders into a single picking list, aggregates quantities per product and stock location, supports barcode…

- Page: <https://www.datafirefly.com/en/documentation/dfpicking/>
- Language: en
- Last updated: 2026-08-04
- Other languages: [fr](https://www.datafirefly.com/documentation/dfpicking/index.md), [es](https://www.datafirefly.com/es/documentation/dfpicking/index.md), [de](https://www.datafirefly.com/de/documentation/dfpicking/index.md), [it](https://www.datafirefly.com/it/documentation/dfpicking/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfpicking/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfpicking/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfpicking/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

dfpicking speeds up order preparation in PrestaShop 8 and 9. The module groups several orders into a single **picking list**, aggregates quantities per product and stock location, supports **barcode scanning** (EAN13, UPC, ISBN or reference), switches orders to the native **processing-in-progress** status and prints the **picking list** and price-free **packing slips** as PDFs.

## Installation

1. Back office → **Modules → Module Manager → Upload a module**.
2. Upload `dfpicking.zip` and click **Install**.
3. A new **Orders → Order preparation (picking)** tab appears in the menu.

Compatibility: PrestaShop 8.0 → 9.x, PHP 7.2 → 8.4. No external dependency: the module uses the native PrestaShop PDF engine.

## Configuration

Go to **Modules → dfpicking → Configure**:

- **Eligible order statuses** — orders with these statuses can be added to a picking list (default: payment accepted).
- **Status applied when preparation starts** — applied to each order added to a list (default: the native PrestaShop processing-in-progress status).
- **Status applied when finished** — optional status applied when the list is closed (default: no change).
- **Status change email** — whether the native customer email is sent on status changes (default: disabled).

Fill in the **Location** field on the Catalog → Stocks page: the picking list will then be sorted by location, matching your warehouse layout.

## Creating a picking list

1. Open **Orders → Order preparation (picking)** and click **New picking list**.
2. Tick the orders to prepare (a select-all checkbox is available).
3. Click **Create the picking list**.

The selected orders immediately switch to the configured preparation status. Orders already in an open list are automatically hidden to prevent double preparation. Refunded or returned quantities are excluded.

## Preparing with barcode scanning

The preparation screen offers two views: **aggregated products** (all orders combined, sorted by location) and **per-order detail**. Place the cursor in the scan field — it stays focused automatically — then scan each item:

- Recognized codes: **EAN13, UPC, ISBN and product or combination reference**.
- Each scan is allocated to the **oldest order** not yet served for that product.
- High beep = item ticked; low beep = unknown code or already complete product.
- Completed rows turn green and the global progress bar updates in real time.
- The **+ / −** buttons on each row allow manual adjustment (product without barcode, breakage, etc.).

Your scanner must work in **keyboard mode (HID emulation)** and send the **Enter** key after each read (CR/LF suffix, enabled by default on most models).

## Printing documents

### Picking list PDF

The **Picking list PDF** button generates a document aggregated per product: location, reference, EAN13, total quantity, per-order breakdown and checkbox.

### Packing slips PDF

The **Packing slips PDF** button generates one slip per order, **deliberately without prices**: delivery address, carrier, total weight and product list with checkboxes. Slip it into the parcel.

## Finishing the preparation

Once everything is ticked, click **Finish preparation**: the list switches to "Done" and, if configured, orders receive the closing status. An **Order preparation** panel on each back-office order page shows the linked lists and their progress.

## Troubleshooting

- **"Unknown code" when scanning** — check that the EAN13/UPC/reference is filled in on the product (or combination) sheet and that the product belongs to the current list.
- **No sound** — browsers require a user interaction before playing audio: click once in the page, then scan.
- **An order does not appear at creation** — its status is not among the eligible statuses, or it is already in an open list.
- **Empty location** — the location field in Catalog → Stocks is not filled in; the list is then sorted by reference.

## Uninstall

Uninstalling removes the module tables (`dfpicking_list`, `dfpicking_item`), its configuration and its menu tab. Your orders and their statuses are not modified.
