Spree Commerce is an open-source eCommerce platform built with Ruby on Rails that empowers developers and businesses to create highly customized online stores, marketplaces, and B2B platforms. Designed for modularity and extensibility, it provides a complete foundation for complex commerce scenarios including multi-store, multi-currency, and multi-tenant deployments. Since its inception in 2007, Spree has been used by thousands of merchants globally and is now enhanced in its 5.x release with a modernized admin interface, mobile-first storefronts, and improved developer tooling. Spree is ideal for teams needing full ownership of their commerce stack without vendor lock-in, offering both community and enterprise editions with advanced features like audit logs, white-labeling, and native Stripe Connect integration.
The platform is API-first, enabling headless deployments where the storefront can be built with any frontend framework while leveraging Spree’s robust backend for orders, inventory, payments, and user management. Its modular architecture allows developers to pick and choose components—such as payment gateways, tax engines, or shipping calculators—and extend functionality via plugins. With a growing ecosystem of extensions and official documentation, Spree supports rapid development from prototype to production-scale commerce applications.
What You Get
- Modular Architecture - Choose which components to include (e.g., payment processors, tax engines, shipping methods) and customize every layer of the stack—from storefront to admin dashboard—without modifying core code.
- API-First Design - Full RESTful Storefront and Admin APIs with webhooks for integrating with external systems like CRM, ERP, or marketing tools. Supports headless commerce deployments using React, Vue, or any frontend framework.
- Multi-Store Support - Host multiple branded stores on a single Spree instance, each with independent product catalogs, payment methods, shipping configurations, and themes.
- Multi-Tenant & White-Label SaaS - Build a platform where customers (tenants) can run their own branded stores with isolated data, branding, and configurations—ideal for agencies or SaaS providers.
- Multi-Vendor Marketplace - Enable multiple sellers to register, manage their own products and orders, and receive payouts via integrated Stripe Connect—all within a single Spree instance.
- B2B & Wholesale Features - Support for customer-specific pricing, bulk ordering, purchase orders, account approvals, and role-based access control tailored to business buyers.
- Global Commerce Ready - Full multi-language and multi-currency support with localized product content, dynamic tax calculations per region, and region-specific shipping rules.
- Spree 5 Installer CLI - Bootstrap a new Spree project in seconds with:
bash -c "$(curl -fsSL https://spreecommerce.org/install)"
- Admin SDK Enhancements - Modernized admin dashboard with reusable components, improved navigation, and form builder for rapid UI customization without deep Rails knowledge.
- Spree Dev Tools Gem - Pre-configured test helpers, factories, and best practices to accelerate automated testing for Spree extensions and customizations.
Common Use Cases
- Building a multi-vendor marketplace - A platform owner wants to allow independent sellers to list products, manage inventory, and receive payouts via Stripe Connect—all within a unified admin dashboard powered by Spree’s native marketplace module.
- Creating a white-label SaaS eCommerce platform - A software company needs to offer branded online stores to its clients, each with unique logos, domains, product catalogs, and payment gateways—Spree’s multi-tenant architecture enables this without separate installations.
- Developing a headless B2B eCommerce system - A manufacturer wants to provide resellers with a private catalog, tiered pricing, and purchase order workflows; Spree’s API allows them to build a custom React storefront with authenticated B2B flows while using Spree for order processing and inventory.
- Launching a global multi-store brand portfolio - A retail corporation runs 10+ regional brands with different languages, currencies, and tax rules; Spree’s multi-store feature lets them manage all stores from one admin panel with shared user data and centralized analytics.
- DevOps teams managing microservices across cloud providers - Teams deploying Spree on Kubernetes in AWS and Azure use Dockerized Spree images with environment-specific configurations to maintain consistent staging and production deployments.
- Problem → Solution flow: A merchant needs to support 50+ payment gateways and real-time tax calculations across 12 countries → Spree’s modular payment engine and built-in Avalara integration solve this without custom development.
Under The Hood
Spree is a robust, modular e-commerce platform built on Ruby on Rails that emphasizes extensibility and developer control through a well-defined architecture. It supports both monolithic and API-first development patterns, making it suitable for complex commerce needs.
Architecture
Spree follows a service-oriented architecture with clear separation of concerns and extensive use of dependency injection for customization. The system is structured into distinct layers that support modular functionality.
- Modular design with core components, admin, and API layers
- Extensive use of service objects and strategy patterns for extensibility
- Event-driven communication to decouple system components
- Strong adherence to SOLID principles and maintainable code organization
Tech Stack
The platform leverages Ruby and Rails as its core backend, while embracing modern frontend technologies for enhanced developer experience.
- Built primarily with Ruby and Rails, extended by Spree-specific frameworks
- Integrates TypeScript and Node.js for SDKs and frontend tooling
- Uses React-based admin interfaces with Tailwind CSS for styling
- Employs Vite, Vitest, and MSW to support modern frontend workflows and testing
Code Quality
Spree demonstrates a mature approach to code organization with consistent practices and strong testing coverage.
- Comprehensive test suite covering core functionality and edge cases
- Consistent naming conventions and modular structure for maintainability
- Clear error handling and robust input validation mechanisms
- Linting and formatting practices ensure code consistency across modules
What Makes It Unique
Spree differentiates itself through its balance of flexibility and out-of-the-box functionality, offering deep customization without sacrificing usability.
- Event-driven architecture enables flexible integration and extension points
- Dependency injection allows for extensive customization without code modification
- Modular design supports both monolithic and microservices-style deployment
- Strong emphasis on developer control and extensibility in commerce solutions