Summary
What
Two new mechanisms for creating dependencies between rate card calculations:
Pick first matching calculation - evaluates calculations on a charge top-to-bottom and applies the first one that produces a non-zero result.
Other charge dependency - a condition metric on a calculation that makes it conditional on whether a specific other charge on the same price list meets a defined threshold.
Why
Rate card calculations previously ran independently, with no way to suppress one charge based on the result of another. This forced workarounds such as duplicating price tables across multiple surcharges or maintaining complex manual exclusion conditions.
How
Enable Pick first matching calculation directly on a charge to set up fallback pricing logic. Add Other charge dependency as a condition on an individual calculation, then select the reference charge and set the comparison operator and threshold.
Use Cases
Transport companies with route-specific fixed rates can set up a primary price table calculation and a fallback calculation that only applies when the primary returns zero - eliminating the need for duplicate price tables per surcharge.
Companies with fixed rate overrides can suppress surcharges (ADR, fuel, toll, waste) when a fixed rate charge has already applied, replacing complex manual exclusion conditions.
Operations that need surcharges to apply only when a transport charge was successfully auto-rated can configure this directly as a condition, rather than duplicating price tables across each surcharge.
Terminology
Term | Definition |
Pick first matching calculation | An option on a charge that evaluates calculations in order and applies the first one producing a non-zero result |
Other charge dependency | A condition metric that makes a calculation conditional on the result of another charge on the same price list |
Waterfall evaluation | Sequential top-to-bottom evaluation where the first successful calculation is used and subsequent ones are skipped |
Circular dependency | A configuration error where two charges reference each other as conditions, creating an unresolvable loop |
Price list | A rate card configuration containing one or more charges, each with one or more calculations |
Configuring a 'Pick First Matching' (waterfall) calculation
NAVIGATE to RATES > Rate card customers and open the relevant price list.
OPEN the price list to update.
SELECT the charge to configure.
ENABLE the Pick first non-zero calculation amount toggle.
ARRANGE the calculations in the desired evaluation order — calculations are evaluated top-to-bottom, and the first one returning a non-zero result is applied. Subsequent calculations are skipped.
SAVE the price list to apply the changes.
📚 All calculations must be fully configured before enabling this option. Each calculation is evaluated in sequence until a non-zero result is found; if none match, the charge returns zero.
Configuring an Other Charge Dependency Condition
NAVIGATE to RATES > Rate card customers and open the relevant price list.
SELECT the price list containing the charge to make conditional.
OPEN the charge line calculation and navigate to the Conditions section.
ADD a new condition and select Other charge dependency as the condition metric.
SELECT the reference charge — the charge whose result will be evaluated. The reference charge must be on the same price list.
SET the operator (=, ≠, >, <, ≥, ≤) and the threshold value (e.g., 0).
SAVE the price list to apply the condition.
Example: To suppress a surcharge when a fixed rate applies, select the fixed rate charge as the reference charge, set the operator to ≠, and the value to 0. The surcharge calculation will only apply when the fixed rate charge returned no result.
Troubleshooting
Issue | Possible cause | Solution |
Circular dependency error on save | Two charges reference each other as conditions | Review condition references and remove the circular link between the two charges |
Waterfall not applying the expected calculation | Calculations are not in the intended order | Re-order calculations on the charge so the primary calculation appears first |
Other charge dependency not filtering correctly | The reference charge is on a different price list | Cross-price-list conditions are not supported — both charges must be on the same price list |
Condition references incorrect charge after price list copy | Condition references were not remapped on copy | Check that the condition on the copied price list references the intended charge |


