Transportation management engines [AX 2012]

Updated: June 4, 2014

Transportation management engines define the logic that is used to generate and process transportation rates in Transportation management. A transportation management engine calculates tasks, such as the carrier’s transportation rate. The engine system lets you change calculation strategies at runtime, based on data in Microsoft Dynamics AX. A transportation management engine resembles a plug-in that is related to a particular carrier contract.

The following table shows the transportation management engines that are available in AX 2012 R3.

Transportation management engine


Rate engine

Calculates rates.

Generic engine

Simple auxiliary engines that are used by other engines that do not require data from Microsoft Dynamics AX 2012 R3, for example, an apportionment engine. Apportionment engines are used to reduce the final costs of transportation to specific orders and lines, based on dimensions, such as volume and weight.

Mileage engine

Calculates the transportation distance.

Transit time engine

Calculates the time that is required to travel from the start to the end destination.

Zone engine

Calculates the zone based on the current address and calculates the number of zones that must be crossed in order to travel from address A to address B.

Freight bill type

Standardizes the freight invoice and the freight bill lines and is used for automatic freight bill matching.

To rate a shipment using a specific carrier, you must configure multiple transportation management engines. The Rate engine is required, but other transportation management engines may be required to support the Rate engine. For example, the Rate engine can be used to retrieve data from the Mileage engine to calculate the rate based on mileage between the source and the destination.

A transportation management engine requires that you set up initialization data in order to function in a specific way. The setup can include the following types of data:

  • References to other transportation management engines. For details, see the configuration example in this section.

  • References to .NET types that are used by the transportation management engine.

  • Simple configuration data.

In most cases, you can click the Parameters button in the transportation management engine’s setup forms to configure the initialization data. For more information, see the guidelines for the individual transportation management engines in Set up transportation management engines.

Example of the configuration of a rate engine that references a mileage engine

The following example shows the setup that is required for a rate engine that is based on the .NET engine type Microsoft.Dynamics.Ax.Tms.Bll.MileageRateEngine and references a mileage engine.




The .NET type that interprets the rate base assignment data for a particular schema. The syntax of the parameter value consists of two segments delimited by a vertical bar (|). The first segment contains the assembly name that defines the assigner type. The second segment defines the fully-qualified name of the assigner type. This includes the namespace of the type.


Mileage engine code that identifies the mileage engine record in the Microsoft Dynamics AX database.


Generic engine code that identifies the apportionment engine in the Microsoft Dynamics AX database.

For more information about how to set up a rate engine, see “Set up a rate engine” in Set up transportation management engines.

Transportation management engines that rely on data that is defined in AX 2012 R3 may use different data schemas. The transportation management system enables different transportation management engines to use the same generic physical database tables. To make sure that run-time interpretation of engine data is correct, you can define metadata for the database tables. This reduces the cost of building new transportation management engines because additional table and form structures are not required in AX 2012 R3.

The data that you use when you calculate rates in Microsoft Dynamics AX is controlled by the metadata configuration. For example, if you want to search for rates based on postal codes you must set up metadata based on the lookup type of a postal code.

No, transportation management engines that are used to retrieve the data that is required for rate calculation from external systems don’t need metadata. The rate data for these engines can be retrieved from external transportation carrier systems, usually through a web service. For example, in AX 2012 R3 you can use a mileage engine that retrieves data directly from Bing maps so that you don’t need a metadata for this engine.


The transportation management engines that are delivered with Microsoft Dynamics AX 2012 R3 rely on data that is retrieved from the application. Engines that connect to external systems are not included with AX 2012 R3. However, the engine-based extensibility model lets you build extensions using Microsoft Dynamics AX Visual Studio Tools.

Metadata for transportation management engines is configured differently for the different types of engines.

Transportation management engine

Metadata configuration

Rate engine

Requires a Rate base type. The rate base type contains metadata for the rate base data and the rate base assignment data. The structure of rate base metadata is determined by the type of rate engine. The structure of the rate base assignment metadata is determined by the type of rate base assigner that is associated with that rate engine. You set up the rate base type of a rate engine on the Rate engine form and on the Rate master form.

Zone engine

Requires metadata to be set up directly on the zone master.

Transit time engine and Mileage engine

Retrieves the metadata directly from the mileage engine’s configuration setup form.

For more information, see the setup guidelines for the transportation management engines in Set up transportation management engines.

Example of metadata for a rate engine

The transportation management engine requires identification of the origin address, the destination state and country/region, and the start and end point of the shipment. By using these requirements, the metadata would look like the data in the following table. The table also includes information about what type of input data is required.

  • Define this information under Transportation management > Setup in the Rate base type form.



Field type

Data type

Lookup type



Origin postal code



Postal Code



Destination state





Destination start postal code



Postal Code



Destination end postal code



Postal Code



Destination country




We're working to include as many questions as we can, so that Microsoft Dynamics AX Help will be more useful to people just like you.

Tell us what question you would like to add to this topic. Send email to

Announcements: To see known issues and recent fixes, use Issue search in Microsoft Dynamics Lifecycle Services (LCS).