I'm trying to implement the check for VAT ids, and got stuck (the VIES check being a new feature in 1.7). I configured the VAT checks to assign users to certain customer groups - and this works perfectly.
I have 3 customer groups: Business In Romania, General and Business Outside Romania. What I want is to add a 24% VAT tax for the first 2 groups, and remove this tax completely for "Business outside Romania".
I can add taxes per country in Sales - Tax - Manage Tax Rates, but that doesn't help me since I need to add the basically for all countries.
To sum up, here's the question: How can I add taxes per customer group ?
Also, can I do this from the admin panel alone, or do I have to create my own module ?
Solution(s)
Follow the steps Andrew suggested
Another options works great if you want the products to be shown including VAT, and remove it when a valid VAT is added. You create a promotion that applies to the "Valid VAT" customer group, that gives a percent reduction of (1 - (1 / (YOUR_VAT / 100 + 1)))*100 (this will be an ugly number, but copy it with all the decimals). In this scenario, you may have a 0.01 error from time to time.
A) You use Customer Tax Classes.
1) Create a Custom Tax Class
2) Assign the tax class to a customer group.
3) Create a new Zone and Rate. Assign the Tax percentage you need. Make it work for EACH country you intend it to work for.
You will have to duplicate the rules unfortunately.
4) Create a new Rule via 'Manage Tax rules', assigning your new Tax Rate(s), Customer Tax class etc. Notice there's a multiselect to select the new rules you made for multiple countries.
Customers in your group will now get this Tax applied to them regardless of where the location is.
By default you are going to end up with some replication of rates due to Magento not allowing you to select "all" coutnries at once.
This can be done via a custom extension (i've done this before) but not as standard.
B) Alternatively you can change your settings in the magento admin:
Set the Tax calculation based on ORIGIN rather than destination. This may or may not work depending on what you need for your particular setp.
System > Config > Sales > Taxes > Calculation
Related
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 am exporting invoices from my app to QB local version. I cannot find any way to add sales tax, which is calculated in my app, to the QB invoice.
I am exporting multiple items (in my case services), to a new QB invoice and nothing related to sales tax seems to work - like QBFC12.IInvoiceAdd SalesTaxLineAdd, etc. - all "not available in this edition of QB".
Does QB allow me to add the sales tax, or will it only use the tax that is set for each of my items in QB?
-Rick
What you're asking isn't really a programming question... it's more of an accounting question.
The QuickBooks API exactly mirrors the QuickBooks GUI. So, whatever you do in the GUI to add sales tax, you should do in the API. How do you do it in the GUI?
Soooo... let's talk about QuickBooks normally does sales tax in the GUI:
You mark each line item with a Sales Tax Code of either NON (for non-taxable) or TAX (for taxable)
At the bottom of the invoice, you choose a specific Sales Tax Item (e.g. "California Sales Tax")
QuickBooks then calculates tax for you by using the tax rate from the Sale Tax Item * (the sum of the TAXable line items)
It shouldn't be terribly surprising then you look at the QuickBooks OSR API documentation, and you see line item definitions like this:
<InvoiceLineAdd>
...
<Amount>29.95</Amount>
<SalesTaxCodeRef>
<FullName>Tax</FullName> <!-- valid values here are one of your Sales Tax Codes, usually "NON" or "TAX" -->
</SalesTaxCodeRef>
</InvoiceLineAdd>
And, at the bottom of the InvoiceAdd specification, an option for specifying a Sales Tax Item like this:
<ItemSalesTaxRef>
<FullName>California Sales Tax</FullName> <!-- valid values are any of your existing Sale Tax Items in QuickBooks -->
</ItemSalesTaxRef>
With all that said, we have to pay special attention to this portion of your question:
I cannot find any way to add sales tax, which is calculated in my app,
to the QB invoice.
The answer above let's QuickBooks calculate the tax amount from the tax rate vs. taking what you already calculated in your app. Sooooo... the rule still stands - the QuickBooks API mirrors the GUI. So, how do you do this in the GUI right now?
The correct answer is: ask your accountant how he wants you to do it.
More than likely, the answer is:
Create a new Sales Tax Item with a 0% tax rate named "Refer to Invoice"
Add a new line item to the invoice that uses ItemRef/FullName to refer to the correct Sales Tax Item (e.g. "California State Tax")
On that line item, specify the actual tax amount calculated in your app
If that's what he wants, then you should do exactly that in the GUI. Treat it just like any other invoice line item.
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).
I need to dynamicaly remove tax during checkout for business to business customers in Magento. I have a module which asks for a VAT ID during checkout and checks it against the European Online VAT-ID Validation Service. If the VAT ID is valid, the tax should be removed during checkout.
The module already assigns new customers with valid VAT ID to the according business to business group in Magento. Customers who order for the first time and create their account during that first checkout, get charged VAT (even with valid VAT-ID).
I basically need to know, how this can be done, which methods involved, etc.
I've got a similar setup going on at the moment, what I have done is if the VAT# at checkout is stored in mage_checkout_model_session. The call
Mage::getSingleton('checkout/session')->getQuote()->getCustomerTaxvat()
In my instance is returning the VAT number for me to check elsewhere. Your VAT# validator is certainly setting something similar to this. At this point you can either create a new module to modify the tax, or override the controller with
$x = Mage::getSingleton('where_your_extension/stores_the_value)->getIsVatValid();
if ($x) $this->setTaxValue( 0 );
else //magento sets it automatically
and it will set the tax rate to zero for the remainder of the session. It will work with guests and registered customers.