Commerce ships with a ton of features. Here's our favourites!
Control over the Checkout
With Commerce the checkout is your domain. Choose to use the default checkout experience for a quick start, customise it to your liking with just CSS, or start from scratch and build the checkout of your dreams.
Commerce uses Twig for templating, giving you an incredibly powerful tool for customisation. Create partial themes that fallback to the default where needed. Place the template files anywhere. You're in control.
Automated Taxes across the EU and US
Stop worrying about complex rules and regular updates for applying the right VAT or Sales Tax to an order. Just enable the appropriate module or integration, and you're set. Commerce integrates with euvatrates.com to provide up to date VAT rates across the European Union, and with TaxJar (subscription required) for Sales Tax across the United States.
Powerful Statuses for any fulfillment process
The fun just begins when your customer completes an order. Now, it's up to you to prepare and process their order. Commerce provides flexible statuses and status changes, allowing you to automate tasks across your fulfillment process. Anything from sending an email, printing a packing sheet, or notifying your shipping partner via an API about a new delivery to pickup Commerce gives you the framework to do it.
Fully Extendable & Configurable
Did we mention Commerce was built to be extended yet? With a powerful events sytem and the ability to override core models, Commerce enables developers to completely change the game. Add features, customise the merchant dashboard, add new payment gateways and dynamic shipping calculations. With Commerce you're not stuck in a rigid set of features, but you're free to bend (and break) them any way you'd like.
Analyse & Export with Reports
Commerce ships with a suite of reports and exports, available from the merchant dashboard. Export raw data in CSV, XML or JSON for further analysis, or generates beautiful charts with a single click.
But there's more! Here's an incomplete list of all the things Commerce can do for you.
- Simple products for small catalog without product options.
- Easy integration with Resources for more advanced product catalogs
- Easy integration with SimpleCart to provide product-centric resource interface
- Integration with custom/third party catalogs possible through custom product module
- Merchant Dashboard seamlessly integrates with external catalogs, providing "Edit in Catalog" links for its internal products.
- Basic multi-currency support with one currency per context. See the documentation.
- Powerful formatting options including prefix, suffix, thousands separator and decimal point configured per currency.
- Accept orders in multiple currencies within the same dashboard: each individual order, order item and transaction keeps a record of the currency it was purchased with.
- Fully accessible, HTML-first, manager component.
- All menus and pages are extendable and overrideable through modules.
- Templates use Twig, using the same theme system as the cart/checkout, allowing partial themes for overrides and even complete customisation.
- List all orders with simple filtering on order ID, customer information, and status.
- Quick order actions to change statuses, contact the customer and more.
- Detailed order view showing customer details, a full breakdown of the order items and applied taxes/discounts, and communication history with the customer.
- List all products with filtering/search on SKU
- Products provide a quick link to edit it in the catalog, if using resources, SimpleCart, or a third party integration.
- Optional Customers page that lists all historic customers and their address information and associated orders. Enabled through Customers module.
- Various reports in different formats, see Reports section.
- Powerful status system providing full status workflows with automatically executed status change actions
- Automatically send emails between status changes
- Trigger an custom event for modules to hook into on a status change
- Develop custom status change actions to integrate with third party services or internal processes.
Cart & Checkout
- Basic Cart functionality. Add products, get total, including tax handling, updating quantities, removing items.
- System-level configuration to indicate if product prices should be considered exclusive (default) or inclusive of tax.
- Fixed-price coupons which get applied as an uneditable item in the cart with a negative price (Coupons module)
- Percentage based coupons that reduces the total price on all of the items in the cart.
- Ability to limit coupons to a specific timeframe.
- Ability to limit coupons to a minimum and maximum order total.
- Setting the maximum amount of uses for a unique coupon.
- Automatically combining duplicate products into a single cart row with CombineProducts module
- Minimalistic default checkout design
- Setting to toggle wether the default CSS should be loaded automatically on the cart and checkout
- Theming Cart and Checkout with Twig templates for making simple yet powerful changes.
- Support for multiple themes, toggled by user, user group, context, or system settings. Great for testing new themes or providing tailored checkout for VIP customers.
- Partial theme support: only change template files you want to change, others are inherited from the default.
- Built-in basic address validation with the ability to create modules that further validate the address and provide in-context errors.
- Standard 4-step checkout process. Ability to customise the steps, require the user to be logged in, and to combine steps. [one page checkout is not yet functional, but planned for beta]
- Both automatic (module determines appropriate tax rate) and manual (configuration determines tax rate) taxes are possible.
- The tax_calculation setting determines if product prices are considered exclusive or inclusive of taxes. Exclusive is more appropriate for international or business-to-business clients, while inclusive is more predictable to the customer and easier to set prices for.
- Taxes configuration provides flexible rates that can be stacked (e.g. state and federal taxes)
- Modules are used to determine the right tax rate for a product and order.
- Tax rates are applied to products, allowing multiple tax rates, including stacked rates, per order.
- EUVat module provides automatic tax handling for selling products from within the EU to customers within the EU, including national. The EUVat module loads tax rates from euvatrates.com.
- View charts and graphs, or download the data as CSV or XML
- Top Products report shows the total quantity and revenue from sold products
- Ability to override or add reports to the merchant dashboard.
- Accept payments online, with support for both instant and delayed payment confirmations.
- Flexible out-of-the-box pricing allows fixed price and percentage based payment fee.
- Payment methods are enabled based on the order total. Set a minimum and maximum order total to offer fine control without code.
- Ability to create completely bespoke pricing logic through a custom Payment Method Model.
- Create different payment methods for the same payment gateway, with unique configurations
- Payment Gateways based on the open source OmniPay, allowing rapid development and reduced maintenance.
- PayPal Express Gateway for both guest and user checkout
- Mollie gateway with support for hosted payment method selection and merchant-specified method.
- Authorize.net Gateway (SIM method), allowing off-site Credit Card payment
- Fixed price and percentage based shipping prices
- AutoFillGeoIp module to automatically determine and pre-fill a customers country and optionally state based on their IP.
- Ability to set shipping methods for specific order totals, both a minimum and maximum, which is great for "free shipping over €50" use cases
- Country-specific shipping method to specify (only fixed) shipping prices for international shipping.
- Nobody reads this full list anyway, but if you send Mark a cute puppy or kitten picture mentioning Commerce he'll give you 5% off your next order (claimed twice so far)
- Develop a custom shipping method module for completely bespoke pricing strategies, such as based on the products size/weight
- Basic address validation module that verifies required fields are filled in, and that email/country fields hold a proper value.
- Country validation module that allows either whitelisting approved countries to sell to, or to blacklist specific countries to not accept orders from.