ecpm
A modern dashboard for Drupal Commerce store management.
Enhanced Commerce Management (ECPM) adds an analytics-driven dashboard on top of Drupal Commerce. It is designed to give store administrators instant visibility into sales, products, customers, and order flow — without leaving the admin UI.
🚧 Work in Progress
ECPM is currently in active development.
I am building this in the open to solve a gap I've experienced with Drupal Commerce: there is no built-in dashboard. You get entity listings, but no at-a-glance view of how the store is actually performing.
If you run into issues, please submit a ticket in the queue. I appreciate the feedback and bug reports as I work to stabilize the codebase.
Share the Vision: If you've ever wished Drupal Commerce had a Shopify-style overview page, please share the module with your network. The more people testing and contributing, the faster we can build the commerce admin experience Drupal deserves.
The Problem
Drupal Commerce is powerful, but its admin experience is entity-listing-driven. There is no central dashboard showing revenue trends, no quick view of order status distribution, and no way to see top-selling products without writing a custom View or installing a BI tool.
Key Features
Dashboard
- Metric Cards: Total revenue, orders, products, and customers — with today, this week, and this month breakdowns.
- Order Status: Visual breakdown of orders by state (completed, fulfillment, validation, draft, canceled) with animated progress bars.
- Quick Actions: One-click access to add products, view orders, browse products, or jump to reports.
- Auto-Refresh: Metrics are cached for performance but refresh on demand via AJAX.
Reports & Analytics
- Sales Report: Daily revenue bar chart with configurable period (30, 90, or 365 days), plus monthly revenue trends.
- Product Performance: Sortable table of all products ranked by revenue, order count, or quantity sold.
- Customer Analytics: Top customers by lifetime value, order frequency, and last purchase date.
- Summary Cards: Key period-over-period comparisons (this month vs. last month).
Recent Orders
- Live Table: The 10 most recent orders with customer name, status badge, total, and date.
- Direct Links: Click any order number to jump straight to the order detail page.
- Status Badges: Color-coded pills for each order state.
Top Products
- Revenue Ranked: Top-selling products by total revenue and order count.
- Quick Drill-Down: Link to the full product performance report for deeper analysis.
Performance
ECPM is built for stores with real data:
- Direct SQL: Metrics are computed via optimized database queries, not entity loading.
- Caching: Dashboard data is cached (configurable: 1 min to 1 hour) and invalidated on demand.
- AJAX Reports: Report data loads asynchronously — the page renders instantly, data populates in the background.
- No External Dependencies: Charts are rendered with pure CSS/JS — no Chart.js, no D3, no CDN calls.
Installation
composer require drupal/ecpm drush en ecpm
Usage
- Go to Commerce > Commerce Dashboard.
- Or navigate directly to:
/admin/commerce/ecpm - Reports are under the Reports tab, settings under Settings.
Requirements
- Drupal 10 or 11
- PHP 8.1+
- Drupal Commerce (commerce_order, commerce_product)
Related Projects
ECPM is part of a family of enhanced management modules:
- Enhanced Taxonomy Manager (ETM) — Modern tree view interface for taxonomy management with drag-and-drop, inline editing, search, undo history, snapshots, and optional AI integration.
- Enhanced Menu Manager (EMM) — The same modern tree view adapted for Drupal menu management.
- Enhanced Commerce Management (EMM) — Modern commerce interface