Warehouse Revolution: setup and help

Quick start

  1. Back up stock data, upload and install mprwarehouserevolution, then open Warehouse > Settings > Warehouses.
  2. Create an active warehouse and set the default; installation does not create MAIN automatically.
  3. Create Materials and any Recipes, then connect a test product or combination in Product Links.
  4. Enter initial Stock Levels and review Sync Stock with PrestaShop in Settings > Configuration.
  5. Configure CLI cron; prepare native integration and supervise cart-stock-worker.php if enabling public cart holds.
  6. Set Enable Material Reservations and Start reserving stock, then test a cart and order.
  7. Create and dispatch a test shipment; after Dispatch Grace Period, verify stock movements and customer tracking.
  8. Run Settings > System Check and test receiving and returns before using the workflow for live orders.

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Setup manual

Install and create the first warehouse

Back up the shop database and stock data. Upload and install mprwarehouserevolution, then click Configure to open Warehouse > Settings > Configuration.

Open Warehouse > Settings > Warehouses and create or select an active warehouse. Set your default warehouse deliberately. You can use MAIN as its reference, but installation does not create a MAIN warehouse for you. Default Warehouse ID initially has the value 0.

Use a single material and product for your first end-to-end test. Configure stock, product links, cron and reservations before relying on the module for live fulfilment.

Configure warehouses, materials and products

The Back Office is arranged as follows:

Warehouse
- Dashboard

Settings
- Warehouses
- Configuration
- Data Management
- Layout Editor
- Zones
- Code Schemas
- Holidays
- System Check
- License
- Support
- Update

Catalog
- Materials
- Recipes
- Product Links
- Bill of Materials
- Import Data

Inventory
- Stock Levels
- Reservations
- Corrections
- Stock Positions
- Stock Taking
- Internal Docs (PW/RW)

Procurement
- Suppliers
- Purchase Orders
- Suggest Reorder
- Receiving
- Stock Planning

Fulfillment
- Shipments
- Returns (RMA)
- Carriers
- Order Fulfillment
- Returns

Reports

Use Settings > Layout Editor, Zones and Code Schemas when you need physical locations and document numbering. Zones can describe receiving, packing, shipping, returns and storage locations. A one-warehouse setup does not require a detailed layout first.

In Catalog > Materials, create each internal stock item. Create Recipes and their components if a product consumes several materials or sub-recipes. In Product Links, connect the PrestaShop product or combination to the material or recipe and set the quantity consumed. Check Bill of Materials to review the resulting component requirements.

Enter initial material stock in Inventory > Stock Levels or through the importer. Check units and warehouse references before synchronizing native product quantities. The module computes sellable quantities from linked stock and component requirements; a recipe link without its component stock is not a completed setup.

Configure General, BOM and planning

Open Warehouse > Settings > Configuration. Save in the intended shop context.

  • Enable Multi-Warehouse. Allows stock management across more than one warehouse; default: 0.
  • Default Warehouse ID. Selects the warehouse used by default for shipments and stock calculations; default: 0.
  • Sync Stock with PrestaShop. Updates native PrestaShop product quantities from warehouse/material stock; default: 1.
  • Enable Stock Alerts. Enables low-stock alert logic; default: 1.
  • Default Low Stock Threshold. Sets the fallback low-stock quantity threshold; default: 10.
  • Enable Bill of Materials. Enables material recipes and component-based product stock; default: 1.
  • Auto-Deduct BOM on Shipment. Deducts component materials when a shipment is shipped; default: 1.
  • Default Safety Factor. Sets the stock planning safety multiplier, where 1 means no extra buffer; default: 1.
  • Default Lead Time (Fallback). Sets the fallback supplier/material lead time in days for stock planning; default: 120.

Keep native stock synchronization on only when warehouse stock should be the source for the linked products. Review product-level sync choices in Product Links too. Choose the low-stock threshold, lead time and safety factor from your actual replenishment workflow.

Below the standard form, Main warehouse by country lets you choose the main warehouse for delivery countries. Unmapped countries use the warehouse default. Check Resolves to and click Save main warehouses to save this separate routing panel. It is a configured country map, not a nearest-warehouse calculation.

Configure shipments, status changes and emails

  • Auto-Create Shipments on Order. Creates shipment records automatically with values none, dropship_only, or all; default: none.
  • Auto-Shipment Warehouse Selection. Chooses the warehouse for automatic shipment creation using default, first_available, or most_stock; default: default.
  • Auto-Set Order Status on Shipment. Shows and preselects an order status when creating shipments; default: 1.
  • Order Status - Fully Shipped. Sets the suggested order status when every order item is shipped; default: 4.
  • Order Status - Partially Shipped. Sets the suggested order status when some items remain unshipped, with 0 meaning do not change; default: 0.
  • Notify Customer - Fully Shipped. Sets the default customer notification checkbox for full shipments; default: 1.
  • Notify Customer - Partially Shipped. Sets the default customer notification checkbox for partial shipments; default: 0.
  • Block Backorder Email. Blocks the native PrestaShop out-of-stock email when the module handles the shipment workflow; default: 1.
  • Dispatch Grace Period. Sets how many minutes to wait before committing stock deduction after dispatch; default: 5.
  • Shipping Cutoff Hour. Sets the 24-hour cutoff used for same-day shipping ETA defaults; default: 15.
  • Default Transit Days. Sets the fallback delivery transit time in business days when the carrier has no transit value; default: 3.
  • Cost Currencies. Sets comma-separated cost currencies, with the first currency used as the default; default: GBP,EUR,PLN.
  • Correction Reasons. Sets one correction reason per line for the shipment correction modal; default: Shipped wrong item; Damaged in transit; Customer return; Quantity error; Quality issue; Missing from package; Other.
  • Enable Shipment Tracking. Shows shipment tracking in customer account and order detail pages; default: 1.
  • Enable Shipment Email Notifications. Sends module shipment emails when shipment tracking is enabled; default: 1.
  • Enable Shipment Images. Allows staff to upload package photos and documents to shipments; default: 1.
  • Max Image Size. Sets the maximum shipment image upload size in MB; default: 5.
  • Images Visible to Customers by Default. Makes uploaded shipment images customer-visible by default instead of admin-only; default: 0.

Use Auto-Create Shipments on Order = none for a manual first test. If you enable automatic creation, choose dropship_only or all and verify the warehouse-selection strategy on representative orders. The available strategies are default warehouse, first available stock and most stock.

Check that the configured order status IDs match your own shop statuses. The fully/partially shipped notification switches set the initial notification choice. Review the actual choice when processing a shipment. Block Backorder Email defaults on to avoid the native out-of-stock mail in the module workflow.

Use Dispatch Grace Period to define the delay before a dispatched shipment's final stock commitment. The default is 5 minutes. A scheduler must process pending shipments after that delay. Test the undo/correction workflow before using it for real dispatches.

Item change reasons adds the reason choices used for replacements. Its defaults are Out of stock, Damaged in warehouse, Discontinued, Customer request, Better fit for order, Quality issue and Other. Keep each reason on a separate line, as with Correction Reasons.

The stored preparation status defaults to 3 and the shipping cutoff minute to 0. They are not separate visible fields named Order Status - Preparation or Shipping Cutoff Minute in the current Configuration form.

Configure reservations and public availability

In the Stock group:

  • Enable Material Reservations. Enable temporary material reservations from the selected Start reserving stock stage. Default: 1. A fresh configuration starts at cart-page or checkout entry, not on every add-to-cart.

  • Reservation Timeout. Set the hold window after an accepted cart change. Default: 30 minutes. It is capped by Maximum protection period; refreshes and duplicate saves do not renew it.

  • Start reserving stock. Default: cart_page. Reserve when entering the cart page or checkout. You can instead choose add-to-cart or checkout entry. Cart/checkout entry needs JavaScript and a valid customer session. An accepted later cart change can reserve stock; simply viewing or refreshing does not restart a hold.

  • Cart stock integration. Click Prepare cart stock integration to check the installed PrestaShop version and prepare its native adapters. Resolve reported conflicts and reload the page.

  • Reduce available product stock for cart reservations. Default: off. Turn this on only after the native integration and fast stock worker are ready. A hold on a component reduces availability of every linked product using it; physical component stock is unchanged.

  • Maximum protection period. Default: 120 minutes. Cap an owner's continuous protection.

  • Break between protection periods. Default: 30 minutes. Require a break before that owner acquires fresh protection.

  • Protected carts per owner. Default: 3.

  • Protected sale units per owner. Default: 100.

  • Changes per protection period. Default: 60 accepted quantity/recipe changes.

  • Protected carts per stock pool. Default: 1000 competing temporary carts.

  • Maximum distinct cart lines. Default: 256. Raise only after measuring larger carts.

  • Maximum stock pools per cart. Default: 128. A pool represents a material or assembled recipe in a warehouse.

Review these bounds together. Carts without a temporary hold can still undergo checkout stock checks. A page refresh does not extend protection. Inspect Inventory > Reservations using test carts and a controlled stock quantity.

reservation_use_session_tracking = 1 and reservation_cron_enabled = 0 remain stored compatibility defaults. They are not separate Use Session Tracking or Enable Cron Cleanup fields in the current form. The current registered cleanup task runs through the shared scheduler. Do not rely on visitor traffic to execute background stock jobs.

Configure storefront stock and returns

Display

  • Show Stock Availability. Displays warehouse stock availability on product pages; default: 1.
  • Show Stock Details. Shows detailed stock information when product stock availability is enabled; default: 1.
  • Hide Stock Bar Widget. Hides the module stock bar while keeping the stock checker modal usable through .stock_checker theme elements; default: 0.
  • In-Stock Delivery Text. Sets the delivery badge text when local stock is available; default: Next day delivery.
  • Out-of-Stock Delivery Text. Sets the delivery badge text when only secondary warehouse stock is available; default: Secondary warehouse · 3-5 business days.

Use the delivery texts as your own configured messages. These messages are entered manually rather than calculated from carrier data. If your theme has its own stock button, enable Hide Stock Bar Widget and keep a .stock_checker element with the product and combination IDs so it can open the checker modal.

The module registers stock-availability, my-shipments and my-returns. The stock-availability page additionally requires the stored stock_checker_page preference, default 0. This is not a normal Configuration field. Use the product checker as your initial public test.

Returns (RMA)

  • Enable Returns (RMA). Allows customers to request returns from their account; default: 1.
  • RMA Requires Approval. Requires staff approval before a customer sends a return back; default: 1.
  • Auto-Refund Grade A Returns. This setting does not trigger automatic refunds. Process refunds through your PrestaShop/payment workflow; default: 0.

Customers can request returns and view shipment tracking through the registered account/order areas when enabled. Verify those links while signed in to a customer with a real test order. Staff approve, receive, inspect and resolve the return in Fulfillment > Returns (RMA). Refund fields record decisions; verify any actual refund through your PrestaShop/payment workflow. Do not treat Auto-Refund Grade A Returns as proof that money has moved.

Set up cron and the fast stock worker

Run the shared MPR cron runner from the server scheduler. Use the existing shared MPR cron token supplied by the module's getCronToken() API or your MPR cron administration. It is not an editable Cron Token field in Warehouse Configuration. The CLI entry point supports:

* * * * * php /var/www/html/modules/mprwarehouserevolution/cron.php --token=YOUR_SHARED_TOKEN --max-tasks=20 --max-seconds=55 --context=cron

Replace the shop path and token. Scheduled tasks release expired reservations and terminal-order commitments every 300 seconds, commit pending dispatches every 60 seconds, process queued product stock on CLI every minute, recover pending publication every minute and request full reconciliation daily.

The HTTP cron endpoint cannot run CLI-only stock tasks. Keep a CLI schedule for stock processing. The root entry point also accepts --stock-only to run its stock-related CLI task subset. Check job results before creating additional overlapping schedules.

If you enable Reduce available product stock for cart reservations, also supervise this short CLI process so it runs again at approximately one-second intervals:

php /var/www/html/modules/mprwarehouserevolution/bin/cart-stock-worker.php --seconds=3 --max-products=20

The worker accepts --seconds=1..20, --max-products=1..100 and --quiet. Run it as the shop's normal process user. Inspect its JSON health result and exit code before quieting output. Preparing the integration alone does not run the worker.

Import existing data

Open Warehouse > Catalog > Import Data. Use UTF-8 CSV and the templates for the selected entity type. The importer accepts semicolon or comma delimiters and provides preview/staging, row selection and batch processing. Its controller limit is 500 MB, subject to lower PHP/server limits.

Import in dependency order: warehouses and zones; suppliers and materials; recipes and recipe components; product links and supplier products; stock; purchase orders and purchase-order items. References must match existing records exactly.

Add a custom carrier tracking URL in Warehouse -> Fulfillment -> Carriers. The module replaces {tracking} or {tracking_number} with the shipment tracking number, and DHL-style URLs can also use {locale}.

Code: custom_local
Name: Local Courier
Tracking URL Pattern: https://carrier.example/track?id={tracking}
Transit Time: 2
Active: yes
DHL pattern:
https://www.dhl.com/{locale}/home/tracking.html?tracking-id={tracking}&submit=1

Import product links with semicolon-separated UTF-8 CSV files in Warehouse -> Catalog -> Import Data.

product_reference;product_attribute_id;item_type;item_reference;quantity;sync_stock
TRAY-1200;0;recipe;SHOWER-TRAY-KIT;1;1
DRAIN-90;0;material;DRAIN-90;1;1

Import initial material stock by warehouse reference.

material_reference;warehouse_reference;quantity
PANEL-1200;MAIN;25
DRAIN-90;MAIN;40

Create a recipe and its components.

reference;name_en;description_en;assembly_time;assembly_cost;auto_deduct
SHOWER-TRAY-KIT;Shower tray kit;Panel and drain kit;30;5.00;1
recipe_reference;component_type;component_reference;quantity;is_optional
SHOWER-TRAY-KIT;material;PANEL-1200;1;0
SHOWER-TRAY-KIT;material;DRAIN-90;1;0

Use your theme's own stock button while letting the module open the stock checker modal. This works with Hide Stock Bar Widget enabled.

<button type="button"
        class="btn btn-secondary stock_checker"
        data-id-product="{$product.id_product|intval}"
        data-id-product-attribute="{$product.id_product_attribute|default:0|intval}">
    Check live stock
</button>

Style front office stock elements through the module classes.

.mprw-stock-bar {
  border: 1px solid #d9e2ec;
  padding: 12px;
}

.mprw-bar-in-stock {
  color: #127a3a;
}

.mprw-bar-secondary-stock {
  color: #8a5a00;
}

.stock_checker.mprw-price-stock-summary {
  white-space: nowrap;
}

Shipment and RMA email templates support these placeholders.

Shipment email:
{firstname}
{lastname}
{email_heading}
{order_reference}
{shipments_text}
{pending_items_text}
{history_url}
{shop_name}
{shop_url}
RMA customer update:
{firstname}
{lastname}
{rma_reference}
{order_reference}
{return_type}
{status_label}
{date_updated}
{message}
{rma_url}
{shop_name}

Use the CSS and email examples only for the matching templates/classes in your installed version. Check a sample outgoing shipment and RMA message after template changes.

Process orders, purchasing and returns

Create a test order with a linked product. Review the warehouse panel on the Back Office order page, including components, shipment items, custom materials, issues, corrections, returns, email log and fulfilment history.

Create the shipment, verify its warehouse and quantities, then move it through the applicable picking, packing and dispatch steps. After the grace period, verify the movement and available stock. Use an explicit correction when a wrong item or quantity was recorded. Do not manually edit stock tables.

For replenishment, create a supplier and purchase order, then use Receiving when goods arrive. Check incoming and received quantities separately. Use Suggest Reorder, Stock Planning and Reports only after material links, lead times and stock are correct.

For returns, verify receipt and grade each item before restocking or resolving the RMA. Tracking URL patterns substitute {tracking} or {tracking_number}, and applicable patterns also support {locale}. These links do not book carrier labels.

Status reference

Shipment statuses are:

1 = Pending
2 = Picking
3 = Picked
4 = Packed
5 = Shipped
6 = Delivered
7 = Cancelled

RMA statuses are:

1 = Requested
2 = Approved
3 = Awaiting return
4 = In transit back
5 = Received
6 = Inspected
7 = Resolved
8 = Rejected
9 = Cancelled

Return quality grades are:

A = Like new - full stock credit
B = Slight damage - refurbished stock
C = Damaged - heavy discount
F = Unsellable - write-off

Purchase order statuses are:

1 = Draft
2 = Sent
3 = Confirmed
4 = Partial
5 = Received
6 = Cancelled

The A/B/C/F grade labels map to internal numeric constants 1/2/3/4. Use the grade choices in the Back Office rather than writing these codes to the database.

Verify and troubleshoot

Run Warehouse > Settings > System Check. Check the default warehouse, tables, hooks and installed integration status. With one test product, verify initial stock, a cart reservation, order commitment, partial/full shipment, grace-period completion, cancellation/correction, receiving and an RMA restock. Compare native product quantity with the module's stock and movement records.

If quantities lag, check CLI cron, worker health, synchronization switches and product links before entering manual corrections. If a cart does not reserve immediately, check Start reserving stock and protection limits. If the public stock bar is absent, check Display settings and theme hooks. For missing account links, check tracking/RMA settings, login and order ownership. For import failures, check required columns, referenced records, encoding and server upload limits.

Use Back Office employee permissions for the relevant view/add/edit/delete actions. Country routing writes require edit access. Do not grant broad database access to warehouse staff as a substitute for module permissions.

Disable or uninstall

Back up all warehouse, material, recipe, product-link, stock, procurement, shipment, return and movement data first. Turn off Reduce available product stock for cart reservations and keep the stock worker running until it has restored availability. The module blocks disable/uninstall while public holds, restoration or a transition ticket remain active.

After restoration is complete, disable or uninstall through the Back Office. Uninstall removes registered tasks, menus, column preferences and module SQL data. Remove your own worker supervisor and scheduler entries when they are no longer needed. Recheck native stock quantities and the replacement stock-management workflow before taking orders.

Compatibility

Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.

Questions

No questions about this module yet

Ask anything about installation, compatibility or setup. Answers appear here.

Known Issues

32

Partial shipment balances were incorrect

ResolvedUpdated:
Fixed in: 1.82.7
Partial shipments could calculate remaining units incorrectly, lose nested-set identity or treat a legitimate later shipment as a repeated request.

Variant picker offered inactive attributes

ResolvedUpdated:
Fixed in: 1.82.7
Warehouse variant selection could offer combinations based on inactive catalogue attributes.

Cached availability could be outdated

ResolvedUpdated:
Fixed in: 1.82.7
Cached product pages could show quantities from before concurrent stock publication or reservation changes.

Order capacity ignored effective replacements

ResolvedUpdated:
Fixed in: 1.82.7
Order capacity could be calculated from the original components instead of the replacements currently in use.

Replacement picker stopped after undo

ResolvedUpdated:
Fixed in: 1.82.7
Replacing an item, undoing it and trying another replacement could leave the picker unable to continue.

Product cost and quantity controls disappeared

ResolvedUpdated:
Fixed in: 1.82.7
Product rows in the shipment panel could lose their editable cost and quantity controls.

Installation failed on PrestaShop 9

ResolvedUpdated:
Fixed in: 1.82.7
Installation could fail while registering unavailable placements or preparing the native stock integration on PrestaShop 9.

Stock publication failed on PHP 7

ResolvedUpdated:
Fixed in: 1.82.7
Stock publication and worker-health reporting could fail on PHP 7.

Product components and stock panel was missing

ResolvedUpdated:
Fixed in: 1.82.7
The installation package omitted the product administration panel needed to manage component recipes and stock.

Saving unchanged settings disturbed reservations

ResolvedUpdated:
Fixed in: 1.82.7
Saving settings without changing them could unnecessarily alter existing reservations.

Expired cart reservations remained held

ResolvedUpdated:
Fixed in: 1.82.7
Old cart holds or holds attached to completed or cancelled orders could continue to reserve stock.

Historical corrections could assume uncertain quantities

ResolvedUpdated:
Fixed in: 1.82.7
Corrections could proceed using ambiguous historical source quantities instead of preserving that uncertainty.

Fractional shipment quantities lost precision

ResolvedUpdated:
Fixed in: 1.82.7
Shipment selections and saved allocations could lose fractional quantities or their original allocation identity.

Unavailable replacements blocked repair or shipping

ResolvedUpdated:
Fixed in: 1.82.7
An unavailable replacement could disappear without repair controls, and loose remaining materials could become unshippable.

Changing a replacement could lose reserved stock

ResolvedUpdated:
Fixed in: 1.82.7
Changing an existing replacement could commit even when the reserved stock could not be preserved.

Retrying shipment creation could allocate twice

ResolvedUpdated:
Fixed in: 1.82.7
Retrying a shipment submission could create duplicate allocations. Repeated submissions now return the existing shipment and keep a pending draft stable.

Deleted components left ghost rows

ResolvedUpdated:
Fixed in: 1.48.0
Deleted or inactive materials and recipe links could leave unusable rows in the order shipment panel.

Cancelling replacement excluded the original

ResolvedUpdated:
Fixed in: 1.48.0
Cancelling a replacement dialog could still exclude the original component from the order.

Replacements could disappear or target themselves

ResolvedUpdated:
Fixed in: 1.48.0
A component could be selected as its own replacement, or a saved replacement could disappear after refreshing the order.

Order panel showed stale data after saving

ResolvedUpdated:
Fixed in: 1.48.0
Changes made in the order panel could appear unchanged until the entire page was refreshed.

Nested recipes consumed stock twice

ResolvedUpdated:
Fixed in: 1.48.0
Shipping a nested recipe could consume the same component more than once, while linked products could display overstated availability.

Grace-period shipments depended on opening a page

ResolvedUpdated:
Fixed in: 1.48.0
Pending grace-period shipments were committed during page loads instead of consistently through scheduled processing.

Reservation switch did not stop reservations

ResolvedUpdated:
Fixed in: 1.48.0
Material reservations could still be changed while the reservation setting was switched off.

Duplicate shipments and incorrect stock synchronisation

ResolvedUpdated:
Fixed in: 1.48.0
Shipment processing could create duplicates or leave warehouse stock out of sync.

Shared materials overstated product availability

ResolvedUpdated:
Fixed in: 1.21.10
Products and combinations using the same materials could each appear fully available even when the shared stock could not fulfil them together.

Dispatch skipped the pending order status

ResolvedUpdated:
Fixed in: 1.21.10
Dispatching a shipment could overwrite a deferred order status before it was applied.

Undo left a pending shipment behind

ResolvedUpdated:
Fixed in: 1.21.10
Undoing a pending shipment did not always remove it completely.

Reorder filters gave incorrect results

ResolvedUpdated:
Fixed in: 1.21.10
Status filtering on reorder suggestions could use outdated values and omit matching items from the calculated order quantity.

Receiving statuses were stored incorrectly

ResolvedUpdated:
Fixed in: 1.21.10
Receiving records could not reliably keep their intended status values.

Customer notification choice was ignored

ResolvedUpdated:
Fixed in: 1.21.10
Shipment processing could ignore the notify-customer checkbox and use the configured default instead.

Shipment commits duplicated notifications or statuses

ResolvedUpdated:
Fixed in: 1.21.10
Committing a pending shipment could send duplicate emails or create duplicate order-status entries during concurrent processing.

Concurrent scheduled runs deducted stock twice

ResolvedUpdated:
Fixed in: 1.21.10
Overlapping scheduled processing could deduct warehouse stock more than once for the same shipment.

Feature Requests

31

Implemented

Bill of Materials (BOM) editor

Implemented
The module’s Bill of Materials editor links assembled products to their component products and defines the quantity required for each component.

Stock projection from incoming purchase orders

Implemented
Purchase orders marked for stock projection contribute their configured incoming quantities to projected material availability. These incoming quantities remain separate from physical warehouse stock.

Warehouse layout editing

Implemented
Edit warehouse layouts, save drafts automatically, and retain the top-down view across editing tools.

Shelf product positions

Implemented
Assign products to warehouse shelves and manage their storage positions.

Demand-based reorder suggestions

Implemented
Use sales demand and existing orders to review reorder quantities and generate purchase orders.

Supplier-department purchase orders

Implemented
Record supplier references, currencies and departments, and split purchase orders by department.

Shipment history and corrections

Implemented
Create warehouse shipments, review their history and record corrections.

Shipment-driven order statuses

Implemented
Update order status automatically when shipments are created or dispatched.

Shipment email log

Implemented
Review shipment-related emails and resend them from an order email log.

Filterable stock checker

Implemented
Filter warehouse availability by product attributes and features, including image-based filter choices.

Stockless fulfilment and projections

Implemented
Handle bespoke order lines that do not consume stock and show warehouse stock projections.

Main warehouse by destination country

Implemented
Choose a main warehouse for each delivery country and apply it when preparing an order.

Order component editing

Implemented
Add products or sets, exclude components and replace items directly from the order shipment panel.

Partial component replacements

Implemented
Replace only part of a component quantity while keeping the un-replaced balance available for fulfilment.

Replacement history and reservation transfer

Implemented
Review replacement quantities, staff member, time and notes, transfer reserved stock to replacements, and undo the change.

Reusable nested recipes

Implemented
Create priced sub-sets, group components into them and reuse existing sub-sets in other recipes.

Recipe component ordering

Implemented
Reorder recipe components directly in the editor.

Calculated or fixed set costs

Implemented
Review component-based set costs and switch a set between a calculated cost and a fixed price.

Buildable quantity explanations

Implemented
See how many units can be built from available stock and which components limit the result.

Suggested replacement items

Implemented
Find replacement items using similarity suggestions, stock availability and fully paginated results.

Whole product-line replacement

Implemented
Replace an entire shop-product line while retaining the chosen combination and its component structure.

Configurable replacement reasons

Implemented
Choose replacement reasons from a configurable list when replacing order items.

Change an existing replacement

Implemented
Change a replacement in one operation instead of undoing it and starting again.

Edit pending replacement components

Implemented
Edit parts within replacement products before the shipment is completed.

Item cost and stock details

Implemented
Review whole-set pricing, component costs, warehouse stock, reserved quantities and linked orders in a common details dialog.

Confirm stock exceptions

Implemented
Review and confirm shipments that exceed available stock, with the resulting changes recorded consistently.

Complete-kit component reservations

Implemented
Validate cart contents against owned component reservations so complete kits can be reserved together.

Configurable reservation start

Implemented
Choose whether temporary component reservations begin when items enter the cart, when the cart page opens or at checkout.

Resumable stock publication

Implemented
Publish stock changes in bounded, resumable batches, including temporary stock changes caused by cart reservations.

Availability cache refresh

Implemented
Invalidate dependent cached stock pages when stock changes so storefront availability follows current reservations.

Catalogue filters in product picking

Implemented
Use catalogue filters when selecting warehouse products.

Changelog

v1.21.132026-09-21

  • AddedAdd warehouse stock projection and stockless fulfillment
  • AddedSupport bespoke no-stock order lines
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedRepair warehouse revolution install release
  • FixedAdd standard infrastructure checks, tag quality/monitoring checks
  • FixedMigrate STOCK_CHECKER_PAGE from ps_configuration to module config
  • FixedReplace Tools::displayPrice with PriceFormatter compat wrapper
Older releases

v1.1.02026-05-18

  • AddedBill of Materials (BOM) editor — define assemblies and component quantities
  • Addedpicking list generation from pending orders with single-click fulfilment
  • Fixedstock sync not propagating to PS native stock on manual adjustment

v1.4.02026-04-20

  • AddedAdd hreflang to Returns and Shipments controllers
  • AddedAdd meta tags and hreflang to warehouse front controllers
  • Addedautomatic theme detection for Classic and Hummingbird style compatibility
  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • Improvedsettings form organization with tabbed layout
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedOrder qty calculation now includes all matching items when status filter active
  • FixedStatus filter on Suggest Reorder now filters against live-computed values
  • FixedTable column mismatch, filter width, navigation guard, modal cleanup
  • Fixedvarious stability and compatibility improvements (8 fixes total)
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.3.02026-02-13

  • AddedPS 9 / Hummingbird theme compatibility
  • Addedmulti-location bin system — assign bin codes within warehouse zones
  • Addedstock-transfer workflow with approval step and email notification
  • Improvedpicking-list PDF — shows bin location and batch number per line item
  • Optimized BOM explosion query for assemblies with 5+ levels of nested components

v1.2.02025-09-29

  • Addedbarcode scanner support for receiving and picking workflows
  • Addedreorder-point alerts with configurable per-SKU thresholds
  • Improvedaudit trail — every stock movement logged with user, timestamp, and reason

v1.0.02025-02-03

  • Initialrelease: multi-warehouse inventory management for PrestaShop
  • InitialUnlimited warehouse locations with stock level tracking per location
  • InitialStock-level dashboard with low-stock and out-of-stock indicators
  • InitialCompatible with PS 1.7.x and PS 8.x

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top