How to manage inventory for perfume decants - need to track main bottle volume across variants

I run a perfume decant business where I split larger bottles of perfume into smaller quantities. Here’s my specific scenario:

Let’s say I have a 100ml bottle of “Perfume A” in stock. I sell this perfume in three variants: 2ml, 5ml, 10ml decant.

My challenge is inventory management. When someone orders, for example, 5 x 10ml decants, I need the system to automatically deduct 50ml from my main 100ml bottle stock. Similarly, if someone orders 2 x 2ml decants, it should deduct 4ml from the main bottle.

Is there an app or solution that can:

  1. Track the main bottle’s remaining volume
  2. Automatically calculate and deduct the correct amount based on variant orders
  3. Prevent overselling by checking if there’s enough volume left in the main bottle

I’m new to Shopify eco-system. I’ve looked through the App Store but haven’t found a solution that specifically addresses this need. Has anyone dealt with a similar situation or can recommend a solution?

Thank you

1 Like

@mpv1 you could use the shopify bundles app

In your case, you could define one inventory unit as 2ml and create bundles (sets) that are just multiplied by themselves (10ml = 5 x 2ml units | 50ml = 25x 2ml units).

This way your inventory would be correct. Just note that you have to input the quantity in the correct unit (e.g., 1000ml = 500 units).

Hi @mpv1 ,

The app Material Manager can do this. It allows you to enter an inventory of raw materials and then link Shopify variants to the material specifying how much of it the variant uses.

For your example you would enter a raw material of “Perfume A”, setting it’s inventory to 100 ml. Then you would link your 2ml, 5ml and 10ml variants to that material specifying the number of ml each variant requires. When any of those variants are sold it will deduct the appropriate number of ml from your “Perfume A” material.

When the material inventory is updated it will also update your Shopify variant’s inventory.

For example:

You start with 100 ml

Then you sell 2 x 2 ml, 1 x 5ml and 1 x 10 ml = 19ml

You “Perfume A” material inventory is now 81ml

Your Shopify variants inventory are as follows:

2ml = 40

5ml = 16

10ml = 8

1 Like

Hi @mpv1 ,

The Easify Inventory Sync app can help you manage your perfume inventory efficiently. Here’s how it works :hugs: :

  1. Create a Base Product: Set up a Base product to represent your total inventory in single units (e.g., 1ml). For example, if you have 100ml, set the Base product quantity to 100. Set this product to Draft so it doesn’t appear on your storefront; it’s purely for tracking purposes. However, if the full 100ml size is sold on your storefront, you can use it directly as the Base product without creating an additional product.

  2. Create Bundle Inventory Groups: Use the app to link the Base product with each of your product options (e.g., 2ml, 5ml, 10ml). For example, for the 2ml variant:

    • Master Product: 2ml variant
    • Component Product: Base product, with quantity per bundle set to 2. Repeat this for the 5ml and 10ml variants.

Expected Results:

  • The app will auto-calculate the available quantity for each variant (2ml, 5ml, 10ml) based on the Base product’s stock.
  • When a variant (e.g., 2ml) is sold, the Base product’s quantity is adjusted accordingly (e.g., by 2), updating the availability of all other variants based on the remaining Base stock.

If you’re interested, feel free to reach out to the Easify team for a detailed setup guide tailored to your store.