NopCommerce 3.6 Tax By Country & State & Zip always results in zero tax - nopcommerce

The NopCommerce 3.6 Tax By Country & State & Zip plugin always returns zero tax for one of my stores. I have the same results locally and remotely, but the database was not copied from local machine. I performed the steps locally and then again remotely to help eliminate the particular environment as a factor.
What might be wrong?
Here are some screen shots to demonstrate.
Tax provider marked primary :
Test customer address contains example zip code.
No roles are marked exempt.
Set tax based on shipping address, etc.
Tax rates were imported via SSMS.
Customer is not exempt.
General tax category has been added.
CountryID of 1 is present.
Specific tax rate for test shipping address is identified.
I also attempted a test with a specific StoreId of 1, though there is only 1 store. Also the field is not nullable, zero acts as the wildcard.
All products are taxable and assigned to General tax category.
No tax displayed in the cart.
No tax displayed in checkout.
No relevant errors in the log.

As much as I wanted to avoid thinking it was true, this problem was created by a third party plugin. A vendor's alternate "One Page Checkout" was clearing the tax for the cart once the Checkout page was hit, and preventing that user from ever obtaining tax calculations in the cart afterward. Removing the plugin corrected the problem, and I've reached out to the vendor for support.
Thanks for anyone who took the time to look at this!
EDIT: To be clearer, what's occurring is that the Real One Page Checkout plugin creates NULL fields in the Address table and associates them with the customer. Therefore, any subsequent orders put in the cart by that customer will never calculate taxation again. I didn't investigate what else might be happening as a result.
I've downloaded the latest copy of the plugin and tested with the same results. All orders placed without the plugin installed work fine, with the plugin installed there are blank records added to the Address table and associated with the Customer.

Here is how the One Page Checkout plugin for nopCommerce works:
When the customers open the checkout page they start with blank addresses (that is why initially you see two empty addresses in the database - one for the billing address and another one for the shipping address) and that is why your taxes are 0 since there is still no any country selected.
Once the customer selects a country then the address in the database will be updated with the country id and all the tax calculations will be based on the newly selected country. The order total will also be updated and the customers will see the new taxes. If the customer changes the country again then the order total will again be updated again with the new taxes based on the new country.
By looking at the provided screenshots, your customer already has an address in his address book and you expect him to use the same address for any new orders.
In that case you can simply check these settings in the administration of the One Page Checkout plugin - Preselect Last Customer Billing Address and/or Preselect Last Customer Shipping Address.
This way when the customer starts the checkout it will not start with a blank address but with the address he has used to make his latest order.
Since the preselected address should already has a country selected then your taxes will automatically be shown for that country right from the start of the checkout.

Related

WooCommerce Order Doesn't Exist

In the last couple of days I found two orders that are missing from WooCommerce but were processed and approved by Authorize.net including full order details plus Customer Billing Information. Although an order number is included in the Aauthorize.net information, it does not exist in WooCommerce.
What can we do to pinpoint the issue? We have thousands of orders but so far only two are missing. There are orders before and after the missing ones and I'm not running any custom code or plugins that run after checkout.

Using WooCommerce. How to prompt for address before cart/checkout, based on the address (i.e. zipcode), show specific products available?

I am building out an ecommerce website using WordPress and WooCommerce. I'm able to set up my products and corresponding fees/taxes based on the address entered, but it's during checkout. I will have two locations which could have different inventory, so looking to have the address/zipcode check well before the cart/checkout so that specific products would be shown based on the address/zipcode.
I've searched everything and anything--all I can find is based on geolocation, but the shipping (or delivery) address is what I need to know ahead of time because someone can order from a different location but for delivery within the delivery area serviced.
Thanks in advance!
I have been looking for something similar, but I want to force the customer to put their zip code in before checkout so I can valid their cart for delivery.
I found this plugin:
https://wordpress.org/plugins/woocommerce-check-pincode-zipcode-for-shipping/
I haven't tested it, but it looks like something that could work for what you are doing. It can check stock of product based on a zip code at any given location.

Order creation adds unwanted shipping bucket

The case is following, we have a basket on which we have set only one shipping method, and which at point before order creation contains only one shipping bucket, with shipping method named "pickup".
There are 3 products in cart, two normally added products and one free gift which is added automatically with basket calculation.
This state is in pictured here:
After the order creation process (chain handlers for order creation are enabled), order contains two shipping buckets, one containing application default delivery method which is named "delivery", this is wrong and we don't want that to happen but don't know how to control it. One shipping bucket contains free gift and other contains other products. This state is displayed here:
How can we prevent having another shipping bucket being created for free gift?
EDIT: Intershop version is 7.10.15.3
I am unable to reproduce the problem on 7.10.15.2 with the standard demo shop. It is hard to say if this is a bug or a configuration problem. Can you try to reproduce this issue on an inspired demo shop?
Make sure the free gift item has the same shipping address (on line item level), shipping method and is in the same freight class as the other products.
If the problem is in the OrderCreationChain then have a look at the handlers.
Using this dev tool (only for development env)
/INTERSHOP/web/WFS/inSPIRED-inTRONICS-Site/en_US/-/USD/InspectHandlerChains-Start
There must then be a handler in that chain that creates this second bucket. Hope this helps in finding the problem.

Drupal Shipping Rules with Product Option Sets

I have an pricing attribute option set up on one of the Drupal products.
I am trying to create shipping rules that address:
1) Which of the options for the product the user selected
2) Where the user's address is
To calculate individual shipping rates. So, for example, I might have someone order the two year subscription to Japan and need to have a shipping rule for that price. Then I need another if someone orders a one year subscription to the US.
Thanks!

Change product currency and price in ubercart-based drupal with variable price

I run a donation site in Drupal, that soon needs to expand to another country, and will need to support not only switch of language, but also currency. The thing is, users donate money to charity in their own currency, and this needs to be summed up to a total amount of donations shown to the current user in their own currency.
A fundraiser is an ubercart product that users "buy" at a variable price, thus making a donation. I am creating a custom Donation node with each ubercart purchase containing CCK fields such as the amount donated.
So what I need to allow is this:
A user makes a donation in, say, Euro, EUR
Another user makes a donation in Danish Kroner, DKK
A third user views the site in US locale and should see all the donations converted to USD based off of the exchange rate at the time of donation for all the donations.
And it gets a little more difficult: We are using the UC variable price module to allow users to donate any amount they see fit.
So can this be accomplished using Drupal and Ubercart, and if so, how?
I am afraid that you will end up writing your own plug-in to convert currencies.
The problem with the conversion is, this is something that changes but you already realized this. The only source of exchange rates I know is Oanda and they seem to have their own Data Feed.
Unfortunately, I cannot tell if you would be allowed to use it for free, I believe it would be good to ask them.

Resources