• Resolved compendiumvent1

    (@compendiumvent1)


    Hello,

    I am not clear how the Tax priority function is supposed to work.

    We have therefore for testing at the moment 2 ways of Tax setting, namely:
    1) Both country code with no zipcode with rate of e.g. 19% and with a zip code on priority 1 with rate of 0% . The one with the zip code is above the one with only the country code.
    Then the correct 0% rate of the zip code is taken when this matches with the shipping address zip code.
    2) The country code with no zip code with rate 19% has priority 1 and with zip code with 0% rate has priority 2. This is automatically saved under the priority 1. Then the correct 0% rate of the zip code is NOT taken when the zip codes matches.

    According to the help in the link https://docs.woocommerce.com/document/setting-up-taxes-in-woocommerce/ by taking the second example shown under “Tax rate examples”, selecting a higher priority of 2 or more is the way it is supposed to work. So looking at the example the US country code with State code CA and a priority 2 for zipcode 90210 (NOTE: the zipcode has been put in the State code column which looks like an error in this example. It should have been put in the Postcode/ZIP column) results in selecting the local tax rate of 2% when this matches.

    Therefore with our setting 2, a priority 2 for Postcode/ZIP should then also result in selecting the 0% rate of the zipcode when this matches. However this is now ignored and only selects the 19% rate of priority 1, the country code!
    It seems that not the priority works here but which setting is above the other to be considered first per country code.

    This functionality of priority is important for us as we have a marketplace integration using this to calculate the tax exclusive price following the setting 2 logic. It selects the rates according to priority when matching resulting in 19 or 0%. However when using our setting 1 the integration selects the first priority 1 per country code ignoring then the other(s) resulting in 0%, which results in a incorrect exclusive price in most cases.
    On the other hand when using setting 2 we have now a problem for other orders within WooCommerce which then select only priority 1 rates in sequence of position above the other and therefore igorning the 0% for Zipcodes.

    Therefore I need to know how this priority setting is supposed to work.
    To me it does not make sense when it is supposed to work as it does now, namely according to setting 1. Then the whole priority function is actually not working at all!
    From the example it looks like it should work according to setting 2. This makes sense as it selects a rate per country code and then by priority e.g. 2 or higher over a lower like 1. When this is the case then there is an error in the Tax function that needs to be fixed, When not then the integration logic needs to be fixed. Look forward to the definite reply.

Viewing 13 replies - 1 through 13 (of 13 total)
  • Mirko P.

    (@rainfallnixfig)

    Hi @compendiumvent1,

    We’ll be happy to have a look and provide support but can you kindly send us a screenshot of your tax settings so we’ll be able to perform a test and try to replicate the issue?

    I recommend https://snipboard.io for easily sharing screenshots – please follow the instructions on that page, then paste the URL in this chat. It works with Chrome, Firefox, Safari, and Edge browsers.

    Thanks.

    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Mirko,

    Thanks for your reply and to perform a test and replicate the issue.

    Herewith the screenshots of our tax settings:
    Tax Options: https://snipboard.io/UVbZTS.jpg
    Tax rates (we have only standard): https://snipboard.io/2mTjOD.jpg

    The setting for country code DE is the mentioned setting way 2 , which is automatically saved after all the priority 1 at the bottom.
    All the others country codes with also zipcode settings are the mentioned setting way 1.

    Look forward to hear back soon so we know how this should work and resolve the issue we have fast.

    Thanks,
    Harry

    Mirko P.

    (@rainfallnixfig)

    Hi again,

    Thanks so much for sending over your tax settings.

    In terms of setting up tax on WooCommerce, it’s pretty straightforward. WooCommerce will start elaborating taxes from the top of the table to the bottom.

    Let’s get for example your tax settings for Germany:


    Link to image: https://bit.ly/3ANG1Lx

    The way it’s now configured lets WooCommerce stop at the first row as DE covers all Germany, including the zip codes below.

    So you should set it this way with general DE at the bottom:


    Link to image: https://bit.ly/36qPzy5

    As per the priority, check this link in the documentation. Within the same State like California you can set another State code (90210) that will trigger a different local tax rate (2%) from the general State tax rate (7%).

    Priority and compound are useful when national and local taxes are effective in a given country. For example, national tax can be 20% and in addition, a given state or even a city may apply an additional 2% tax, which has to be added for customers from that city. In such cases, priorities and compound are necessary to calculate taxes properly.

    Hope this helps.

    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Mirko,

    Thanks for your reply.

    However I am confused by this.

    The example you mentioned, which I also mentioned, with the same State like California where you can set another State code (90210), you seem to confirm that this will trigger a different local tax rate (2%) from the general State tax rate (7%). This will not be compounded unless compounding is selected too.

    So then selecting a higher priority of 2 or more is the way it is supposed to work. Therefore with our setting 2 like for country code DE, a priority 2 for Postcode/ZIP should then result in selecting the 0% rate of the zipcode when this matches without compounding the taxes.

    When, as you mentioned first, WooCommerce will start elaborating taxes from the top of the table to the bottom, what is then the remaining functionality of priority setting?

    Look forward to hear back soon.

    Thanks,
    Harry

    Mirko P.

    (@rainfallnixfig)

    Hi again,

    Therefore with our setting 2 like for country code DE, a priority 2 for Postcode/ZIP should then result in selecting the 0% rate of the zipcode when this matches without compounding the taxes.

    Priority 2 for postcodes should be fine. The most important thing to remember is the default behavior from top to bottom in order for the postcodes tax rates to be triggered.

    When, as you mentioned first, WooCommerce will start elaborating taxes from the top of the table to the bottom, what is then the remaining functionality of priority setting?

    If you are entering multiple tax rates for a specific country, for example multiple VAT rates within the same country, then you need to prioritize them according to their relative importance. Hence, in the field for Priority you can enter the number for each tax rate. Here every tax rate is set with a different priority level and only one particular tax rate corresponds to a specific priority.


    Link to image: https://bit.ly/3z0esgs

    Thanks.

    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Mirko,

    Thanks for your reply.

    However I still see not the remaining functionality of priority setting.

    You mentioned that the most important thing to remember is the default behavior from top to bottom in order for the postcodes tax rates to be triggered. So how will then the Priority 2 for postcodes be fine as these are automatically put below the priority 1 of in our case the country DE when saving this, as the priority 2 will never be selected?

    Than as you mentioned, entering multiple tax rates for a specific country, for example multiple VAT rates within the same country, you need to prioritize them according to their relative importance. Hence, in the field for Priority you can enter the number for each tax rate. In the example every tax rate is set with a different priority level and only one particular tax rate corresponds to a specific priority.
    Is this then the use of priority?
    If so, what is then actually the result taking the example and keeping in mind that compounding is not selected?

    Depending on your reply what should then be our setup for the system to select only the tax rate on postcode when matching e.g. 0% and when not matching on country level e.g for DE 19% without compounding these?

    Look forward to hear back soon.

    Thanks,
    Harry

    Mirko P.

    (@rainfallnixfig)

    Hi there,

    Thanks for getting back with your additional comments.

    Than as you mentioned, entering multiple tax rates for a specific country, for example multiple VAT rates within the same country, you need to prioritize them according to their relative importance. Hence, in the field for Priority you can enter the number for each tax rate. In the example every tax rate is set with a different priority level and only one particular tax rate corresponds to a specific priority.
    Is this then the use of priority?

    This is absolutely correct. Priority is used for these cases where for example there are multiple tax rates for a specific country (E.g. 0% rate for DE, 14% rate for DE, 19% rate for DE). This can also be applied for postcode if there are different tax rates to be applied for that same postcode. Priority 1 is the highest while priority 2, 3, 4, etc. is the lowest.

    Depending on your reply what should then be our setup for the system to select only the tax rate on postcode when matching e.g. 0% and when not matching on country level e.g for DE 19% without compounding these?

    You have to list the postcodes on top and general DE on the bottom. When a specific postcode is entered in the Checkout then WooCommerce will start searching from the top and will select the tax rate assigned to that specific postcode. So that there can be no margin for errors. If the postcode entered in Checkout is not listed in the tax settings then WooCommerce will go down in the list until the general DE tax rate is found and will apply that specific tax rate.

    I’d advise doing some tests on a local installation of WordPress and WooCommerce or in a remote staging environment if your hosting allows it and placing test orders. Oftentimes, to understand the behavior is far more convenient testing rather than trying to follow the theory that it could result complicated but in fact it is not.

    Thanks.

    • This reply was modified 4 years, 10 months ago by Mirko P..
    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Mirko,

    Thanks for your reply.

    Only I am not clear what the difference in functionality is between the mentioned multiple tax rates for a specific country using the priority function and the default behavior from top to bottom not using the priority function. Both seem to do the same thing selecting 1 applicable tax rate when it matches e.g. postcode or only the country. Although what you mentioned on the multiple tax rate suggest that more than 1 rate is selected when this applies e.g in a specific country or the same postcode. But this would mean these rates that apply are compounded as not only 1 is selected. What is then the use of the compounding function.
    Therefore please explain what is the difference between the priority function and default behavior from top to bottom?
    How does the compounding function then fit in?

    Comming back to our situation, using the priority function in one of our two setup ways (see my first message) by setting priority 1 for general country DE did not result in selecting the priority 2 postcode when the postcode matches. So depending on your explanation above, is then the correct functionality setup to have the postcode tax rate on priority 1 in order to get only this tax rate of 0% selected when it matches the postcode, and the general country DE on priority 2 when it does not matches the postcode in order to get only the country tax rate of 19% selected?

    Look forward to hear back soon.
    Harry

    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Mirko,

    In addition to my last reply I can give the result of testing the priority setup as suggested by me. This resulted in selecting the general country DE rate and not (only) selecting the postcode rate when it matches the postcode by:
    – setting priority 1 for general country DE and priority 2 for postcode
    – OR the postcode on priority 1 and the general country DE on priority 2.

    So apparently only the default behavior from top to bottom, as you mentioned, is the only way to get 1 rate selected when matching the postcode or not. Automatically the setup sequence is saved like that too with postcode setting first and then the country setting.

    If this is how the functionality is supposed to work, the remaining question is what the priority function actually does do. What you mentioned on the multiple tax rate, suggests that then more than 1 rate is selected when this applies e.g in a specific country or the same postcode. But this would mean the rates that apply are compounded as not only 1 is selected. If this is the case what is then the functionality of use of the compounding function.
    Therefore please explain what is the difference between the priority function to the default behavior from top to bottom?
    How does the compounding function then fit in?

    I look forward to hear back soon to wrap this up so I can inform our marketplace integrator about the tax functionality behaviour in WooCommerce in order to adjust to this. Currently our integrator follows now the priority function to select 1 rate while the default behavior results with them in multiple rates.

    Best regards,
    Harry

    Luminus Alabi

    (@luminus)

    Automattic Happiness Engineer

    Hi @compendiumvent1,

    When setting up tax rates in WooCommerce, it is important to keep in mind that only 1 matching rate per priority will be used. To define multiple tax rates for a single area you need to specify a different priority per rate.

    The proper use case for tax priorities within WooCommerce is a situation where you want to apply multiple taxes to an order.

    Let’s take a look at this example where I’ve specified 3 tax rates as follows:

    • 20% Federal Tax for all of the US
    • 10% State Tax for the state of California
    • 5% Local Tax for the 90210 zip code in Beverly Hills, California


    Full Size: https://d.pr/i/gjpDor

    Because I have assigned different priorities to each of these tax rates, here’s what will happen when a customer places an order on the store:

    • If they are within the US, but not in California, they will always be charged the 20% Federal Tax

      Full Size: https://d.pr/i/OwoK6w
    • If they are within the state of California, but not in the 90210 zip code, they will be charged both the 20% Federal Tax and the 10% State Tax

      Full Size: https://d.pr/i/M3lN46
    • If they are in the 90210 zip code of California, they will be hit with all 3 tax charges

      Full Size: https://d.pr/i/oaeY32

    The number you enter for the priority isn’t really relevant beyond the fact that if you have multiple taxes with the same priority, only one of them will apply.

    If I change the priority of all 3 taxes to 1, then the results above would be different.

    The customer would only get charged the Federal Tax in the first example. In the second example, since they are in California but not in the 90210 zip code, they would only get charged the State Tax. In the third example where they are in the 90210 zip code of California, they would only get charged the Local Tax.

    I hope this helps provide some clarity around how priorities work with taxes.

    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Luminus,

    Thanks for clearifying the priority functionality with the examples. I have informed our marketplace integrator about this tax functionality behaviour in WooCommerce.

    The default behavior from top to bottom, is then the only way to get 1 rate selected when matching e.g. the postcode or not. Automatically the setup sequence is saved like that too with e.g. postcode setting first and then the country setting.

    The multiple tax rate selection under the priority functionality leaves then only open the question what the functionality and use is of the compounding function.
    So please explain how does the compounding function fit in all this?

    I look forward to hear back soon to wrap this up too.

    Best regards,
    Harry

    Luminus Alabi

    (@luminus)

    Automattic Happiness Engineer

    Hi @compendiumvent1,

    The multiple tax rate selection under the priority functionality leaves then only open the question what the functionality and use is of the compounding function.
    So please explain how does the compounding function fit in all this?

    Compounding refers to how the taxes are calculated if you’re applying multiple taxes.

    The taxes from my previous example are not compounding, so each tax is applied on its own. For a $100 purchase, taxes would look like this:

    • Federal Tax (20% of $100) = $20
    • State Tax (10% of $100) = $10
    • Local Tax (5% of $100) = $5
    • Total = $100 + $20 + $10 + $5 = $135

    If they were compounding they would look like this for a $100 purchase:

    • Federal Tax (20%) would bring the price to $120
    • State Tax (10% compounding) would the applied to amount above. So, $120 + (10% of $120) = $132
    • Local Tax (5% compounding) would be applied to the amount above. So $132 + (5% of $132) = $138.6
    Thread Starter compendiumvent1

    (@compendiumvent1)

    Hi Luminus,

    Thanks for explaining the priority and compounding functionality with the examples, which makes everything clear now. Especially the combination of the two makes the effect of priority clear as the outcome can be all different.

    Best regards,
    Harry

Viewing 13 replies - 1 through 13 (of 13 total)

The topic ‘Tax priority – How supposed to work?’ is closed to new replies.