Transportation management system or simply TMS is an integrated system within Dynamics 365 for Finance and supply chain management (D365FSCM) that facilitates charges allocation for Inbound and Outbound processes. In other words, it manages the transportation of the items / products to the customers from the distribution centers / warehouses (i.e., the Outbound process) or the transportation of the raw materials from vendors location to the production sites (Inbound process). The main purpose of the TMS system is to determine and allocate transportation charges appropriately. In this article, we will walk thru the steps of setting up TMS for Outbound processing, i.e., setting up Rating and Routing and then execute the Shipment process.
Before we dive into setup, the first step that needs to be taken is the initialization of the meta data that is required by the rating and routing engines to process rate / route requests. This can be accomplished by navigating to D365FSCM> Transportation management> Transportation management parameters. Under the Engines fast tab, there is an option to initialize the base data. This is required to populate all the engines that are available within TMS with all the default information so that user will not have to do it manually.
Note: This is only required when we setup a new environment.
The transportation management system relies on the components that are generally referred as TMS Engines to process various rating and routing requests. The engines that are delivered with Supply Chain Management rely on data from within the D365FSCM e.g., source and destination addresses, product wight etc. There are number of scenarios when the configuration of the TMS engines is not feasible. In such scenarios, D365FCM provides an engine extension model to create custom engines that can connect to external systems / services such as FedEx or Bing Maps. With the extension model, custom rating engines can be created as desired. E.g., if the company that needs to ship products to their customers has only certain number of customer locations / zip codes where the shipment needs to go then one of the ‘out of the box’ rating engine(s) can be leveraged. This is typically the distribution business process. However, if the company’s customers location(s) is across a larger area / country then configuring each possible destination within the system becomes very challenging. In such scenarios, custom engines are created that can connect to external services (e.g., FedEx) to get the required rating and routing information.
Note: Typically, the small parcel shipment scenario requires custom engines that can connect to the external services for fulling the shipment needs. Ludia Consulting does provide a custom rating engine that integrates D365FSCM with external shipping carrier services such as FedEx / UPS etc. For more information or for requesting a demo, please reach out to firstname.lastname@example.org.
Following are engines that are available out of the box.
- Rate engine
- Generic engine
- Mileage engine
- Transit time engine
- Zone Engine
- Freight bill type
These engines can be used individually or in combination to process a rating request. E.g., to calculate rate on shipments. Although these out of the box engines not very feasible for small parcel shipment scenarios, however custom rate engines for small parcel shipments can be used in combination with the out of the box engines for certain scenarios. E.g., A package will be shipped from Point A to B via Truck and then from Point B to C via FedEx etc.
For more details on the TMS Engines, refer to the following documentation from Microsoft.
For processing a shipment, the TMS determine rates based on the configured Rating and Routing setup. The two main components i.e., Rating and Routing consists of number of sub-components. Let us configure all the components / sub-components.
Rating Configuration / Setup
The rating configuration involves setting up five individual sub-components. These includes, Rating profile, Rate master, Rate base assignment, Rate base, and Break master. The rating engines leverages all these components to calculate rates that needs to be allocated for specific shipment scenario.
Rating setup hierarchy:
Since the sub-components are dependent on the components higher in the hierarchy, we will go in reverse order.
The Break master form can be accessed by navigating to D365FSCM> Transportation management> Setup> Rating> Break master. Within the Break master form, user defines the pricing breakpoints based on physical dimensions such as weight or distance, the comparison criteria and unit. User can specify the range of values to be used for rating. Break master will be used by Rate base to specify exact rates to be charged to a shipment.
For example, if user wants to create a Break master based on distance, a break master will be created with Break unit as Miles and data type would be integer. Depending on the requirement, user can specify a comparison operation such as ‘=’ or ‘<’. In the above screen shot, we have defined ‘<’. In the details section, user can create different values for miles. The break master configuration will be leveraged by rate base while specifying the pricing break down e.g., if miles are less than 100 use this rate, if miles are less than 200 use the other rate etc.
Similarly, if the break master is created for weight, the break unit would be in weight units e.g., Lbs. (pounds), data type would be Real and comparison operator can be set as needed.
The rate base is used for calculating the rate of the carrier. Most commonly, a rate base is setup to specify a pricing structure for the price break points defined in the break master (e.g., if miles are less than 100 use this rate, if miles are less than 200 use the other rate etc.). Within the rate base form, user can create individual rate bases for distance between source and destination. Once the source and destination values are specified, the system generate pricing structure based on selected break master. In the screen shot below, for single source to destination record, there are three rate bases created since there are three values in the break master. Rate base is configured from within the rate master which is explained below.
In the above screen shot, for the selected break master, user specified different rate values for miles break down. So less than 1000 miles, the rate is 100, less than 1500, rate is 200 etc. The way it works is that if the distance between source and destination is calculated to be 1100 miles, the rate that will be considered will be 200 * 1100. Since 1100 miles is greater than 1000 and less than 1500. If the miles come up to be 400, then rate will be calculated as 100 * 400. Since 400 is less than 1000.
Similarly, if the rate base is required for weight-based rate, then the weight-based break master would be associated with the rate base and all the values would represent the weights and user can specify a rate for each weight. E.g., if weight is less than 10 lbs., use rate as $5. During shipment if the weight is determined to be 4 lbs., then 5*4 = 20$ will be charged to the customer as shipment charges.
Rate base assignment
Rate base assignment defines the source or the origin of the shipment
Rate master allows the users to associate rate base assignments with the rate base. To access rate master, navigate to D365FSCM> Transportation management> Setup> Rating> Rate master. While creating rate master, the value in the Rating metadata ID field will determine the data needed to configure the rate master (This is the meta data that was initialized in the pre-requisites section). Within the rate master, a user can specify from location i.e., the location from where the load / shipment needs to be picked up in the rate base assignment section. Then in the rate base, the rates can be configured for each break master created.
Rating profile is the association of shipping carrier, shipping service, TMS engine and the rate master. The user also needs to specify assembly or the DLL that has the logic for processing of particular TMS engine.
Routing Configuration / Setup
The routing configuration involves setting up of three components i.e., Routing guide, Route plan and Route schedules. Like the rating configuration, TMS leverage values configured in these components to determine routes required to fulfill a particular shipment request.
Route guide defines the direction of the shipment e.g., Inbound or outbound. As the name suggests, the inbound direction is for the shipments that are coming into the company’s warehouse from Vendor(s). Whereas the outbound is for the shipments going from the company’s warehouse to the Customer(s).
Note: While defining routing guide, its recommended to define direction to either inbound or outbound particularly when the direction is known. By defining the direction appropriately, the system (while processing) can filter more efficiently on the routing guides that are applicable. If it is set to ‘None’ then the system will consider the route guide for both inbound and outbound.
Route plans consists of the route segments i.e., origins, destination hubs etc. Within the segments, user can specify any additional charges involved within that segment. These charges are termed as Spot Rates. E.g., A shipment being transported from source to destination. The charges for the shipment would be considered as the Freight charges, whereas if there are additional charges such as loading / unloading charges, docking charges etc. these can be specified as the Spot charges.
Every route segment has origin and destination hubs. The critical information that is leveraged by the system when defining hubs within a route segment is the address e.g., zip codes, country of origin or destination etc. Using the information within the Hub(s), system can determine what charges to be associated based on distance traveled.
Routes are generated by the system based on the Route guide and route plan. When a load is created and required to be shipped, a route is assigned to it for transporting it from warehouse location to the customer location following the specification / segments configured within route plan.
Routing schedules provides ability to the user to specify any re-current shipments using specific routes. E.g., a retailer that requires to send shipment to replenish their stores on a regular schedule can leverage route schedules as desired (day(s) of week, weekend etc.). When the route schedules are defined within a route plan, system automatically generates routes based on the schedules and any associated shipment / spot charges.
Apart from Routing configuration, the transportation management system provides a very useful functionality to specify constraints or restrictions applicable to a particular route(s) based on the desired criteria. User can define either item level or shipment level restriction. E.g., any specific item, like Hazmat material cannot be shipped via Air. Or restrict less than truck (LTL) load shipment to specific customer etc.
Rate route work bench.
For planning loads for shipments with respect to rates and route, the TMS system within D365FSCM provides a single form i.e., Rate route workbench. All the configuration that has been completed within the rating and the routing section will act as the backend data source for all the functionalities that are provided within rate route work bench. This form can be accessed from a lot of different places / origin points such as load planning, loads, or directly from order. The advantage of accessing this form from a particular origin point such as sales order is that all the required information gets auto populated from the sales order.
Within the Rate route workbench, following are the main functionalities:
Rate – Retrieves the best rate available (lowest rate).
Rate shop – Retrieves multiple rate and route options to choose from.
Route – Only retrieves the available routes that matches the source and destination criteria.
Route with rates – Retrieves the available routes with associated rates that matches the source and destination criteria.
Scheduled routes. – Retrieves the scheduled routes (if applicable) based on the source and destination criteria.
By leveraging Transportation management system, charges allocation for the load / small parcel shipment can be managed by appropriately configuring the out of the box components (Rate engines / Routes etc.). For more details regarding the above TMS setup / rating and routing scenario or in case of any other technical challenges or inquiries of custom rating engine solution, please feel free to reach out to me at email@example.com