Warehouse Manager (Shopware 6 Plugin)

The Warehouse, Inventory & Shipping Management Plugin empowers merchants to efficiently handle multiple warehouses, automatically maintain accurate product stock per warehouse, and adapt inventory in real-time based on shipping methods. Whether you’re managing a single location or a global network, this plugin ensures a smooth, transparent shopping experience for your customers.


Changelog Highlights for Version 1.5.1

New Features

  • Advanced Click & Collect System: A complete overhaul of the Click & Collect functionality. You can now configure multiple warehouses as pickup points, manage internal deliveries between them, and offer your customers more flexible pickup options.

  • Granular Click & Collect Controls: New settings allow you to enable/disable internal stock transfers for pickup orders, configure a delayed delivery warning, and even switch off the Click & Collect feature entirely with a single click.


🚀 Improvements

  • Enhanced Storefront Stock Logic: Products are now correctly displayed as "unavailable" on the product detail page if they are out of stock across all warehouses assigned to the current sales channel.

  • Improved User Experience: A new, dedicated configuration page in the administration panel makes setting up warehouses and Click & Collect easier than ever.

  • Smarter Cart & Checkout: The storefront now intelligently guides customers. A new modal helps them choose the best pickup point for their cart, and the selected location is clearly displayed on the checkout page, in order confirmation emails, and in the admin order details.

  • Optimized Stock Reservation: For Click & Collect orders, stock is now prioritized and reserved from the selected pickup point first, ensuring more accurate inventory management.

  • Shopware 6.7 Compatibility: Full compatibility with the latest Shopware 6.7.1.x versions.

Functionality in Version 1.5.1

The Warehouse, Inventory & Shipping Management Plugin allows you to:

  • Create multiple warehouses and assign products to them with individualized stock levels.

  • (New) Configure an advanced Click & Collect system, allowing you to use warehouses as multiple pickup points and manage stock transfers (internal deliveries) between them.

  • (New) Improve storefront clarity by automatically showing products as unavailable if they are out of stock in all warehouses relevant to the customer's sales channel.

  • Calculate product deliverability based on combinations of sales channels and shipping methods.

  • Dynamically adjust cart contents if a visitor changes their shipping method and stock is insufficient.

  • Bulk-assign products via CSV import, simplifying stock management at scale.

  • Use warehouses as a filter in dynamic product groups to create targeted product listings and exports.

  • Ensure immediate storefront updates with automatic cache clearing whenever stock levels change.



Overview

Warehouses

  • Create a warehouse

  • Edit a warehouse

  • Add Products to a warehouse

  • Bulk import products to a warehouse

Product stock

  • Stock / warehouse

  • Deliverability of a product

Shipping methods in frontend

  • Visitor is changing shipping method to a one with less deliverability

Dynamic Product Groups

  • Use Warehouse as filter in dynamic product group

Product Feed / Product Export

  • Warehouse-Specific Product Feeds via Dynamic Product Groups

  • Retrieving Per-Warehouse Stock in Your Export Template

Click & Collect

  • Click & Collect warehouses

  • Internal deliveries

  • Order emails

  • Stock reservation

  • View pickup point


Warehouses



Settings Location: Catalogues > Warehouses

In this menu, you can:

  • Create a new warehouse

  • Edit or delete existing warehouses

  • Assign products to a warehouse (single or multiple via CSV) and set their stock levels



Create a Warehouse

  1. Navigate to Catalogues > Warehouses.






  2. Click Create.

  3. Enter the required warehouse information (e.g., name, address, shipping methods).

  4. Click Save to finalize creation.

External ID

String

optional

Title

String

optional

Street and house number

String

optional

Post code

String

optional

County

String

mendatory

Sales channel

Multiple selection

mendatory

Shipping methods

Multiple selection

mendatory



Edit a Warehouse

  1. Navigate to Catalogues > Warehouses.

  2. Click Edit on the warehouse you wish to modify.

  3. Update its information (e.g., name, linked shipping methods).

  4. Save your changes.


Add Products to a Warehouse

When creating or editing a warehouse:



  1. Go to the Products tab.

  2. Click Add (or a similar button) to select products.

  3. Enter the stock quantity for each product in this warehouse.

  4. Save your changes.


Bulk Import Products to a Warehouse

To import multiple products at once using a CSV file:

  1. Edit the warehouse where you want to import products.

  2. In the Products tab, find and click the Import button.

  3. Prepare your CSV in UTF-8 encoding with a semicolon (;) separator. Include two columns:

    • Identifier (e.g., SKU or product number)

    • Stock

  4. Drag and drop or upload the CSV file into the provided area.

  5. Check the preview to ensure the import settings are correct.

  6. Proceed with the import to update your warehouse stock.

Example CSV

Identifier;Stock
SW10001;10
SW10002;5
SW10003;20

Product Stock

Stock / Warehouse

When a product resides in multiple warehouses, its total stock will appear in the product’s General tab. Under the Warehouses table, you can see how many units are available per warehouse.





Deliverability of a Product





Deliverability is based on a combination of sales channel(s) and shipping method(s).


  • The plugin calculates available stock for each sales channel + shipping method combination.

  • At checkout, the deliverable quantity per product is determined by these calculations.


Shipping Methods in Frontend

If a visitor changes their shipping method, the plugin recalculates product stock to verify the new deliverability. If the chosen quantity is no longer available, the visitor will receive a prompt:

  • Continue: Updates the cart with the deliverable quantity for the new shipping method.

  • Discard: Reverts to the old shipping method and quantity.


Visitor Is Changing Shipping Method to a One with Less Deliverability

Example Scenario:

  • Warehouse 1 has 2 items available (supports DHL and Lieferrad).

  • Warehouse 2 has 2 items available (supports DHL only).

  • Total stock deliverable with DHL is 4 units.

  • Switching to Lieferrad (not supported by Warehouse 2) reduces deliverability to 2 units.







The plugin will notify the visitor of the reduction in deliverable quantity, and they can either accept the change (reducing their cart items to 2) or discard it to keep DHL as the shipping method.



Product Feed / Product Export

Warehouse-Specific Product Feeds via Dynamic Product Groups

Since v1.3.1, you can now filter Dynamic Product Groups by two new properties:

  • Warehouse
    Include all products assigned to a specific warehouse (e.g. “Lager 00”).

  • Warehouse Inventory Count
    Include only products whose stock in a given warehouse meets your threshold (e.g. > 10 units).


Filter by Warehouse


In this example, all products that match warehouse “Lager 00” are included.


Filter by Warehouse Stock


In this example, all products with a warehouse stock larger than 10 are part of the product group.


Retrieving Per-Warehouse Stock in Your Export Template

If you want to create a Product Feed for a specific warehouse


Get product stock for certain warehouse

If you need to output the stock level for a particular warehouse in your feed, you can grab it in Twig like this:

{# Replace with the UUID of your warehouse #}
{% set warehouseId = '0194a869b32077da950340d5894c0b38' %}

{# Initialize stock to zero #}
{% set stock = 0 %}

{# Loop through all warehouseProducts and pick the matching one #}
{% for wp in product.extensions.warehouseProducts %}
    {% if wp.warehouseId == warehouseId %}
        {% set stock = wp.stock %}
        {% break %}
    {% endif %}
{% endfor %}

<item>
    <g:id>{{ product.id }}</g:id>
    {# …other Google tags… #}
    <g:availability>{{ stock > 0 ? 'in stock' : 'out of stock' }}</g:availability>
    <g:quantity>{{ stock }}</g:quantity>
</item>

Click & Collect

You are able to configure click & collect settings in configuration:



Click & Collect warehouses

These are the pickup points, from which customer may pick up the click & collect orders. These warehouses should also be also assigned to Click & Collect shipping method in warehouses settings.

Note: In case that internal deliveries are enabled, plugin may be configured so that there are other warehouses that do not serve as pickup points, but their stock may be used to fulfill click & collect orders.

Internal deliveries

Internal deliveries setting allow you to customize, if you allow shipments between warehouses for click & collect orders. Currently you may only enable internal deliveries between all of the warehouses that have click & collect shipping method assigned in warehouse settings or you may disable for them all. If you need more precise internal delivery control, please contact the support and we will update the extension.

Order emails

If you want to specify pickup point for click & collect order in order confirmation email you are able to do so by using this variable:

{{ order.deliveries.first.extensions.clickNCollect.warehouse.name }}.

Stock reservation

If an order is placed for configured click & collect shipping method. Then the stock reservation reserves the stock from the pickup point. If internal deliveries are enabled the left reminder of unreserved stock of reservations are reserved by priority like for regular orders.

View pickup point

The pickup point of an order is shown in administrator’s panel’s order’s detail page: