Commerce now in alpha

Commerce makes it easy to sell online exactly the way you want. Extend functionality with our Payment Methods and Modules or build your own.

Frequently Asked Questions

We're collecting the questions we get most often into a list of FAQs. If your question is not in the list, please reach out to us via and we would be glad to help.

When will Commerce be available?

Commerce is currently in alpha, and getting closer to beta with every release. Over 50 people have access to Commerce currently for testing and development purposes, and we expect to hit beta in May 2017.

A stable, production-ready version, is expected Summer 2017.

How much does Commerce cost?

Commerce is set to cost €299 per license, valid for one MODX installation each. All 1.x upgrades and a year of support is included in that price, as are a collection of modules.

Licenses are not available to be purchased until we reach beta, which we expect to hit around Feburary/March 2017. We likely wont offer an unlimited subscription for Commerce.

Free development licenses will be available for Commerce, which will allow all features of Commerce with the exception of setting the shop to live mode. Non-profit discounts are available for organisations that meet a set of criteria.

How does Commerce handle product prices and sales tax/VAT?

Taxes in Commerce are quite flexible. They are organised around Tax Groups, assigned to your products, and Tax Rules that determine when a certain Rate Provider should be used.

Product prices can be configured to be either inclusive or exclusive of taxes. When a customer address is available, taxes will be shown as soon as a product is added to the cart.

Read more about Taxes in Commerce in the documentation.

What are the requirements for running Commerce?

For Commerce we've set slightly higher requirements than our other extras.

  • PHP 5.5+ (5.6 or higher strongly recommended)
  • MODX Revolution 2.5.2 or higher
  • Valid HTTPS certificate and configuration on the website

It is possible to install Commerce without meeting all of these requirements right away, however you will be warned about the lacking configuration on the dashboard, and may not be able of switching the shop to live mode depending on what requirement is missing.

What will happen to SimpleCart when Commerce is released?

We'll continue providing support for it and improving it for at least a year after the first Commerce 1.0 stable release. Over the next couple of months we'll work on at least one more Payment Gateway for SimpleCart and adding some improvements to make it more flexible. We wrote about this in more detail: How Commerce affects SimpleCart.

One of the cool things about Commerce is that it allows you to use different tools to manage your catalog of products. The SimpleCart custom resources are a great example of what you might use for managing your catalog, so rather than throwing SimpleCart out with the bath water, we intend to offer a solid integration between the two.

I just finished a project with SimpleCart. Now what?

You can continue using SimpleCart for the time being. If you'd like to migrate the webshop to Commerce, we will provide the tools and documentation for that. There will also be a discount for SimpleCart users looking to use Commerce instead.

Does use Commerce?

Not yet, but we're planning to migrate away from our current billing engine to Commerce as soon as possible! There's a few features missing in Commerce that we need before we can do that, including subscription handling and the proper reporting/integration features for our tax reporting. Hopefully we'll be ready to make that switch towards the end of 2017.

How awesome will Commerce be?


Can I ask you another question about Commerce?

Of course! You can always send us an email via or tweet us @modmore. We've also opened a Commerce board on our community forum.

How can I manage products in Commerce?

Commerce introduces a divide between the customer-facing Catalog and the internal Products that it requires to calculate totals and handle orders.

The Catalog is your front-end. It's how customers browse through what your webshop has to offer, including product information, different variations, photos or videos, reviews, and so on. How you build this catalog is completely up to you: it can consist of resources, Collections, MIGX TVs, SimpleCart product resources, a POS or ERP system, custom tables or third party database... the possibilities are limited to your imagination (and skills and/or budget).

Products are simple database objects consisting of a product's name, description, SKU, stock level, and price. These products are what Commerce does care about. When a customer sees an item they'd like to purchase in your catalog, they will add this Product to their cart.

It's possible to manage products within resources, separately, or integrated with something custom.

Read more about managing your products here.

How can I change the markup (HTML) used in the cart or checkout?

Commerce uses Twig file-based templates for its theming. The documentation has more in-depth information on how to use that, but here's the basics.

  1. Create a new folder under core/components/commerce/templates/ with a name of your choosing*. For example myawesomestore or design2017. The name of this folder is your theme name.
  2. Edit the commerce.theme system setting and set it to the name of your theme.
  3. Locate the template file you wish to edit (for example default/frontend/checkout/cart.twig) and copy it into your own theme folder with the same name and directory structure (for example myawesomestore/frontend/checkout/cart.twig).
  4. Edit your copy.

It's not recommended to copy over all template files, just the ones you have edited.

* It's also possible to place the template folder somewhere else using the commerce.theme_path setting. See the documentation for more detailed information about the possibilities for themes.

Does Commerce offer different shop designs or themes?

No. Commerce has only one "theme" for the cart and checkout that adds a basic design to the default markup. This theme consists of two CSS files that are registered to the site header, layout.css and style.css.

The layout.css file contains some basic layout-related css definitions to position things fairly intuitively. It contains no colors, fonts, borders or other style decisions.

The style.css enhances the layout.css styles to make it look pretty. This is more opinionated and may or may not look great with the rest of your design. It still inherits as much as possible from your existing CSS (for example font-sizes use em to be relative to the size on your body) but does define colors and backgrounds.

The commerce.register_checkout_css system setting determines if these two files are loaded. Set it to 1 to load the files automatically on your cart and checkout pages, or set it to 0 to not load them.

How can I automate (part of) the merchant order fulfilment?

Most order-specific automation will happen through the status system.

Basically whenever you manage an order and want to change its status, you will need to choose a Status Change instead of the new status. The status change controls the flow the order goes through from the customer going through checkout, all the way through the products getting shipped.

For each Status Change, you can add Status Change Actions that happen when the status is changed. These status change actions include sending emails to the customer or merchant, but with a bit of development you can also create status change actions that automatically print shipment labels, sends order and customer information to a CRM or ERP system, or does something else entirely.

Through these actions you can automate a whole lot of normally labour intensive tasks to ensure your fulfilment works at top efficiency .

Does Commerce support multi-context setups?

Sure, your shop can be spread across different contexts. They'd all be served from the same MODX installation (on a single hostname) and a single Commerce dashboard. The product records would be shared across the MODX installations, but your catalog could be vastly different per context.

It's possible to use different templates per context, as well as different cart/checkout pages with context-specific settings.

It's also possible to set a different currency per context, which requires you to have context-specific cart and checkout pages as well, however multi-currency support is fairly limited at this point.

Can Commerce integrate with my CRM, ERP or POS system?

When we built Commerce, we made sure it was easy to extend and integrate, so yes you will be able of integrating it with any three-letter-acryonym system.

Commerce does not currently have any pre-built integrations, though we expect several will become available over time as we get involved with customer projects and build commonly-requested integrations.

If you'd like to commission an integration, please contact Mark via with details to receive an estimate and information about the possibilities and availability.

Will Commerce file my taxes for me?

It wont file them for you, but it does have reports and exports that will help you with that. Please see the features list or documentation for the available reports and be sure to file a feature request if you have specific needs that are not yet met. It's also possible to create your own reports that can be used to output the information exactly like you need it.

How do I enable/disable the standard cart/checkout theme CSS?

You can toggle the default CSS files with the commerce.register_checkout_css system setting. When set to 1 it will register two css files, one with layout and another with styles, to the <head> of the page. When set to 0 or empty, it will not.

Can I put my template (theme) files in a different directory?

By default Commerce looks inside core/components/commerce/templates/ for your theme files. If you'd like to have it also look in a different theme directory, such as /assets/checkout/, you can specify the commerce.theme_path system setting with the absolute path to your template directory.

When setting a theme path, you still need to create a folder inside that directory that matches your theme name as configured in commerce.theme.

What payment providers does Commerce support?

As of December 2016, the following payment providers are available:

  • (CreditCard payments, using on-site JavaScript API)
  • Braintree (PayPal subsidiary offering on-site PCI compliant Credit Card and PayPal payments; requires JavaScript)
  • Mollie (Dutch gateway offering iDeal, Sofort, Bancontact, PayPal, CreditCard and more)
  • MultiSafePay (Wide range of payment methods, including iDeal and CreditCard)
  • PayPal Express (off-site hosted checkout with PayPal accounts or guest checkout with credit card)
  • Stripe (on-site PCI compliant credit card payments; requires JavaScript)
  • Paymill (on-site PCI compliant credit card payments; requires JavaScript. Basically Stripe, but available throughout Europe)

The Roadmap has a list of other gateways we're planning or considering. Be sure to send us a feature request for the gateway you need if it's not listed or planned yet!

Can Commerce integratie with my shipping partner for realtime shipping price calculation?

Yes, but we don't have any pre-built integrations available. The developer documentation has more information about how to build such an integration.

Does Commerce support one-page checkout?

This is planned for v1, but not yet fully functional in the alpha/beta. We'll have documentation for this when it works properly.

As the templating uses Twig, can I still use MODX snippets or tags?

Yes you can! The twig templates will be parsed fully first, followed by the standard MODX processing afterwards. So you could use Twig templates to build MODX tags, but not the other way around.

Some of the snippets included in Commerce are meant to be used with chunks, instead of twig templates.

Why does Commerce use Twig instead of standard MODX tags?

Twig brings a more powerful templating language to Commerce. Simple conditionals, loops and includes are all possible in Twig, which would become a rather complicated set of snippets and chunks with the standard MODX parser.

The Twig for Template Designers documentation is a good starting point if you haven't worked with Twig before.

Do you offer non-profit discounts for Commerce?

Yes, to select organisations that meet our requirements we will offer up to 50% off on a Commerce license. For the process and requirements, see the Commerce Pricing.

Should I migrate my SimpleCart store to Commerce?

If you're happy with SimpleCart, you can continue to use it. We'll still support it, so you don't have to migrate just because we've got something shiny and new.

If you're doing a redesign or rebuild of a previously SimpleCart-powered shop, we would recommend looking into the differences (see the documentation for a summary) and determining whether SimpleCart, Commerce, or both are the best match for your store.

Does Commerce support multiple currencies?

Yes, but it's only basic support for now. You can set a different currency per context, which will affect the price formatting the customer sees. Orders placed within different contexts will also keep track of the used currency, so in your merchant dashboard you can see what currency the customer used for their order and payment.

At this point in time however, Commerce does not support currency-specific pricing, so you will need to create different products in different currencies. The reports are also not all currency aware, meaning they might clump together amounts in somewhat unpredictable ways.

Can I restrict my shop to specific countries?

Yes, using the Country Validation module provided with Commerce you can set up a blacklist or whitelist of countries that are allowed to place an order. This will warn customers that their country is not currently supported when they try to place their order. See the documentation for more information on this module.

How is address validation handled in Commerce?

There is a basic address validation module available in Commerce which will make sure the required fields are filled in, and that the email is syntactically valid. It also checks if a valid country was selected. See the documentation here.

The module does not verify if an address is accurate, but it's possible for developers to build a validation module that verifies an address is real.

Is it possible for my (logged in) customers to use their previously used address during checkout?

With the User Profile Address module, the address on a logged in users profile will be pre-filled to the billing and/or shipping address during checkout.

Before Commerce 1.0, we're also planning to introduce a way for the user to choose from all addresses they've used in the past, with an optimised checkout flow.

When adding a product that is already in the cart, it is duplicated. Can this be combined?

Yes, enable the Combine Products module to automatically combine products that get added to the cart multiple times into a single item.

How does Commerce handle multilingual shops?

With the separation of products and your catalog, there are many different ways you can build a multilingual shop.

With MODX, there are roughly 2 ways to handle multilingual sites in general. First is the multi-context approach, where different languages have their own context and resources. Secondly there is an integrated approach where a single context is used to serve different languages, for example with MIGX or Lingua to manage translations.

The Commerce cart and checkout use lexicons by default, so your cart and checkout will automatically use the right language if you set the cultureKey appropriately on different contexts. With integrated translations, you'll need to make sure the right cultureKey is set dynamically.

Products are not currently translatable.


Disclaimer: Viewing non-Euro pricing

You are currently viewing prices in a non-Euro currency. Please be advised that these prices are estimates, based on data by Open Exchange Rates.

While we offer this currency converter hoping our users find it convenient, all purchases are made in Euro, and the final amount charged can vary depending on payment provider, day, time of day and a number of other factors outside of modmore's control. There are no guarantees on accuracy and modmore nor Open Exchange Rates can not be held liable for errors.