=== PackPilot === Contributors: bandexa Tags: woocommerce, order fulfillment, warehouse, picking, packing Requires at least: 6.4 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 0.0.13 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Warehouse management and order fulfillment for WooCommerce. Pick, pack and ship orders using barcode scanning and guided workflows. == Description == PackPilot brings a structured warehouse workflow directly into WooCommerce. Instead of managing orders from a list, your team works with a clear process: pick, scan, pack, done. The plugin focuses on real-world fulfillment tasks and guides users step-by-step through the packing process. === Core Features === * Dedicated packing table for scanning and completing orders * Status-based order intake from WooCommerce * Stock reservations per order * Picklist workflow for efficient multi-order picking * Delivery note / pick ticket workflow with PDF generation * Article data management (SKU, EAN, locations, batches, expiry dates) * Picking event tracking for scanned items === Workflow Focus === PackPilot is built for operational use. - One screen per task - Clear instructions for workers - Minimal UI complexity - No unnecessary configuration overhead The goal is simple: reduce errors and speed up fulfillment. == Advanced Features == The following features are available in an extended version of PackPilot. === Multiple Storage Locations (Multi-Storage) === PackPilot extends WooCommerce stock handling by introducing real physical storage locations. Instead of managing a single stock value per product, inventory can be distributed across multiple locations: - Aisle A → Rack 01 → Bin 01 → 3 units - Aisle B → Rack 07 → Bin 02 → 5 units - Cold Storage → Box 2 → 2 units Key features: - Define structured storage locations (Aisle / Rack / Bin) - Assign stock quantities to specific locations - Maintain full WooCommerce compatibility (total stock is still synced) - Optimized picking routes based on location This removes guesswork and ensures that workers always know where to pick items. === Expiry Dates (MHD) & Batch / Lot Tracking === PackPilot allows you to track inventory on a per-unit level, including: - Expiry date (MHD) - Batch / Lot number Example: - 5 units → Expiry: 2026-05-01 → Batch: CH123 - 5 units → Expiry: 2026-05-10 → Batch: CH124 WooCommerce sees: 10 units PackPilot sees: 2 distinct inventory groups Key features: - Optional expiry date tracking per stock unit - Optional batch / lot tracking - Multiple batches per location supported - Full traceability during packing === Combined Inventory Logic (Location + Batch + Expiry) === PackPilot internally manages stock as a combination of: - Storage location - Expiry date - Batch / lot number Example structure: - Location: A-01 | Expiry Date: 2026-05-01 | Batch: CH123 | Quantity: 3 units - Location: A-01 | Expiry Date: 2026-05-10 | Batch: CH124 | Quantity: 2 units - Location: B-07 | Expiry Date: 2026-05-01 | Batch: CH123 | Quantity: 2 units - Location: COLD-02 | Expiry Date: 2026-05-15 | Batch: CH125 | Quantity: 3 units === Smart Picking & Packing Workflow === During picking and packing, PackPilot automatically determines: 1. Which items to pick (by expiry date – FIFO / FEFO) 2. Where to pick them (optimized walking path) Workers are guided step-by-step: Pick 2 units from A-01 (Batch CH123) Benefits: - No manual decision making required - Reduced picking errors - Faster workflows - Clean and structured packing process === Why this matters === WooCommerce tracks quantities. PackPilot tracks what actually happens in your warehouse. - Know exactly where your products are - Know exactly which batch was shipped - Always pick the right items in the right order === Built for simplicity === - No complex ERP system required - No unnecessary features - Focused on real workflows PackPilot adds advanced inventory logic while staying lightweight and easy to use. == Installation == 1. Upload the plugin files to the `/wp-content/plugins/packpilot` directory, or install the plugin through the WordPress plugins screen. 2. Activate the plugin through the `Plugins` screen in WordPress. 3. Open `PackPilot > Settings`. 4. Configure the source order status, finish status, and fulfillment workflow. == Frequently Asked Questions == = Does PackPilot require WooCommerce? = Yes. PackPilot is designed for WooCommerce-based fulfillment workflows. = Can I use different fulfillment workflows? = Yes. PackPilot supports direct Pick & Pack, Picklists, and Delivery Note / Pick Ticket workflows. = Does the plugin create PDFs? = Yes. Delivery notes and bundled delivery note PDFs can be generated inside the plugin. = Is PackPilot suitable for large warehouse systems? = PackPilot focuses on small to medium-sized WooCommerce stores that need a clear and efficient fulfillment workflow without the complexity of a full warehouse management system. = Does the plugin include third-party assets? = Yes. PackPilot bundles the following assets for admin-side functionality: * `includes/admin/assets/htmx.js` * `includes/admin/assets/chart.umd.min.js` * `includes/admin/assets/bootstrap-grid.min.css` == Changelog == = 0.0.13 = * Fixed picklist PDF generation fallback that could create an unformatted single-line text PDF when mPDF font initialization failed. = 0.0.12 = * Added support for multiple storage locations per article. = 0.0.11 = * First upload