Forums/Shopify Assistant App

Synchronizing Product Bundle Inventory

Shopify Concierge
posted this on December 13, 2011 07:16

Product bundles are a great way to entice customers with a set of products sold together at a discounted price. The Sync Inventory command can be used to synchronize inventory for product bundles. Shopify Assistant will monitor your orders and when it sees a variant that has been configured it will decrement the inventory of any associated variants by the quantity ordered.

Configuration

  1. Start by creating a new task, and select the "Sync Inventory" command.
  2. Specify the source product/variants. Note: you can hold down the control key to select multiple variants.
  3. Choose up to 10 target product/variants.

How to set up the Bundle

There are 2 ways you can set up a product bundle: as an additional variant on a base product, or as a separate product.

When you set it up as an additional variant on a base product, the additional variant should initially have the inventory set to the base product variant. Then configure the Sync Inventory task to update the base variant in addition to the variant of the product being bundled with it.

For example, if you sell a camera you would have one variant for the camera itself called "Camera". If you now offer a bundle that includes a case you would create a new variant called "Camera + Case", then configure the Sync Inventory task with two products - one to update the camera only variant, and one to update the case variant.

When you set it a bundle as a separate product, you create the new product and specify the bundle as a variant, however you do not need to track inventory. Simply configure which product variants should be updated when the order is received.

FAQ

What about cancellations?

Cancelled orders do not increment the inventory of target variants (at this time).

Can I show a variant as sold out if the associated variant is sold out?

Yes. There is an updated script available that works with the standard Shopify.OptionSelectors. It will show sold-out if any of the target variants are sold out.

1. First create a snippet called 'bundled.liquid' and paste the code from: https://gist.github.com/54cc2bdbc6f3cc5fbf7a

2. Open product.liquid and find the OptionSelectors code. It should look like this:

var selectCallback = function(variant, selector) {
  if (variant && variant.available) {
  <existing code>
  }
}

Change it to this:

{% include 'bundled' %}
var selectCallback = function(variant, selector) {
  bundled(variant.id, function(bundle) {
    if (variant && variant.available && bundle.available) {
      <existing code>
    }
  })