Answers.Body: <p>Without thinking about it too deeply, I think rather than sending the single bundle Id, you will probably want to use MultiAdd for this - <a href="https://github.com/verbb/multi-add" rel="nofollow noreferrer">https://github.com/verbb/multi-add</a> - and basically set up a form that intercepts the user choices and translates those to the appropriate variant Ids for submission to Commerce.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-11T01:09:25.300Z
Answers.Text: Wouldn't this add some complexity on handling the bundle price? For example, if I use MultiAdd on a bundle page to add three products and their variations, they need to have their discounted price for the bundle only. Then on a cart page, I'd need to keep an eye on the bundle products and make sure only one product is their per purchased bundle, and only apply the discount on products that are in a complete bundle (cart has at least one of east product in that bundle)... and overlapping bundles sharing some products... and...
Answers.UserDisplayName: jrothafer
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-11T01:13:47.940Z
Answers.Text: Would something as dumb as adding a hidden field to the Bundle product variation (text field), and when a user adds a bundle to cart (all the products in the bundle and their variation choices are on one page), skim the variation choices, compile them into simple readable text (Product A - Blue, Product B - Size 4), put it in the hidden field, and then submit to cart?
Answers.UserDisplayName: jrothafer
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-11T02:46:55.113Z
Answers.Text: Well yes it certainly would add complexity re: price as indeed there's not much support for this in discounts etc.  So that's a fair point.  Dumping it to a text field will handle it in a very basic way and keep the pricing side of things ok, but if you're using stock etc it won't work for that really.  Compromises with all approaches with this currently I think!
Answers.UserDisplayName: Jeremy Daalder
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-11T03:55:58.847Z
Answers.Text: I think we are just going to drop variants in the bundles and just use the default variant of a product if it's in a bundle. Yea, the hacky text field thing would work but after chatting with the client just now, they aren't sure how to insure order fulfillment at the warehouse would check the CMS system. Our Commerce products get stock updated from our integration on an hour cronjob, so Commerce stock would stay decently in order with the warehouse. Thanks for your suggestions!
Answers.UserDisplayName: jrothafer
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-12T02:49:09.583Z
Answers.Text: Sounds sensible!
Answers.UserDisplayName: Jeremy Daalder
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-11T00:49:54.667Z
Answers.LastActivityDate: 2017-11-11T00:49:54.667Z
Answers.UserDisplayName: Jeremy Daalder
Body: <p>I have a client who needs to list product "Bundles" as individual products. So basically, there would be products x, y, and z, all with their own SKU, and then bundle A with it's own SKU. Bundle A is all three products (x, y, z) at a discounted price. When Bundle A is purchased, the SKU is sent to their ops and packaging team (we have an integration from Commerce to their warehouse software).</p>
  
  <p>The thing is, only bundle A's SKU is sent on purchase, which is fine because the warehouse team know what products belong to what bundle. However, the products in the bundle (x, y, z) have variations. </p>
  
  <p>Is their some reasonable to add a product connection field to the variation of the Bundle? The issue is that the Bundle SKU would need to stay the same, but the customer needs to able to pick the variations of the related products that are in the bundle and have it stored in Commerce for the warehouse team to manually check. I'm a little lost on how to handle this. Basically, when a bundle A is ordered, their needs to be some way to store what variations of the related products were chosen for the bundle. Any suggestions, or am I missing some basic feature that would cover this?</p>
  
  <p><strong>Edit</strong> </p>
  
  <p>Due to the rush of this job (customer wants this for the shopping season) I'm thinking this (thoughts or comments asked for):</p>
  
  <p>Make a Variation text field (<code>bundleChoices</code>) for the bundle. On the bundle add-to-cart page where all products in the bundle are listed, use Javascript to stop the add-to-cart button, collect the bundle's product's variation choices and skus, and fill in a hidden (<code>bundleChoices</code>) field. Then add the bundle product with plaintext data describing the product variations chosen for this bundle.</p>
  
  <p><strong>Edit</strong></p>
  
  <p>We've decided to drop product variants in a bundle product. So if you buy a bundle, you get <code>product x variant a</code>, <code>product y variant f</code>, and <code>product z variant q</code>, no substitutions on the products normal options. To accomplish this, a bundle product will have a field for SKUs where just copy and paste the variant SKUs you want attached to the bundle. </p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-11-15T02:04:42.357Z
Comments.Text: Great question. We have a prospective client with needs similar to this, so are also keen on figuring out the most efficient solution to this. It would also be helpful to track stock levels of the individual variants and prevent orders of the bundle once the variants sell-out. Don't have an answer yet, but it will be something we're researching.
Comments.UserDisplayName: Simon East
Tags: <plugin-craftcommerce>
Title: Commerce Bundle Product
ThreadText: # Commerce Bundle Product
  
  (Asked by: username_0 on 2017-11-11)
  
  I have a client who needs to list product "Bundles" as individual products. So basically, there would be products x, y, and z, all with their own SKU, and then bundle A with it's own SKU. Bundle A is all three products (x, y, z) at a discounted price. When Bundle A is purchased, the SKU is sent to their ops and packaging team (we have an integration from Commerce to their warehouse software).
  
  The thing is, only bundle A's SKU is sent on purchase, which is fine because the warehouse team know what products belong to what bundle. However, the products in the bundle (x, y, z) have variations.
  
  Is their some reasonable to add a product connection field to the variation of the Bundle? The issue is that the Bundle SKU would need to stay the same, but the customer needs to able to pick the variations of the related products that are in the bundle and have it stored in Commerce for the warehouse team to manually check. I'm a little lost on how to handle this. Basically, when a bundle A is ordered, their needs to be some way to store what variations of the related products were chosen for the bundle. Any suggestions, or am I missing some basic feature that would cover this?
  
  **Edit**
  
  Due to the rush of this job (customer wants this for the shopping season) I'm thinking this (thoughts or comments asked for):
  
  Make a Variation text field (`bundleChoices`) for the bundle. On the bundle add-to-cart page where all products in the bundle are listed, use Javascript to stop the add-to-cart button, collect the bundle's product's variation choices and skus, and fill in a hidden (`bundleChoices`) field. Then add the bundle product with plaintext data describing the product variations chosen for this bundle.
  
  **Edit**
  
  We've decided to drop product variants in a bundle product. So if you buy a bundle, you get `product x variant a`, `product y variant f`, and `product z variant q`, no substitutions on the products normal options. To accomplish this, a bundle product will have a field for SKUs where just copy and paste the variant SKUs you want attached to the bundle.
  
  **Tags:** plugin-craftcommerce
  
  > **Comments:**
  > **username_1**: Great question. We have a prospective client with needs similar to this, so are also keen on figuring out the most efficient solution to this. It would also be helpful to track stock levels of the individual variants and prevent orders of the bundle once the variants sell-out. Don't have an answer yet, but it will be something we're researching.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-11-11. Score: 1
  
  Without thinking about it too deeply, I think rather than sending the single bundle Id, you will probably want to use MultiAdd for this - <https://github.com/verbb/multi-add> - and basically set up a form that intercepts the user choices and translates those to the appropriate variant Ids for submission to Commerce.
  
  > **Comments:**
  > **username_0**: Wouldn't this add some complexity on handling the bundle price? For example, if I use MultiAdd on a bundle page to add three products and their variations, they need to have their discounted price for the bundle only. Then on a cart page, I'd need to keep an eye on the bundle products and make sure only one product is their per purchased bundle, and only apply the discount on products that are in a complete bundle (cart has at least one of username_1 product in that bundle)... and overlapping bundles sharing some products... and...  
  > **username_0**: Would something as dumb as adding a hidden field to the Bundle product variation (text field), and when a user adds a bundle to cart (all the products in the bundle and their variation choices are on one page), skim the variation choices, compile them into simple readable text (Product A - Blue, Product B - Size 4), put it in the hidden field, and then submit to cart?  
  > **username_2**: Well yes it certainly would add complexity re: price as indeed there's not much support for this in discounts etc.  So that's a fair point.  Dumping it to a text field will handle it in a very basic way and keep the pricing side of things ok, but if you're using stock etc it won't work for that really.  Compromises with all approaches with this currently I think!  
  > **username_0**: I think we are just going to drop variants in the bundles and just use the default variant of a product if it's in a bundle. Yea, the hacky text field thing would work but after chatting with the client just now, they aren't sure how to insure order fulfillment at the warehouse would check the CMS system. Our Commerce products get stock updated from our integration on an hour cronjob, so Commerce stock would stay decently in order with the warehouse. Thanks for your suggestions!  
  > **username_2**: Sounds sensible!  
  
  ---
  
  