You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make it possible to customize the list of stock locations, and their order of preference, based on the order details (e.g. customer, shipping address, shipping method, etc.). This should apply to all stages of the order management, and remain consistent across those stages:
adding or editing line-items in the cart, and verifying the stock available for the line-items' purchasables
completing an order, and committing/reserving stock for purchasables included in the order
deleting line-items after the order was completed, and updating stock levels accordingly
fulfilling an order, and updating the stock levels of the purchasables being fulfilled
Use Case
Some stores may be off-sourcing the fulfilling of incoming orders to an external shipping warehouse / service, but still want to offer delivery options that are handled in-house (for example "Local Pickup") and may need to store and track stock in multiple locations for that.
Including or excluding specific stock-locations based on the order details also sets the base for more advanced use-cases like those described in #4247. For example:
preferring stock locations closest (in distance) to the order's shipping address
allowing customers to choose their preferred stock location (e.g. in order to avoid cases where their order would be fulfilled in multiple shipments)
Current Limitation
Craft-Commerce's current multi-stock location implementation always factors in all stock locations attached to the store in which an order is placed. As such, managing stock from different stock locations based on the order details can only be achieved with a separate shop for each stock location (in the use case described above: one for "in-house", and another for "shipping warehouse" order fulfillments).
Setting up a separate store for in-house and off-sourced fulfillment for this use-case seems like overkill, and requires setting up one (or multiple in case of multi-lingual setups) separate site(s) for each store, which adds considerable complexity to the project setup and the implementation of some presentational / customer experience requirements.
Suggested Capability
The capability is description above (see #description) and could be implemented by:
Adding "Match Order", "Match Customer", "Match Shipping Address" and "Match Billing Address" conditional setting fields to each of the Stores' "Inventory Locations" (see edited screenshot below), similarly to how Shipping Methods are configured. This has the advantage of putting store managers in control.
Triggering an event which exposes the purchasable and order when fetching the list of inventory locations for a given purchasable, and allows modules/plugins to override the list. This has the advantage of allowing modules or plugins to add more complex logic to the selection of inventory locations. Unless the list of locations is fixed when the order is being completed, this has the potential of raising issues if the locations are not consistent in subsequent steps.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Make it possible to customize the list of stock locations, and their order of preference, based on the order details (e.g. customer, shipping address, shipping method, etc.). This should apply to all stages of the order management, and remain consistent across those stages:
Use Case
Some stores may be off-sourcing the fulfilling of incoming orders to an external shipping warehouse / service, but still want to offer delivery options that are handled in-house (for example "Local Pickup") and may need to store and track stock in multiple locations for that.
Including or excluding specific stock-locations based on the order details also sets the base for more advanced use-cases like those described in #4247. For example:
Current Limitation
Craft-Commerce's current multi-stock location implementation always factors in all stock locations attached to the store in which an order is placed. As such, managing stock from different stock locations based on the order details can only be achieved with a separate shop for each stock location (in the use case described above: one for "in-house", and another for "shipping warehouse" order fulfillments).
Setting up a separate store for in-house and off-sourced fulfillment for this use-case seems like overkill, and requires setting up one (or multiple in case of multi-lingual setups) separate site(s) for each store, which adds considerable complexity to the project setup and the implementation of some presentational / customer experience requirements.
Suggested Capability
The capability is description above (see #description) and could be implemented by:
Adding "Match Order", "Match Customer", "Match Shipping Address" and "Match Billing Address" conditional setting fields to each of the Stores' "Inventory Locations" (see edited screenshot below), similarly to how Shipping Methods are configured. This has the advantage of putting store managers in control.
Triggering an event which exposes the purchasable and order when fetching the list of inventory locations for a given purchasable, and allows modules/plugins to override the list. This has the advantage of allowing modules or plugins to add more complex logic to the selection of inventory locations. Unless the list of locations is fixed when the order is being completed, this has the potential of raising issues if the locations are not consistent in subsequent steps.
Beta Was this translation helpful? Give feedback.
All reactions