Monday, June 15, 2015

Microsoft Dynamics AX 2012 R3 – WMS/TMS scenario - Part 2 (TMS setup)

Now we can switch to TMS portion setup. The idea is that I'll need to ship product(s) from WA (Zip code 98052) to GA (Zip code 30009)
TMS (98052 -> 30009) setup process diagram

<![if !vml]><![endif]>
When setting up TMS portion I'll need to answer a number of questions defining how I want to transport goods. Here's the logical list of questions:
- How will transport the goods (which shipping carrier)
- How will carrier deliver the goods (what services, for example, standard or expedited)
- How much will it cost to deliver goods based on certain criteria (cost, time, distance, etc.)
- More specifically how much will it cost and why (based on service and geo location)
- More specifically how big is the distance (based on geo location)
- More specifically how long will it take to deliver the goods (based on geo location)
Once you answer these questions and set up the system appropriately you'll be ready to plan your transportation loads. Let's see how this works 
First of all I'll initialize base transportation engines data in Transportation parameters with all the engines shipped with the product which is a huge help 
Transportation management parameters
Then before I review what system has generated for me I'll define transportation Miscellaneous charge based on charge code for Charge module = Customer which is needed in order to transfer transportation charges to sales order upon Outbound shipment confirmation
Miscellaneous charges
Here's how the original charge code looks like
Charges code
Please note that I specified Debit on Customer and Credit onto Ledger account
I'll also need transportation mode as defined below, I'll use "Ground" for simplicity
After this we're ready to set up transportation carrier, I'll call it "Contoso", it may be external party associated with vendor account or internal party if you operate your own fleet depending on your business requirements
Please note that I marked "Use carrier" and "Activate carrier rating" checkboxes which is required for future transportation Rate shopping. As the next step I'll add Service to carrier using data I created earlier
Carrier - Service
After the system initialized engines data for me a number of data elements have been created. Here's how Rate base types look like. I'll focus my attention on P2P rate base type for clarity
Rate base type – Rate base
Please notice that for P2P rate base type a certain meaningful data setup elements have been already defined. By looking at the setup I'll need at least to specify country (and Zip code) in order to define rates for the places I can expect my goods to be delivered to (Drop off …)
Rate base type – Assignment
Out of the box transportation engines come with the product in Microsoft.Dynamics.Ax.TMS.dll assembly which can be found in Server directory
Engines assembly
Here's the list of engines, but I'll focus my attention on P2PMileage engine for clarity
Rate engine
The idea is that in order to identify transportation rate P2P mileage engine will be used, the rates will be assigned based on Pick up Country (as specified in Rate base type – Assignment above), and apportionment engine based on weight will be used to apportion transportation charges onto sales order line(s)
Rate engine – P2PMileage - Parameters
Here's the details of apportionment engine
Apportionment engine (Generic engine)
For the apportionment engine in use the system will be looking at Route > Segment > Shipment > Container > Line apportionment hierarchy apportioning to Shipment level only taking into account product Weight (please recall Product physical dimensions setup to make it happen)
Apportionment engine - Parameters
Please note that there's a number of apportionment engines available as shown above. The general idea behind apportionment of transportation charges is that taking into account total amount from transportation invoice this amount gets allocated to each order line item on the associated order based on certain criteria. Apportionment criteria may be by weight (based on product data), by volume (based product data), by product cost, by price (net unit price of the product), etc.
In order to understand how transportation time is defined we'll take a look at Transit time engine
Transit time engine
Transit time engine – Details
Please note that I defined 7 days to be required to transport goods from WA (98052) to GA (30009) using Standard service (STD). And this is how I can tell which data elements are required to define transit time. Transit time field screen suggests that I need to specify at least Pick up and Drop off Countries to define transit days
Transit time field
Transit time engine - Parameters
Then we'll create a rate master to define transportation rate and tie it to P2P rate base type
Rate master (created from scratch)
Below we'll see already familiar setup for Rate base type – Assignment based on Pick up Country
Rate master – Rate base type
Rate base setup is still empty, so we'll need to create appropriate setup there
Rate master – Rate base
But before we do this we'll need to introduce Break master defining how we assign rates based on distance buckets. That's why we'll go ahead with creation of a new Break master
Break master (created from scratch)
For simplicity I created Empty Break master charging for each mile as opposed to miles buckets (for example, <100 miles, <200 miles, etc.). Now we can tie it all together (Break master with Rate base setup for Rate master)
Rate base - Details
As you can see I defined that 10$ will be charges for each mile between WA (98052) and GA (30009) for simplicity
Rate base - Search
Note: In case Search screen is not showing you newly created Rate base details please refresh the screen (F5). Now we'll take another look at Rate base type – Rate base setup
Rate base type
And then review the final setup pf Rate master
Rate master
Rate master – Rate base assignment
The rate will be assigned based on Pick up Country and Pick up Zip code criteria from Rate base (P2PMileageBase) for Standard Service (STD)
Now we have enough data to define Shipping carrier Rating profile
Shipping carrier – Rating profile
Shipping carrier – Rating profile
We still remember Rate engine setup as shown below
Rate engine
Rate engine - Parameters
Now using Mileage engine we'll define what will be the distance between point A (WA, 98052) and point B (GA, 30009) for transportation
Mileage engine
Mileage engine field setup suggest what info will be needed to define distance(s), we'll need at least Pick up Zip code and Drop off Zip code
Mileage engine field
Mileage engine - Parameters
Now I can define that the distance between WA, 98052 and GA, 30009 will be 500 miles
Mileage engine - Details
Mileage engine - Details
The next logical step is to define transportation route. You can define it in number of ways. For example, below I defined Route guide with Shipping carrier, Carrier service and Delivery terms criteria
Route guide
Route guide – Origin/Destination
Terms of delivery
You can define Route guide using Route plan
Routing guide
Route plan
Route plan allows me to define multi-stop routes with hubs if necessary
Route plan - Details
Hub master
You may use different hub types, for example, Warehouse, DC (Distribution center), etc.
Hub type
Ultimately you can define stop rates for route segments as necessary
Spot rates
When all the setup is complete you can open Rate route workbench and do Rate shopping
Rate route workbench (Rate shop)
As the result you will see that the system will suggest transportation option exactly based on what we've set up earlier
Rate route workbench – Route results
Rate route workbench – Segments (Segment)
Rate route workbench – Segments (Details)


  1. There are many transport management software in India available online. But, Fretron is an end-to-end transportation management system that can help shippers, carriers, and vendors streamline and automate their logistics management. It enables you to manage your logistics with freight tracking, order & dispatch management, no-issue billing, and more.

  2. Very informative content!!!!

    Fretron is providing TMS System for Manufacture which is the most effective measures for reducing costs & exposing supply chain inefficiencies.

  3. Great blog..!!

    Transportation Management System for Shippers: Easily plan, procure, execute and track shipments with a single transportation management system (TMS) for all modes and regions.