What is the best addon module for a web store Drupal Commerce or Ubercart.


danielb’s picture

Can we only answer from those two choices?

Roger Wilson’s picture

All recomendations appreciated

megan_m’s picture

There's a really good article that describes the differences between Commerce and Ubercart here:


I recently when through the process of deciding between the two for a new site. We decided to go with Commerce, mainly because it looked like a lot of Ubercart contrib modules weren't being upgraded to 7 (and some had no plans to upgrade...). With both there are currently some of problems with contrib modules not being available, or not having full releases (e.g. things like coupons, discount codes, certain payment processors). However, it seems to us to be more likely that these things would be developed for Commerce 7 sooner rather than later (or never...).

Woolwich Web Works: Custom web development

BGwiz’s picture

In my openion both are good depending on what you would like to achieve.
Ubercart is more out of the box solution as Commerce requires some skills.

To be quite honest Ubercart was always the choice for me as it integrates beautifully even in highly complex websites.
Big minus of UC is however the lack of build in multi currency functionality, other than that - you just enable and start using.

Commerce on the other hand is very flexible but has in my openion some pretty heavy integration issues.
If you have a website that is only going to be an online store with basic functionality, things are very easy.
Do something complex however and you can tear your hair out!!! - litteraly!

If i had a nickle for every time commerce has TRASHED the sites that i am working on, i would go in to early retirenment.

So there you have it, but keep in mind this is my personal experiance according to the demands of my projects.

netflarehq’s picture

Drupal Commerce = bad, hard to setup, missing out of the box functionality you would expect, much broken, much done it a foolish way, unintuitive to users.
Ubercart = as good as ever, easy setup, out of box working

If you want to save yourself a lot of time and effort continue using ubercart.

If you want many issues to sort out and a lot of programming and a lack of decent attribute handling use drupal commerce.
Not sure what he was thinking of but it is in no way ready for production use

WorldFallz’s picture

bad no, complex yes-- much like drupal itself Flexibility and power come at a price. Commerce is far more flexible, 'standardly' customizable, and powerful than ubercart. But it requires time and effort to tap that. If ubercart works for you as is, then great-- by all means use it(though commerce_kickstart v2 has come a long way and is an awesome starting point that still allows you to customize the commerce way should you ever need to.It's a great module). However, if you need any kind of customizations or complex logic and don't want to fight to overcome existing functionality in order to achieve your complex business logic and rules, then commerce is the only way to go.

Time spent learning commerce is well spent. See the excellent video series by commerce guys over at vimeo.com.

Also be sure to see the intro to commerce at http://vimeo.com/channels/commerceguys/21681203 -- and notice the applause at several points (ie ~18, ~26, ~35, etc), from users experienced with ubercart, for things commerce enables that were previously difficult or impossible with ubercart. Also pay attention to about ~21:00 and especially at ~25:00 where ryan demos things innate to commerce that took contortions to do with ubercart (like changing checkout to single page with a few clicks in a couple of seconds). And the intro describes very well why commerce evolved as it did from the original ubercart developer.

zhangweiwu’s picture

I am building a site for a customer who only uses a cart system as an add-on to sell cups, souvieurs along their events and collect donation. I tried both module, each for 4 hours. Ubercart works out of the box, commerce is still barely configured after 4 hours and I am sure even if I can finish a starter configuration I would not be able to train my customer to use it: my customer, who isn't doing retail as their main business, cannot handle that abstract level of thinking. I went with ubercart.

So this experience tells me ubercart won't go out easily as some people expects. I am sure aware ubercart have problem with complicated inventory management, but if you only have a roomful of goods to sell, or a dozen types of products, ubercart is the way to go.... of course, you may want to leave space for your business to grow. At least in my case, my customer's retail business as a value-adding project, is very unlikely to grow big.

g089h515r806’s picture

Ubercat is top 1 module, the first choice,
Commerce is top 2, the second choice.

I support Ubercart.

Chinese drupal tutorials Think in Drupal

David Ipswich’s picture

Ubercart is usable straight out of the box for intangible goods and files of all types that can be downloaded and paid for or supplied free, and for tangible goods that can be carriage free or carriage paid to almost every country in the word. It is therefore suitable for large or small stores and sufficient for 99% of users,

Commerce is configurable, and therefore a larger learning curve, but provides practically the same functions as Ubercart. It's the system for the 1% who need to configure a site to do something that Ubercart can't do.

sol0matrix80’s picture

so in this case Ubercart wins for 99% of actually use

shawner1964’s picture

I'm new to Drupal and love it! Totally digging it.

So my first noob mistake was thinking that Commerce and Ubercart can co-exist. At least I think it's a mistake and, in the process, I've been experimenting.

I agree with all users that Ubercart is easy and the plug-ins, like the one that will let you remove fields (versus writing form alter - oy vey!) is a real time saver. Downside: no reverse auction option for UC. I WANT that option for my site!

Commerce is another story. First off, I like that they have Reverse Auction. Downside: dependencies out the ying-yang and just suffering from module bloat. The installation was aggravating. For every module, there were easily 3 more I needed. I agree that it appears to be designed to scale for larger enterprises but still looks like a viable solution for me as I look at it again today.

So how about this: why can't Reverse Auction in Commerce be made to work with UC if a user, like me, already has Commerce modules co-existing with Ubercart?

Otherwise, this is reinventing the war between Macy's and Gimbels.

My suggestion is simply to make the core dependencies for either UC or Commerce part of the Core or, offer a minimalist solution that comes with core where the existing dependencies can easily support a user deciding to install either UC or a more robust commerce module. It's clear that people using Drupal are developing e-commerce sites, or the demand is clearly there at least, and it's time to simply include the stripped down necessities of e-commerce part of the basic install of Drupal. And it would make Drupal way cooler.

Just my $0.02. Thanks for reading.

WorldFallz’s picture

Making commerce modules work with ubercart or vice versa is, even if possible which i doubt, a ginormous task that no one is going to take on. People choose one or the other they don't use both. That's not even an 80/20 situation, that's more like 99.99999999999999 to .000000000000001. Huge time sink for virtually nil return. not gonna happen.

joeain’s picture

I've no experience in Drupal. But I'd like to take a customers website and put it into Drupal framework. The existing site is a custom php job with a few pages and a user/pass secured part of the website in which they sell their products to trade customers. Customers must register and await activation before they can browse the products. They'd like to upgrade with a blog and various over pages and better search options. I've decided Drupal will be the best platform.
Question is, which one of these e commerce modules would be most suitable? How best would it be to secure the shopping cart? Customers pay on a performa invoice basis so payment gateway is not much of an issue. Is anyone aware of any trade specific modules? Any advice would be appreciated.

tuccio’s picture

I have used both and thanks to Commerce I finally learned the deep rabbit holes of Rules as well as the power and flexibility.

This said, contracting a project is not the same as going to school to learn new subjects, so I'd like to reply to the subject question with a specific real life question:

Suppose you have a blog with 1000 unique posts and each post advertises a product for sale. Suppose you are charged with implementing a shopping cart in order to sell the items described by each existing post.

With Commerce, do you have to manually create 1000 unique Product items and manually transfer the post details to specific custom fields? If so, is the Commerce approach a productive one or an academic one? Or it there a smart way to achieve the above goal?

rooby’s picture

Unfortunately there is no simple answer. It depends on what you want to do with it.
It is also quite likely you won't know which one is better until you have tried the one that is not.

One you have tried them both you will have a decent idea of what they might be good at.

I think they both have good and bad parts.
They are both fairly complex, but ecommerce is complex.

I would recommend seriously thinking about all your requirements and then finding add-on modules for ubercart and commerce that fulfill those requirements (make sure you know for sure, there might be a module that advertises what you think is your requirement, but it may be a little different in its specifics and may not address your needs properly).
Then pick the one that has all of (or the most of) the add-ons you require.

If they both completely meet your needs then lucky you, you have a choice to make.

In my experience the commerce suite still isn't as mature as the ubercart space.
In my opinion commerce contrib is a bit lacking and there are a lot of modules that have been released with the basic necessities of the functionality they aim to provide, but have not really been worked on much after that, so their feature set is fairly limited.

I have had to switch from commerce back to Ubercart in some cases because the client has on numerous occasions asked for additional features that I then discovered cannot currently be done out of the box with commerce.
I have extensively investigated these things to see if there are solutions and even submitted some patches to help get them in, but in the end there isn't the budget to be able to keep writing code for this and I worry that they will ask for things in future that will also require more work.

I want a system where when the client asks for a new e-commerce feature it is likely I will be able to do it without custom code.

In this case switching to ubercart still means I will have to write a bit of custom code (port a drupal 6 module to drupal 7) but in the end it will be less custom development overall by far.

Granted, it is possible I have just been unlucky to get these specific requirements, but commerce still seems too immature to me, even this far in and with a lot of users and commercial support.

drewbolles’s picture

After developing a number of sites on Commerce, I'm convinced Ubercart is the better solution. It seems Commerce Guys wanted to create their own niche within the commerce community, and really didn't pay mind to what common solutions provide their users. If a customer is coming for a solution like Magento or the likes, Commerce is going to seem very foreign, and unwieldy. Even using kickstart.

Commerce handles 3 things very bad - Coupons, Taxes and Attributes. Especially the interaction b/w fixed coupon, taxes and sub-totals is incredibly messy, and has been a sole reason for me to move sites from commerce to ubercart. Attributes are very heavy and slow to input.

Commerce does give the developer more power due to leveraging the entity API at every turn, but I've spent more time banging my head against a desk trying to get Commerce to work than I care to.

Use ubercart would be my 2 cents.

Freaka’s picture

For the moment drupal commerce seems too immature for me.

I used commerce on a small project. This project was a bit specific : I needed to implement a credits systems. So users could buy userpoints and then buy some actions (node publishing or other stuff) with these userpoints. I had a lot of pain doing this and add to do some code customization with commerce. It works but I really hope there won't be further development on this project because everything is such a mess with drupal commerce.

I now started a new project which is a marketplace. I started with Drupal Commerce... Now I have to switch to Ubercart because I just noticed it's not really possible to doing this properly with Drupal commerce if you are a one-man team and have less than 2 month to make your project. By the way kickstart is buggy and I had really stranges bugs with it. Bugs that didn't happen with a "from scratch" drupal commerce setup.

Anyway, I'll try Ubercart which seems more mature for a marketplace... Hope it would be a good choice.

rooby’s picture

I tend to agree with this.

I was planning to use commerce for a project instead of ubercart because ubercart was missing one crucial module (it was D6 only) and commerce seemed to have everything I needed.

Once I had it set up and was digging right in to get some of the more complex requirements done I discovered that a number of add on commerce modules were not stable enough or we limited in the functionality they were aiming to provide.

Also, a lot of the add on modules consist of a few initial commits and not really any ongoing maintenance or development of new features.

Depending on your requirements it is very possible you will never run into these issues but I still think that commerce contrib is too immature for my liking.

It was a good learning experience as I had to delve into the code more than expected, however if I just ported the missing ubercart module I would have easily been ahead time wise.

You live and learn :)

JadH’s picture


I have read all of your comments above.

And honestly, I am confused now.

It would be great if we can have a comparison table for the features supported by Ubercart and Commerce, so users can choose which one they need based on that.

I am not an e-commerce expert, but maybe Commerce Guys and Ubercart can have a merged table with the features for first timers like me can decide easier on how to proceed.

In addition, a list of the supported payment methods and gateways for each would be amazing with a reference link for contributed modules of each (or guidelines).

e.g. In the Middle East and Gulf regions, there are some limitations over some of the main payment methods and gateways like paypal.


MikeRoden’s picture

Mark Ryoko's link covers some thing that haven't changed, though his entry is a bit dated. Here's a more recent one that does a great job with this undying question:



Northern_Girl’s picture

I know this thread is a bit old, but a few days ago, I had to go through this Ubercart vs. Commerce thing. If this can contribute to the reflection...

In my case, I only want to sell roles (ie.: a very simple ecommerce site). And in this narrow perspective, I came to the conclusion that Ubercart is the way to go.

Selling roles with Ubercart is out of the box, while Commerce implies so many modules just for one thing, killing any advantages that commerce could have.

I understand that Commerce has an advantage because of its «entity approach» compared to the «node approach» of Ubercart. But this advantage, IMO, disapears when building something simple, like selling roles or a few products.

With Ubercart, I was selling roles in a few minutes. The down side of Ubercart for now, is that many modules seems to be forsaken, since many of them were initiated by CG.

Anyway... just a 0.02$!


Drupal in the snow

dionisisk’s picture

I have used Ubercart... Drupal commerce is ten times better!!!

rooby’s picture

It's really not that simple, they are both good at different things.

Ubercart can be a little less flexible but commerce can be needlessly complex.

At the time I used it most the commerce ecosystem was also not very mature and had a bunch of pretty much unmaintained add-ons that had functionality quite specific to what the original authors needed, as opposed to generalistic modules that could fit any use case (although that was over a year ago now, it may be a lot better).

g089h515r806’s picture

It seems that Ubercart support Drupal 8 much better than Commerce.

Chinese drupal tutorials Think in Drupal

rooby’s picture

Having not properly used drupal commerce for about 2 years I have recently used it on a project and I must say it is a lot better now.

Modules are generally a lot more stable and have more of the features you would expect.

There are add-on modules that allow for some good simplifications to product administration also.

It's very easy to override most functionality.

On the whole I would say it is now my preferred Drupal ecommerce solution.

german877’s picture

i vote for drupal commerce, for me is very simple to configure

Pascal.s’s picture

I partially agree with netflarehq, Bad... i don't think so but hard to setup? Yes, until you've setup 2-3 sites. Manage product when you hand it up to the client, that's definitely the hard part for me. Tell a client he has to create a product in one place, create a product display in another place and create a discount in another place again!!!!! When you can do it all in the same place in Ubercart. Especially if you're doing a small ecommerce site... You are going to spend a lot of time setting up the site which means less money in your pockets. I would recommend Commerce for big(ger) sites.
Just my opinion!

Manish Singh’s picture

The idea of sharing makes complex things so very simple. Enjoyed reading and came across to one of the related blog which might be an add on. - www.ziuby.com/drupal-commerce-kickstart-vs-ubercart/

rooby’s picture

Some of the assumptions you base your opinion on are not accurate:

  • Drupal commerce and Ubercart both are opensource using for E-commerce. - This is true.
  • Ubercart is much easier than drupal commerce. - This is subjective. From my experience ubercart used to be easier but they are pretty similar now. Basically it comes down to how familiar you are with each of them. I do think commerce has some usability issues out of the box but there are some add-on modules that make it a lot better.
  • Integration of Ubercart is used in highly complex websites. - Both modules are used in highly complex websites. I would even argue that drupal commerce's flexibility (which unfortunately also comes with complexity) is better for more unusual and/or complex requirements.
  • It supports all types of payment gateways and shipping module while drupal commerce does not support of payment gateways and shipping module. - This is just not true. Both modules support a large number of payment gateways. There are also some that ubercart doesn't support that commerce does and there are some that commerce supports that ubercart doesn't. They both also have shipping support and commerce's shipping support is actually extremely good.
Nekky Black’s picture

I only have tried the first one, and it really gives me a good experience for my online store. Note that my store is a simple and small e-commerce site and Drupal Commerce covers everything perfectly.

donutdan4114’s picture

Personally, as a person whose worked on several big commerce integrations with Drupal Commerce and Ubercart, the best solution is an online hosted store. I recently finished up work on an integration with Shopify which makes building a store super easy. May be worth checking out.


Drupal development and consulting: http://bonify.io

palinowe’s picture

It would be great to see a head to head comparison between woocommerce and drupal commerce... Does anybody have a link to decent review?

ayushjn’s picture

This is not a head to head comparison but found this quora thread useful to gain some insights into them.

My take on this would be that if one is looking for only a simple Ecommerce solution then woocommerce should suffice but if one is looking for getting started with a simple Ecommerce solution but with time, the system would grow, scale and probably get integrated with different systems may be for content production, or content creation workflow, orders management, coupons management, custom reporting tool or similar systems then surely Drupal commerce is the answer.

So, as is the case with all the other technology options available, it indeed depends upon what one's needs from the system are.

rooby’s picture

This definitely should be considered as an option.

In some cases the requirements may be suited to such a solution but in those cases it may also be worth really thinking about the requirements and whether or not they could be massaged to suit a simpler solution.

MakeOnlineShop’s picture

Ubercart still seems to be the easiest to set up...

adigunsherif’s picture

Definitely surely!

MakeOnlineShop’s picture

Hello, anybody working on a drupal 8 ubercart shop now ?


Rozapk’s picture

Commerce is another story. First off, I like that they have Reverse Auction. Downside: dependencies out the ying-yang and just suffering from module bloat. The installation was aggravating. For every module, there were easily 3 more I needed. I agree that it appears to be designed to scale for larger enterprises but still looks like a viable solution for me as I look at it again today.

drupalinthailand’s picture

Ubercart easier to setup and use but not available yet for D8

Northern_Girl’s picture

Its D8 alpha 4 for now : https://www.drupal.org/node/2681451

And like I said previously, for simple projects or for selling membership, Ubercart is straightforward.

Drupal in the snow

dupdis’s picture

For basic usage, Ubercart seems to be easier than Drupal Commerce. If you want to improve yourself with more options, try Drupal Commerce.

designsn’s picture

Just from the comments here people seem to have a better experience with Ubercart. :)

rooby’s picture

I wouldn't base my choice on that alone.

The information available in these posts is extremely minimal. You would also need to take into account what each of these people were trying to achieve in the e-commerce space, the details of the site they were using the modules on, their experience, etc, etc, etc.

Also, the date of these comments is very important. Comments made by people a number of years ago would almost certainly now not be relevant because the modules would have changed and improved so much since then.
Even just over the course of a few months, issues may have been addressed that will have resolved some people's complaints about a given module (or could have introduced new complaints).

The best way to know with any reasonable amount of certainty which one is best for you is to try them out with your site and your requirements and see which ones best suit your needs, which you find easier to use, which ones have gaps where there is no contributed module to do what you need (or it doesn't quite do it right), etc.

You might find that you are surprised by the option that turns out to be best for you. Or not, but that's the point, you don't know until you try them.

drupalinthailand’s picture

I am sorry but I wonder if you have really used both ?

Because anybody who would have tried both would instantly understand how much useless and too complicated is Commerce.

People can keep talking as much as they want, but at the end Commerce is just too complicated for 99% of the online store that anybody could need.

WorldFallz’s picture

Because anybody who would have tried both would instantly understand how much useless and too complicated is Commerce.

That's a ridiculous over simplification not even remotely supported by the facts:

  • commerce has almost 25k more recorded installs
  • commerce usage stats graph shows a constant trend UP
  • there's an entire successful company dedicated to making commerce based sites
  • the commerce issue queue has about 50% more active participants

In the end it's all about the right tool for the job. Just as if wordpress meets your needs then drupal is overkill-- if ubercart meets your needs then commerce is likely overkill.

People frequently make that type of hyperbolic statement you made about commerce above, in the wordpress vs drupal debate.

In neither case does that make drupal or commerce invalid or bad choices.

Anytime someone says "always use x" or "y is always bad", take it with a bucket of salt. It's almost always a sign that personal bias is in play.

If you don't like commerce, then don't use it. But that's no cause to say no one else should ever use it.

breidert’s picture

I could not agree more. Don't bash other peoples work.

In our company we have implemented a number of commerce shops, small ones and large ones. We find drupal commerce easy to setup, configure desired additional functionality, or extend it to fit our requirements.

rooby’s picture

Yes. I have used Ubercart with Drupal 6 and 7 and Commerce with Drupal 7.

I agree with you that commerce can be extremely complex (and I have been frustrated by that on a number of occasions) but sometime that complexity is required.
It takes a while to understand how everything fits together and how each part can be best used to meet requirements but once you have a good understanding of it you can see its power.

That's not to say I don't like Ubercart. It is also a great e-commerce solution and if I am starting a new project that needs e-commerce I will always consider both (and other options) when stating out to choose the best one.

Sometimes the choice will boil down to add-on modules too. Sometimes you might need something that is not available for Ubercart or Commerce and it would be more cost effective to use the module that already have what you need than to develop that functionality for the other module.

What my post was saying is that they are both viable options and which one is best for you depends on a lot of factors, most of which relate to the specific site you are building.

Different people have vastly different commerce requirements and experience levels so there is no one best solution for everyone.
Commerce vs. Ubercart isn't even the whole story. There are a number of other modules out there that perform commerce related functions and there are also external (non-Drupal) shopping carts that can be integrated with Drupal and there are solutions like Shopify (which is excellent for less complex shops).

So while comments here illustrate how the modules have worked for other people, they don't tell you which is best for your specific needs.

They are also a snapshot in time, with old comments mostly being relevant to the versions of the modules that were available at that time. They are not necessarily still accurate with current versions.

Really this whole thread is not very useful because there is no "best" option. It is entirely opinion based and dependant on a large number of external factors.

drupalinthailand’s picture

What is the reason to say that Commerce is ok to setup and use for a beginner when it is actually not ?

All of you talking here are not beginners and it seems that most of you even install shops for others or are coders.

So yes, if you are a developer you can install anything you want, but still, you are wrong when thinking that Commerce is easy to setup and use for beginners. I wonder what else you have to add to this ?

If you do not know what is a beginner or a site user is, it is someone for whom as soon as a function is too complicated to find instantly without documentation, then it is already too difficult.

Don't you think that you would be more useful for Drupal by trying to explain to people who do Commerce that they should start thinking about users and not only coders/developers ?

rooby’s picture

I don't think I've heard anyone say that configuring commerce is easy for a beginner.
It is definitely not a simple or easy module to configure. Especially if you are building more complex things with it.
It still frustrates me sometimes even though I'm quite familiar with it.

There are things to help, like the commerce kickstart distribution, however I would say if you used that as an out of the box solution without understanding how it all fits together you may end up in trouble at some point.

Commerce is an advanced module. Ubercart is an advanced module. E-Commerce in general is an advanced functionality, it deals with peoples money and should not be taken lightly.
If you don't have a decent amount of time to put into learning whichever module you chose you probably shouldn't be implementing an e-commerce solution.

Ubercart is also arguably also too advanced for beginners, but that would likely depend who you ask.

The question at the top of this thread is "What is the best addon module for a web store Drupal Commerce or Ubercart.".

It mentions nothing specific about the skill level of the person using the module (or how easy they are to use) and even if it did, people have different opinions on what makes a beginner/intermediate/advanced user (and what about the levels in between those very broad 3 choices).
"Best" is already very subjective. Adding "for beginners" makes it even more so.

You said previously "... but at the end Commerce is just too complicated for 99% of the online store that anybody could need.".
Where do you get your statistics?
Just as some people may be coming at this from their own perspectives of having more Drupal experience, you are coming at it from your perspective and are missing the point that there are actually a large number of people that need the extra complexity.

I'm sure some of the complicated functionality could be implemented in a way that is easier to use (and I'm sure Commerce v2 will address some of these issues where possible) but there is definitely a need for that complicated functionality.

You say "If you do not know what is a beginner or a site user is, it is someone for whom as soon as a function is too complicated to find instantly without documentation, then it is already too difficult.".
Personally I see e-commerce and dealing with other peoples money very serious and my opinion is that someone who meets your definition of a beginner should not be implementing their own e-commerce solution without at least the assistance of someone with more experience.

If you have very simple requirements, have you considered something like Shopify? If you already have a Drupal site there is a shopify integration module now.
I haven't used it yet however it claims to be much simpler than the Ubercart and Commerce modules, and I would believe that.
Products like Shopify and Squarespace really are excellent for anyone, including beginners, to build websites.
If the requirements can be met by something like that it is often much easier and affordable to go that way.

I think that generally (not always) Drupal developers do think of site builders when they are developing, the problem is that it is not always possible to make a very complex functionality easy enough for beginner site builders to use and if it is it can take a very large amount of time to implement such solutions.

I would say that Drupal documentation can often be inadequate though (this is something that affects other products also).
More detailed and comprehensive documentation would definitely help a lot.
Again though that comes down to someone having time to write it all.

drupalinthailand’s picture

"I think that generally (not always) Drupal developers do think of site builders when they are developing"

yes of course, this is why the whole drupal is so friendly to use and install, an evidence that Drupal developers know what means usability...

end user’s picture

I like both even though I had a hate on for commerce for some of the way the early UC vs DC discussions went and some of the comment from the devs. Now moving on if you are not experienced in Drupal themes and taxonomy setting up a store that looks like you want will be pretty frustrating at first in UC and in DC. More so in DC as you have to create a product display. This to me is the biggest hurdle but its more of a Drupal themeing thing than DC/UC thing.

As for Kickstart, I thought setting up a site from scratch was easier then with using Kickstart and that's from someone who can't program their way out of a wet paper bag. The biggest DC hurdle was creating a product and a product display and then connecting them in Commerce. Setting up Ubercart was much easier but again if you want to site to be more then the basic set up basic knowledge of Drupal theming is a must like creating new custom regions, how to override theme templates especially per path and now to construct a view of products using Views.

I haven't test Ubercart for a while but one advantage of Commerce was that each product variance was treated as a separate sku/product. This for me came in handy for calculating better shipping options for products that came in different bottle sizes.