Context
A seller is from one and only one country (M). An end user wants to purchase membership which costs 500 EUR.
It appears that the seller's country (M) is taken as a reference when calculating taxes not only for country M but also for all other countries. In this example, I defined two countries and their different tax rates.
Tax for country M is 9%, and when I select it, then the system spits out "500 EUR (incl. 41,28 € tax)"
41,28 € is 9% of 500.
However, if during the checkout I select "country C" then the system spits out "555,05 € (incl 96,33 € tax".
The way THIS is calculated is by taking a non-tax amount from country M 458,72 EUR (500 - 41,28) and adding to it tax amount defined for country C (21 %).
458,72 EUR x 1,21 = 555 EUR.
(This does not make sense. The user changed the country during checkout process, but the system ignores it).
This way, what is defined as the package price, changes constantly (as example above instead of 500 EUR it shows 555 EUR as the total price)
The way it SHOULD be calculated based on my opinion is: when a user during the checkout selects country C the full amount defined for the entire package (500 EUR) and defined tax rate for the selected country (country C = 21 %) should be taken to calculate the tax amount.
I would expect the result: "500 € incl 86,77 € tax."
(86,77 is 21% of 413,22 EUR)
Question:
Why is WooCommerce not refreshing country during the checkout when a user selects a country different from store country?
How can I setup this functionality with WooCommerce?
Target functionality is to define membership packages for everyone independent of countries. And all users should see (and pay) the same price.
But when a user from country M goes through the checkout process then in reference to the total price the tax should be calculated. Same should work for any other country.
Related
Am stuck in a situation that I cant seem to solve, still learning so would appreciate if you could tell me what am I doing wrong and how do I get this right? It seems simple, but not for me anymore.
Background:
ACME company sells products in various cities and I need to check if ACME is Cheaper, Same or Expensive in terms of pricing. The same product may be sold in 10 different stores in a city and we want to know:
How is ACME doing for each product by City or by Store and I
calculate that as follows:
For each City:
List all the instances of that one product (lets say that product was sold in 10 stores in Dallas,so 10 instances,which means we may have 10 different store prices
Then return the minimum price of these 10 prices
Compare this minimum price against the ACME price and determine whether the product is Cheap, Same or Expensive
Formula:
Measure to calculate min price = 1 Min Price = CALCULATE(MINX(Data,Data[Store Price]),ALLEXCEPT(Data,Data[Barcode],Data[City],Data[Match Type],Data[Store]))
Calculated Column to detrmine status = 2 Price Status = if(Data[ACME Price]<[1 Min Price],"Cheap",if(Data[ACME Price]=[1 Min Price],"Equal","Expensive"))
Problem to be solved:
Screenshot 1 - When i have stores listed along with City, then the formula should consider the Store column and give me minimum price per Store (basically it will do a row by row comparison as a a store will show only once per city) which is what its doing in the "Min Price" and also the status is correct
Screenshot 1 - With Stores
[
Screenshot 2 - When I remove stores, the "Min Price" column is showing the right minimum price for a product per city, however the Status is incorrect - for product ending 7572, both the status must be Equal and for product ending 3566, it should be Expensive
Screenshot 2 - Without Stores
Can someone please advise what am I doing wrong? How do i get the status right when viewing by City?
I've implemented a filter as per this WooCommerce article on taxes:
add_filter('woocommerce_adjust_non_base_location_prices', '__return_false');
This effectively 'ignores' tax rates on checkout: an €8,99 product (where prices are added inclusive of tax) being sold from a UK store will cost €8,99 to a German customer, a French customer or an ROI customer. This all works fine on the front end.
However, I just created an order in the backend for a German customer, and that €8,99 product is being added to the order at €7,49 with no tax. I understand from a tax perspective why this is happening (a UK store selling in Germany shouldn't apply tax, so 8.99 - 20% UK VAT = 7.49), however this seems to be ignoring my woocommerce_adjust_non_base_location_prices filter.
At the moment my filter call is just a single line in a custom plugin, so being implemented at plugins_loaded, I guess. There's no condition for it (e.g. if (!is_admin()) {}), so I'm wondering if I need some other kind of condition to ensure it is applied to admin orders, or if I'm looking at a bug?
I signed up for Tax Cloud and use Woo Tax to calculate tax. I am trying to only collect sales tax when shipping to WA. Some of my products' tax status is set to none while some is set to taxable. When I changed my shipping address on the taxable products the sales tax still showed up, even if the state I chose was listed as states without sales tax in tax cloud. When I chose products tax status none then I got no sales tax, even if I was shipping to WA.
My question is two-fold: 1) Does tax status taxable mean it will add sales tax no matter what?, and 2) what can I do to make sure any and all products get sales tax when shipping to WA?
When using WooTax and TaxCloud, you should leave the WooCommerce "Tax Status" property as "Taxable" (regardless of your local laws - I will explain).
This is because TaxCloud automatically determines the taxable status of what you are selling based upon the Taxability Information Code (TIC) selected (drop-down menu right below the main edit product panel). The TIC along with your orders' origin and destination addresses, and your TaxCloud configuration control where you collect sales tax, and how much sales tax is due and collected.
This way, if you are selling clothing or prewritten software, or any of the other categories of goods options possible, you do not have to know if the item is taxable, exempt, or partially exempt in the jurisdiction of your customer - just select the TIC category, and TaxCloud will handle it correctly for each transaction's unique fact pattern (including sales tax holidays).
So, to answer your questions:
Be sure the product Tax Status is set to Taxable, to ensure
WooCommerce doesn't try to hide the item from TaxCloud for
calculation.
Be sure to set the appropriate TIC code for the
product (review all the options).
Within TaxCloud, in the "Tax States" area, configure where
you want to collect sales tax.
One more thing... Review your WooCommerce --> Settings --> Tax area to be sure everything is configured correctly:
Enable Taxes: True (Checked)
Prices Entered With Tax: No
Calculate Tax Based On: Customer Shipping Address
Shipping Tax Class: Based upon cart items
Rounding: Unchecked
Additional Tax Classes: [irrelevant - overridden by TaxCloud TIC for each product]
Display Prices in the Shop: Excluding Tax
Display Prices During Cart and Checkout: Excluding Tax
Display Tax Totals:: Itemized
That's all there is to it. Please feel free to call or email TaxCloud customer service if we can help in any way.
Thanks!
I have created multiple journals for an item (suppose "item1") in AX2012 with multiple rates and different from and to date.
Like for Journal 1, From date is set as 1/12/2013 and to date is NULL and rate as 50.
for journal 2, From date is set as 7/12/2013 and to date is NULL and rate as 60.
Now, logically when selecting item in sales line form on or after 07/12/2013, I must get unit price 60. But unit price that i am getting is 50.
How to get latest price of an item, account, to, from date in sales line form?
It is valid in AX to have more than one active price record (PriceDiscTable).
In your case both 50 and 60 are valid rates, it then does the service of choosing the lesser one!
In journal 2 you should find the old rate, then apply an end date of 06/12/2013.
As this is cumbersome, it is a usual customization to auto-close prices. This could be done in the insert method of PriceDiscTable.
I am using Wordpress 3.4 and the WP E Commerce 3.8
Looked for the following functionality, but couldn't find quite the right answer. Hence I am trying my luck here. The plugin gives you the ability to provide a different price for a different currency. But at checkout, it is the base currency that is shown there. What I am looking for is :
The shop will have a drop down to select options. (Like fabindia web site)
a) Delivery within India
b) International Delivery
According to the selection the price is shown in INR (Delivery withing India) or in USD (International Delivery) IMPORTANT : The USD price is put manually, not converted from INR.
If the International Delivery is selected, the prices in the checkout page will be the USD price converted into INR.
Example : (user selected International Delivery)
Product page and single product page : Sandal Soap : USD 25
Checkout page - list of products : Sandal Soap : USD 25
- Amount payable : INR 1,340.93 ($25 converted into INR at current rate)
Sorry I the answer I gave you in the comments of my currency conversion plugin obviously didn't help you...
I think you should have a look at the wp-e-commerce-role-discount plugin. It adds an additional price field to the products page and reads the value of the field in the 'wpsc_top_of_products_page' hook. Maybe the source code can help you: Line 7 and Line 136 (and don't forget 156).
Instead of checking for isPremiumCustomer() you can check for "useInternationalPrice()" or sth. like that.
But this is only the first part of your problem. The second part is converting the USD price back to INR.
This can be done with a wp_remote_get() or curl to the google conversion API:
...google.com/ig/calculator?hl=en&q=100USD=?INR