Our Blog

Ongoing observations by End Point people

Spree vs Magento: A Feature List Comparison

By Steph Skardal
June 7, 2010

Note: This article was written in June of 2010. Since then, there have been several updates to Spree. Check out the current Official Spree Extensions or review a list of all the Spree Extensions.

This week, a client asked me for a list of Spree features both in the core and in available extensions. I decided that this might be a good time to look through Spree and provide a comprehensive look at features included in Spree core and extensions and use Magento as a basis for comparison. I’ve divided these features into meaningful broader groups that will hopefully ease the pain of comprehending an extremely long list :) Note that the Magento feature list is based on their documentation. Also note that the Spree features listed here are based on recent 0.10.* releases of Spree.

Features on a Single Product or Group of Product

Product reviews and/or ratingsY, extensionY
Product qnaNN
Product seo (url, title, meta data control)NY
Advanced/flexible taxonomyY, coreY
Seo for taxonomy pagesNY
Configurable product searchY, coreY
Bundled products for discountY, extensionY
Recently viewed productsY, extensionY
Soft product support/downloadsY, extensionY, I think so
Product comparisonY, extensionY
Cross sellNY
Related itemsY, extensionY
RSS feed of productsNY
Multiple images per productY, coreY
Product option selection (variants)Y, coreY
WishlistY, extensionY
Send product email to friendY, extensionY
Product tagging / search by taggingNY
BreadcrumbsY, coreY

CMS Features

Blogging functionalityY, extensionY *extension
Static page managementY, extensionY
Media managementNY
Contact us formY, extensionY
PollsY, extensionY

Checkout Support

One page checkoutNY
Guest checkoutY, coreY
SSL SupportY, coreY
DiscountsY, coreY
Gift CertificatesNY
Saved Shopping CartNY
Saved AddressesY, extensionY

Shipping Support

Real time rate lookup (UPS, USPS, Fedex)Y, extensionY
Order trackingNY
Multiple shipments per orderY, coreY
Complex rate lookupY, extensionY
Free shippingY, extensionY

Payment Support

Multiple Payment GatewaysY, coreY
Authorize.netY, coreY
Authorize and capture versus authorize onlyY, coreY
Google CheckoutY, extensionY
Paypal ExpressY, extensionY

Admin Features

Sales reportingY, coreY
Sales Management ToolsNY
Inventory managementY, coreY
Purchase order managementNY
Multi-tier pricing for quantity discountsNY
Landing page toolY, extensionY
Batch import and export of productsY, extensionY
Multiple Sales reportsY, coreY
Order fulfillmentY, coreY
Tax Rate ManagementY, coreY

User Account Features

User addressesY, extensionY
Feature rich user preferencesNY
Order tracking historyY, coreY

System Wide Features

ExtensibilityY, coreY
Appearance ThemingY, coreY
Ability to customize appearance at category or browsing levelNY
LocalizationY, coreY
Multi-store, single admin supportY, extensionY
Support for multiple currenciesNY
Web Service APIY, coreY
SEO System wide: sitemap, google base, etcY, extensionY
Google AnalyticsY, coreY
Active communityY, N/AY

The configurability and complexity of each feature listed above varies. Just because a feature is provided within a platform does not guarantee that it will meet the desired business needs. Magento serves as a more comprehensive ecommerce platform out of the box, but the disadvantage may be that adding custom functionality may require more resources (read: more expensive). Spree serves as a simpler base that may encourage quicker (read: cheaper) customization development simply because it’s in Rails and because the dynamic nature of Ruby allows for elegant extensibility in Spree, but a disadvantage to Spree could be that a site with a large amount of customization may not be able to take advantage of community-available extensions because they may not all play nice together.

Rather than focus on the platform features, the success of the development depends on the developer and his/her skillset. Most developers will say that any of the features listed above are doable in Magento, Spree, or Interchange (a Perl-based ecommerce platform that End Point supports) with an unlimited budget, but a developer needs to have an understanding of the platform to design a solution that is easily understood and well organized (to encourage readability and understandability by other developers), develop with standard principles like DRY and MVC-style separation of concerns, and elegantly abstract from the ecommerce core to encourage maintainability. And of course, be able to understand the business needs and priorities to guide a project to success within the given budget. Inevitably, another developer will come along and need to understand the code and inevitably, the business will often use an ecommerce platform longer than planned so maintainability is important.

Please feel free to comment on any errors in the feature list. I’ll be happy to correct any mistakes. Now, off to rest before RailsConf!

ecommerce ruby rails spree cms magento


Popular Tags


Search our blog