Importing TL Rates
This section describes how to specify TL rates and gives sample CSV files for several scenarios.
The following tables must be loaded (in order):
- RATE_OFFERING (setup manually on Oracle Transportation Management web pages)
- X_LANE (see the Importing X_LANE Data for Rates section.)
- RATE_GEO
- ACCESSORIAL_CODE
- ACCESSORIAL_COST
- RATE_GEO_ACCESSORIAL (*)
- RATE_GEO_STOPS (*)
- RATE_GEO_COST_GROUP
- RATE_GEO_COSTNote: (*) RATE_GEO_ ACCESSORIAL and RATE_GEO_STOPS must come after RATE_GEO, but are not required before the remaining tables.
Assumptions:
- You have loaded the rate offering table using Oracle Transportation Management web pages
- You have loaded the X_Lane table (see the Importing X_LANE Data for Rates section).
Simplified ERD for Truckload Rates
Simplified Entity Relationship Diagram (ERD) for Truckload Rate Data

RATE_GEO Table
- Allow_uncosted_line_items in Y/N (defaults to “N”)
RATE_GEO_ACCESSORIAL
- Left_Operand1 – Basis options define what variable you want to base your conditional charge on.
- Oper1_gid – The operand you compare with.
- Low_value1 – Depending on the operand you use, you might need only the low_value1 or additionally the high_value1.
RATE_GEO_COST_GROUP Table
- Use_deficit_calculations in Y/N (defaults to “N”)
RATE_GEO_COST Table
- Oper1_gid – field value “BETWEEN” is a shortcut for X > low and X <= high. Other possible values include “<”, “<=”, “>”, “>=”, “=”, and “<>”.
- charge_unit_uom_code - unit of measure (e.g. “LB” for pounds, or “MI” for miles)
- charge_unit_count - hundredweight, etc.
- charge_action – add (A), setmin (M), setmax (X), multiply (D)
- charge_break_comparator -identifies data element used to access the break
Scenario 1: Based on Distance Bands with Fixed Charges and Stop Offs
This scenario assumes that:
- TL rates are defined using distance bands, with a flat charge within each band
- For Rate Geo A:
- If distance between 10 and 100 miles, charge $50
- If distance is between 100 and 200 miles, charge $75
- For Rate Geo B:
- If distance between 10 and 100 miles, charge $80
- Import RATE_GEO
table.
RATE_GEO RATE_GEO_GID,RATE_GEO_XID,RATE_OFFERING_GID,MIN_COST,MIN_COST_GID,MIN_COST_BASE,X_LANE_GID,TOTAL_STOPS_CONSTRAINT,STOPS_INCLUDED_RATE,DOMAIN_NAME MYDOMAIN.194-064-TL1,194-064-TL1,MYDOMAIN.YELLOW,1,USD,1,MYDOMAIN.194-064,6,2,MYDOMAIN MYDOMAIN.194-065-TL1,194-065-TL1,MYDOMAIN.YELLOW,1,USD,1,MYDOMAIN.194-065,6,2,MYDOMAIN
- Import RATE_GEO_STOPS
table.
RATE_GEO_STOPS RATE_GEO_GID,LOW_STOP,HIGH_STOP,PER_STOP_COST,PER_STOP_COST_GID,PER_STOP_COST_BASE,DOMAIN_NAME "MYDOMAIN.194-064-TL1",1,2,50.00,"USD",50.00,"MYDOMAIN" "MYDOMAIN.194-064-TL1",3,4,100.00,"USD",100.00,"MYDOMAIN" "MYDOMAIN.194-065-TL1",1,2,25.50,"USD",25.50,"MYDOMAIN" "MYDOMAIN.194-065-TL1",3,4,85.00,"USD",85.00,"MYDOMAIN"
- Import RATE_GEO_COST_GROUP
table.
RATE_GEO_COST_GROUP RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_GROUP_XID,RATE_GEO_GID,RATE_GEO_COST_GROUP_SEQ,GROUP_NAME,DOMAIN_NAME "MYDOMAIN.194-064-TL1","194-064-TL1","MYDOMAIN.194-064-TL1",1,"MY_GROUP_NAME_TL","MYDOMAIN" "MYDOMAIN.194-065-TL1","194-065-TL1","MYDOMAIN.194-065-TL1",1,"MY_GROUP_NAME_TL","MYDOMAIN"
- Import RATE_GEO_COST
table.
RATE_GEO_COST RATE_GEO_COST_SEQ,RATE_GEO_COST_GROUP_GID,OPER1_GID,LEFT_OPERAND1,LOW_VALUE1,HIGH_VALUE1,CHARGE_AMOUNT,CHARGE_CURRENCY_GID,CHARGE_AMOUNT_BASE,DOMAIN_NAME 1,"MYDOMAIN.194-064-TL1","BETWEEN","SHIPMENT.DISTANCE","10 MI","100 MI",50.00,"USD", 50.00,"MYDOMAIN" 2,"MYDOMAIN.194-064-TL1","BETWEEN","SHIPMENT.DISTANCE","100 MI","200 MI",75.00,"USD", 75.00,"MYDOMAIN" 1,"MYDOMAIN.194-065-TL1","BETWEEN","SHIPMENT.DISTANCE","10 MI","100 MI",80.00,"USD", 80.00,"MYDOMAIN"
Scenario 2: Based on Cost per Mile, Stop Offs, and Surcharges
This scenario assumes that:
- The freight cost is $1.75 per mile
- Stop Off Charges
- Allowed 6 stops total, with 2 stops included in rate
- Charge of $50 for 3rd stop, and $65 for subsequent stops
- Fuel Surcharge is $0.02 per mile (Accessorial)
- Minimum charge on transport is $450
Summary
- Total Cost = (distance * 1.75) + stop off charges + (Accessorial of $0.02 per mile)
- Min Transport = (450.00) + stop off charges + (Accessorial of $0.02 per mile)
- Import RATE_GEO
table.
RATE_GEO RATE_GEO_GID,RATE_GEO_XID,RATE_OFFERING_GID,MIN_COST,MIN_COST_GID,MIN_COST_BASE,X_LANE_GID,TOTAL_STOPS_CONSTRAINT,STOPS_INCLUDED_RATE,DOMAIN_NAME "MYDOMAIN.194-064-TL2","194-064-TL2","MYDOMAIN.YELLOW",1.0,"USD",1.0,"MYDOMAIN.194-064",6, 2,"MYDOMAIN"
- Import ACCESSORIAL_COST
table.
ACCESSORIAL_COST ACCESSORIAL_COST_GID,ACCESSORIAL_COST_XID,CHARGE_MULTIPLIER,CHARGE_AMOUNT,CHARGE_AMOUNT_GID,CHARGE_AMOUNT_BASE,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_ACTION,CHARGE_TYPE,USE_DEFAULTS,CHARGE_MULTIPLIER_OPTION,USES_UNIT_BREAKS,DOMAIN_NAME,IS_FILED_AS_TARIFF EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FS-TL2,FS-TL2,SHIPMENT.DISTANCE,0.02,USD,0.02,MI,1,A,B,N,A,N,MYDOMAIN,N
- Import ACCESSORIAL_CODE
table.
ACCESSORIAL_CODE ACCESSORIAL_CODE_GID,ACCESSORIAL_CODE_XID,ACCESSORIAL_DESC,APPLY_GLOBALLY,DOMAIN_NAME,IS_FLOW_THRU,IS_VAT_EXEMPT EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FUEL_SURCHARGE,FUEL_SURCHARGE,FUEL SURCHARGE,Y,MYDOMAIN,N,N
- Import RATE_GEO_ACCESSORIAL
table.
RATE_GEO_ACCESSORIAL ACCESSORIAL_COST_GID,RATE_GEO_GID,ACCESSORIAL_CODE_GID,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FS-TL2,MYDOMAIN.194-064-TL2,MYDOMAIN.FUEL_SURCHARGE,MYDOMAIN
- Import RATE_GEO_STOPS
table.
RATE_GEO_STOPS RATE_GEO_GID,LOW_STOP,HIGH_STOP,PER_STOP_COST,PER_STOP_COST_GID,PER_STOP_COST_BASE,DOMAIN_NAME MYDOMAIN.194-064-TL2,1,1,50,USD,50,MYDOMAIN MYDOMAIN.194-064-TL2,2,,65,USD,65,MYDOMAIN
Note: Leaving the HIGH_STOP value empty indicates that the last charge will be applied to all the stops greater than the LOW_STOP value. (i.e. for stops >= 2, charge $65 per stop). - Import RATE_GEO_COST_GROUP
table.
RATE_GEO_COST_GROUP RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_GROUP_XID,RATE_GEO_GID,RATE_GEO_COST_GROUP_SEQ,GROUP_NAME,DOMAIN_NAME MYDOMAIN.194-064-TL2,194-064-TL2,MYDOMAIN.194-064-TL2,1,MY_GROUP_NAME_TL2,MYDOMAIN
- Import RATE_GEO_COST
table.
RATE_GEO_COST RATE_GEO_COST_SEQ,RATE_GEO_COST_GROUP_GID,CHARGE_AMOUNT,CHARGE_CURRENCY_GID,CHARGE_AMOUNT_BASE,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_MULTIPLIER,CHARGE_MULTIPLIER_SCALAR,CHARGE_ACTION,DOMAIN_NAME 1,MYDOMAIN.194-064-TL2,1.75,USD,1.75,MI,1,SHIPMENT.DISTANCE,,A,MYDOMAIN 2,MYDOMAIN.194-064-TL2,450,USD,450,,1,,,M,MYDOMAIN
Note: Seq#2, with a charge action of “M”, indicates that the minimum of the running calculated cost has to be $450 (i.e. if the calculation from Seq#1 is less than $450, then the new value to be used going forward is $450).
An alternative method of specifying this rate would be to recognize that a minimum of $450 equates to distance of 257.143 miles. A comparison for this distance could be used. This would be the corresponding result.
RATE_GEO_COST
RATE_GEO_COST_SEQ,RATE_GEO_COST_GROUP_GID,OPER1_GID,LEFT_OPERAND1,LOW_VALUE1,CHARGE_AMOUNT,CHARGE_CURRENCY_GID,CHARGE_AMOUNT_BASE,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_MULTIPLIER,CHARGE_MULTIPLIER_SCALAR,CHARGE_ACTION,DOMAIN_NAME
1,"MYDOMAIN.194-064-TL2",">","SHIPMENT.DISTANCE","237.143 MI",1.750,"USD",1.750,"MI",1, "SHIPMENT.DISTANCE",,"A","MYDOMAIN"
2,"MYDOMAIN.194-064-TL2","<=","SHIPMENT.DISTANCE","257.143 MI",450.0,"USD",450.0,,1, ,,"A","MYDOMAIN"
3,"MYDOMAIN.194-064-TL2",0.020,"USD",0.020,"MI",1,"SHIPMENT.DISTANCE",,"A","MYDOMAIN"
Scenario 3: Based on Cost per Hundredweight, Unit Breaks, and Surcharges
This scenario assumes that:
- The freight cost is per hundredweight based on unit breaks
- Fuel Surcharge is $0.02 per mile (Accessorial)
Summary
Total Cost = ((weight/100) * (weight break charge)) + (Accessorial of $0.02 per mile)
- Import RATE_GEO
table.
RATE_GEO RATE_GEO_GID,RATE_GEO_XID,RATE_OFFERING_GID,MIN_COST,MIN_COST_GID,MIN_COST_BASE,X_LANE_GID,TOTAL_STOPS_CONSTRAINT,STOPS_INCLUDED_RATE,DOMAIN_NAME MYDOMAIN.194-064-TL3,194-064-TL3,MYDOMAIN.YELLOW,1,USD,1,MYDOMAIN.194-064,6,2,MYDOMAIN
- Import ACCESSORIAL_COST
table.
ACCESSORIAL_COST ACCESSORIAL_COST_GID,ACCESSORIAL_COST_XID,CHARGE_MULTIPLIER,CHARGE_AMOUNT,CHARGE_AMOUNT_GID,CHARGE_AMOUNT_BASE,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_ACTION,CHARGE_TYPE,USE_DEFAULTS,CHARGE_MULTIPLIER_OPTION,USES_UNIT_BREAKS,DOMAIN_NAME,IS_FILED_AS_TARIFF EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FS-TL3,FS-TL3,SHIPMENT.DISTANCE,0.02,USD,0.02,MI,1,A,B,N,A,N,MYDOMAIN,N
- Import ACCESSORIAL_CODE
table.
ACCESSORIAL_CODE ACCESSORIAL_CODE_GID,ACCESSORIAL_CODE_XID,ACCESSORIAL_DESC,APPLY_GLOBALLY,DOMAIN_NAME,IS_FLOW_THRU,IS_VAT_EXEMPT EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FUEL_SURCHARGE,FUEL_SURCHARGE,FUEL SURCHARGE,Y,MYDOMAIN,N,N
- Import RATE_GEO_ACCESSORIAL
table.
RATE_GEO_ACCESSORIAL ACCESSORIAL_COST_GID,RATE_GEO_GID,ACCESSORIAL_CODE_GID,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.FS-TL3,MYDOMAIN.194-064-TL3,MYDOMAIN.FUEL_SURCHARGE,MYDOMAIN
- Import RATE_GEO_COST_GROUP
table.
RATE_GEO_COST_GROUP RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_GROUP_XID,RATE_GEO_GID,RATE_GEO_COST_GROUP_SEQ,GROUP_NAME,DOMAIN_NAME MYDOMAIN.194-064-TL3,194-064-TL3,MYDOMAIN.194-064-TL3,1,MY_GROUP_NAME_TL3,MYDOMAIN
- Import RATE_GEO_COST
table.
RATE_GEO_COST RATE_GEO_COST_SEQ,RATE_GEO_COST_GROUP_GID,CHARGE_AMOUNT,CHARGE_CURRENCY_GID,CHARGE_AMOUNT_BASE,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_MULTIPLIER,CHARGE_MULTIPLIER_SCALAR,CHARGE_ACTION,CHARGE_BREAK_COMPARATOR,DOMAIN_NAME 1,MYDOMAIN.194-064-TL3,,,,LB,100,SHIPMENT.WEIGHT,,A,SHIPMENT.WEIGHT,MYDOMAIN
Note: An alternative to using the data specified for the RATE_GEO_ACCESSORIAL table above would be to add another Sequence to this table with the following (representing a surcharge of $0.02 per mile):2,"MYDOMAIN.194-064-TL3",0.020,"USD",0.020,"MI",1,"SHIPMENT.DISTANCE",,"A","MYDOMAIN"
- Import RATE_UNIT_BREAK_PROFILE
table.
RATE_UNIT_BREAK_PROFILE RATE_UNIT_BREAK_PROFILE_GID,RATE_UNIT_BREAK_PROFILE_XID,RATE_UNIT_BREAK_PROFILE_NAME,DATA_TYPE,LOOKUP_TYPE,UOM_TYPE,DOMAIN_NAME,INSERT_USER,INSERT_DATE,UPDATE_USER,UPDATE_DATE EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' "MYDOMAIN.TL 40 TO 45 THOU","TL 40 TO 45 THOU","TL 40 TO 45 THOU","U","M","WEIGHT","MYDOMAIN","MYDOMAIN.ADMIN","20060821190229",,
- Import RATE_UNIT_BREAK
table.
RATE_UNIT_BREAK RATE_UNIT_BREAK_GID,RATE_UNIT_BREAK_XID,RATE_UNIT_BREAK_PROFILE_GID,RATE_UNIT_BREAK_MAX,DOMAIN_NAME,INSERT_USER,INSERT_DATE,UPDATE_USER,UPDATE_DATE EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' "MYDOMAIN.40000","40000","MYDOMAIN.TL 40 TO 45 THOU","40000 LB","MYDOMAIN","MYDOMAIN.ADMIN","20060821190229",, "MYDOMAIN.45000","45000","MYDOMAIN.TL 40 TO 45 THOU","45000 LB","MYDOMAIN","MYDOMAIN.ADMIN","20060821190229",,
- Import RATE_GEO_COST_UNIT_BREAK
table.
RATE_GEO_COST_UNIT_BREAK RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_SEQ,RATE_UNIT_BREAK_GID,CHARGE_AMOUNT,CHARGE_AMOUNT_GID,CHARGE_AMOUNT_BASE,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.194-064-TL3,1,MYDOMAIN.40000,1.14,USD,1.14,MYDOMAIN MYDOMAIN.194-064-TL3,1,MYDOMAIN.45000,1.07,USD,1.07,MYDOMAIN
Scenario 4: Based on Cost per Hundredweight, Unit Breaks, and Surcharges
This scenario assumes that:
- The freight cost is per hundredweight based on unit breaks which are based on
mileage bands.
Cost per Weight
Cost per Weight Mileage Band 40000 lbs 45000 lbs 0 – 50 0.85 0.50 51 – 55 0.87 0.82 56 - 60 0.88 0.83 - Weighing charge is $20
- Vacuuming fee is $0.25 per CWT with a $115 minimum
Summary
Total Cost = ((weight/100) * (unit break charge)) + $20 + (Vacuuming Fee of 0.25 per CWT)
- Import RATE_GEO
table.
RATE_GEO RATE_GEO_GID,RATE_GEO_XID,RATE_OFFERING_GID,MIN_COST,MIN_COST_GID,MIN_COST_BASE,X_LANE_GID,TOTAL_STOPS_CONSTRAINT,STOPS_INCLUDED_RATE,DOMAIN_NAME MYDOMAIN.194-064-TL4,194-064-TL4,MYDOMAIN.YELLOW,1,USD,1,MYDOMAIN.194-064,6,2,MYDOMAIN
- Import RATE_GEO_COST_GROUP
table.
RATE_GEO_COST_GROUP RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_GROUP_XID,RATE_GEO_GID,RATE_GEO_COST_GROUP_SEQ,GROUP_NAME,DOMAIN_NAME MYDOMAIN.194-064-TL4,194-064-TL4,MYDOMAIN.194-064-TL4,1,MY_GROUP_NAME_TL4,MYDOMAIN
- Import RATE_GEO_COST
table.
RATE_GEO_COST RATE_GEO_COST_SEQ,DOMAIN_NAME,RATE_GEO_COST_GROUP_GID,OPER1_GID,LEFT_OPERAND1,LOW_VALUE1,CHARGE_AMOUNT,CHARGE_CURRENCY_GID,CHARGE_UNIT_UOM_CODE,CHARGE_UNIT_COUNT,CHARGE_MULTIPLIER,CHARGE_MULTIPLIER_SCALAR,CHARGE_ACTION,CHARGE_BREAK_COMPARATOR,CHARGE_TYPE,CHARGE_MULTIPLIER_OPTION,USES_UNIT_BREAKS,ROUNDING_TYPE,ROUNDING_FIELDS_LEVEL,ROUNDING_APPLICATION,IS_FILED_AS_TARIFF EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' 1,MYDOMAIN,MYDOMAIN.194-064-TL4,LT,SHIPMENT.WEIGHT,45000 LB,,,LB,1,SHIPMENT.WEIGHT,,A,SHIPMENT.WEIGHT,B,A,Y,,,,N 2,MYDOMAIN,MYDOMAIN.194-064-TL4,GE,SHIPMENT.WEIGHT,45000 LB,,,LB,1,SHIPMENT.WEIGHT,,A,SHIPMENT.WEIGHT,B,A,Y,,,,N 3,MYDOMAIN,MYDOMAIN.194-064-TL4,,,,20,USD,,1,SHIPMENT,,A,,B,A,N,N,0,A,Y
- Import RATE_UNIT_BREAK_PROFILE
table.
RATE_UNIT_BREAK_PROFILE RATE_UNIT_BREAK_PROFILE_GID,RATE_UNIT_BREAK_PROFILE_XID,DATA_TYPE,LOOKUP_TYPE,UOM_TYPE,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.LESS THAN 40 PDS,LESS THAN 40 PDS,U,M,WEIGHT,MYDOMAIN MYDOMAIN.GREATER THAN 45000 PDS,GREATER THAN 45000 PDS,U,M,WEIGHT,MYDOMAIN
- Import RATE_UNIT_BREAK
table.
RATE_UNIT_BREAK RATE_UNIT_BREAK_GID,RATE_UNIT_BREAK_XID,RATE_UNIT_BREAK_PROFILE_GID,RATE_UNIT_BREAK_MAX,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.0-50 MILES,0-50 MILES,MYDOMAIN.GREATER THAN 45000 PDS,45000 LB,MYDOMAIN MYDOMAIN.51-55 MILES,51-55 MILES,MYDOMAIN.GREATER THAN 45000 PDS,45000 LB,MYDOMAIN MYDOMAIN.56-60 MILES,56-60 MILES,MYDOMAIN.GREATER THAN 45000 PDS,45000 LB,MYDOMAIN MYDOMAIN.0-50,0-50,MYDOMAIN.LESS THAN 40 PDS,44999 LB,MYDOMAIN MYDOMAIN.51-55,51-55,MYDOMAIN.LESS THAN 40 PDS,44999 LB,MYDOMAIN MYDOMAIN.56-60,56-60,MYDOMAIN.LESS THAN 40 PDS,44999 LB,MYDOMAIN
- Import RATE_GEO_COST_UNIT_BREAK
table.
RATE_GEO_COST_UNIT_BREAK RATE_GEO_COST_GROUP_GID,RATE_GEO_COST_SEQ,RATE_UNIT_BREAK_GID,CHARGE_AMOUNT,CHARGE_AMOUNT_GID,CHARGE_AMOUNT_BASE,CHARGE_DISCOUNT,DOMAIN_NAME EXEC SQL ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDDHH24MISS' MYDOMAIN.194-064-TL4,1,MYDOMAIN.0-50,0.85,USD,0.85,,MYDOMAIN MYDOMAIN.194-064-TL4,2,MYDOMAIN.51-55,0.87,USD,0.87,,MYDOMAIN MYDOMAIN.194-064-TL4,3,MYDOMAIN.56-60,0.88,USD,0.88,,MYDOMAIN MYDOMAIN.194-064-TL4,1,MYDOMAIN.0-50 MILES,0.5,USD,0.5,,MYDOMAIN MYDOMAIN.194-064-TL4,2,MYDOMAIN.51-55 MILES,0.82,USD,0.82,,MYDOMAIN MYDOMAIN.194-064-TL4,3,MYDOMAIN.56-60 MILES,0.83,USD,0.83,,MYDOMAIN