Commerce Core 3.3.0 completely reimagines how merchants interact with orders in the administrative back end. Common order management tasks are accessible from the order view page, and the edit tab will generally no longer be necessary.
This release resolved 102 issues, including bugs and feature requests, and the time was right to tackle longstanding order management requests we’ve heard from the merchants we support. Roadmap influence is a key benefit of working directly with Centarro on your Drupal Commerce projects. 🤓
Why redesign order management?
Orders in Drupal Commerce have always been collections of data entities of varying types. It’s all highly structured and enables complex fulfillment workflows, but managing those various entities was a fragmented experience.
To edit the billing address, you'd head to the order edit form, but you could only view the shipping address there. To change the shipping address, you'd navigate to the shipments tab and edit the relevant shipment(s) there instead. Updating order items meant working through an inline entity form on the order edit page, but the impact on pricing was opaque until submitted. Payment details weren't readily visible.
Each of these tasks used a different form, which meant different administrative contexts for what a CSR really regards as one transaction.
Single-page order management
The new order view page is a dashboard for everything related to the transaction. Adding, editing, and deleting order items, shipments, and billing profiles is now handled through modal dialogs that open directly on the order view page.
All of the relevant data is compactly presented in various cards, using tool tips where possible to avoid information overload. We clearly display contextual information like an order’s payment status and workflow transitions. Most actions a merchant needs to take are obvious and prominent.
See the new order management interface in action:
One of our longstanding design principles is to solve the 90% use case first. The vast majority of orders have a single payment and a single shipment, so this interface prioritizes looking good for that scenario. For the edge cases where an order has multiple shipments or multiple payments, dedicated tabs for those are still available for managing additional records. And, of course, custom management interfaces can be created to fit your exact needs.
Enhanced information display
Beyond the layout changes, this release includes field formatters that consolidate information into more useful displays. A new "Order Item Title (with SKU)" formatter shows both the title and the product variation SKU, something that was previously one of the most common customizations site builders had to add themselves.
A unified "Billing Information" formatter consolidates billing details, payment method info, the last payment amount, and the remaining order balance into a single card. A dedicated admin-only View for the order items table ensures admin layout changes don't inadvertently affect the customer-facing order display.
What else is inside?
Order management is the big feature, but there’s so much more in this release:
- OOP hooks throughout Commerce Core. All hook implementations have been converted to the object-oriented hook system introduced in Drupal 11.1, maintaining backward compatibility with Drupal 10 via the #[LegacyHook] attribute.
- EU VAT tax rate updates. Tax rates have been updated for the current year.
- Anonymous-only cart expiration. A new setting allows sites to expire only anonymous carts while leaving authenticated user carts intact (#3558178). Useful for sites where logged-in customers expect their carts to persist indefinitely.
- Protection against deleting active promotions. Promotions that are currently in use provide a warning before being deleted.
- Coupon enable/disable action links. A new action link lets administrators quickly enable or disable a coupon from the promotion’s tab without having to open the coupon edit form.
- Translatable store email. Store email addresses are now translatable, which has been an open request for multilingual storefronts for some time.
- Navigation module icon. Commerce now provides an icon for Drupal's Navigation module.
You can view the full list of changes in the release notes.
Upgrading existing sites
Existing installations will want to review a few manual configuration steps to get the full benefit of the new interface. If you're using Commerce Shipping, we recommend updating to Commerce Shipping 3.0.0 at the same time as updating Commerce Core so the new shipping information formatter is automatically configured. If you update Core first, you'll need to manually enable the shipments field and select the Shipping Information formatter on your order type's view display.
You'll also want to navigate to your order type settings and disable the edit tab option to fully adopt the view-centric workflow. The release notes have the full details on the migration steps.
Finally, if you aren’t quite ready for the new order management interface, we did our best to preserve backwards compatibility so you can opt-in on your own schedule. This is why we prioritized adding new formatters or form modes instead of changing the behavior of existing ones, and the edit tab leading to the previous order edit form can be enabled in your order type settings.
Thank you!
This release was made possible by 49 contributors. Special thanks to the whole Centarro team for really rocking this release, a true group effort over several months, and thanks to George Matthes for his assistance in the conception and design phase. We're grateful for the community contributors testing patches and offering feedback.
We couldn't do this without you!
Add new comment