This is a fantastic niche business model, and you’re absolutely right that standard Shopify inventory doesn’t handle this type of “liquid conversion” tracking. Here are the best solutions for managing decant inventory:
Recommended Apps:
1. Bundler - Product Bundles
How it works: Set up your 100ml bottle as the “parent” product and 2ml/5ml/10ml as bundle components
Inventory tracking: Automatically deducts from main bottle when smaller sizes sell
Pros: Built for exactly this type of conversion tracking
Create your decants as variants of the main product instead of separate products:
Setup Example:
Product: “Perfume A - 100ml Base”
Variants:
2ml decant (reduce inventory by 2)
5ml decant (reduce inventory by 5)
10ml decant (reduce inventory by 10)
Then use Liquid code to calculate remaining stock:
liquid
<!-- Display remaining ml available -->
{% assign total_inventory = product.selected_or_first_available_variant.inventory_quantity %}
{% assign remaining_ml = total_inventory %}
<p>{{ remaining_ml }}ml remaining in bottle</p>
Pro Setup Strategy:
Option A - Bundle Method:
Main product: “Perfume A - 100ml” (master inventory)
Decant products: “Perfume A - 2ml”, “5ml”, “10ml” (linked to main bottle)
App handles the math automatically
Option B - Variant Method:
Single product with size variants
Custom code calculates remaining volume
Manual inventory updates (more work, but free)
Technical Implementation:
For automatic stock blocking, you’ll need either:
An inventory management app (easiest)
Custom code that checks remaining ml before allowing checkout
Shopify Flow automation (Shopify Plus only)
Budget-Friendly Start:
If you’re just starting out, try the variant method first. You can always upgrade to a specialized app as you scale.
Quick Question: How many different fragrances do you typically stock? This will help determine if you need the full app solution or if a simpler setup works.
This is such a unique business model, I’d love to hear what solution ends up working best for you! The perfume decant community would definitely benefit from knowing the best Shopify setup.
Good luck!
Feel free to reach out to me, if you need help with the technical implementation; happy to walk through the setup!
I understand your requirements. You’re looking for a solution to manage inventory for decants, where there’s a unit-based relationship between the full-size bottle (parent) and smaller portions (child items).
I would suggest using Profit Bundles & Mystery Boxes, which allows you to define relationships between parent products and child items, enabling relationship-based inventory syncing.
For example, you can define your 100ml bottle in the app, where it can be divided into smaller units like 2ml, 5ml, or 10ml portions. Inventory tracking in this scenario would work as follows:
Initially, you have a total of 100ml available. So, for 2ml units there would be 50 units, for 5ml units 20 units, and for 10ml units 10 units.
If a 10ml portion gets sold, the 10ml inventory reduces by 1 (from 10 → 9), and the total remaining volume in the main bottle reduces by 10ml (from 100 → 90ml).
If a 2ml portion gets sold, the 2ml inventory reduces by 1 (from 50 → 49), and the total remaining volume drops from 90ml → 88ml.
The app would automatically block sales once there isn’t enough volume left in the main bottle to fulfill the requested unit.
This way, the system keeps track of how much liquid remains in each main bottle, subtracts the correct volume automatically whenever a variant is sold, and prevents overselling.
One solid option to look into is Sumtracker. It lets you treat your full-size bottle (e.g. 100 ml Perfume A) as the main inventory item and then define your smaller variants (2 ml, 5 ml, 10 ml) as components that draw from that same master stock.
Here’s how it works in your example:
You set up one master SKU representing the 100 ml bottle with its total quantity (e.g. 100 ml).
Each decant variant is linked to that master SKU with a usage rule — e.g. a 2 ml variant consumes 2 ml, a 10 ml variant consumes 10 ml.
When someone buys 5 × 10 ml, Sumtracker automatically deducts 50 ml from the main stock.
When the remaining volume reaches 0, it automatically marks all variants as out of stock so you can’t oversell.
It’s a neat solution because you still list all your decant sizes as separate variants for customers, but behind the scenes they’re all pulling from one inventory pool. That means no manual maths and no risk of overselling when the bottle runs out.
You can absolutely handle this setup with Easify Inventory Sync. The app allows you to track a shared inventory source (your full-size perfume bottle) and automatically deduct the correct amount whenever a decant is sold.
Setup steps:
Create your decant products
Create separate products or variants for your decant sizes, such as:
Perfume A – 2ml
Perfume A – 5ml
Perfume A – 10ml
Set up an Inventory Group
In Easify Inventory Sync, create an Inventory Group and use your full-size bottle as the shared inventory source.
For example:
Perfume A Bottle = 100ml available
Then add your decant products to the group and define how much inventory each one consumes:
2ml Decant → consumes 2 units
5ml Decant → consumes 5 units
10ml Decant → consumes 10 units
How it works
All decant sizes are connected to the same inventory source. When a customer places an order, Easify Inventory Sync automatically deducts the corresponding amount from the main bottle.
For example:
An order of 5 × 10ml decants reduces the source inventory by 50ml.
An order of 2 × 2ml decants reduces the source inventory by 4ml.
As inventory decreases, the available stock for all connected decant products is automatically updated based on the remaining volume. This helps prevent overselling and ensures your inventory always reflects the actual amount of liquid left in the bottle.
This setup is ideal for perfume decants, samples, ingredients, liquids, or any business where multiple products consume inventory from a shared source.
The app is very easy to use and user-friendly. If you need any help during the setup, the Easify team is always ready to assist via live chat inside the app.
Really specific use case and you’re right that standard Shopify inventory doesn’t handle this natively. Shopify tracks units per variant, not a shared liquid volume that depletes across multiple variant sizes.
The cleanest way to think about this technically: you need bundle/kit-style inventory logic where each variant consumes a defined quantity of a shared parent resource in your case, millilitres from a master bottle.
A few approaches worth knowing:
Shopify bundles with a shared component
Set up your master bottle as a separate product with inventory tracked in ml (so a 100ml bottle = 100 units where each unit = 1ml). Each variant - 2ml, 5ml, 10ml is configured as a bundle that consumes the corresponding number of units from the master bottle. When a 10ml decant sells, 10 units deduct from the master. When a 2ml sells, 2 deduct. Stock blocks automatically when the master hits zero.
Apps like Bundles.app or Kitify handle this component-level inventory deduction natively on Shopify.
Custom metafield approach
Store the ml value per variant as a metafield and use an automation to calculate deductions. More flexible but requires more setup and ongoing maintenance.
Dedicated inventory platform
For a more robust solution especially if you’re selling across multiple channels or managing many bottles simultaneously - a platform with custom inventory logic and AI automation lets you define the deduction rules per variant in plain English without code. Nventory handles this kind of component-level inventory tracking and is available directly on the Shopify App Store:
The AI automation layer lets you describe the rule “when a 10ml variant sells, deduct 10ml from the master bottle inventory” and builds the logic automatically.
For your scale, the Bundles app approach is probably the quickest starting point. If you’re managing a large catalog of fragrances across multiple channels, Nventory gives you more flexibility and automation as you grow.
Hello, @Bramm
I trust all is well on your end!
You may want to look at Sum Tracker Inventory Sync. It supports bundle and component based inventory tracking, which can be useful for decant businesses where multiple products draw stock from the same source item.
Sorry for bumping an old thread, but has anyone experimented with integrating a barcode system for tracking the decants? I think it could streamline the inventory process significantly. Anyone facing challenges with scaling up their fragrance line and shifting from manual to automated tracking?