techSHIP’s Smart Pricing module provides ultimate control over your shipping rates and surcharges by bypassing real-time API calls and utilizing your own custom pricing matrices. This guide covers the core concepts of the module, the building blocks required for configuration, and how to apply your final pricing strategy to your accounts.
![]() | For a full overview of all new features, see: What's New in techSHIP: A Guide to the Latest Features [Information]. | |
| | ||
Prefer listening? This podcast-style audio walks you through the article's key points.
![]() | AI-Assisted & Human-Reviewed: For general information only. Please double-check important details. | |
TABLE OF CONTENTS
- Understanding Smart Pricing
- Building the Pricing Components
- Configuring Custom Pricing Tables
- Applying Your Pricing Strategy
Understanding Smart Pricing
While techSHIP offers basic custom rate functionalities through the Simple Rates mode, the Smart Pricing engine is the ultimate, most powerful tool designed for high-volume shippers and 3PLs who need absolute flexibility to define carrier costs, manage client prices, and implement complex surcharges without relying on external integrations.
To ensure your profit margins are perfectly managed, the system separates your financial data into two fundamental dimensions:
- Cost: The actual baseline amount the carrier charges you.
- Price: The final billed amount you charge your customer.
By defining both dimensions in a single matrix, techSHIP intelligently applies the Cost when evaluating carrier expenses and extracts the Price when calculating client billing. Furthermore, the engine introduces a Split Mode architecture, allowing you to process Rates and Accessorials (surcharges) as two entirely distinct calculation paths.
Core Architecture Components
To successfully build your pricing strategy, you must understand how the different system entities interact within the engine:
ENTITY | FUNCTION WITHIN SMART PRICING |
Pricing Dimensions | Defines the measurement brackets (e.g., weight tiers) used to segment shipping costs. |
Zones & Areas | Maps the geographic transit routes from an origin to a destination. |
Accessorial Collections | Groups variable or flat surcharges (e.g., fuel fees, custom conditions) into reusable profiles. |
Custom Pricing Tables | The central hub that consolidates your building blocks into a final routing framework. |
Service Levels | Specific shipping methods mapped within a pricing table, combining selected zones and dimensions. |
Rate Items | The editable numerical matrix, configured within each Service Level, where exact Cost and Price values intersect across your dimensions and zones. |
The following infographic visualizes the data flow and relationship between these foundational entities:

![]() | All Smart Pricing resources belong to your central Organization and are shared seamlessly across all your specific Locations. | |
| | ||
Building the Pricing Components
Before assembling a pricing table, you must create its foundational elements. Navigate through the main menu to configure these core building blocks.
Pricing Dimensions
Pricing Dimensions define the specific measurement brackets used to segment shipping costs, such as weight tiers.
![]() | Click Pricing Dimensions from the left menu under the Smart Pricing category. |
![]() | Press Create, complete the required fields including the measurement Type (e.g., Weight) and the System of Measurement (e.g., Metric or Imperial), and save the record. |
![]() | Click the Edit icon on your newly created record to configure its specific tiers. |

![]() | Under the Dimensions tab, press Create to build your tier list. |
![]() | Ensure there are absolutely no gaps or overlaps between ranges. The Min Value is strictly exclusive (>) and the Max Value is inclusive (≤). To ensure continuous coverage, use the exact Max Value of the previous tier as the Min Value for the next. | |
| | ||

![]() | To bypass manual UI entry, you can manage dimension items using the Export and Import functions under the Actions menu. This allows you to bulk update your tier matrix via spreadsheet. Keep in mind that importing a file completely replaces all existing dimension items.![]() | |
| | ||
The dimensional tiers are now established and ready to be linked to a service level.
Zones & Areas
A Zone & Area configuration maps geographic regions to shipping transit zones.
![]() | You can completely skip this entire building block for supported carriers by utilizing predefined [SYSTEM] mappings directly when creating a Service Level within your pricing tables.![]() | |
| | ||
![]() | Click Zones & Areas from the left menu under the Smart Pricing category. |
![]() | Press Create, complete the required fields including its fundamental geographic Scope (e.g., Domestic or International), and save the record. |
![]() | Click the Edit icon on the new record to configure its mappings. |

![]() | Under the Zones tab, press Create to define the specific routing identifiers (e.g., Zone 1, Zone 2) used by your carrier. |

![]() | Under the Areas tab, press Create to add a new area. |
![]() | To edit the physical geographies for an area, click directly on the values within the Exact Items, Prefix Items, or Range Items columns to perform an inline edit. | |
| | ||

![]() | Under the Area - Zones tab, map the transit routes by assigning a Zone to shipments traveling from an Origin Area to a Destination Area. |

![]() | Toggle the Is Mirrored option when creating an Area - Zone mapping to simultaneously generate the exact reverse route mapping.![]() | |
| | ||
![]() | To bypass manual UI entry, you can manage geographic mappings using the Export and Import functions under the Actions menu. Importing a spreadsheet completely replaces all existing Areas and Area-Zones data.![]() | |
| | ||
The geographic transit routes are now successfully mapped and ready for rate assignment.
Accessorial Collections
An Accessorial Collection groups additional shipping surcharges into a single, reusable profile.
![]() | Click Accessorial Collections from the left menu under the Smart Pricing category. |
![]() | Press Create, provide a Code and Name, and save the record. |
![]() | The Code value is permanent and cannot be changed after creation. | |
| | ||
![]() | Click the Edit icon on your newly created record to configure the specific surcharges. |

![]() | Regardless of the accessorial type being created, you must define at least one calculation dimension: Price or Cost. | |
| | ||
![]() | Under the Location Based tab, press Create to define geographic Area surcharges using flat Price and Cost values. |
![]() | Selecting a master Zone & Area locks this mapping for the entire collection once the first location-based record is created. | |
| | ||

![]() | Under the Shipment Attribute Based tab, press Create to define surcharges triggered by a custom Condition using flat Price and Cost amounts. |

![]() | Under the Fuel Surcharge tab, press Create to define variable percentage fees evaluated over the Base Rate. Here, you can also define floor and ceiling constraints (Min Price, Max Price, Min Cost, and Max Cost). |

![]() | Under the Advanced tab, press Create to define highly custom logic. In this section, your Condition, Price, and Cost fields can all be dynamically evaluated using mathematical expressions. You can also set fixed floor and ceiling constraints (Min Price, Max Price, Min Cost, and Max Cost). |
![]() | This tab uses complex custom expressions. To minimize errors, prefer the predefined tabs. | |
| | ||

![]() | When configuring dynamic calculations, fields such as Condition, Price, and Cost use NCalcto evaluate expressions. Follow these syntax rules:
| |
| | ||
![]() | For applicable accessorial types (such as Fuel Surcharge and Advanced), ensure the Status toggle is set to Active and properly configure the Start Date and End Date. These parameters strictly control whether the fee is applied during calculations.![]() | |
| | ||
The surcharge profile is now ready to be used. You can map these collections globally or at the service level from within your Custom Pricing Tables.
Configuring Custom Pricing Tables
A Custom Pricing Table acts as the central hub where your building blocks are combined to create the final rate matrix.
Creating Service Levels
![]() | Click Custom Pricing Tables from the left menu under the Smart Pricing category. |
![]() | Press Create, complete the required fields (Name and Currency), and save the record. |
![]() | The Currency value is permanent and cannot be changed after creation. | |
| | ||
![]() | Click the Edit icon on your newly created record to configure the table properties. |

![]() | Under the Service Levels tab, press Create and configure the service properties, ensuring you select your previously built Zone & Area and Pricing Dimension profiles to establish the core routing dimensions. |
![]() | The defined Service Code must exactly match the native Service Code of the intended carrier. Unmatched codes will trigger order processing errors. | |
| | ||

![]() | For the Service Level to be actively evaluated, ensure the Status toggle is set to Published and properly configure the Start Date and End Date. These parameters strictly control whether the rates are applied during calculations.![]() | |
| | ||
The service level framework is now built; proceed to populate its rates.
Populating Rate Items
![]() | In the Service Levels tab, click the Rate Items icon on a specific service row. |

![]() | Under the Rates tab, select your target Mode from the top dropdown. |
![]() | Click directly into the intersecting matrix cells to edit their numerical values. Press the Tab key twice or click outside the cell to instantly save the value. |

![]() | Tax amounts evaluated by the engine (including Canadian GST/HST/QST) are standard routing estimates. You must systematically verify all calculations to ensure financial compliance. | |
| | ||
![]() | To bypass manual UI entry, you can manage rate items using the Export and Import functions under the Actions menu. This allows you to bulk update your pricing matrix via spreadsheet. Keep in mind that importing a file completely replaces all existing rates for the service.![]() | |
| | ||
The numerical rate matrix is now saved and ready for rating calculations.
Mapping Accessorials (Header vs. Detail)
Surcharges can be mapped at two different architectural levels, dictating how they apply.
- Header Level (Global): To apply surcharges across every service within the table, go to the main Custom Pricing Table page, click the Accessorials tab, and assign your Accessorial Collections.
- Detail Level (Service-Specific): To apply surcharges to one specific service, open the Rate Items page for that service, click the Accessorials tab, and assign your Accessorial Collections.

![]() | Accessorial Collections mapped at the Detail Level completely override any global collections applied at the Header Level. If a global profile has five rules, and a service-specific profile has one, that specific service will only evaluate the single rule. | |
| | ||
![]() | Ensure you press Save after mapping your accessorials to apply the configuration.![]() | |
| | ||
Applying Your Pricing Strategy
Once your tables are built and published, you can assign them to your Carriers to define costs, and/or to your Billing Accounts to define client prices.
Defining Carrier Costs and Surcharges
This configuration overrides standard carrier API rates, extracting only the Cost dimensions from your matrix.
![]() | Click My Carriers from the left menu under the Carriers category. |
![]() | Click the Edit icon on a specific Carrier. |

![]() | Click the Rates tab. |
![]() | Set the Mode to Smart Pricing Rates (Cost). |
![]() | Select your Custom Pricing Table from the dropdown menu. |
![]() | Press Save to apply your changes. |

The carrier will now use your custom table to evaluate operational costs.
Defining Client Prices and Surcharges
This configuration extracts the Price dimensions and utilizes the split-mode logic to independently manage surcharges.
![]() | Click Clients from the left menu under the Clients category. |
![]() | Click the Edit icon on a specific Client. |

![]() | Click the Edit icon on a Billing Account. |

![]() | Click the Rates & Markups tab. |
![]() | Under the Markup group, set the Rate Mode to Smart Pricing Rates (Price). |
![]() | Select your Custom Pricing Table. |
![]() | Set the Accessorial Mode to either Smart Pricing (to use the custom surcharges configured in your table) or Markup Profile (to calculate fees mathematically over the baseline using a profile). |
![]() | Press Save to apply your changes. |

The Integrated System will now receive precise, instantaneous rate calculations during fulfillment operations without triggering external carrier API calls.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article




















