Overview
Discover what makes Drupal Commerce powerful
Drupal Commerce is a modular, open‑source e‑commerce framework built on top of the Drupal 10 CMS. From a technical standpoint it functions as an extensible product, order, and payment engine that can be composed with Drupal’s content‑centric architecture. The core package delivers a highly configurable data model for products, categories, variants, and customers, while exposing RESTful and GraphQL endpoints that allow developers to build custom storefronts or head‑less applications. The system is designed for iterative development: you can start with a minimal installation, then add modules or custom code to shape checkout flows, pricing rules, and tax calculations.
Language & Framework
Database
Data Layer
Service Layer
Overview
Drupal Commerce is a modular, open‑source e‑commerce framework built on top of the Drupal 10 CMS. From a technical standpoint it functions as an extensible product, order, and payment engine that can be composed with Drupal’s content‑centric architecture. The core package delivers a highly configurable data model for products, categories, variants, and customers, while exposing RESTful and GraphQL endpoints that allow developers to build custom storefronts or head‑less applications. The system is designed for iterative development: you can start with a minimal installation, then add modules or custom code to shape checkout flows, pricing rules, and tax calculations.
Architecture
- Language & Framework: PHP 8.3+, Symfony components, Drupal 10 core
- Database: MySQL/MariaDB or PostgreSQL (default)
- Data Layer: Entity‑Field Architecture (EFA) – products, orders, and customers are Drupal entities with configurable field sets
- Service Layer: Symfony Dependency Injection container; most business logic is exposed via services (
commerce_product,commerce_order) that can be overridden or extended - API Layer: Built‑in REST Resource APIs (JSON‑API) and optional GraphQL module for flexible querying; supports webhooks via the Commerce Webhook module
- Template Engine: Twig, with extensive theme hooks for product display pages (PDPs) and checkout screens
Core Capabilities
- Product Management: Variant handling, pricing, inventory, and media integration via Drupal’s Media Library
- Checkout & Order Workflow: Configurable state machines for order status, multi‑step checkout, and custom payment gateways
- Search & Facets: Native integration with Drupal Search API, enabling keyword search, category browsing, and facet‑based filtering
- Multilingual & Multi‑Currency: Built‑in support for locale, currency conversion, and localized content
- Extensibility: Hundreds of contributed modules (e.g., Commerce Shipping, Commerce Checkout Wizard) and an open API for custom integrations
- Head‑less Ready: JSON‑API endpoints allow consumption by React, Vue, or mobile apps
Deployment & Infrastructure
Drupal Commerce is self‑hosted; it runs on any LAMP/LEMP stack or within Docker containers. The project ships with a Docker‑Compose template that includes Drupal, PHP-FPM, Nginx, and MariaDB. For high‑traffic scenarios, the architecture scales horizontally by adding more application nodes behind a load balancer and employing Redis or Memcached for caching. Continuous deployment pipelines can be built around GitOps practices, leveraging Drupal’s configuration export/import system.
Integration & Extensibility
- Plugin System: Payment gateways, shipping providers, and tax calculators are implemented as Drupal plugins that can be swapped or extended
- Webhooks & Events: Commerce Webhook module exposes event hooks (e.g.,
commerce_order.place) that external services can subscribe to - Custom Modules: Developers can create modules that implement
CommerceProductInterfaceor extend the order workflow; the entity system makes it trivial to add custom fields - Third‑Party APIs: Prebuilt integrations with Stripe, PayPal, Mollie, and more; additional connectors are available in the free module library
Developer Experience
Drupal Commerce benefits from Drupal’s mature documentation ecosystem. The core API is well‑typed, with extensive docblocks and Symfony services autoconfigured for dependency injection. Community support is robust—hundreds of contributors maintain modules, and the Centarro team offers professional services. Configuration is largely declarative via Drupal’s configuration system, yet developers can override almost any aspect with custom code or theme hooks. The learning curve is moderate; familiarity with Drupal 10 conventions (entities, plugins, Twig) accelerates onboarding.
Use Cases
- Enterprise B2C Stores: Large catalogs with complex pricing, multi‑currency, and custom checkout flows
- Head‑less Commerce: Decouple the storefront from the backend; expose product and order data via JSON‑API or GraphQL
- Content‑Rich E‑commerce: Leverage Drupal’s content management strengths for blogs, knowledge bases, and product documentation alongside commerce
- Multi‑Site Architecture: Run a unified platform across regional sites, each with localized languages and currencies
Advantages
- Performance & Flexibility: Built on Symfony, the framework scales with caching layers and can handle high request volumes
- Open Source Licensing: GPLv2+ with no licensing fees, allowing full control over the codebase
- Unified Platform: Combines CMS and commerce in a single stack, reducing integration friction
- Extensive Ecosystem: Thousands of contributed modules and a vibrant community mean most common requirements are already solved
- Future‑Proof: Continuous updates with Drupal 10+ ensure compatibility with modern PHP and security best practices
Drupal Commerce offers developers a powerful, extensible foundation for building sophisticated e‑commerce solutions while retaining the content management strengths of Drupal.
Open SourceReady to get started?
Join the community and start self-hosting Drupal Commerce today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Dotclear
Self-hosted other
Admidio
Open‑source membership and access control for groups
Tiledesk
Open‑source, AI‑powered live chat for all channels
Gladys Assistant
Privacy‑first smart home control for all devices
Receipt Wrangler
AI‑powered receipt management & split for teams
Meetable
Minimal event aggregator for the IndieWeb community
