Yireo - Developer training

Open main menu
TaxRatesManager 2

Magento 2 Extension

TaxRatesManager 2

Update & create tax rates automatically, when you are sleeping

Manage tax rates automatically

Whenever there is a new rate (like the Dutch low rate being increased from 6% to 9% on January 1st 2019), you will need to rush yourself into the Magento 2 backend to make the adequate changes, before an order is placed with the wrong rate. Our extension changes this dramatically. It runs through cron and simply updates the rates as soon as they need to changed. Likewise, it will create new rates when they become available. And the extension allows you to re-run all of these scenarios beforehand (now), so that you understand what happens.

  • 100% open source and well-written
  • compliant with modern Magento standards
  • Free with no strings attached
  • Community collaboration via GitHub

Latest release: 1.2.6

Don't worry

Regardless of what time, regardless of what kind of changes are made, your tax rules will be kept up-to-date automatically. You don't have to stay up late anymore for updated percentages to be taken into effect.

Testing is knowing

Our extension makes it easy for you to preview what will be done, when a certain deadline is met: We provide you with test-feeds (or you can create your own) and you can see beforehand what our extension will be done at a certain time.

Jisse Reitsma

This extension has been created by Jisse Reitsma

This extension has been written - with love - by Jisse Reitsma, founder of Yireo, three times Magento Master, partner of ExtDN, trainer and author. Jisse has been in the Magento ecosystem for many years and has created numerous Magento extensions. He also has been pushing better coding practices, like CI/CD, clean coding, coding standards and testing.

Packages & pricing

This extension is hosted on GitHub:

You don't need to do a thing

This is a timesaver whenever you are selling within the EU

TaxRatesManager 2

Update or create rates

Within your Magento backend, the Tax Zones & Rates are usually managed by hand: With our extension, the EU tax rates are automated. This means that when the Brexit is a fact, or when Dutch tax rates change, you don't need to take any action: The extension takes care of this automatically via a cronjob.

TaxRatesManager 2

Hints in the Magento backend

Once you start managing rates via the Stores> Tax Zones & Rates page, you can easily make mistakes. Our extension gives suggestions on which rates to create or which rates to correct. Even better, you can enable automatic fixing in the extension as well. A simple visit to the backend page will push all changes needed.

TaxRatesManager 2

Test whenever you see fit

The rates are derived from an online feed. Our extension configuration allows you to test other feeds as well, so you can see what kind of changes are made at what time.

The whole goal of this extension is to make changes automatically while you are sleeping. It is wise to do testing beforehand, when you are still awake. Our instructions will guide you into what to test in what order.

Tip: Make sure to read our instructions for testing the upcoming changes.
It is important that you understand what changes are made automatically!

What happens on January 1st 2019?

  • We will run an automatic job to update our public feed to change the Dutch rate from 6% to 9%
  • The cron service of your Magento 2 shop will poll this feed every 5 minutes and see if a change is available.
  • Once the change is received, the tax rate in your Magento store is modified automatically.
  • During all of this, you are partying hard to celebrate the New Year, without worrying about tax changes

Make sure to check our TaxRatesManager2 User Manual
for detailed instructions on how to properly this extension.
It will save you time!

Quick Start

Get up and running with your Yireo extension

Installation via composer URL

We recommend to install Magento 2 extensions via composer. See the Composer project for instructions on how to get composer up and running. Once composer is installed, use the following command to install our extension.

composer require yireo/magento2-taxratesmanager2

This will make composer download the package from Packagist. After the composer installation has finished, use the following commands to enable the module within Magento:

bin/magento module:enable Yireo_TaxRatesManager2
bin/magento cache:clean
bin/magento setup:upgrade

After these commands, the extension is ready for use in Magento. If you were already logged into the Magento Admin Panel, make sure to logout and log back in again, before proceeding. Do not forget to grab yourself a manual copy of our extension as a backup.

Manual installation

Please note that we strongly recommend using composer instead. If you bump into issues with this manual procedure, the first thing we need to ask is whether you have installed all dependencies, as mentioned in the composer.json file of this extension. If the composer.json file of this extension mentions requirements, you need to fulfill these requirements. This could involve checking for PHP requirements but also installing third party add-ons. Sounds difficult? Yes! That's why we can only recommend you to use composer. The manual installation does NOT make your life easier, even if you think it does.

Do use composer: It allows for dependency tracking and in the end, prevents breaking your site. However, in some cases, it might be required to do a non-composer installation. For these exceptional situations, download the module ZIP from our site (under the tab File Downloads). Next, create a folder with the following name and copy to the ZIP contents to it:


After the files have been uploaded, confirm that all files are in place. For instance, you should have a file like app/code/Yireo/TaxRatesManager2/etc/module.xml. Next, use the following commands to enable the module within Magento:

bin/magento module:enable Yireo_TaxRatesManager2
bin/magento cache:clean
bin/magento setup:upgrade

After these commands, the extension is ready for use in Magento. If you were already logged into the Magento Admin Panel, make sure to logout and log back in again, before proceeding. Do not forget to grab yourself a manual copy of our extension as a backup.


Head over to the GitHub repository for downloads: https://github.com/yireo/Yireo_TaxRatesManager2

Frequently Asked Questions

All tax rates are managed in a CSV file tax_rates_eu.csv within the online GitHub repository. Future changes will be made available there as well, so you can test for these future changes in time. Make sure to check our TaxRatesManager2 User Manual for further instructions.

Yes, you can. Our CSV file can be uploaded from GitHub and uploaded to your Magento backend, which allows you to change the tax rates on the fly. It's your show: If you want to correct this at 1 minute past 12 on January 1st (or whenever other changes are made), this will save you the money.

Note that if you forget, you might sell products to customers with the wrong rate, which needs to be corrected manually afterwards. Make sure to check our TaxRatesManager2 User Manual for further instructions.

When a new rate is added, it will be directly visible under Tax Zones & Rates. However, it will still need to be configured under Tax Rules, which is a business decision you need to make, depending on the products that you have in your shop. Make sure to check our TaxRatesManager2 User Manual for further instructions.

As soon as the Brexit is a fact, the rates for the UK will be reset to 0%, because this rate applies to customers ordering from a non-EU country. If you are a UK shop-owner, you will need to change your Tax Rules dramatically, which is not covered by this extension. We'll blog on the Brexit opera as it unfolds.

Where there are multiple rates for a specific country, the extension will start guessing. Say, there is a country XX with 3 tax rates: 0%, 4% and 20%. If the low rate of 4% is increased to 6%, the extension will calculate that the new rate is closed to the old rate of 4% and modify the old rate. However, if the low rate of 4% would go up to 18%, the extension might wrongfully assume that the high rate goes down from 20% to 18%.

If you use the Code (aka label) of our GitHub rules, this will prevent these mistakes from happening. Likewise, we will make changes to our extension to allow for less errors. Still, we highly recommend you prepare for future changes, by using the test feeds available in the extension beforehand.

No, it is not. As a policy, all our Yireo software is unencrypted - we do not make use of technologies like ionCube or ZendOptimizer. All PHP-code is open source, but for commercial extensions the code is only given to paying customers.

You probably would like to know if this extension is working under a specific Magento version 2.X.Y. However, from a technical point of view, the question is wrong: The major Magento version 2.X.Y is not semantical but instead used for marketing purposes. It doesn't give any guarantees.

Instead, we maintain compatibility with the actual modules that lie underneath (like Magento_Catalog or the Magento Framework). And version management for these dependencies is handled via composer. We strongly advice you to rely on composer to answer the question whether our extension works under a specific Magento version. This is the only way to guarantee compatibility in a professional way.

Alternatively, study our CHANGELOG for details on the progress we made.

This extension is offered for free. Feel free to go the GitHub repository (see the link under Quick Start> Downloads) and open an Issue there. Please note that this is a voluntary open source project. The more helpful you are in describing the issue at hand, the more likely volunteers can come in to help you with the issue.


Getting support

If you run into problems, we are happy to help you out with the following resources:

  • Check FAQ on this page
  • See our Quick Start on this page
  • Open an Issue in the GitHub repository
    • Be as descriptive in your issue as possible
    • Do everything you can to troubleshoot the issue yourself
    • Understand that you are asking others to give up their free time

We usually respond in 24 hours but understand this is all done on a voluntary basis. Also note that we require you to collaborate together with us. Interpret errors as best as you can, before claiming our time. Free software does not automatically lead into free support as well.


EmailTester is written following standards like MEQP1, ECG and ExtDN (as far as they are Magento 1 concerned). This extension does not make any overrides. It only hooks into events.

Tests included

This extension includes unit tests, integration tests and functional tests. The integration tests are designed to load changes and save them to the database, but don't require a working internet connection. The functional tests require a working internet connection.

Supported Magento versions

  • 2.2 (2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 2.2.10)
  • 2.3 (2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.5-p1, 2.3.5-p2, 2.3.6, 2.3.7, 2.3.7-p1, 2.3.7-p2)
  • 2.4 (2.4.0, 2.4.1, 2.4.2, 2.4.2-p1, 2.4.2-p2, 2.4.3, 2.4.4, 2.4.5)
The supported PHP versions equal the versions supported by Magento itself

Requirement details

  • magento/framework: ^100.0|^101.0|^102.0|^103.0
  • magento/module-backend: ^100.0|^101.0|^102.0
  • magento/module-customer: ^100.0|^101.0|^102.0|^103.0
  • magento/module-tax: ^100.0
  • guzzlehttp/guzzle: ~6.0|^7.0
  • psr/log: ^1.0
  • php: >=7.0.0
  • ext-pcre: *


All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[1.2.6] - 9 January 2023

  • Properly use ZIP codes from feed

[1.2.5] - 25 April 2022

  • Version bump

[1.2.4] - 25 April 2022

  • Upgrade Guzzle because of Magento 2.4.4

[1.2.3] - 1 January 2021

  • Only report rates higher than 0

[1.2.2] - 29 July 2019

  • Support for Magento 2.4
  • Add KeepAChangeLog support
  • Move configuration to separate Yireo section

[1.2.1] - January 2019

  • Fix issue with mail not being sent via cron
  • Add website name to email subject
  • Increase cron time to every 3 minutes

[1.2.0] - December 2019

  • Add Fix link to notices
  • Add "Clean All Rates" button
  • Clean up dependencies in composer file
  • Add GitLab CI integration

[1.0.1] - December 2019

  • Fix typo in settings

[1.0.0] - December 2019

  • Stable release

[0.0.2] - December 2019

  • Integration tests completed
  • Functional tests completed

[0.0.1] - December 2019

  • Working proof of concept

We are a proud member of ExtDN

ExtDN forms a network of Magento extension developers, that strive for a better extension quality - both on a technical level and from an end-users point of view. With industry leaders like Fooman and aHeadworks, ExtDN lifts up the Magento extension space to a new level. And Yireo is proud to be part of this.

Do not miss out on what we say

This will be the most interesting spam you've ever read

We don't write too commercial stuff, we focus on the technology (which we love) and we regularly come up with innovative solutions. Via our newsletter, you can keep yourself up to date on all of this coolness. Subscribing only takes seconds.

Sign up for the Yireo newsletter



GitHub organizations

Legal information

Other Yireo sites

Get Social

About Yireo