Variants explained

For general questions and discussions specific to the AbleCommerce 7.0 Asp.Net product.
User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Variants explained

Post by AbleMods » Thu Jan 24, 2008 10:46 pm

For those of us who are just getting into the world of ecommerce software products, the term Variants may be somewhat new. The intent of this post to provide some clarity and save you some time discovering what Variants can and cannot do. This is a work-in-progress so feel free to add and I'll update it.

All of this is based on Variants as designed in AbleCommerce v7.0 RC2.

Explanation
Variants are a way to present the visitor with choices about a particular product for sale. These choices can be presented as either a dropdown box or as graphical images called "swatches".

Variants versus Kits
Variants differ from kits in such they do not require other product records to be created. A single product record with variants can represent literally dozens of different SKUs. This makes management of several like products much easier and more centralized, but it comes with a tradeoff. It's also important to note that while Kits can do radio buttons, checkboxes etc, they cannot do swatches. If you are "into" the swatches, you must use variants. Finally, variants only allow one selection per group of choices. Kits can have multiple selections which gives them an incredible level of flexibility.

Variants Example
Clothing or Apparel products are the ideal use for variants. Let's take the example of a Lifejacket. Yes, it just so happens that I sell lifejackets so this is my shameless effort at plugging my store. It also makes a great example for variants.
My lifejacket is a fancy one. It's actually a winter coat AND a life jacket. That means it's not only going to have choices for size but also choices for color. Here's the URL to product: http://www.solunar.com/Mustang-Classic- ... P2585.aspx

As you can see, I've chosen to use swatches for one option (Color) and the drop down for the other option (Size). Choosing a swatch will present the visitor with the second choice group for Size. Once both choices are selected, the final SKU, price etc will all be determined and the Add-to-Basket button becomes available.
Note that the Price and quantity available update as each variant is selected, however the Item # does not update. This will probably be fixed in a future release.

Variant Options
Note the term "Option": That's how Able refers to a collection of choices. A single "Option" will contain multiple "Choices", of which only one can be selected. AC7 gives the user a nifty interface to manage of all the possible combinations of the option groups you've created. This is known as the "Variant Grid".

Variant Grid
The Variant Grid is where you can see all your possible variations for the choices you've created. AC7 automatically builds the complete grid for you based on all the choices of the option groups you created.
That means, set up all your option groups and choices first and then choose "Manage Variants". Otherwise, you'll lose any changes you made to the variants grid when you add another choice. Sorry, that's just the way it works right now.

Variants and Inventory
Since variants do not have a separate product record, inventory is managed within the variant grid or on the product record itself. You need to maintain each variations in-stock quantity, weight, price, cost and other values. Notice you cannot keep separate packaging dimensions on the variants grid - variants assumes all variations are the same dimensions as the product the variants are created for.
You have two options for the actual inventory values of Variants. You can choose to have a single in-stock quantity amount and use the product record value, or maintain separate inventory amounts for each variation possible from your choices. This is easily changed on the main product screen with the Inventory Mode pulldown.

Variants and Feeds
Since variants are not separate product records, all variants will have the same URL. You may at some point discover that variants are not included in the AC7 feed uploads. My secret expert contact in the ECommerce world (Judy) has explained that you wouldn't want variants included in those feeds.
The reason is important: you could get some negative results from the search engine by uploading many differently described products with the exact same URL. Kits don't have to worry about this situation because they require separate product records.

Variant Sort Order
You can easily control the order in which variants are displayed in either the swatch mode or dropdown mode. Edit the specific choice group you want to change and use the green arrows to move an entry up or down as necessary.

Displaying All Variants
By now you have noticed that not all the variants display at the same time. The visitor must choose the first variant before the next will appear. Able is aware of the need for having all variant groups display at the same time, however the programming is difficult. That's because each variant could conceivably change the next variants possible choices.

Advanced Variants
A really nifty feature is the ability to disable specific variations. Let's use fishing reels as an example. You might have a reel that comes in three models (Model) and is built for left-hand or right-hand operation (Crankside). But wait, they don't make a Model 300, left-handed fishing reel; The Model 300 only comes in a right-handed version.
In the Variants Grid, you can uncheck the "Avail" column for that particular variation to eliminate it from the displayed choices. It's still in the variant list because it was auto-created, but it will no longer be a possible choice to the visitor.

Conclusion
Variants are a fantastic way to offer product selection choices in a creative way. Knowing their strengths and weaknesses can help you close more sales and make product management much easier.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
calvis
Rear Admiral (RADM)
Rear Admiral (RADM)
Posts: 708
Joined: Tue Jan 27, 2004 3:57 pm
Location: Redmond, WA

Post by calvis » Fri Jan 25, 2008 12:32 am

Joe,

Thanks for incredibly clear exposé about variants. It certainly brought to light many things that were originally unclear.

-Charles

User avatar
jmestep
AbleCommerce Angel
Posts: 8163
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Post by jmestep » Fri Jan 25, 2008 6:38 am

Joe, are you going to do a training series? Live webcast of you drinking Pepsi and pulling your hair out trying to figure this all out. Seriously, there is a need.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

Smurf
Ensign (ENS)
Ensign (ENS)
Posts: 20
Joined: Sat Oct 27, 2007 8:03 am

Post by Smurf » Fri Jan 25, 2008 9:49 am

Great post! I have put a lot of thought into this the last few days.

I believe it was mentioned somewhere that variants and kits are not fully integrated yet, but it is in progress. Is this correct?

Here is my dilemma (I could really use some input)...

Many of our products have size/ color but also need to be kitted.

Let's go with the fishing reel example:

Model 300 Reel is available for 4lb test and 8lb test.
There is a right and left crank side available for the 8lb test version, but not the 4lb test version.
No problem so far...

I want to offer an option reel case and a choice of line.
Reel case - small fits the 8lb test reel (left or right crank) but not the 4lb version

Line will be 4lb for the 4lb reels, and 8 for the 8lb reels. There will be several choices of line.
--------------

I am struggling with how to set this up. It looks like this can only be done with Variants. Is this correct? Kits do not allow you to control what can be kitted based on the options chosen?

Optional reel cases and line would be available for all reels. Say 50 reels (separate products) have the option to add a case and line. I need to track inventory, which will be updated from my backend to AC7. This sounds like it would be difficult to manage with variants.

To use variants I would need to setup a kit (in my backend) for each variant, and assign the variant a SKU? Otherwise I would not be able to update inventory levels in AC7 and export orders. If I proceed with this, I would need to pre-assemble kits for the purpose of tracking inventory which I cannot do. I will not have enough inventory to preassemble that many variants. Kits need to be assembled as sold.

This sends me back to using kits in AC7.

I have hundreds of products (each with size color options) that will be setup like this. Each one will have 2-10 additional options as either kits or variants.

I am hoping that I have overlooked something or that there may be a good work around. :)

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Post by AbleMods » Fri Jan 25, 2008 11:50 am

You're better off with kits using the scenario you've described.

There's no avoiding the effort involved to build the kits you need - that's the compexity of the products you've chosen to sell.

But when it's done, it'll be elegant for the visitor and that will make it worth the effort.

Remember, as soon as you use the word "Optional", variants go out the window. There are no optional choices with variants - a selection of some kind must be made. Unless you're going to include a variant choice of "None"....

Inventories can still be updated with variants; you adjust the variant inventory amount instead of a specific product record inventory.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
jmestep
AbleCommerce Angel
Posts: 8163
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Post by jmestep » Fri Jan 25, 2008 12:37 pm

One note on kits- as far as I have been able to test, with select box display you can't have a no-choice, but with check box you can. In Able 5.5, you could have a non-selection using select boxes, so the customer didn't have to buy something.
I'm going to work some with test products like yours because with variants, you can make certain options unavailable, but with kits customer has the potential to select something that doesn't exist unless you make the kit something like:
4lb test
8lb test right crank
8lb test left crank
8lb test left crank with reel case
8lb test right crank with reel case
8lb test left crank with reel case with 8lb whatever line

and so on.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

NABILB
Ensign (ENS)
Ensign (ENS)
Posts: 8
Joined: Sun Jan 22, 2006 4:01 pm

Variants and SKUs

Post by NABILB » Sat Jan 26, 2008 9:37 pm

Is there a way to assign a unique SKU per variant. so item X in blue is SKU 1234, and item X in yellow is SKU 7896

We update the inventory live from our warehouse that is integrated with our POS system, we need to send individual counts associated with each SKU. It would seem that we should be able to assign any sku we wish for each option.

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Post by AbleMods » Sun Jan 27, 2008 3:56 am

Absolutely. Every variation that is configured for a product can have a different SKU value, weight, etc. You can even choose if each variations price should be a percentage difference from a base price or overridden to a specific dollar amount.

It's really quite well designed.

I've written my own import and update routines to synchronize my store data with my distributor data feeds. From a programming perspective, there are a few differences you need to understand between products and variants. But they are both easily update-able. I do it every day with my site.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

ReWired
Ensign (ENS)
Ensign (ENS)
Posts: 19
Joined: Fri Feb 08, 2008 6:58 pm
Location: Western Canada

Post by ReWired » Sat Feb 09, 2008 1:20 am

I just got in ASP 5.5 Options to work so nice for Event Registration for a client

Attendance - None/In Person $50
Broadcast - None/Online Broadcast $30
Option
Meals - None/Breakfast,Lunch,Dinner $23 /Lunch,Dinner $19

Doing Kits is going to kill me with some items having 8 options..

I figured it out on my own that they need to select it one at a time after banging my head for two hours. Did you get any word from Support/Development will this be a Final Release 7.0 feature?

Registration are 40%+ of their e-commerce

Luke[/quote]

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Post by AbleMods » Sat Feb 09, 2008 7:13 am

Actually they just announced this week...

The next update to AC7 will include a change that makes all variants/options visible at the same time instead of one at a time.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

DonAshby
Commander (CMDR)
Commander (CMDR)
Posts: 172
Joined: Mon Oct 15, 2007 2:53 pm
Location: Palo Alto, CA
Contact:

Post by DonAshby » Mon Feb 11, 2008 9:34 am

Hi Joe,

Where was this announced? Will they show a Default ( any Default will do ) so that we dont get those annoying errors that noone can see. The errors seem to show up in SEARCH, WISH LIST, and EMAIL a FRIEND. Maybe more. If a Default ( and Default ) showed up then the customer would not get errors that are hard to see.

Don

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Post by AbleMods » Mon Feb 11, 2008 10:02 am

Well I can't find the post now. I'm certain the statement was made though. No idea on the specifics, you have to ask Mike.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
jmestep
AbleCommerce Angel
Posts: 8163
Joined: Sun Feb 29, 2004 8:04 pm
Location: Dayton, OH
Contact:

Post by jmestep » Mon Feb 11, 2008 10:47 am

Yes, the statement was made. I saw it too.
Judy Estep
Web Developer
jestep@web2market.com
http://www.web2market.com
708-653-3100 x209
New search report plugin for business intelligence:
http://www.web2market.com/Search-Report ... -P154.aspx

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Post by AbleMods » Mon Feb 11, 2008 11:15 am

(slips Judy a $5)
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

User avatar
heinscott
Captain (CAPT)
Captain (CAPT)
Posts: 375
Joined: Thu May 01, 2008 12:37 pm

Re: Variants explained

Post by heinscott » Fri May 02, 2008 11:04 am

One question I have about Variants, and Products, etc...
Now, is each Variant stored as a product in the actual ac_Products table, and then also stored as a variant in the ac_ProductVariants table? Where is inventory actual tracked? I notice that both table have data for inventory, but, I'm confused how they connect ultimately. If I wanted to create a new query for tracking low quantity items, would I be able to accomplish this querying only the one table?
Any help is much appreciated!
(all the help from everyone so far in the AC community has been great!)

Scott

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Variants explained

Post by AbleMods » Fri May 02, 2008 9:30 pm

Scott,

Variants are not stored as separate product records. That was the mistake I made early on - I presumed every variant needed a matching ac_Products record in order to work. I was wrong ;)

Variants are stored in a completely separate table from product records. Each variant has it's own set of inventory stock fields, image URL etc.

To perform a "complete" inventory evaluation, you will need to scan through both ac_Products and ac_ProductVariants to build a single list. While possible to do directly with SQL, for me it's easier to do it in .Net code because Able has written some data class methods specifically for that purpose. I'm not that strong in SQL and prefer the programming route.

My store has about 10,000+ variants configured now. They're quite useful but they also have a few limitations. One to be aware of is the shipping dimensions are not specific to each variant - all variants of a product will pull the same shipping weight, height etc from the main product record.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

rickad12345
Ensign (ENS)
Ensign (ENS)
Posts: 2
Joined: Fri Aug 19, 2011 11:43 am

Re: Variants explained

Post by rickad12345 » Thu Nov 17, 2011 1:18 pm

Joe You mention this above:
"To perform a "complete" inventory evaluation, you will need to scan through both ac_Products and ac_ProductVariants to build a single list. While possible to do directly with SQL, for me it's easier to do it in .Net code because Able has written some data class methods specifically for that purpose. I'm not that strong in SQL and prefer the programming route."

I am trying to get a "total inventory qty" for a particular product because I wish to show only In-stock items to my users on search results page. If I use Inventory Tracking "track variants", and enter quantitys by variant, the In stock field does not correlate to these actual quantitys unless I manually input it. Therefore, I was hoping to have a way to calculate actual quantitys by totalling In stock qtys in variants table. Would your .net code help me accomplish this?
Thank you

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Variants explained

Post by AbleMods » Thu Nov 17, 2011 5:39 pm

rickad12345 wrote:Therefore, I was hoping to have a way to calculate actual quantitys by totalling In stock qtys in variants table
Best way to do it would be to populate an instance of the ProductVariantManager class like this:

Code: Select all

                    
Dim _Mgr As New ProductVariantManager(_Product.ProductId)
                    For i As Integer = 0 To _Mgr.Count - 1
                        Dim _Variant As ProductVariant = _Mgr.GetVariantByIndex(i)

                        If _Variant.InStock <= 0 Then
                            Continue For
                        End If
.
.
.
That way you have access to all variants of the product in one convenient object.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

janice
Ensign (ENS)
Ensign (ENS)
Posts: 12
Joined: Thu Apr 25, 2013 10:24 am

Re: Variants explained

Post by janice » Sat May 11, 2013 1:21 pm

I'm new to Able Commerce and am setting up my cart. We have a bakery.

I have a categories of cakes which have the same pricing structure. I know I can set up variants for each product, but when I have price changes it will be a nightmare. Here is the setup
Category: dessert cakes

Creme Cakes style (there's 10 style cakes with this pricing structure)
8" round 29.95
1/4 sheet add $50
10" round add 78
1/2 sheet add 115
Full sheet add 255

Fruit cakes style ((there's 8 style cakes with this pricing structure)
8" round 38.95
1/4 sheet add $30
10" round add 58
1/2 sheet add 90
Full sheet add 161

Custom cakes have all of the above plus
pricing variants for other items, ie icings, decorations, drawings

They all need to ask for "message on cake" which I know is done through templates

In my current shopping cart I set up "options" and then apply them to the products, so I can change one option and it will change all the product prices using this option.

Is there anyway to set AC up to work as the "options" in my old cart?

Thank you.

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Variants explained

Post by AbleMods » Sat May 11, 2013 2:24 pm

Unfortunately you won't have the same behavior in Able variants. At least not without custom programming. You'll have to manage the variant pricing by hand for each product.

You could use the product copy feature to duplicate the initial setup. But that won't help you going forward.

Have you looked at setting everything up as kits? It might come closer to what you want. Each "option" could be a kit component with the cake being the kit master.

Wish I had better news for you.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

janice
Ensign (ENS)
Ensign (ENS)
Posts: 12
Joined: Thu Apr 25, 2013 10:24 am

Re: Variants explained

Post by janice » Sun May 12, 2013 2:57 pm

Joe,
Thank you. I will play with kits.

jhollender
Ensign (ENS)
Ensign (ENS)
Posts: 20
Joined: Wed Apr 02, 2014 2:52 pm

Re: Variants explained

Post by jhollender » Thu Apr 03, 2014 10:21 am

My company has been using AbleCommerce for awhile, but we are looking into restructuring the way that we have some things done and I could really use some feedback. We sell some highly customizable products, so here is one of our more complex scenarios:

We offer a Custom Guitar Body builder product where a customer can choose a variety of options to build it the way they want.

Option 1: Core wood type (the type of wood varies the price)
Option 2: Laminate Top (you can choose 'None', a specific style, or a unique top for an upcharge)
Option 3: Unique Top (this needs to be populated if you selected unique from option 2, otherwise it is not required - upcharge for selections)
Option 4: Select Bridge Routing Type (choose from X types)
Option 5: Populated by option 4
etc.
Some selections will not allow other selections to show up (for example, if you choose a specific core wood, only a few types of colors can be chosen).

Variants seem like the best route for us to use because each option is not a product in itself. How would you recommend that we set this up?

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Variants explained

Post by AbleMods » Thu Apr 03, 2014 10:38 am

jhollender wrote:Variants seem like the best route for us to use because each option is not a product in itself. How would you recommend that we set this up?
Your configuration is quite complex. Variants will be able to do the trick for you. But configuring each product for the various acceptable and unacceptable combinations will be an enormous task. There's no easy way to do it.

If some of the item choices do not impact the price, you could move those to product templates to simplify things. But I'm not seeing that as the case in the example you've cited.
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

jhollender
Ensign (ENS)
Ensign (ENS)
Posts: 20
Joined: Wed Apr 02, 2014 2:52 pm

Re: Variants explained

Post by jhollender » Thu Apr 03, 2014 10:46 am

AbleMods wrote:
jhollender wrote:Variants seem like the best route for us to use because each option is not a product in itself. How would you recommend that we set this up?
Your configuration is quite complex. Variants will be able to do the trick for you. But configuring each product for the various acceptable and unacceptable combinations will be an enormous task. There's no easy way to do it.

If some of the item choices do not impact the price, you could move those to product templates to simplify things. But I'm not seeing that as the case in the example you've cited.
No doubt. Would it be easier to set up the variant grid as a spreadsheet and then import the data via csv?

User avatar
AbleMods
Master Yoda
Master Yoda
Posts: 5165
Joined: Wed Sep 26, 2007 5:47 am
Location: Fort Myers, Florida USA

Re: Variants explained

Post by AbleMods » Thu Apr 03, 2014 11:25 am

Certainly. You can get the vast majority of the setup built in excel. Probably a lot easier to work with it in Excel.

I have not used the variant import in Able Gold yet, and documentation doesn't cover it real well. I would suggest doing an export of the sample variant data in the default store to see how the variant information needs to be formatted. That'll give you the exact spreadsheet layout you need so you're not fighting format issues all year long ;)
Joe Payne
AbleCommerce Custom Programming and Modules http://www.AbleMods.com/
AbleCommerce Hosting http://www.AbleModsHosting.com/
Precise Fishing and Hunting Time Tables http://www.Solunar.com

Post Reply