Karol Kielecki

Saleor 3.6 & 3.7: dynamic taxes and stock allocation improvements

In this article, you will discover a new tax approach in the Saleor ecosystem. You will also learn about non-stacking lines, subscription payloads for synchronous webhooks, stock allocation improvements, and our Deno Merch integration example.

Welcome to the latest releases of Saleor!

If you haven’t already had the chance to play with sandboxes using Saleor Cloud, now is the time to catch up with your free developer account!

Let’s take a closer look at what’s new this time.

Saleor 3.6

Dynamic taxes

As a truly open-source project, we always pay attention to what our community and clients recommend and suggest. After diving deeper into their needs and use cases, we recognized that there is room for improvement with taxes – enhancements that support our headless-first approach.

Dynamic taxes was the first phase of our new approach, and the next step is the introduction of synchronous tax webhooks.

How does it work? You can delegate tax calculations to Saleor Apps. See the infographic below.


Saleor now supports the following tax webhook events:


You can learn more about dynamic taxes in our documentation.

Subscription payloads for synchronous webhooks

We introduced the first part of subscription payloads asynchronous webhooks in Saleor 3.2. We’ve extended that functionality to include synchronous webhooks.

The example below shows how to create a synchronous webhook mutation for a subscription payload:

mutation {
input: {
app: "<app_id>"
name: "test_payment_capture_subscription"
targetUrl: "<webhook_url>"
query: "subscription{event{...on PaymentCaptureEvent{payment{id created}}}}"
) {
errors {
webhook {

And here is an example of a synchronous webhook payload:

"payment": {
"id": "UGF5bWVudDoyNDE=",
"created": "2022-08-03T08:52:04.202449+00:00"

Our documentation explains in detail the key concept of subscription payloads for synchronous webhooks.

Ability to split the same variants to multiple checkout lines

This feature allows dynamic prices to be used to its full extent.

Consider an example where a product can be engraved, and the price depends on the number of letters. Without dynamic pricing, a person couldn't order two such items without placing two separate orders (and paying for shipping twice). You can learn about adding the same product to multiple lines in the documentation.

Saleor 3.6 Changelog

The 3.6 changelog summarizes all new features and improvements introduced in that version.

Saleor 3.7

Ability to set a specific order of warehouses for stock allocation and reservation

The goal was to allow staff users to set the warehouse order of stock allocation and reservation. Previously, Saleor randomly assigned warehouses to orders. Now, the warehouse order is configurable per sales channel.

Newly added warehouses are pushed to the end of the sort order. Now, you can easily set the order of warehouses in the Channel details page of your dashboard.


Ability to set tax configuration via Avalara

Thanks to contributors from Mirumee Software, the Avalara plugin now supports the ability to override "All products prices are entered with tax included.".

Consider two different sales channels, one in the US where there is no VAT on products, and the other in a European country inclusive of VAT. The checkout will differentiate the sales channel and tax will be displayed accordingly.

Saleor 3.7 Changelog

You can find the full 3.7 changelog here.

Saleor x Deno Merch

We integrated Deno Merch with Saleor API as a practical exercise for research purposes... and we ❤️ it!

Take a look at what we've built! 🙌


Saleor 3.4 & 3.5

In case you missed it - here’s our previous update summarizing what we’ve delivered with v3.4 & 3.5 and the purpose of Saleor CLI.

Thank you

A big thank you to all contributors and community members for each bug report and your feedback! Follow our Twitter and sign up for our newsletter to stay up to date with the latest info about Saleor!


    By accepting our usage of third-party software such as Google Tag Manager, you help us to deliver a better website experience to all our users. To see our full privacy policy, click here (links to Privacy Policy).