How to set up selling a single existing artpiece with/without a frame as a variant?

How to set up selling a single existing artpiece with/without a frame as a variant?

1 0 1

I sell unique artpieces on my shopify store. Unique as in only one copy existing in the world. But I want to offer the option to buy it either framed or without the frame.


Now I have an variant option on the product page with "print only" or "Black Frame" and for some reason the customer can buy both as the quantity for both is 1 on the produt page as variant. But there's only one painting and I'm selling with - or without the frame - not two paintings, one with the frame and the other one without it.


How can I limit so that you can only buy one or the other - and both of their quantities will go to zero after purchace?


Replies 3 (3)

Shopify Partner
129 17 49

Maybe instead of a variant option, you could use custom fields. In this case, there would be only the 1 product with no variants, and upon adding to the cart, the customer can simply select if they want it framed. 


This would be assuming the frame option costs the same. Otherwise, I am unsure, but hope this helps.

If I helped you, please help me by marking my comment as an accepted solution.
I am open to work and have been working with the Shopify system for several years.
2 0 0

I have this same exact question. We can't solve this ourselves ?

Shopify Partner
308 57 78

Hi @Andrew1997
As @threed suggested you can do that thing, but that would fail in case you want to charge separately for the framed product and for normal product.
So what other thing you can do is, let there be variants and add a validation on the product page when the customer is adding a product to the cart first it is checked whether another variant of that product is already in the cart or not and if there is already a variant added then we can popup a message stating that you already added a variant so you need to either remove the added variant or proceed with the existing variant for checkout. 
Also you need to hire a developer for both solutions. 
Please do not hesitate to ping me incase you want to go with implementing either of the approaches. 
Thanks & Regards 

- If my answers saved you time and headaches, consider buying me a coffee!
- Check my profile: KaalTechGeeks | Reach out to me on my socials - Instagram | Skype | Mail
- Was my reply helpful? Click Like to let me know! & if your question was answered, Mark it as an Accepted Solution!