Commerce helps you to sell online, with dozens of powerful features that developers and store owners will love.
This page covers the most important features of Commerce that will enable you to build an online store. Want to be sure that Commerce will be right for your next project? Tell Mark about your project to request a free 30-minute call.
Make it look the way you want
Commerce includes a simple checkout design which will get you up and running in no time. But, of course, you have complete Creative Freedom. Add your own CSS to tweak colours and styling or disable the default styling and change the twig template files to build from scratch.
Taxes made easy
Commerce can't make taxes fun, but it can make it easier to comply with your local (and global!) product specific tax rules. Set product prices to be inclusive or exclusive of taxes, set specific tax rates, or take advantage of the following built-in region specific features:
- European Union: always up-to-date VAT rates, support for Reverse Charge (B2B) mechanism, and VAT registration number validation.
- United States: integration with TaxJar for always-accurate Sales Tax calculation. (Requires subscription)
Dynamic shipping prices
Make sure customers pay the right shipping fee with dynamic shipping prices. Set up product-specific delivery types, each with their own shipping methods and pricing. Multiple product types in a single order? Then the order will be divided into shipments, with a shipping method each.
Alongside static shipping prices, Commerce also includes weight-based and country specific shipping methods. For more complex requirements or carrier integrations, shipping methods can be extended>.
Works with common payment gateways
Commerce comes with 8 payment gateways (and counting) to get paid. Accept credit/debit cards, PayPal, various local European payment (SOFORT, iDeal, etc), and more.
All you have to do is select the gateway, enter your credentials, and start selling. Set minimum/maximum order totals for each payment method, and add transaction fees if needed.
Manage products your way
Commerce doesn't force you to use a specific catalog system. Integrate Commerce with an existing products database, link it with SimpleCart (coming soon) or regular resources, or use our Products TV for a flexible multiple-variations-per-page approach.
Commerce only needs to know the basics: product name, price, stock, etc. Everything else, from photo galleries to customer reviews and related products, are for you to set up to fit your needs exactly.
Analyze your data
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 generate beautiful charts with a single click to get more insight into your online business.
Powerful status workflows
Automate your fulfillment with a powerful status workflow. Set up custom statuses, connect them with status changes, and set up automated actions for each change.
Send emails to the customer, or build custom actions to automatically print shipping labels, send a notification to Slack, or update your CRM. But it doesn't have to be just one-way, why not hook up a barcode scanner to an API that triggers a status change as products are collected or handed over? The sky is the limit.
Built to be extended
Commerce was built to be extended. Many of the features are implemented as optional modules, each of which can be extended further. If you're a developer and want to learn more, hop over to the technical developer reference.
Backed by modmore support
With detailed documentation, a community forum, and 24hr support with direct contact with the modmore team, you can be assured that you'll get the support you need. Working on a high-profile project and want premium support? We offer that too.
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.