When X-Cart needs to determine a tax or shipping rate that has to apply to a customer's cart, it checks the customer's address to see to which zone this address belongs. For that, X-Cart goes consecutively through the customer's address fields - the country, the state, and the zip/postal code - and matches them against the respective fields of each zone. If it finds that the customer's country lists among the countries included in a zone, it checks the customer's state. If the zone's state list is empty (i.e., the zone consists of all the states in the country), the customer's address identifies as belonging to the zone. If the zone's state list is not empty, and the customer's state is not on that list, the customer's address identifies as not belonging to this zone (so, X-Cart will need to find another zone the address matches with). If the zone's state list is not empty, and the customer's state lists among the states included in the zone, the matching process continues to the zip/postal code field. Similar to the previous step, the zone's field for zip/postal codes may be empty. In this case, the customer's address will identify as belonging to the zone. If the zone's field contains some zip/postal codes or zip/postal code masks, X-Cart will also match the customer's zip/postal code against the contents of this field and may find the customer's address to match or not match the zone.

Suppose the customer's address matches more than one zone. In that case, X-Cart will have to range all the zones corresponding to the customer's address by "weight": zones with the most significant number of parameters (country, state, zip/postal code) that match the customer's address are deemed to have the greatest "weight." So, when X-Cart needs to find a tax or shipping rate for an order, and the customer's address matches more than one zone, X-Cart will first look for rates defined for the zone with the greatest "weight." If your online store could not find rates for this zone, it will continue looking for the rates for the next zone, and so on. The last zone is always the built-in "All Addresses" (Default) Zone. This zone has zero "weight" and is used only if no other zone applies.

Read on:


Did this answer your question?