CONFIGURING SHIPPING COSTS

Sections:
Shipping mode list
Configuring shipping methods or classes of service
Global configuration rule
Order of precedence of combined shipping cost methods or classes of service
How to disable a price slot
Fixed shipping costs and Surcharges
Setup list of countries, states and geographic restrictions
Shipping restrictions control
Class of service shipping restrictions
Exception shipping costs
Generic Shipping costs by weight & zone
Generic Shipping costs by zone shipping
UPS & Fedex Shipping costs by weight & zone
Shipping costs by total order amount shipping
Shipping costs by order amount line by line
Shipping defaults methods or classes of service
Order Status Page
Invalid Price Flag Code and Invalid Shipping Cost Condition or Event
Method or classes of service names
Permission to leave without signature - PTL

SendSafe can calculate shipping costs based on five kinds of shipping cost information:  (a) Generic Zone cost table,  (b) UPS & Fedex Zone cost table,  (c) exception cost table, (d) Item Fixed cost, (e) Costs based on Order Amount, or (e) Calculation based on zone & weight.

Setting up shipping costs can be complicated because of all the variables involved. Most clients and e-stores opt for shipping costs based on the price of order because this gives them maximum profit AND it is easy for the customer to understand. Clients with heavy shipping expenses on some items and very small costs on other items tend to opt for shipping by weight and zone.

SendSafe can be optionally setup to obtain real-time shipping costs from Fedex, UPS, etc. Websites rarely use real-time connections to UPS, FedEx, etc. to calculate cost for individual orders because it does not make technical or business sense to do so: performance issues, third party fees, inability to set your own costs with a markup, technical setup costs, and the negligible (and sometimes negative) profit obtained from charging shipping at true cost.

Design restrictions with direct connections to shippers exist, as with all sites that use direct connection to shippers. Direct connection to shippers can cause processing delays, due to variations in the speed of a shipper's remote computer systems. Integrated shipping software makes it impractical to display on-the-fly exact shipping costs; so the customer sees a shipping approximation at the time of purchase and the final cost at the time the order is fulfilled.

During final batch processing of the order, when the actually shipping costs are obtained, they will be used for final order pricing and will be e-mailed to the customer in their e- receipt. Typically, batch processing of an order is completed within 60 to 90 seconds of order booking; however, this time may increase to several minutes or longer during peak loading times of the shipper's computer systems.

Global configuration rule: You can select one primary scheme for each storefront (i.e. shipping cost calculated by shipping zone or order amount) and then combine with that primary scheme all the other shipping calculation exceptions and options to provide very finely tailored shipping costs...

Restricting & Controlling how SendSafe calculates shipping costs:

Order of Precedence of combined Shipping Cost methods or classes of service:

When shipping methods or classes of service are combined, some methods can override the costs calculated by other methods. Using this order of precedence can result in very finely tailored shipping costs. This list is in order of precedence. The top method or class of service Fixed Shipping cannot be overridden by any other method or class. The Next method, Exception Shipping can be overridden only by Fixed Shipping... etc. down the list. 

  1. Fixed Shipping (does not apply to Total Order Amount Shipping)
  2. Exception Shipping
  3. Weight & Zone, Zone Shipping, Order Amount Line by Line, or Order Amount Shipping

The only limit to combining shipping cost methods and exceptions is that Zone Shipping and Order Amount Shipping are mutually exclusive. You can have only one of these schemes active for each given storefront.

Warning! Required table Entries:

For the system to work correctly there must be at least one record of each shipping record type in the storeconfig table. This means that even if the specific shipping mode is not used, there must be at least one entry of each of these types:

  1. Exception Shipping Record
  2. Shipping cost by order Amount Record
  3. Zone Shipping by state Record.

If any of these record types are missing from the table, then shipping calculations for all types may not work. If you are not using exception shipping then enter a record of: "State", "City", "0"

Shipping classes of service:

The configuration parameters that control which methods or classes of service are valid (for a storefront) are set using the Storefront configuration admin page.  Each entry is enabled if it has a 1 for a value and disabled if it has a 0 for a value.

Shipping classes of service labels:

The valid shipping modes for an item are: Second day, Next Day, Ground, and Saturday (see database column definition for more details).

Application("ShippingMethodNames") = "Ground,SecondDay,NextDay,Saturday"

Default shipping classes of service:

The system defaults to the "class of service" last use by the visitor to place an order (only if not configured for multi-address mode) OR the last value used on a current partially completed order. If there are no prior orders by this customer from which to select a class of service THEN the default class of service defined for an individual item will take effect. If there is no default ship method for the item then the default ship method for the store will be used (this method is set in the storefront via the admin page). The lists below show the order of precedence by which the initial class of service for an order is set.

Single Address mode:

  1. The "class of service" last use by the visitor to place an order
  2. The default ship mode set for the items.defaultshipmode. If different modes are set for different items in a single order THEN the highest class of service found in the order's items will be set.
  3. If the item has no default value (NULL) OR the order is empty (i.e. they hit the empty basket button) THEN the global store-wide default ship mode is used.
Exception: IF Application("ShippingMethodFromOrder") = false then the default ship method will not come from prior orders and either the ship method assiged to an item or the storefront will be used.

Multi Address mode:

  1. The default ship mode set for the items.defaultshipmode. If different modes are set for different items in a single order THEN the highest class of service found in the order's items will be set.
  2. If the item has no default value (NULL) OR the order is empty (i.e. they hit the empty basket button) THEN the global store-wide default ship mode is used.
*In multi-address mode the default value from the items record is used since in multi-address mode an order can contain multiple ship methods making prior order recall unreliable.

By selecting the DefaultShipMode for an item you can define its default modes.

BASIC Default:
0 = Saturday, 1 = NextDay, 2 = SecondDay, 3 = Ground

Internals:

 

Shipping class of service restrictions:

By selecting the DefaultShipMode for an item you can enforce restrictions as well as define default modes:

FIXED/ LOCKED:
20 = Saturday, 21 = NextDay, 22 = SecondDay, 23 = Ground

FIXED/ LOCKED OR HIGHER:
30 = Saturday, 31 = NextDay, 32 = SecondDay, 33 = Ground

FIXED/ LOCKED OR HIGHER WITH GEOGRAPHIC LIMITS:
DefaultShipMode => 1000 THEN Geographic data from table.

  1. Select a default mode that can be changed by the customer using a drop down list (use BASIC Default)
  2. Select a default mode that cannot be changed by the customer (use FIXED/ LOCKED)
  3. Select a default mode that can be changed by the customer but the customer can only select a shipping mode of equal or higher priority to the default (use FIXED/ LOCKED OR HIGHER).

The DefaultShipMode which will be used for an entire order is selected by the numeric value of the restriction codes found in the DefaultShipMode DB column (0-3 default codes are excluded because they are not restriction codes). DefaultShipMode codes in 20's are considered to be lower priority than codes in the 30's. The most restrictive numeric DefaultShipMode value within the 30's or the 20's will be selected (again where codes in 20's are considered to be lower priority than codes in the 30's).

Classes of service can also (optionally) be restricted geographically on a state+country by state+country basis. Records are added to "Class of Service" tables. You can have an unlimited number of different tables which cover an entire country or the globe. You should use tables ONLY if you have products which required different classes of service restrictions for different locals.

"Class of Service" table codes (i.e. 1001, 1002, etc.) are selected with precedence given to the highest numeric value. The result is that table codes must be assigned based on increasing restrictions of the DefaultShipMode codes found within each table. Table 2000 must have higher DefaultShipMode levels of restriction than table 1001 because it will be selected with precedence over table 1001. If careful planning and assignment of table codes is not used then an undesirable results may occur.

The most restrictive value obtain from the selected "Class of Service" table is compared to the most restrictive DefaultShipMode (20 - 33) found in non-table derived values WITH THE MOST restrictive source winning. If the table derived value is more restrictive then it will be used. If the non-table derived value is more restrictive them it will be used. Level of restriction uses the same algorithm as FIXED/ LOCKED and FIXED/ LOCKED OR HIGHER values (see the above section).

The restriction table name used for an item is defined as follows:
IF DefaultShipMode = 1000 THEN tablename = "Class of Service 1000" i.e. tablename = "Class of Service " + items.DefaultShipMode

Example: Where items.DefaultShipMode = 1003 the table name will be "Class of Service 1003"

The format of the table is:

A null value for state and country will result in the value2 for that record being a default "catchall" in the sale manner as sales tax table null entries.


In the above example the following will be in effect:

Automation note:You can use Job #35's to run SQL code which reassigns shipping restrictions based on the time of year. This can be very useful for perishable product which must via different classes of service depending on the season.

Special programming note: The function getshipMethodRestrictionsFromDBTable() implements the DB Table lookup.

Shipping Modes:

Shipping modes are defined Storefront configuration admin page. A shipping mode is the definition of how basic shipping costs are calculated.You can only have one mode per storefront. The five modes are:


Item Fixed Shipping Cost and Surcharges:

FixedShipCost is only used if you want to charge a fixed amount or add a fixed surcharge for a product's shipping. This charge is applied for each item, so if you have a quantity = 10 THEN the amount charged will be FixedShipCost x 10.

A fixed dollar amount can be applied to any item using the FixedShipCost parameter in the Item Record (this value is changed using the Admin Item page).

You can have a different fixed shipping cost for each item.

Note: Fixed Shipping Cost will be applied to orders unless over ridden by:

  1. Calculate Price by total order amount

For an over ride of the calculated shipping cost enter a dollar price (i.e. 5.95 for $5.95). If you want no shipping charges applied for an item then set the fixed shipping cost equal to zero (0). For example if you have a downloaded item for which you do not want shipping costs charged, then setting the FixedShipCost = 0 will accomplish this for you.

Any amount entered in this field without a prefix code will over ride exception shipping costs, Zone Shipping costs, and Ship by Weight and Zone.

To disable fixed shipping costs and revert back to standard calculated costs, enter "<none>" in this field, (the <> brackets are required AND the letters must be all lowercase).

Hint: You can enter 0 to prevent the addition of any shipping charges (fixed or by weight) for an item.

Surcharges: If a prefix of '+' is used in the fixed shipping cost then this value will be added to the calculated shipping cost for the item. Again, if no prefix is used, the fixed shipping cost will replace the calculated code. If +5.00 is entered into the fixed shipping cost column then $5.00 will be added to the calculated shipping cost for the item.


Generic Zone Shipping Cost:

Zone costs are a specific costs keyed on the destination found in the state/province dropdown list. You can have any number of entries in this dropdown list. There MUST BE one matching entry in the shipping table for every entry in the state/province dropdown list.

A zone is defined as a state or province + country. If a country entry has a null value or equals the string "NULL" THEN this entry in the rate table will match ANY country. If a state/province entry has a null value or equals the string "NULL" THEN this entry in the rate table will match ANY state.

If more than one entry matches a zone then the first match found will be used.

The value 'XX' entered into either state or country will correspond to the OTHER option in the dropdown.

At a minimum, to setup zone shipping costs you must decide:

  1. Which classes of service you want? You can have any four different classes: ground, 3day, 2nd day, next day, Saturday, etc.
  2. How much you want to charge for each class of service? This charge needs to be entered as a per pound amount with a different price per pound for each state.
  3. Do you want to charge a base cost for each state? i.e. shipping cost to NY could be $10.00 + $3/pound.
  4. Do you want a surcharge on a specific product because its dimensions are too larger or for some other reason?

There are three basic kinds of of zone shipping modes:

  1. Zone shipping with a specified cost per item shipped (configured as zone mode #2)
  2. Zone shipping with a specified cost x weight per item shipped (configured as zone mode #3)
  3. Zone shipping with a base cost + specified cost x weight per item shipped (configured as zone mode #5)
Since shipping weight is equal to Quantity x Unit-Weight, you can also use the weight+zone calculations to provide cost on a per unit basis + "base cost" (while ignoring the actual weight). To do this set the mode to #5 and the weight of all items equal to 1.

There are 4 different price categories per zone state (ground shipping, 2nd day shipping, Next day, and Saturday shipping). Zone Shipping and Order Amount Shipping are mutually exclusive. You can have only one of these schemes active for a storefront.

Note: Zone Cost will be applied to orders unless over ridden by: 

  1. Exception Table 
  2. Fixed cost

Zone Shipping costs are enabled by setting the "Shipping Cost Mode" on the Storefront configuration admin page. The shipping mode is set to by Zone by setting the mode to 2 = ByShipZoneQty or 3 = ByShipZonePlusWt.

If the mode is set to 2 then the cost is calculated as:

cost = Quantity x Cost for Class of Service (ground, secondday, nextday, Saturday).

If the mode is set to 3 then the cost is calculated as:

cost = Quantity x weight x Cost for Class of Service (ground, secondday, nextday, Saturday).

Note: In ether mode 2 or 3, the per unit or weight shipping cost calculation is done on a line by line basis. Each line is calculated separately. For a finally tally, all these separate costs are summed together. Nonlinear shipping cost calculations or tables are not supported. The unit cost per pound per destination is the same whether 1 pound is shipped or 1000 pound is shipped. You can combine baseline costs and fixed cost surcharges to obtain a result that accounts for differences in shipping larger items verses smaller items.

To configure shipping costs for each state, load the admin page and select "Shipping Cost by State" from the Table Name drop down box. Press the [ Find / Refresh ] button to load the shipping by state table. SendSafe can be customized to meet any International Shipping needs (please contact C Prompt for Details).

StoreFront 
Table Name 
 
 

Zone Mode #2 and Zone Mode #3 Data Entry

Shipping cost = [zone price] x [Quantity of line item]
OR
Shipping cost = [zone price] x [weight of line item ] x [Quantity of line item]

Zone mode #1 and #2 contain one entry for each class of service. To disable weight calculation set the weight of all items = 1.

The "Value1 column contain a string defining the country. The value2 column contains a string defining the shipping costs for that country+state for the 4 different classes of service.

Zone mode #2 & #3 example of a value2 entry:
"5.00,10.00,20.00,30.00"

$5.00 = ground price per pound
$10.00 = second day price per pound
$20.00 = NextDay price per pound
$30.00 = Saturday price per pound
Each one of these cost values must be separated by a comma.

The values for each item are set using the Admin Item Page.

*Once your changes are made they will not take effect until all browser windows on your desktop are close then reopened. Changes will not effect any browser windows already open.

Zone Mode #5 Data Entry

Shipping cost = [zone price] x [weight of line item ] x [Quantity of line item] + [Zone Base Price]
**The zone base price is applied only once per shipping address NOT once per item.

Limitations apply when using SHIPPING MODE 5 combined with multiple addresses. If you have enabled ship to multiple addresses then the base shipping costs will be applied from the first shipping address with the per pound cost coming from each applicable zone. This can result in unexpected shipping charges. As a result, it is not recommended that mode #5 be used when multiple shipping addresses are enabled.

Zone mode #5 contains two entries for each class of service. The first value is the base price and the second value is the per pound price.

The "Keyword" column contains the State Abbreviation or province.

The "Value1 column contain a string defining the country. The value2 column contains a string defining the shipping costs for that country+state for the 4 different classes of service.

Zone mode #5 example of a value2 entry:
"5.00,1.00, 10.00,2.00, 20.00,3.00, 30.00,4.00"

$5.00 = ground base price, $1.00 = ground price per pound
$10.00 = second day base price,$2.00 = second day price per pound
$20.00 = NextDay base price, $3.00 = NextDay price per pound
$30.00 = Saturday base price, $4.00 = Saturday price per pound
Each one of these cost values must be separated by a comma.

The values for each item are set using the Admin Item Page.

*Once your changes are made they will not take effect until all browser windows on your desktop are close then reopened. Changes will not effect any browser windows already open.


Shipping Cost by dollar amount of order or items:

Shipping costs can be calculated based on the total Dollar Amount of an order or Line by Line based on the dollar amount of the line item.

A shipping cost calculation mode is enabled by setting the "Shipping Cost Mode" on the Storefront configuration admin page. The shipping mode is set to mode to 1 = ByLineItemAmount or 4 = ByTotalOrderAmount then shipping cost by dollar amount is enabled.

Note: Certain restrictions apply when calculating shipping costs based on total amount of order i.e. 4 = ByTotalOrderAmount (not 1 = ByLineItemAmount mode).

  1. You cannot enable multiple shipping address mode
  2. Items marked with Fixed shipping costs have those fixed costs ignored (except as defined in #4 below). The total dollar amount of the order (less sales tax) is used to calculate the price.
  3. Use of Exception Shipping combined with MULTIPLE SHIPPING ADDRESS MODE can lead to unpredictable results and should not be used.
  4. If all items in an order have a fixed shipping cost of zero THEN nothing in the order is considered shippable AND no shipping cost is applied. This is useful if all items ordered are not shipped (i.e. downloaded digital products or services).

In Line by Line mode, the shipping cost for each item is calculated separately using the cost table and exception shipping. The total shipping cost is the sum of all the individually calculated costs. Sales tax for each item is not used in the shipping cost calculations.

In total order amount mode, the dollar amount that the shipping costs will be based on is the subtotal cost of all items whether shipped OR otherwise fulfilled (and does not include sales tax). This total dollar amount is used to look up shipping costs from the table.

Each table entry requires one cost for each class of service (ground,second day, next day, and Saturday) separated by commas, please see the red arrow in the illustration below. Each order total dollar amount is an EQUAL TO or GREATER THAN (=>) cost level; please see the yellow arrow. In the example below a ground shipment for a $50 order will cost $10; while a ground shipment for a $49.99 order will cost $5.

Zone Shipping and Order Amount Shipping are mutually exclusive. You can have only one of these schemes active for a storefront.

Note: Line By Line Order Dollar Amount Based Cost will be applied to orders unless over ridden by:

  1. Exception Table 
  2. Fixed cost entered into either the product (Item)

To configure shipping costs for dollar amount, load the admin page and select "Shipping Cost by Price" from the Table Name drop down box. Press the [ Find / Refresh ] button to load the shipping by price table.

StoreFront 
Table Name 
 

The "Keyword" column contains the dollar amount of the order or line item.

You can add rows to this table by filling in an order dollar amount for Keyword and a price string into "Value2" in the ADD RECORD FIELDS then press the [ ADD ] button (leave value1 empty).

The "Value2" column contain a string defining the shipping costs for that "order dollar amount" for the 4 classes of service. Each one of these cost values must be separated by a comma.

*Once your changes are made they will not take effect until all browser windows on your desktop are close then reopened. Changes will not effect any browser windows already open.


Exception Shipping cost table:

The exception table is used to handle unique shipping cost situations and global price adjustments. There are four different classes of shipping exceptions:

The order of precedence is listed below. There can only be one exception per lineitem so the first exception rule that matches takes precedence over all other exception rules.

  1. State + Ship method exception OR City + state exception (if both are present, the selection results are undefined)
  2. State free shipping
  3. Global adjustment flag

Disable Code - a.k.a. Bogus Ship Cost
The Bogusshipcost pricing code can be used in any shipping rate table anywhere a price is used. Bogusshipcost can be used to invalidate specific classes of service to states or cities.

Fixed or Surcharge
Shipping charges for State + Ship method exception or City + state exception can be either a fixed amount which overides all other calculated fees OR a surcharge which is applied in addition to other calculated fees.

To apply a surcharge which is added to the calculated fee, enter the "value2 dollar amount" as a negative number.

To charge a replacement amount, enter the "value2 dollar amount" as a positive number.

Shipping exceptions are defined in the storefront config:

How Shipping Exceptions are applied:

Shipping exceptions are applied to all shipping calculation modes: Price Line by Line, total order price, Zone, Weight, UPS rate, etc.). If no conditions in the exception table are met THEN the default calculated shipping cost is applied.

Example use: if a company has one shipping cost structure for national orders and a different structure for local orders. The exception table could be used to handle courier delivery charges of flowers locally from the shop AND Zone Costs or Total Order calculations could be used for Fedex or UPS charges for National shipping.

The exception shipping cost table directs SendSafe to charge a fixed amount for all line items or orders which match the exception and/or apply a global fee adjustment.

Note: Exception Cost will be applied to orders unless over ridden by: 

  1. Fixed cost

To configure exception costs, load the admin page and select "Shipping Cost Exception" from the Table Name drop down box. Press the [ Find / Refresh ] button to load the shipping by price table.

StoreFront 
Table Name 
 
 

City and State exceptions
These keywords are used in combination with a state/province. When present these key words cause the exception to be applied only when that city and state are in the shipto address.

If more than one entry matches State/Province + city or State/Province + Ship method or class of service then the first match found will be used.

State and Ship Method
These keywords are used in combination with a state/province. When present these key words cause the exception to be applied only if that class of service is selected for a specific state in the shipto address.

#GROUND
#SECONDDAY
#NEXTDAY
#SATURDAY

Important note: If you use Application("ShippingMethodNames") to relabel the classes of service THEN the above #CLASS labels must be altered to reflect your choice of labeling names.

State and Free shipping
This exception will set shipping to zero when the specified conditions are met. These conditions are:

The total order amount excludes shipping and sales tax. The amount must be an integer value. If a floating point value is used, it will be converted to an integer and rounded. The total order amount does factor in quantity and sale pricing. Value1 is the GREATER THAN threshold dollar amount against which the total order amount will be compared.

#GROUNDFREE
#SECONDDAYFREE
#NEXTDAYFREE
#SATURDAYFREE

Important note: If you use Application("ShippingMethodNames") to relabel the classes of service THEN the above #CLASS labels must be altered to reflect your choice of labeling names.

Global Adjustments
Use Global adjustments to apply up-charges for shipments to individual states or global classes of service. These adjusts will apply a fixed ratio to the shipping cost. Global Adjustments can be for all locations OR specific states/provinces. Global adjustments can be used for such things as: adding a shipping cost markup over UPS rate OR fuel surcharges.

Available Global Adjustment flags:

To enter a global adjustment:

Keyword = state/province OR the reserved word "ALLOCATIONS" for a match on all locations
Value1 = #GLOBALADJUSTMENTGROUND
Value2 = ratio to added (i.e. RATIO x shipping charges = final shipping charges).

Example ratio = 1.25 YIELDS a 25% rate increase.


Permission to Leave Without Signature (PTL)

PTL is a delivery option which instructs the carrier to leave the package without requiring a signature. PTL is often used for retail deliveries to residences. By selecting PTL the customer can avoid additional redelivery charges which can occur if the carrier is unable to complete a delivery. This option is very useful for perishable items or inexpensive items.

PTL is enabled and disabled by entering a warning message string for PTL into the SendSafe Storefront Admin page. The warning message is disabled if PTL is not selected for an order. The SendSafe system will remember a customer’s prior PTL selection and automatically check or unchecked the box based on their past practices. A typical PTL warning message would be: "You did not select permission to leave without signature (PTL). Please make sure someone will be present to receive this shipment."

PTL will default to the last value used for order found in OrderLineItem.OrderFlags or the settings defined in the customers.OrderingPreferences. If nothing can be found in either of this records then the global default Application("PTLDefault") is used.


Method or classes of service names

Method or class of service names can be changed by modifying the Application("ShippingMethodNames") keyword. The names in the list correspond to each price in the table by 1:1 position.


Setup list of countries, states and geographic restrictions

The system create a dropdown of valid countries, states, AND also an entry field for "other country" and "other provice or state." This data comes from the "Shipping Cost By State" table, regardless the shipping calculation mode (by price, UPS zone, etc.). This information is setup using the Storefront config admin page and by modifying the "Shipping Cost by State" table.

The function buildOptionListOfCountries() populates the country dropdown.
The function getStaticShippingCountryZoneDataFromDb() pulls all countries found in the "Shipping Cost By State" records in the storeconfig table.

The function buildOptionListOfStates() populates the state/province dropdown.
The function getStaticShippingStateZoneDataFromDb() pulls all states/provinces found in the "Shipping Cost By State" records in the storeconfig table.

You can restrict countries to countries present in the shipping tables. The default value will be the 1st entry that appears in the table. Controls to change:

You can restrict countries to the default value only. This option will restrict the customer from entering a country. The default country will be set in the dropdown and the dropdown will be set to readonly. Controls to change:


Method or classes of service names

Method or class of service names can be changed by modifying the Application("ShippingMethodNames") keyword. The names in the list correspond to each price in the table by 1:1 position.


Invalid Price Flags and Handling of Invalid Shipping rates

Some shipping options may be invalid, unavailable, or not calculable. Invalid shipping options will raise a condition called "bogusShipCost" (see: getbogusShipCost())

Invalid shipping options result in the display or a warning displayed in the cart:

We are unable to calculate shipping charges for your destination. Additional charges will be manually billed after this order has been submitted and processed.

If the order is placed (or quickbuy is used) then the following comment is added to the order in the order record. This comment is displayed in the email receipt:

"This order may not include complete shipping charges: Additional shipping charges may be manually billed after this order has been submitted."

You can manually flag any combination of "shipping cost x class of service" as bogus. This can be very useful if you wish to make some of one class of service invalid and other classes valid for the same location, price range, or other ship criteria. For example, you could use this flagging method as way of making ground shipments to Hawaii invalid and air classes of service valid. To flag an entry as bogus all you have to do is enter the special bogusshipcost amount into that entry; where bogusshipcost = 999999.00.

Bogusshipcost can be used in the exception table to invalidate specific classes of service to states or invalidate specific cities.

Invalid (a.k.a bogus) shipping cost can occur for a number of reasons:


UPS & Fedex Shipping costs by weight & zone

The SendSafe system can import and extract pricing from UPS & Fedex shipping tables. UPS, Fedex, and some other carrier use multiple tables to define shipping. SendSafe can work directly with any carrier which uses this two table look up method.

When importing, all tables for all enabled classes of service must be imported one at a time.

This shipping calculation scheme does not work with split shipping of any kind including multiple addresses (a.k.a. gift giving address mode).

Zone Table:
Carriers divided the map into zones based on 1 to 5 digit zipcodes. Each zone table has a single shipping origin. You can have only one shipping origin table. A lookup by zipcode in this table will provide a ups-zone-code for each class of service. This zone code is used to lookup the price from a ups-pricing table. The zone look up logic will perform four different match attempts in the following order of precedence until a match is found OR the look up fails.

It is recommended that you add the optional country abbreviations to zone tables (in the value1 column). UPS and Fedex rate table supplied by the carrier do not include country codes. If you do not add country codes it is possible that you will get a partial zip code match in error when perform anything less than 5 digit lookups. This erroneous match would most often lead to a domestic rates being charged on an international order.

Pricing Table:
The carrier provides one pricing table for each class of service. These tables are stored in the DB segregated by class of service (defined by value1 0-3).

The rates per pound are not linear, so the table contains a different price for each number of pounds. The ups-zone and weight are used to lookup the cost for the class of service.

The UPS pricing scheme is stored in a set of Storeconfig tables.

storeconfig table namekeywordvalue1value2
UPS Shipping Zone Contains 1 to 5 digit zipcode. This entry is managed and looks just like the sales tax by zipcode table column. null OR country code; the optional country code can be used to quality tables in the event that duplicate partial zipcode prefixes exist in other countries. 4 comma delimited entries for each class of service (ground,secondday,nextday,saturday). This table is very similar to the generic "Shipping Cost By State" table except instead of prices, it contains ups-zone-codes.
UPS Price Contains the weight in pounds. All weights are rounded up to the nearest pound.

Index for the class of service where:

  • 0=ground
  • 1=secondday
  • 2=nextday
  • 3=Saturday
This index is set by the function: shipMethodStrToStrIndex.

Each index defines the data from one UPS price table for a class of service.

This table will contain N comma delimited entries for each zone and price. There is one entry for each ups-zone-code with a format of: zonecode=12.99,zonecode=23.00, etc.

Example: 203=20.00,405=23.00,112=23.33,902=12.33

Rules of Operation:

Zone table Rules of Operation:

General Rules for prepping zone & price spreadsheets for importing:

Rules of UPS-zone spreadsheet importing:

Rules of pricing spreadsheet importing: