Subsequent change of VAT rate

We provide the plugin VAT. Change / Reduction in our Community Store, which you can use to make the necessary adjustments for the VAT change. This can be found here.


If you want to make the adjustments manually, this tutorial will explain what you should consider when changing the VAT rate.

Whenever you make changes in this area, we generally recommend that you first create a backup of the database! This provides you the possibility to return to the current status at any time. 

 

Adjusting the tax rate

In the first step, you should be aware that the price of the item will change if you adjust the tax rate. You can now decide whether you want to adjust the gross price and the net price of the item remains the same, or whether you want to adjust the net price so that the gross price remains the same for the customer. 

In the basic settings under Items > Other VAT rates you can define your own VAT rates for vouchers and discounts.

Adjust gross price (variant 1)

If you want the net price of the item to stay the same, and you want to adjust the gross price, you just have to change the tax rate in the backend. To do this, open the menu item Configuration Basic settings > Shop setting.
 

Change the default tax rate to the desired tax level (Ex. 16). Since Shopware stores the net prices in the database, the new gross prices are now automatically displayed and calculated in the frontend and backend.

In the order overview, the name of the selected tax rate is displayed in the column Taxes on the tab Items. 
If you change the name of the tax rate, the name of the tax rate as it is now called will also be displayed in older orders under Taxes. (For example 16%)

 

Adjust gross price (variant 2)

Another way to adjust the taxes so that the net price is maintained is to create a completely new tax rate. You can do this in the backend under Configuration > Basic Settings > Shop Settings > Taxes
Afterwards you can use the following SQL query to ensure that the new tax rate is assigned to the desired articles. 

UPDATE `s_articles` SET s_articles.`taxID` = '2' WHERE `s_articles`.taxID='1';
IIn this example the tax rate with TaxID 2 is deposited for all articles, which use the tax rate with TaxID 1. You can find the exact TaxID in the database table: s_core_tax.

If you have stored fixed tax rates in a shipping method or in a voucher, you should also replace them with the new tax rate. 
Additionally, you should check your plug-ins to see if they use the default tax rate. If necessary adjust the tax rate here as well. 

 

Adjust net price 

In Shopware the net prices are stored in the database. If you want to keep the gross price for the customer and thus adjust the net prices, changes in the database are necessary. 

 

Since the gross price remains the same here, the net price is changed here. If you have customer groups for whom the net price is displayed in the front end, this price changes accordingly.

 

If you have stored tax rules for other countries in your standard tax rate, you should note that these rules refer to the net price of the items. If you have set up a tax rule of 20% for Austria, these will be calculated on the changed net price. The gross price for Austria will then change in your shop.



First, adjust the respective tax rate in the backend under Configuration > Basic Settings > Shop Settings > Taxes as explained in the step adjust gross price. 

If you only have items with one tax rate, you can use the following examples as a guide.
First divide by the new tax rate and then multiply by the old tax rate.

UPDATE s_articles_prices SET price = price/1.new_tax_rate*1.old_tax_rate

Examples

Tax reduction
As an example, the old tax rate of 19% is changed to the new tax rate of 16%.
 

UPDATE s_articles_prices SET price = price/1.16*1.19


Tax increase
This query is reversed for the increase of the tax rate from 16% to 19%:


UPDATE s_articles_prices SET price = price/1.19*1.16

Consider different tax rates


If you have items from more than one tax rate, but you only want to adjust one of the tax rates, execute this SQL query instead: 

UPDATE s_articles_prices, s_articles SET s_articles_prices.price = s_articles_prices.price/1.16*1.19
WHERE (`s_articles`.id = `s_articles_prices`.articleID AND `s_articles`.taxID='3')
In this example the tax rate is changed from 19% to 16%. This happens for all articles that use the tax rate with TaxID 3. The exact TaxID can be found in the database table: s_core_tax.

 

How not to change net retailer prices

If you have maintained net prices for the retailer customer group in addition to the normal shop customer prices and do not want to change them, you can perform an additional check for the "pricegroup" in the SQL query.

A query that only changes the prices for customer group "EK" could look like this:

UPDATE s_articles_prices, s_articles SET s_articles_prices.price = s_articles_prices.price/1.16*1.19 WHERE (`s_articles`.id = `s_articles_prices`.articleID AND `s_articles_prices`.pricegroup='EK')

This query can be adjusted accordingly to change the price for other customer groups. You can find an overview of the existing customer groups in the backend in the basic settings under Shop Settings > Customer Groups. Alternatively, you can also view the existing customer groups in the database in the table s_core_customergroups.

 

Was this article helpful?