I've been investigating this issue and have come up with a reason that it is failing.
The biggest issue relates to how customer accounts are being created, and maybe you can confirm.
The current default in Zen Cart is not to use dropdowns for state zones. e.g states are entered free hand.
In this scenario the entered State is not checked against the potential states allowed for a country
e.g I can enter a state called "florid" and there will be no validation on this, even if a correct state is entered it still wont be validated against correct states allowed for the country id subsequently the entry zone id in a customer address book is set to 0
Furthermore all of our tax calculations attempt to match a tax zone id against an adddressbook entry zone id and will never match as the addressbook entry zone id is always 0
There are mitigations we can make here. e.g trying to find the real zone id from the country id/state in the zone table and this will work if the customer has entered a valid state name (e.g FL or Florida) but will fail if they have entered an incorrect state name .e.g. "florid"
I do have some ideas how we can further mitigate if the customer has entered an invalid state name, but this requires an intervention at various places in code
Will post more about this
Bookmarks