FEFO Picking Pro

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

FEFO Picking Pro

FEFO Picking Pro is a Dolibarr module for First-Expiry-First-Out warehouse picking of products managed by lot or batch.

It helps warehouse operators select the correct lots according to expiry date, preview how a requested quantity will be distributed across eligible lots, create traceable Draft picking sessions and safely finalize stock movements after live validation.

The module also supports barcode and QR scanning, expired-lot exclusion, optional BatchSafe Pro filtering, Draft cancellation and protected Undo of finalized picking operations.

FEFOPickingPro Cover.png

Main features

  • FEFO lot ranking by earliest valid expiry date
  • Multi-lot allocation
  • Product lookup by Dolibarr reference or barcode
  • Barcode scanning
  • QR code scanning
  • EAN-13, EAN-8 and Code128 support
  • Draft picking sessions
  • Live FEFO revalidation before Finalize
  • Live stock validation
  • Expired lot exclusion
  • Lots without expiry date kept outside FEFO ranking
  • Optional BatchSafe Pro integration
  • BatchSafe-blocked or rejected lots excluded from FEFO picking
  • Shortage detection
  • Native Dolibarr stock movements
  • Finalize Picking
  • Cancel Draft without modifying stock
  • Protected Undo of finalized picking
  • Reverse stock movements during Undo
  • Picking session history
  • Audit trail
  • Responsive desktop and mobile interface
  • English and Romanian interface

Dashboard

The dashboard provides direct access to the two main workflows:

FEFO picking

Scan or enter a product, rank eligible lots by expiry date, preview the FEFO allocation and create a Draft picking session.

Picking sessions & audit trail

Review Draft, Finalized, Cancelled and Undone sessions, including Finalize, Cancel, Undo and stock movement traceability.

FEFOPickingPro Cover.png

FEFO picking workflow

A typical workflow is:

Warehouse → Scan or enter product → FEFO preview → Create Draft → Live validation → Finalize Picking → Stock movements

The operator first selects a warehouse and enters the requested quantity.

The product can then be found by:

  • Dolibarr product reference
  • Barcode
  • Phone camera scanning
  • QR code

The module retrieves the available lots and ranks eligible lots according to their valid expiry dates.

FEFOPickingPro Picking.png

FEFO lot selection

Positive-stock lots with valid expiry dates are ranked from the earliest expiry date to the latest.

Example:

  • LAB-002 – expiry 2026-12-31 – FEFO rank #1
  • LAB-003 – expiry 2027-12-31 – FEFO rank #2
  • LAB-001 – no expiry date – unranked

If the requested quantity cannot be supplied from a single lot, the module automatically distributes the requested quantity across multiple eligible lots.

For example, for a requested quantity of 6:

  • LAB-002 → 4 units
  • LAB-003 → 2 units

FEFOPickingPro FEFOSelection.png

Expired lot protection

Expired lots are automatically excluded from the FEFO recommendation.

A lot may remain visible for traceability but is clearly marked as:

Excluded: expired

Expired stock is not used in the FEFO allocation.

If the remaining eligible stock is insufficient, the module displays the allocated quantity and shortage.

FEFOPickingPro ExpiredLot.png

BatchSafe Pro integration

FEFO Picking Pro can optionally integrate with BatchSafe Pro.

When BatchSafe integration is available, lot status is checked before a lot becomes eligible for FEFO picking.

Eligible lots may be shown as:

Available

Blocked or rejected lots are excluded from FEFO allocation.

For example, a lot with an earlier expiry date but BatchSafe status Rejected will not be recommended.

The next eligible lot is automatically used instead.

Draft picking sessions

A FEFO preview can be saved as a Draft picking session.

Creating a Draft:

  • saves the FEFO allocation
  • records the selected warehouse
  • records the product
  • records the requested and allocated quantities
  • records the selected lots
  • does not reserve stock
  • does not modify stock

Draft sessions can be reopened before finalization.

FEFOPickingPro Sessions.png

Live validation before Finalize

Before Finalize, FEFO Picking Pro revalidates the current warehouse situation.

The module checks that:

  • required stock is still available
  • FEFO ordering is still valid
  • expiry information is still valid
  • BatchSafe eligibility is still valid

If the current FEFO allocation no longer matches the saved Draft, finalization is stopped.

Example message:

Finalization stopped because the current FEFO allocation no longer matches the saved Draft. Create a new FEFO preview before picking.

This prevents an old Draft from creating incorrect warehouse movements after stock or lot eligibility has changed.

Finalize Picking

When validation succeeds, the authorized user can finalize the picking session.

FEFO Picking Pro creates native Dolibarr stock movements for the selected lots.

The finalized session keeps traceability of:

  • lot / serial number
  • expiry date
  • picked quantity
  • stock before and after picking
  • Dolibarr stock movement ID
  • BatchSafe status
  • user who finalized the session
  • finalization date and time

FEFOPickingPro Finalized.png

Cancel Draft

A Draft session can be cancelled before finalization.

Cancelling a Draft:

  • changes the session status to Cancelled
  • records the user
  • records the cancellation date and time
  • does not create stock movements
  • does not modify warehouse stock

The original FEFO plan remains visible for audit purposes.

FEFOPickingPro Cancelled.png

Protected Undo

A finalized picking operation can be undone by an authorized user when the affected lot stocks still allow a safe reversal.

Undo restores the quantities to the same lots and creates new Dolibarr stock movements.

The audit trail keeps both the original picking movements and the reverse movements.

Example:

  • LAB-002: 4 → 0 during picking
  • LAB-002: 0 → 4 during Undo

The session records:

  • original stock movement
  • undo stock movement
  • picking stock change
  • undo stock change
  • user performing Undo
  • Undo date and time

FEFOPickingPro Undo.png

Picking session history and audit trail

Picking sessions are stored in the database and can be reopened later.

Session states include:

  • Draft
  • Finalized
  • Cancelled
  • Undone

The session history provides traceability for warehouse picking decisions and stock movements.

FEFOPickingPro SessionList.png

Barcode and QR scanning

FEFO Picking Pro supports product scanning from compatible devices.

Supported scanning workflows include:

  • Code128 barcode
  • EAN-13
  • EAN-8
  • QR code

A scanned code can contain the Dolibarr product barcode or product reference.

After scanning, the product can be used directly for FEFO preview.

Responsive interface

The module includes responsive layouts for desktop and mobile devices.

On smaller screens:

  • FEFO lot tables are displayed as readable cards
  • picking session information is reorganized
  • audit information remains readable
  • action buttons remain inside the visible area

This makes the module suitable for warehouse operators using smartphones or tablets.

Installation

Use the standard Dolibarr external module deployment feature.

Go to:

Home → Setup → Modules/Applications → Deploy/Install external app/module

Upload the FEFO Picking Pro ZIP package.

Then:

  • enable the module
  • configure permissions for authorized users
  • open FEFO Picking Pro from the Dolibarr menu

Requirements

  • Dolibarr 23.x
  • PHP 7.2 or later
  • MySQL / MariaDB
  • Products managed by lot/batch for FEFO operation

No external web service is required.

BatchSafe Pro integration is optional.

Languages

The module currently includes:

  • English
  • Romanian

Version

Current version: 1.0.30

Module ID: 207601

License

GPL-3.0-or-later

Support

Email:

support@panciucsoft.com

Website:

https://panciucsoft.com

Demo:

https://demo.panciucsoft.com

Author

Vasile Panciuc / PanciucSoft

See also