Inventory Management decants

Topic summary

A merchant selling perfume decants needs to track inventory by volume rather than units. When customers purchase smaller portions (2ml, 5ml, or 10ml) from a 100ml bottle, the system must automatically deduct the correct amount and prevent overselling once the bottle is depleted.

Recommended Solutions:

App-Based Options:

  • Bundler - Product Bundles (~$10-30/month): Treats the full bottle as parent product with decants as bundle components
  • Profit Bundles & Mystery Boxes: Defines unit-based relationships between parent bottles and child portions, automatically syncing inventory
  • Sumtracker: Creates master SKU for full bottles with usage rules for each variant size; automatically blocks sales when volume reaches zero
  • Advanced tools like Stocky, Cin7, or QuickBooks Commerce for more complex needs

Free Alternative:

  • Set up decants as variants of the main product with custom Liquid code to calculate remaining volume
  • Requires manual inventory updates but avoids monthly fees

The discussion remains open, with contributors offering to assist with technical implementation. The variant method is suggested as a budget-friendly starting point before scaling to specialized apps.

Summarized with AI on October 24. AI used: claude-sonnet-4-5-20250929.

Hello!

I sell decants, meaning I transfer perfumes from full-size bottles into smaller portions.

Suppose I have a 100ml bottle of Perfume A. Customers can buy it in 2ml, 5ml, or 10ml options.

The difficulty lies in stock control:

  • An order of 5 × 10ml should reduce the main bottle by 50ml.

  • An order of 2 × 2ml should reduce it by 4ml.

I need a tool that can:

  1. Keep track of how much liquid remains in each main bottle.

  2. Subtract the right volume automatically whenever a variant is sold.

  3. Block sales once the available amount has run out.

Does anyone have a recommendation for me? I’d highly appreciate it

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

  • Cons: Monthly fee (~$10-30)

2. Advanced Inventory Management Apps:

Options to try:

  • Stocky (by Shopify) - handles component tracking

  • Cin7 - advanced for complex inventory rules

  • TradeGecko/QuickBooks Commerce - component-based inventory

3. Custom Bundle Solution (Free Alternative):

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:

  1. Main product: “Perfume A - 100ml” (master inventory)

  2. Decant products: “Perfume A - 2ml”, “5ml”, “10ml” (linked to main bottle)

  3. App handles the math automatically

Option B - Variant Method:

  1. Single product with size variants

  2. Custom code calculates remaining volume

  3. 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! :test_tube::sparkles:

Feel free to reach out to me, if you need help with the technical implementation; happy to walk through the setup!

Hi @Bramm,

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.

Hi!

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 check out this case study, tarife attar faced the same issue: How Tarife Attar Streamlined Inventory with Sumtracker