Fee Schedules and Adjustments
Updated by Colin
The total foreseeable cost of a shipment will usually consist of a base rate, which is a function of distance (approximated by any number of zones) and package weight and dimensions, and usually one or more additional fees or surcharges based on the destination or package characteristics.
ShipStream automatically determines which surcharges are applicable as well as things like minimum billable weight and if dimensional weight is applicable. The Fee Schedule feature allows you to define the costs of those surcharges and then apply them to one or more Rate Plans so that you can capture these additional foreseeable costs. By accurately applying such fees, you can quote accurate prices to your customers and/or save money with Rate Shopping between multiple carriers on a package-by-package basis for maximum savings.
Closely related are Fee Adjustments. This feature allows you to apply adjustments to your base rates and surcharges without having to duplicate potentially large amounts of data, with the benefits being:
- save time on tedious data entry and respond to market changes more quickly
- reduce potential for errors by reducing data under management
- make it practical to negotiate specific discounts with your clients to better meet their needs
The following diagram illustrates the relationship between the various components which will be referenced below.
Fee Types
Both Fee Schedules and Fee Adjustments consist of one or more fees which have one of the following Fee Types:
Fee Type | Description |
Base Modifier | This type is only allowed for Fee Adjustments, and it will modify the base fee that has been derived from the Rate Plan weight/zone table. |
Demand Surcharge | May apply to any shipment. Useful for seasonal surcharges. |
Residential Surcharge | Applies only to orders with the address classified as Residential. |
Delivery Area Surcharge | Applies only to orders with the address country and postcode matching the DAS Maps with the value "D". |
Extended DAS | Applies only to orders with the address country and postcode matching the DAS Maps with the value "E". |
Hawaii DAS | Applies only to orders with the address country and postcode matching the DAS Maps with the value "H". |
Alaska DAS | Applies only to orders with the address country and postcode matching the DAS Maps with the value "A". |
Fuel Surcharge | May apply to any shipment. Typically applied with the "Percent of Subtotal" formula although it may vary by carrier. |
Weight Surcharge | Applies only if the package weight is determined to be overweight based on the carrier "Additonal Handling" rules. |
Dimension Surcharge | Applies only if the package dimensions are determined to be oversized based on the carrier "Additional Handling" rules. |
Packaging Surcharge | Applies only if the packaging is designated as "Additional Handling". This is a Yes/No flag in the Packaging tab of the Container page. |
Oversize Surcharge | Applies only if the package weight or dimensions are determined to meet the carrier's "Oversize" criteria. This is in addition to the Weight and Dimension Surcharge. |
Dimensional Weight Divisor | Overrides the carrier's default dim weight divisor. This does not need to be specified if you have not negotiated a non-standard dim weight divisor. Unlike the other types, this one sets the divisor for dimensional weight calculation which affects the billable weight rather than a direct monetary amount. |
Adding Fee Schedules
To create a Fee Schedule, you can either create one at a time using the forms or import one or more using the Import feature.
- Navigate to Rating > Fee Schedules
- Click one of the buttons
- Import
- Click Choose File to select your fee schedule file
- Select a Carrier for which the uploaded file will apply
- Choose how to handle Conflicting Names
- If "Add suffix to name" was chosen in the previous step, choose a Suffix which will be added to any uploaded file/worksheet names that conflict with existing Fee Schedule names
When uploading an Excel file, a new Fee Schedule will be created for each worksheet in the file using the names of the worksheets as the names for the fee schedules. So, it is important to select the desired behavior for Conflicting Names in this case to avoid unintentional updates.- Click Import and observe the success or error messages displayed on screen
- Add New
- Enter an informative Name for the Fee Schedule, for example, "FedEx Standard Surcharges 2024"
- Select the Carrier for which the fee schedule will be applicable
- Click Import
- Choose a file containing the correctly formatted fees
- Click Import to upload the file data
- Inspect the result and click Save or Save and Continue Edit
- Import
The key part of a Fee Schedule is the fees that are added to it. Each fee has the following:
- Fee Type: This tells ShipStream under what circumstances the fee shall apply - see the Fee Types table above.
- Formula: This determines how the monetary amount of the fee will be calculated. This is not applicable for the "Dimensional Weight Divisor" fee type.
- Flat—The amount will simply be added to the subtotal
- Percent of Base Rate—The amount represents a percentage of the base rate. E.g. an amount of "10" would be calculated as the base rate (the amount from the Rate Plane weight/zone table) multiplied by 0.1, and this amount would be added to the subtotal
- Percent of Subtotal—The amount represents a percentage of the subtotal. E.g. an amount of "10" would be calculated as the subtotal multiplied by 0.1, and this amount would be added to the subtotal at the end
- Multiple of Actual Weight Units—The amount represents a multiplier of the weight units of the actual package weight. E.g. an amount of "0.25" might represent $0.25 per pound of actual package weight
- Multiple of Billable Weight Units—The amount represents a multiplier of the weight units of the billable package weight (greater of the actual weight, the minimum billable weight and the dimensional weight). E.g. an amount of "0.25" might represent $0.25 per pound of billable package weight
- Amount: A numeric value representing units of the default currency, a percentage, or a dimensional weight divisor, depending on the Fee Type and Formula.
- Zones Start: Empty for no lower bound or else a zone name representing the low end of a range of zones (inclusive).
- Zones End: Empty for no upper bound or else a zone name representing the high end of a range of zones (inclusive).
- Weight Min: Empty for no lower bound or else a whole number representing the low end of a range of package weights (inclusive).
- Weight Max: Empty for no upper bound or else a whole number representing the high end of a range of package weights (inclusive).
- Weight Unit: Empty for the default unit of weight (E.g. "lb" in the United States) or else a specific unit of weight: oz, lb, g, kg.
Here is an example fee schedule table:
Fee Type | Formula | Zones | Weights | Amount |
Residential Surcharge | Flat | * | * | $2.13 |
Delivery Area Surcharge (DAS) | Flat | * | * | $2.77 |
Extended DAS | Flat | * | * | $3.75 |
Fuel Surcharge | Percent of Subtotal | * | * | 19% |
Weight Surcharge | Flat | * | * | $2.53 |
Dimension Surcharge | Flat | * | * | $3.93 |
Packaging Surcharge | Flat | * | * | $13.99 |
Oversize Surcharge | Flat | * | * | $40.49 |
Hawaii DAS | Flat | * | * | $10.99 |
Alaska DAS | Flat | * | * | $34.49 |
Dimensional Weight Divisor | - | * | * | 223 |
Zone and Weight Ranges
Some fees have different costs associated with different zones or weights. By specifying one or more fees with non-overlapping ranges, you can allow ShipStream to apply the correct fee based on the destination or weight of your package. The value "*" indicates that there is no restriction, so it applies to any zone or weight.
Fee Adjustments
Fee Adjustments may be applied to the shipping cost base rate, additional surcharges and the dimensional weight divisor. These are similar to the fees used in Fee Schedules, but they have an additional field: Operation with the following options:
- Add—The calculated amount will be added to the subtotal
- Subtract— The calculated amount will be subtracted from the subtotal
- Substitute—The calculated amount will replace the previously calculated amount for the same fee type
In this way, you can modify existing fees or add new fees without creating variations of the original rating tables and fee schedules.
Additionally, Fee Adjustments compared to Fee Schedules have a Fee Type called Base Modifier, which can be used with Flat or Percent of Subtotal formulas and Add or Subtract operations to adjust the base rate for a particular merchant or subset of merchants.
Effective Dates
By specifying the effective dates on your fee adjustments, you can schedule changes to become active on a specific date or become inactive on a specific date, or both. Leaving the Effective Start Date unspecified means it is already effective up until the End Date. Leaving the Effective End Date unspecified means it will remain in effect indefinitely starting on the Start Date.
The effective dates will be applied based on the default timezone which is configured at System > Configuration > General > Locale Options > Timezone in the Global scope.
Applying Adjustments
There are four different ways to apply a fee adjustment in the calculation process, referred to by the Applies To attribute. These are applied in the following order and depicted in the diagram below with the corresponding numbers.
- Fee Schedule - Applies in all cases where the given Fee Schedule is applicable. This is often useful for applying seasonal surcharges which affect all clients regardless of their rate groups, particularly when the fee adjustments directly correspond to existing fees in specific fee schedules.
- Base Rate Group - Applies to the Base Rate Group that is inherited by the Rate Group. The adjustment will still apply even if the effective rate plan is a Custom Rate Plan. This is useful for when the same discount should apply to all merchants within the same group or groups independent of the Fee Schedules.
- Rate Group - Applies to the Rate Group specified in the effective Merchant Rate. Applying adjustments at this level allows you to apply different adjustments for different clients, but which all inherit from the same Base Rate Group, assuming your pricing tiers are derived as a simple percentage of the base pricing.
- Merchant - These adjustments apply last, and to a given subset of merchants regardless of which Rate Group is effective. Similar to using Rate Groups, these adjustments can be used to apply discounts or fees to a specific merchant without duplicating rate groups.
Adding Fee Adjustments
There are a few locations where you can add fee adjustments, they all result in the same outcome, but a few methods are just shortcuts:
- Navigate to Rating > Fee Adjustments
- or from an Edit Fee Schedule page, click Create Fee Adjustment
- or from an Edit Rate Group page, click Create Fee Adjustment
- or from an Edit Base Rate Group page, click Create Fee Adjustment
- Click Add New
- Enter a descriptive Name for this adjustment—for example, "USPS Holiday 2025 Priority Mail Commercial"
- Choose the Is Active status—this can be changed at any time later by clicking Activate or Deactivate on the edit page after the first save
- Choose the Carrier that the adjustment will apply to
- If the adjustment does not apply to all services for the carrier, select the specific services it should apply to
- Choose the Effective Start Date and Effective End Date or leave them empty if there is no time limitation for the adjustment
- If you did not navigate to the Create Fee Adjustment page from an Edit page (step 1a, 1b, or 1c), select an Applies To option according to your needs
- Click Import to open the import dialog
- Click Choose File or drag and drop an import file into the drop zone on
- Click Import to insert the fees from the file into the fees list
- Click Save or Save and Continue Edit to save changes
The key part of a Fee Adjustment is the fees that are added to it in step 10. Each fee has the following:
- Fee Type: This tells ShipStream under what circumstances the fee shall apply - see the Fee Types table above.
- Operation: This determines how the original fee will be adjusted:
- Add
- Subtract
- Substitute
- Formula: This determines how the monetary amount of the fee will be calculated. This is not applicable for the "Dimensional Weight Divisor" fee type.
- Flat—The amount will simply be added to the subtotal
- Percent of Base Rate—The amount represents a percentage of the base rate. E.g. an amount of "10" would be calculated as the base rate (the amount from the Rate Plane weight/zone table) multiplied by 0.1, and this amount would be added to the subtotal
- Percent of Subtotal—The amount represents a percentage of the subtotal. E.g. an amount of "10" would be calculated as the subtotal multiplied by 0.1, and this amount would be added to the subtotal at the end
- Multiple of Actual Weight Units—The amount represents a multiplier of the weight units of the actual package weight. E.g. an amount of "0.25" might represent $0.25 per pound of actual package weight
- Multiple of Billable Weight Units—The amount represents a multiplier of the weight units of the billable package weight (greater of the actual weight, the minimum billable weight and the dimensional weight). E.g. an amount of "0.25" might represent $0.25 per pound of billable package weight
- Amount: A numeric value representing units of the default currency, a percentage, or a dimensional weight divisor, depending on the Fee Type and Formula.
- Zones Start: Empty for no lower bound or else a zone name representing the low end of a range of zones (inclusive).
- Zones End: Empty for no upper bound or else a zone name representing the high end of a range of zones (inclusive).
- Weight Min: Empty for no lower bound or else a whole number representing the low end of a range of package weights (inclusive).
- Weight Max: Empty for no upper bound or else a whole number representing the high end of a range of package weights (inclusive).
- Weight Unit: Empty for the default unit of weight (E.g. "lb" in the United States) or else a specific unit of weight: oz, lb, g, kg.
Here is an example import file structure:
Fee Type | Operation | Formula | Zones Start | Zones End | Weight Min | Weight Max | Weight Unit | Amount |
Demand Surcharge | Add | Flat | 1 | 4 | 0 | 3 | lb | $0.3 |
Demand Surcharge | Add | Flat | 1 | 4 | 4 | 10 | lb | $0.45 |
Demand Surcharge | Add | Flat | 1 | 4 | 11 | 25 | lb | $0.75 |
Demand Surcharge | Add | Flat | 1 | 4 | 26 | 70 | lb | $3 |
Demand Surcharge | Add | Flat | 5 | 9 | 0 | 3 | lb | $0.7 |
Demand Surcharge | Add | Flat | 5 | 9 | 4 | 10 | lb | $1.25 |
Demand Surcharge | Add | Flat | 5 | 9 | 11 | 25 | lb | $2.75 |
Demand Surcharge | Add | Flat | 5 | 9 | 26 | 70 | lb | $7 |