Table Rate Custom Carrier

Overview

Table Rate Carriers is a highly flexible custom rate matrix. Define your own rates according to any combination of destination, product, price, quantity, weight and customer group rules.

Example of table rates in ShipperHQ

Table Rate Carriers are often used for:

  1. Tiered Flat Rates
  2. Local Delivery Truck Rates
  3. Your own Custom Rates
  4. Carriers not yet integrated into ShipperHQ
  5. Call for Quote/Will Call

Table Rates work with Shipping Rules, and various Advanced Features of ShipperHQ depending on your shipping complexity.

This document covers how Table Rates work and how to configure them.

Set Up a Table Rate Carrier

The First thing you will need to do is create a Custom Carrier.

  • On the “Carriers” page select “+New”
  • Select Custom Carrier > Table Rate > Name Your Carrier
  • After your carrier is created successfully, proceed to “Configure Carrier Settings”
    Configure Carrier Settings

The CSV File

While you could manually add each table rate, ShipperHQ also provides the capability of uploading a CSV file with your table rates entries.

The CSV file must contain certain fields to be valid for import. To obtain a sample CSV, click Download a CSV template and you should receive a blank one.

Download link for CSV template

A filled, example CSV would look something like this:

Example of downloaded CSV template

Below you will find a description of the CSV header fields.
Field Description
Include Zones Comma separated list of zone names to match on, leave as ‘*’ for all zones
Exclude Zones Comma separated list of zone that are exceptions to the “Include Zones”, if empty/* no zones are excluded. Usually this can be left as blank (see note below)
Shipping Group Comma separated list of shipping groups, use ‘UNDEFINED’ to specify rates where products do not have a shipping group assigned, ‘*’ to cover all items
SKU Advanced Feature. SKU to match on, only used with SKU Based totalling.
Customer Group Used to filter dependent on customer group at checkout (e.g. General/Retailer). If you do not need to change shipping prices based on customer group leave this field blank
Weight > Minimum combined weight of the products assigned to the shipping group (above) in cart must be greater than this value
Weight <= Maximum combined weight of the products assigned to the shipping group (above) in cart must be less than or equal to this value
Price > Minimum combined price of the products assigned to the shipping group (above) in cart must be greater than this value
Price <= Maximum combined price of the products assigned to the shipping group (above) in cart must be less than or equal to this value
Qty > Minimum quantity of the products assigned to the shipping group (above) in cart must be greater than this value
Qty <= Maximum quantity of the products assigned to the shipping group (above) in cart must be less than or equal to this value
Box Qty > Minimum quantity of boxes assigned to the shipping group (above) in cart must be greater than this value
Box Qty <= Maximum quantity of boxes assigned to the shipping group (above) in cart must be less than or equal to this value
Shipping Price Price of shipping
Algorithm Rate Algorithm. Unless you are doing something complex you can leave this column empty. See “Advanced Options” below
Shipping Method

This is the label that will tell the end user the shipping method name. E.g. 1st Class, Courier, UPS Ground.
When multiple shipping groups are in the cart then the prices are combined based on the Shipping Method field (see Totalling Algorithm, below). If unable to match shipping method across shipping groups then the rate is discarded. 

Note: this field was previously called Delivery Type.

Note: All of these header fields above must be present in your CSV.

Importing CSV File

  • To import a CSV click Import CSV in the Add Table Rates section
    • Ensure your CSV file has a shipping method included in each row of your table.
Import CSV

After you’ve uploaded your CSV, your table will appear in Table Rates tab and any included Shipping Methods will appear in the Shipping Methods table under the Methods tab.

Editing your Table

You can edit your table several ways:

  • Directly editing within ShipperHQ using the Update Table Rate modal by either:
    • clicking on row in the table
    • using the three-dot actions menu on the right side of the table and selecting “Edit”
  • Editing by importing a CSV into ShipperHQ:
    • Import and Replace (removes all existing table rates and creates new table rates from the import)
    • Import and Append (adds all table rates in import as new rows)

Export CSV allows you to download your Table Rates as CSV to edit in a spreadsheet program or save.

Import and append or import and replace

Note: It is recommended that you backup your table before selecting “Import & Replace” to prevent historic data loss.

Viewing your Table

Your table appears within ShipperHQ only showing cells that have relevant information. To further customize this view, you can select Customize Table View > Show Selected Columns and turn on/off filter columns in your table. Turning a column off, doesn’t delete the contents of the column, it only hides the information from view.

You can also expand the view to full width by selecting the Full Screen View button.

Include and Exclude Zones Columns

See below for how details on how “include zones” and “exclude zones” work:

  • The “include zones” denotes which zone(s) the rule is applicable to, whereas the “exclude zones” denotes the exceptions to the “include zones”. For example, if you have a zone that applies to everywhere within the US in the “include zones” and Alaska and Hawaii in the exclude zones, this denotes that the rule applies for everywhere in the US except for AK and HI.
  • If, by comparison, you entered US in the “include zones” and UK in the “exclude zones” that zone exclusion would be redundant because the UK is not a part of the “include zones” so it would not apply anyway.
  • Conversely, if you entered a zone applicable to AK & HI in the “include zones” and “US” in the exclude zones no rates would be returned as the exclude zone cancels out the included zone. In this scenario, no zones should be selected as “exclude zones” to apply to AK & HI.
  • The PO Box zone which is present on your account when you first start using ShipperHQ will not work when used in either the Includes or Excludes columns on a rate table. To use a PO Box zone on a rate table, you can first duplicate this initial zone. The resulting copy of the PO Box zone will work when added to the rate table. Alternatively, you may be able to accomplish your objective using a Carrier Rule.

Price/Weight Range Filtering

Price’s range are defined with the following parameters:

Price > Price <=

This verbally translates to “price is greater than X and price is less than or equal to Y

This is an example of a common misconfiguration

Price > Price <= Qty > Qty <= Shipping Price
0.01 29.99 * * 6.95
30 49.99 * * 7.95
50 59.99 * * 0

If I were to checkout with a subtotal of $30.00 then this would actually not be covered by the three rows above and fall into a gap that would not return a rate. Notice the value of 30 is greater than and not greater than or equal to. This means this price range would start at 30.01 for that row.
To fix this, this just change the 29.99 and any ##.99 rates in the “Price <=” column to a penny higher to show something like the following:

This is an example of a correct configuration
Price > Price <= Qty > Qty <= Shipping Price
0.01 30 * * 6.95
30 50 * * 7.95
50 60 * * 0

In the example above, if my item cost is $30; then my shipping cost would be $6.95.

The same applies to weight ranges.

Totalling AlgorithmSelect the totalling algorithm for the table rates

The totalling algorithm defines how the rates are totaled when there are multiple shipping groups in the cart.

Cumulative

For each shipping group present (and the rates covering all products) the rates are added together.

Highest

The highest price shipping group shipping rate is taken to be the rate.

Per Item

For every SKU in the cart (and every qty of that sku) the rates are totaled together. In addition when searching for rates each item is searched for separately, i.e. if I have 2x 5lb items it will search for a weight of 5lb in the rules, rather than a weight of 10lb in the rules.

SKU Based

Each SKU requires a row in the table. For every SKU the price is taken and totaled together. If there are multiples of one SKU the price is multiplied e.g. 2x SKU BIKE where shipping price = $5 would be $10 total.

Example

Example Rates
Weight From Weight To Shipping Group Price
0 5 * 10
5 10 * 15
10 35 * 25
10 50 BEDS 50
Example Carts
Items Cumulative Shipping Price Highest Shipping Price Per Item Shipping Price Notes
1*5lb $10 $10 $10
2*5lb $15 $10 $20
1*BIKES 5lb $10 $10 $10 Even tho no group specified the ALL group provides rates
1*BEDS 5lb $10 $10 $10 Gets rates as ALL is a catch all
1*BEDS 35lb $50 $50 $50
2*BEDS 35lb No Rates No Rates $100 No rates as total for group is 70lb
1*BEDS 35lb&1*5lb No Rates No Rates $55 No rates as can’t find for ALL

Advanced Options

Algorithm Column

This section details the algorithm column. Unless you have a specific need then suggest you leave this column empty.

Use ‘&’ if you need multiple switches e.g. perUnitWeight=5@8&perUnitQty=3

Algorithm Switch Description Syntax
perUnitWeight Weight rounded to the next highest full measurement. Adds the specified amount for every unit of weight from weight of 0 perUnitWeight=<weight threshold> @ <price>. E.g.: Add $1.50 per 1lb – perUnitWeight=1@1.5
perUnitWeightAddOn Weight rounded to the next highest full measurement. Adds the specified amount for every unit of weight above the “Weight >” field perUnitWeightAddOn=<weight threshold> @ <price>. E.g.: Add $1.50 per 1lb – perUnitWeightAddOn=1@1.5
perUnitQty Unit based price increase. Used to specify an additional per item rate. Applies to any quantity above the “Qty >” field. If that field is * then applies to all. perUnitQty=<price> E.g. to add $5 for every item added use: perUnitQty=5
perUnitQtyAll Unit based price increase. Used to specify an additional per item rate. Applies to all quantities regardless of “Qty >” field. perUnitQtyAll=<price> E.g. to add $5 for every item added use: perUnitQtyAll=5
perUnitDistance Adds to shipping price based on distance from the destination. perUnitDistance=<unit of distance> @ <price>to add $5 per 100 miles use:perUnitDistance=100@5 surcharge for 300 miles would be 3 * 5 = $15 shipping price
perUnitPrice Add $x to the shipping cost for every $y in the cart. Price is rounded up. perUnitPrice=<price threshold>@<shipping price>. E.g.: Add $1.50 per $10 – perUnitPrice=10@1.5
perUnitPriceAddOn Add $x to shipping cost for every $y in cart over “Price >” column value. Price is rounded up. perUnitPriceAddOn=<price threshold> @ <shipping price>. E.g.: Add $1.50 per $10 – perUnitPriceAddOn=10@1.5
addPercentage Calculate shipping as a Percentage surcharge of the group subtotal of the cart addPercentage=10 will add 10% of the shipping group subtotal to the shipping price e.g. 10% of 20 will add $2 to the shipping price set
perBox Box based price increase. Used to specify additional per box rate perBox=<price> Increment per unique box added E.g. to add $5 for each box use perBox=5. Does not increment for multiples of the same box

Working with Shipping Groups

Please see the separate article for working with shipping groups in a table rates carrier.

LTL Freight Accessorial Charges

Note: Accessorial Charges are only avaialble on Pro and Enterprise ShipperHQ plans.

You can also set Accessorial charges (liftgate, inside delivery, etc) to apply on top of your Table Rates. To use this, you need to Enable the LTL Freight Advanced Feature. Once enabled, you will see a new Panel under the Table Carrier settings for Accessorials.

Troubleshooting

If the rates you set in your Table aren’t appearing as expected, check out our Troubleshooting Doc for Table Rate Issues.

Test Your Rates

Verify that your carriers and rules are working and see how they will display in your checkout right from the ShipperHQ dashboard.

Learn More

Was this doc helpful?