Dynamic Tax Modes with Commerce

Commerce has always supported two tax modes: 

  • Inclusive: where the product prices you set are considered inclusive of taxes. The tax calculation takes a percentage from that price, but it doesn't change the total.
  • Exclusive: where taxes get added on top of the product prices. As the tax is added, the total price changed based on the percentages set.

This provides both B2C and B2B style shops the tax calculation they need.

However, until now, it wasn't really possible to mix those styles in a single shop. If you're selling the same product to both types of clients, and you'd want to present each of them with a nice, round, price, that would get tricky. The common work-around is a separate B2B store, running in a different context, with different products. But that's a lot of duplication.

Now, we have a new extension commissioned by Webflux to offer the best of both worlds.

The Dynamic Tax Mode extension lets you toggle between the two tax modes for each order. When you use which mode is up to you to determine depending on your exact use case. It could be based on an option in your header, or you could be requiring users to login and look for a match in your CRM/ERP to get access to the B2B pricing. 

With the extension, each mode gets its own set of prices on the same products. So you can set exact prices, provide sales or other price types, specific to each user type individually, without needing to worry about differences in rounding.

This extension requires the new Commerce 1.5 release, available currently as pre-release.

Special thanks to Webflux for working with us on making this feature a reality.