We have multiple websites, each with it's own base-currency and tax-rules.
The prices is entered in admin including tax, in each stores own currency.
The problem is that magento takes the entered price, then remove the tax according to the "default"-store, then apply the tax for the correct store.
Example:
The price is 33 in admin.
The "default" tax-rate is 25%. 33 / 1,25 = 26,4
Tax-rate in germany is 19%. 26,4 * 1,19 = 31,416
31,42 is the displayed price in fronted, when it should be 33.
Config values of interest:
Tax Calculation Based On: shipping address
Catalog Prices: Including tax
Default Country: Sweden (Default)
Default Country: Germany (website)
Display Product Prices In Catalog: Including tax
Can this behavior be configured? Is there a reliable workaround. I'm afraid that we do not have the option to change all the prices to excluding tax.
Can't believe it, i found the solution right after posting the question:
The setting "System -> Configuration -> Sales - Shipping settings -> Origin" was still set to Sweden. I changed that to match the tax-rule that should be applied, Germany in my case.
It's not at all obvious what this setting does, but it works..
Related
I have set up a shop using Prestashop. I created a tax rule for my products and entered the VAT rates of all EU countries we sell to. When a user orders a product the VAT amount is calculated according to the address/country he entered in the checkout process, this works fine.
Unfortunately the VAT rate when the user is not connected is wrong. It should be 19% and not 17%, thus the products in the shop show wrong prices, e.g. 59,97 € instead of 60 €.
I haven't found out how the Prestashop frontend determines the VAT rate to be used to calculate the product price. There is no default VAT rate setting and the first rate in the table (lowest ID) has a VAT rate of 19%.
Does anybody know how that works ?
Thank you very much.
You can set default tax rule for each product, when editing a product in back office.
You have the ability to decide if a visitor/guest customer group should see the prices with/without
taxes applied by using the setting in Shop Parameters > Customer Settings > Groups
(there's a "Price display method" selector there).
If you want your visitor's context country being set without having them to actually enter an address,
you should enable native Geolocation (International > Localization > Geolocation).
I found out how this works. Under International -> Localization you can set the store's default country. Set it to the country you like and the prices will be shown with the vat rate of that country if configured in the tax rules.
Have a Magento site ver. 1.7.0.2
We have one store set up for, primary is UK, but also want to offer global sales (without multiple stores setup).
So we offer 3 selectable currencies on the site: UK - GBP (main), EU - Euro, US - USD
All prices are excluding vat/tax with a vat breakdown displayed at the cart and checkout.
For UK there is 20% VAT
For EU there is also 20% with a option to add valid EU vat number (which removes the VAT)
This all works fine.
However if you select the USD currency and add a item to the cart it gives a vat breakdown (20%), even though we dont want to add tax when USD is selected.
I should note that once you do checkout and have told the site you are in the US then is correctly removes the vat/tax.
So to clarify, we want it so that if the USD currency is selected on the site no tax/vat is added to the product price in the cart.
Is this possible?
Thanks
D
I would suggest setting up multi-store configuration, using a store front for each location (UK/US/EU)
This will allow you to set the default country for each sub-store and then you can make the USA the default shipping destination / country for the US store, this will immediately apply the tax rules for this country when purchasing items from the US Store Front.
You said there's no multi-store, setup, but do you have a good reason why you don't want to use this kind of setup? it will allow you to do what you need.
The issue with your setup is that there's no way for the store to know where the customer is before they either login or select during the checkout, this is because you will only have one default location for all currencies.
There may well be a way of doing it like this, but not that I know of. This is what the store front and/or multistore is meant for and good at.
I'm working with an inherited site, and after changing the tax rules so it ensured that customers from the Channel Islands who chose the UK as their country were not charged tax (using this method: http://www.jimcode.org/2011/08/guernsey-jersey-gstvat-rates-magento/ where it looks at the postcode as well), the site now calculates the catalog price incorrectly as it re-adds the tax onto the price. Eg. price in set in admin as £99.99 (incl tax), but on the frontend, it shows as £119.99 (incl tax).
My settings are:
Magento Version: 1.9.1.0
Catalog prices: Including tax
Tax Calculation Based On: Delivery Address
Default Tax Destination Calculation Default Country: United Kingdom
Enable Cross Border Trade: No
Shipping Settings Origin Country: United Kingdom
On searching where people have had a similar problem, people say to change the shipping origin country, but my tax calculation needs to be based on the delivery address.
Even if I revert my tax rules to the previous default settings, it does not fix the problem. I've reindexed, cleared cache, resaved a product, resaved the config settings ... but can't get it working.
I'm thinking that perhaps there has been some sort of corruption maybe? Do I need to run some sort of 'recalculate tax' perhaps?
In administration go to settings > sales > tax > calculation and set “tax based on” to the last item (package origin, or something like that; terms are not perfect).
Or you can change setting accordingly as you want in your cart.
If your code is perfect then you are just missing some configuration detail.
Also you can go throw all the inner tabs for tax calculation.
Turns out that in the tax_calculation_rate table, one of the rows had NULL in the tax_postcode column. In my case, it needed to be empty.
Apply Customer Tax Should be set to Before Discount
I'm solving issue related to showing prices with TAX in basket. I have configured some tax rules for UK countrym which is 20%. In fronend I can see prices with tax. That's fine. But when I added a product to basket them it's displayed without tax amount, but it would as I enabled in backend.
My configuration is
TAX depends on delivery address
I specified default delivery address in backend, country = GB, region = *, postcode = *
I would expect: If I dont specify any delivery address then default delivery address would be used.
So I went depper I found that there are methods Mage_Sales_Model_Quote->collectTotals() and $address->collectTotals() which operates with Country, Region and postcode. Their values are Country = GB, region is empty, postcode is empty. That's the reason why Mage_Tax_Model_Calculation::getRate returns 0 tax rate.
I can override this function and but there default delivery address configuration but I'm not sure whether I break anything or nor :)
Is it standard behaviour or is it bug?
It's not a bug. I see you are using the UK language pack so I'll answer using the terms from that.
Either you have configured something wrongly in the backend (have you set basket prices to display inclusive of tax in Config->Sales->VAT->Shopping Basket Display settings?) or your
theme has been set up badly and deliberately displays prices without tax in the cart even if you have set the config so they should be included.
Magento handles UK/EU inclusive tax setup really well, don't go down the rabbit hole of trying to alter the core for this.
Switch themes and see if that solves it. Your templates/checkout/cart.phtml file should contain a series of conditionals which checks the config settings and displays the prices with or without tax in the cart (or both).
The issue is the tax is not included on product price to logged in users.
Tax is added to product price correctly to guest users, in cart when shipping country is entered and on final checkout page.
[[Something I have noted is that the price displays correctly for both non logged in and newly created logged in user. The price will only be displayed without tax once the logged in user has an address (shipping) applied to their account. It appears that Magento is interpreting the taxable country as a country without a tax rule]]
The store is UK based retail site and should only display products with UK VAT 20% added.
Until recently this worked perfectly. Last week the product price started displaying without tax to logged in users with a shipping country set.
Default Country: UK
Shipping Orign Country: UK
Tax Calculation Based On: Shipping Origin
Default Tax Destination default country: UK
Price Display settings: include tax
Tax rules configured for EU VAT
Any advice on where to look and debug why a logged in user with valid country is resulting in magento showing product without tax.
Configuration screen grabs:-
Do your customers with account really have the correct Customer Group (could have changed due to an update)?
Is this Customer Group really correctly linked to the correct Tax Group?
Are the products correctly linked to this Tax Group?
Is it both incorrect in the display of product and in the price of the final order?
I suggest adding logs and debugging in the tax system to identify where exactly it is going wrong.
I guess it has something to do with the difference in customer group between guest (no customer group) and normal (logged in) customer.
This might seem obvious, but does your tax rule actually apply to the customer group for logged in customers?
Admin > customers > customer groups
Admin > sales > tax > manage tax rules
Just had this EXACT same problem today, cost me hours off my life. Here's the solution:
Configuration > Sales > Shipping Settings
Ensure that Origin > Country is set to the UK
Works like a charm for General and Not logged in customers, or anyone else in the Retail Customer group
I had the same problem....
It turned out to be the logged in user is outside the tax zip/postcode in the specified tax zone so no tax is applied (ie. magento assumes the user is overseas so taxes don't apply)
In the backend click Sales -> Tax -> Manage Tax Zones and Rates. Edit the tax rate and make sure "Zip/Post is range?" is set to YES.
Lookup you postcode ranges in which that tax rate apples (ie. here is australia the range is from 0800 - 8000 to account for all postcodes in all states and territories). Enter in your ranges.
Save and you are all done :)