True Variant-level Availability Syncing Between Options

Hi everyone,

We’re currently setting up our products on Shopify and running into an issue with variant behavior.

Right now:

  • Products are listed individually with Size variants

  • We’re using an app to group/combine them under Color options

What we want to achieve:

  • When a Size is selected → any Color options that are out of stock for that size should be crossed out or disabled

  • When a Color is selected → any Size options that are out of stock for that color should also be crossed out or disabled

Basically, we want true variant-level availability syncing between Size and Color, so customers can’t select unavailable combinations.

Questions:

  1. Is this behavior possible with Shopify natively or via an app?

  2. If this is a limitation of our current app, are there recommended apps that support this?

  3. If custom development is required, is this something that can be built privately? If so, what would be the estimated cost and timeline?

Any guidance or recommendations would be greatly appreciated!

Thanks in advance :folded_hands:

I think if you have your products set up properly in Shopify you won’t have a problem with this. Basically, give each product a Color and a Size, then, whichever option you have listed first will group the variants by that option. You can also choose which option you want to group by. Let’s say this option is Color. In this case, Shopify will group your variants by Color and each color group can expand to show the Sizes you have. Each variant gets a SKU and Barcode in this case. The reverse (Size first and not Color) holds as well.

If that’s the way you have it set up then it’s just up to the theme you are using. We are using Dawn and this example shows colors and sizes for this product and what is “out of stock”:

This is simply setup like this in Shopify (Pink has 1 X-Large left - if you hurry you can get it! lol):

Again, we use the Dawn theme and I think it handles what you’re referring to.

As a side note, we also use FyreTrail to manage our inventory Colors and Sizes (and other options) for our boutique to make this happen automatically. I developed FyreTrail so if you end up checking it out and have further questions on how to make all this happen automatically just reach out.

When you create a product and its variants, normally you would simply create both color and size options. Then on the front end whichever option you created first will be displayed on top.

The actual unavailability and crossing out of unavailable variants on product page is done by your theme, meaning it’s theme-dependant. Many themes already support this behavior and have settings for it. Some don’t.

You can definitely reach out to the app developer/s to confirm on this. This should most probably be a theme specific feature anyway, most follow the crossed ui but it can be another where there’s a button that says sold out.

Definitely assuming you have set up the options correctly as that’s easy to setup. To answer your question, yes this can be done natively. Actually to group it you don’t really have to use an app unless there’s a unique setup that you are looking to build. If you are doing for color swatches, all this can be done natively with code.

It would definitely be better if you post your site links and some examples for a better understanding.

Best

This all depends on the app and how it inserts itself in the UI.
If it reuses parts of the theme then it’s a advanced customization of moderate difficulty.
If it puts in all it’s own code for color, or size, or both then it can be a dead end depending on the apps code or just plain annoying to make code to override it’s behavior.

The general out is unless the app is doing something very specific to do it without the app and just code the entire system into the theme to stitch products together; ala sibling products, flat products, combined listings, etc.
If the app is only used to manage the associations it should now be possible to generate an admin-app using sidekick for similar usages.

Reach out if you need this looked into.