Magento 2 Quantity Per Source vs Salable Quantity

By: Nigel Ewart|LinkedIn Profile
Magento 2 Quantity Per Source vs Salable Quantity

If the new features of 2020’s Magento version 2.3 have you scratching your head, you aren’t alone. Many longtime Magento 2 users have reported there is a major bug in this new system.

The bug?

It’s a new value called Salable Quantity.

But you see, it isn’t a bug. This new feature was implemented into the system for a very specific purpose. This new value represents stock that has been sold but not yet shipped.

To best utilise Magento’s new feature, you must understand there is a clear difference between quantity per source vs. salable quantity.

Read on to explore the key takeaways of this new feature.

Quantity Per Source vs. Salable Quantity

These two values serve completely different purposes.

Once you know the key differences between the two, it will be easier to see how each feature plays a vital role as part of Magento 2’s Multi-Source Inventory (MSI).

M2 stock comparison

Salable Quantity In a Nutshell

Sitting at the 5th column from the right of Magento 2’s MSI back-end product grid is the salable quantity value. It is the sum of all available products. Unlike the default quantity feature, it’s grouped in stocks.

Where many Magento 2 users get confused is when customers begin placing their orders. In each of these cases, the quantity of the product stays the same while the salable quantity decreases.

Why is this?

When a customer buys your product, there’s always the chance they may cancel their order. Depending on your company’s shipment policies, you’ll have to fulfill that request if they cancel before shipment starts.

Salable quantity changes when:

  • The quantity per source in the warehouse changes
  • A new order is placed
  • A new order is cancelled

While several customers may buy your product at a time, not everyone is going to commit to their order. This is where quantity per source (QPS) comes in.

Quantity Per Source In a Nutshell

QPS is the physical stock at present in the warehouse. Many orders can be placed, but the QPS won’t change until the physical product is shipped to the customer or merchant.

Magento 2 MSI’s Source Selection Algorithm tracks this process for you. It’s programmed to know the convergence point at which orders in your salable quantity converted to committed sales and began the shipment process.

Once a shipment is fully processed, your QPS will change. If the orders represented in your salable quantity stock have been completed and sold, your default QPS will decrease. You will have made a profit.

Here’s how Magento 2’s algorithm processes QPS sales:

  • Saleable quantity is calculated per source of stock
  • The out-of-stock threshold is subtracted from the salable quantity
  • Reserves inventory quantities during checkout
  • Deducts physical stock at order processing/shipment
  • Supports backorders

In this process, Magento 2’s algorithm is taking into account multiple variables throughout the life of the sale. It’s optimising your stock selling process for you.

It’s using the salable quantity as a buffer between potential purchases and completed orders ready for shipment.

A Detailed Look at Magento 2’s Salable Quantity Calculations and Processes

Let’s assume you have two warehouses from two different locations. In each warehouse, you’re carrying 10 products. Assuming at this point you have no reservations, this means you have 20 salable products.

1. First Purchase

When your first client purchases 5 of your products, your salable quantity will decrease from 20 to 15.

Your default quantity will stay the same.

2. Calculations During Reservation Period

At this point, a reservation has been created. Your physical stock hasn’t left the warehouse yet because the shipment process hasn’t begun. Your customer still has time to partially or fully cancel their order.

Let’s assume your customer cancels 1 out of the 5 items they ordered. Your Magento 2 salable quantity will rise to 16 and your default quantity will remain at 20.

Magento 2 will update the reservation to match this event.

3. Calculations During Shipment

Assuming your customer decides not to make any further changes to their order, your order is now ready to begin the shipping process.

At this point, the indexer will ask for the reindex of your MSI. Your order should now be updated. Under the status bar, you should see a green box with the word READY.

Now that the products your customer bought are no longer with you, the reservation will be updated. The sum of all reservations for your product should be zero.

You should now see a total of 16 items in both your quantity bar and your salable quantity bar.

4. Post-Sell Reservation Cleaning

Magento 2 undergoes a reservation cleaning process once a day. All reservations are removed from the database whose sum equals zero.

In other words, Magento 2 is programmed to remove the reservations of all successfully shipped items. This leaves room for other orders to be placed and prevents the system from being backed up or looking messy.

Seeing the Value In This New Feature

The reason why the salable quantity feature was implemented into Magento 2’s algorithm had everything to do with optimising both the customer’s experience and the seller’s experience.

It removes the limitation of having to rely on a single inventory.

With the addition of salable quantity, merchants can have a more accurate visual of the products they are selling from multiple warehouses in locations all across the globe.

Want to Learn More About Magento 2’s New Features?

We hope this article helped you have a better understanding of quantity per source vs. salable quantity. Magento 2 is jam-packed with a ton of other useful tools that make the customer-seller experience more efficient.

Be sure to check out our blog to learn more about Magento 2 and everything its most recent updates have to offer!

Related Posts