Background: The system uses a "weight" based shipping system.  Each product is assigned a unit weight.  A shipment's weight is calculating by adding the individual weights.  A special weight of '-1' us used to flag an item which will require manual shipping cost calculation.  Location is by state, province or country.   Tax can be assigned on a state basis.  Each location is assigned a Zone number.  Multiple shipping methods can be defined for each zone and maximum weight.  The system will offer all the methods for a given zone whose less than shipments weight.  If the shipment's zone support both Air and Ground but the weight is more than the maximum for Air then only Ground will be offered. 

Two tables need to be prepared Location-Zone-Tax and Zone-Cost-Max Weight.  After they are initially installed either needs to be updated as needed.   The system does check that no zone is specified in the 2nd table that doesn't exist in the first table and that all zones defined in the 1st table are covered in the second table. 

Details

Shipping Zone File:

Tab Separated Columns
Zone #, State/Province Code [or *], Long State/Province Name [or All], ISO 2 letter Country Code, Tax Rate {opt.}

Sample Zone File with all Legal Countries and States.

Shipping Cost File

Tab Separated Columns
Zone #, State/Province Code [or *], Long State/Province Name [or All], ISO 2 letter Country Code, Tax Rate {opt.}

Format of Shipping Cost File:
MethodName,Zone#,MaxWeightForLine,DecimalCost
  • MethodName: Name of Shipping Method, e.g, UPS 3-Day, USPS Priority
  • Zone#: the numeric zone for which this line is valid. i.e., this method can be used up to this weight for any location marked with this zone in the Shipping Zone File
  • MaxWeightForLine: units are the same as used in the Product table, i.e., if the the products are in ounces, then this is in decimal ounces.