Tax in the Shopping Cart

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
13 years ago
We sell into 90 countries but need to add tax in only 1 taxed country.  The 'Tax Provider' "Tax by Country & State" can be set up as per this article:

http://www.youtube.com/watch?v=Tvnbx46wN6k&feature=player_embedded

with, in our case, prices displayed excluding tax and where tax is based on the Shipping Address.

However, the store assumes when you add a product to the basket that tax should apply by default, only removing it should the shipping address not be the 1 taxed country.  This is very misleading and puts off customers whom see advertised prices suddenly rise by 20% when it hits the cart, not knowing that they will later reduce.

Is there a way of reversing this behaviour?  That is, not including tax on products when the customer adds the item to the cart, but adding it during the checkout should the shipping address be within the 1 taxed country.  Under some configurations it appears to use the text "Calculated during Checkout" and this would be preferable.

This is particularly acute when browsing without logging in and adding something to the cart - very off-putting.

Note that leaving the configuration as per the video, but setting 'No Tax' as the default 'Tax Provider' disables the configuration entirely.
13 years ago
I had the same issue and I came up with a band aid that is working, but it probably is not the optimal way to fix the problem.  

This was my problem:
I only needed to charge tax to customers in NC.  Customers who were not in NC and have yet to put in their billing info were seeing the added tax on their order during check out.  I figured this was a big turn off to customers since most internet customers know that they won't be charged tax when buying from different states.  I wanted the default setting to be "calculated during checkout"  instead of having a default tax amount in their shopping cart.  I looked high and low and couldn't find a solution that would have the desired default setting, so I came up with my own solution that seems to be working.  

Here was my solution:
1st: I set up a New Tax Class and Named it Shipping Tax Rate (I didn't set up a tax rate and I believe it is defaulted at 0%)

2nd:  In Tax Settings I did the following:

Prices include tax: Not Checked
Allow customers to select display type: Not Checked
Tax display type: Excluding Tax
Display tax suffix: Not Checked
Hide zero tax: Not Checked
Hide tax in order summary: Not Checked
Tax based on: Billing Address
Default Country: US
Default State/Providence: NC
Default Zip/Postal Code: BLANK
Shipping is taxable: Checked
Shipping price includes tax: Not Checked
Shipping tax class: Shipping Tax Rate (My new tax class I created)
Payment method additional: Not Checked

Now I know that you don't want to tax shipping, but with this option set at Shipping Tax Rate which I ASSUME is now 0% the site won't charge taxes on the shipping rate and just charge the state tax rate for NC Billing Addresses on only the products purchased.  

Now when I do testing it shows that the tax will be "calculated during checkout" and it doesn't calculate it until they choose a shipping option.  After shipping is chosen the tax if applicable is shown and no tax is levied against the shipping rate.  

I hope this helps.  :)
13 years ago
It's a fact that California, USA has the fifth (5th) largest economy in the world!!! So, I think the folks at nopCommerce won't ignor this problem for very long before noodling an easy-to-implement solution. It's just too large a market to leave hanging. I'm in California so I will at myself to watch this Topic. 8-)
13 years ago
My solution to this problem was the following:

Modify OrderTotals.ascx.cs like the following:

Replace the following code:
if (TaxManager.HideTaxInOrderSummary && NopContext.Current.TaxDisplayType == TaxDisplayTypeEnum.IncludingTax)
                {
                    displayTax = false;
                    displayTaxRates = false;
                }


with this code:
if (this.Page.Request.Url.AbsoluteUri.Contains("checkoutshippingaddress.aspx") || IsShoppingCart ||
                    this.Page.Request.Url.AbsoluteUri.Contains("checkoutbillingaddress.aspx"))
                {
                    lblTaxAmount.Text = GetLocaleResourceString("ShoppingCart.CalculatedDuringCheckout");
                    lblTaxAmount.CssClass = string.Empty;
                }
                else if (TaxManager.HideTaxInOrderSummary && NopContext.Current.TaxDisplayType == TaxDisplayTypeEnum.IncludingTax)
                {
                    displayTax = false;
                    displayTaxRates = false;
                }


That way, the first time tax is ever shown as calculated is on the "Select a shipping method" page at which point they've already selected a Shipping/Billing address and tax is being calculated correctly.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.