Magento 1.9 - Price incl tax is adding tax again - magento

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

Related

Prestashop - Default VAT rate for visitors that are not connected

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.

Magento VAT issue

I am finalising my Magento store but have the following problem:
UK VAT registered store. VAT rules set up using following: http://www.mcnab.co/blog/e-commerce/magento/magento-vat-setup-for-countries-trading-worldwide/
Product price is set at £36 and VAT standard.
In Config > Sales > Tax, I have set both product and shipping to inclusive of tax.
In Config > Sales > Shipping Settings, I have set Origin to UK.
When I check out as EU customer, price is correct (£36 - including £6 of VAT). When I checkout as Non-EU, price is incorrect (£30 - the EU price excluding VAT, it should by £36 with £0 VAT).
I've searched extensively, but only solutions I can find to this problem are the two configuration settings shown above. I'm running Magento 1.8.1, going crazy over this and hoping someone can put me out of my misery?
Thanks!
You might have already had the answer to this, so apologies if that is the case.
This is an accounting issue not a settings issue. VAT is not chargeable on 'export' sales outside of the EU, hence why the VAT element of the price is dropped.
Hope that helps.
Sparky

Magento - Base tax removed, store tax applied

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..

Tax behaviour when I'm adding new item to basket

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).

Tax calculation for logged in users

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 :)

Resources