Product kits - a single price, not a sum of components?

Posts: 4
Joined: 05/09/2008

The product kit feature is really great, but how prices for it are calculated seems to be a little confusing.

Must the price of the kit be calculated from the total of the products within it? The client wants to have kits which are cheaper than the sum of their parts, so the ideal situation is that we can just set a single price to the kit and have it ignore the price of its components, but that doesn't seem to be possible -- I hope I'm missing something.

Right now I've worked around this by setting the prices of all the products to a kit to $0.00 except for one item, which is set to the price of the kit itself. This works fine with regards to calculating totals and such, but when the user looks at their cart, they see a whole bunch of "free" products and one "overpriced" one… I could continue this workaround by hacking things so prices of $0.00 just display blank and the "overpriced" product is always at the top. But really, having the One Price for the kit would be the most ideal and logical solution, I think…

If there really is no way to set a single kit price… Have others run into this problem? How have you worked around it?

Posts: 1595
Joined: 08/07/2007
AdministratoreLiTe!

Can't you spread the price of the "really expensive" item to the other parts of the kit?

Product kits aren't really things that are sold, but rather a group of items that are sold together. They just happen to not cost as much as if they had been bought separately. Therefore, there isn't a single price on a product kit, but a calculated total.

Posts: 4
Joined: 05/09/2008

Lyle wrote:
Can't you spread the price of the "really expensive" item to the other parts of the kit?

So you are asking me (or, rather, asking me to ask the client) to:

1. Calculate the total cost of all the items in the kit
2. Calculate the difference between that cost and the intended cost of the kit as a whole
3. Divide that difference by the number of items in the kit
4. Adjust the price of each item, subtracting the divided difference
5. Do this all again should quantities or the price of the kit change…

…or maybe you're asking me (to ask the client) to simply…

1. Divide the intended kit cost by the number of items in the kit
2. Set the cost of each item to the divided value, regardless of what the item originally cost -- so the $400 embedded controller has the same price as the $3 bicycle reflector it's packaged with
3. Do this all again should quantities or the price of the kit change…

Quote:
Therefore, there isn't a single price on a product kit, but a calculated total.

That's the problem… I can't really understand why this choice was made instead of just going with the single price, especially since this method seems to be much more difficult to implement programmatically.

The client is starting to get antsy and wanting to see their site up soon, but heck, maybe I have enough time to just hack together my own solution… I'll call it "Simple Kit" or something. I'd still like to hear from other store-builders, though -- maybe there's a simpler solution that I've overlooked.

Posts: 3205
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

Honestly, when I saw your first post, I was thinking... that's what the kit does. Has it changed away from a single kit price? Or is the problem that it's not showing a single price on the cart view form?

Posts: 1595
Joined: 08/07/2007
AdministratoreLiTe!

It's done this way so that the individual products show up on the order. This way you can keep track of stock and profit margins of the actual items that are sold. This becomes especially important if something breaks during shipping and they return just that one thing.

When prices change, you'll have to at least check your product kits no matter what happens. However, you can put in negative values in the discount field to lower the price by that much. You could put this on one or two products in the kit to it's less of a hassle.

Posts: 4
Joined: 05/09/2008

Ryan wrote:
Honestly, when I saw your first post, I was thinking... that's what the kit does. Has it changed away from a single kit price? Or is the problem that it's not showing a single price on the cart view form?

Well… let me see if I can be perfectly clear on what the client is looking for here.

The client wants to be able to create a kit containing group of products of varying quantities, and for stock quantities to be properly adjusted and shipping weights to be properly calculated when a purchase is made. The uc_product_kit does all this perfectly.

The issue comes with how the module deals with pricing. What we're hoping to do is to say, okay, the price of this kit is $X. No matter how many items the kit contains, or the total cost of those items; that's irrelevant. This kit costs $X. (A direct result of this "simple" kit pricing scheme is that the quantities of the items the kit contains would not be adjustable by the shopper.)

How kits currently are priced, however, is by totaling the price of its components. Now we can adjust the price of a kit by adjusting the price of its components, but that's a frustrating complication, and it also leads to components showing up with "wrong" prices when they are listed individually -- on the "cart-review" table, for example.

Lyle wrote:
When prices change, you'll have to at least check your product kits no matter what happens.

Not if the price of the kit is completely separate from the prices of its components -- which is what we're looking for here.

I guess what I'm sort of asking for here is a simplification, not a complication -- the standard product kit system is doing too much work we don't want it to do!

Another workaround idea, conceived after a lunch at Quizno's -- can we give a product a negative price, then add that product to a kit so that the individual items still have the same price, but the subtotal has the "discount product" taken out of it? Like how "value meals" are printed on fast-food restaurant receipts? Hmm, I'll try it.

Posts: 4
Joined: 05/09/2008

Hmm, okay. I created a generic "Kit Discount" product with a price of $0.00, then added it to a kit which had all of its products at its original price. I then set the value of the kit's Kit Discount product to the negative value of the difference of the kit's current price and its intended price. It works! I think the client will be able to handle this.

AttachmentSize
kit-checkout.png31.7 KB
Posts: 3205
Joined: 08/07/2007
AdministratorHead Code Monkey - I eat bugs.

Kudos, Garrett. That's a great idea, and it works quite nicely in the review there. Smiling