FEFO Picking Pro
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.
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.
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.
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
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.
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.
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
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.
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
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.
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:
Demo:
Author
Vasile Panciuc / PanciucSoft