Microsoft Dynamics AX 2012 R3
October 2014
Transportation Management System Implementation Guide
This document provides functional and technical guidance to users who seek to implement or use the transportation management system provided as part of Microsoft Dynamics AX 2012 R3.
T ransportation Management System Implementation Guide White paper White paper
www.microsoft.com/dynamics/ax Send feedback.
1
Contents
Audience Overview of features
5 5
1.1
6
Understanding the Transportation Transportation management parameter s
2.1
Overview of case study 2.1.1 Inbound transportation 2.1.2 Outbound transportation 2.1.3 Carrier contracts 2.2 Carrier setup 2.2.1 Rate base type 2.2.2 Modes 2.2.3 Case study continued 2.2.4 Transportation methods 2.2.5 Case study continued 2.2.6 Break masters 2.2.7 Case study continued 2.2.8 Shipping carriers 2.2.9 Case study continued 2.2.10 Rate master 2.2.11 Case study continued 2.2.12 Rating profiles 2.2.13 Case study continued 2.3 Charges setup 2.3.1 Accessorial charges 2.3.2 Case study continued 2.3.3 Miscellaneous charges 2.3.4 Override charges 2.4 Discounts 2.5 Routing setup 2.5.1 Route plan 2.5.2 Route guide 2.5.3 Routing constraints 2.6 Load building workbench 2.7 Appointment scheduling 2.7.1 Business model 2.7.2 Setup 2.7.3 Driver check-in and check-out using a mobile device 2.8 Freight reconciliation
9 9 9 9 10 10 10 10 11 11 12 12 16 16 18 19 25 25 26 26 27 28 29 30 31 31 31 32 34 36 36 36 37 37
3.1 Business case 3.2 Rate engine requirements 3.3 Implementation 3.3.1 Implementation assumptions 3.3.2 Rate engine design 3.3.3 Engine implementation 3.4 Engine enablement and carrier setup
42 42 42 42 43 43 45
2 Transportation Management System Implementation Guide White paper
Contents
Audience Overview of features
5 5
1.1
6
Understanding the Transportation Transportation management parameter s
2.1
Overview of case study 2.1.1 Inbound transportation 2.1.2 Outbound transportation 2.1.3 Carrier contracts 2.2 Carrier setup 2.2.1 Rate base type 2.2.2 Modes 2.2.3 Case study continued 2.2.4 Transportation methods 2.2.5 Case study continued 2.2.6 Break masters 2.2.7 Case study continued 2.2.8 Shipping carriers 2.2.9 Case study continued 2.2.10 Rate master 2.2.11 Case study continued 2.2.12 Rating profiles 2.2.13 Case study continued 2.3 Charges setup 2.3.1 Accessorial charges 2.3.2 Case study continued 2.3.3 Miscellaneous charges 2.3.4 Override charges 2.4 Discounts 2.5 Routing setup 2.5.1 Route plan 2.5.2 Route guide 2.5.3 Routing constraints 2.6 Load building workbench 2.7 Appointment scheduling 2.7.1 Business model 2.7.2 Setup 2.7.3 Driver check-in and check-out using a mobile device 2.8 Freight reconciliation
9 9 9 9 10 10 10 10 11 11 12 12 16 16 18 19 25 25 26 26 27 28 29 30 31 31 31 32 34 36 36 36 37 37
3.1 Business case 3.2 Rate engine requirements 3.3 Implementation 3.3.1 Implementation assumptions 3.3.2 Rate engine design 3.3.3 Engine implementation 3.4 Engine enablement and carrier setup
42 42 42 42 43 43 45
2 Transportation Management System Implementation Guide White paper
3.4.1 Create a rate base type 3.4.2 Create a rate engine in Microsoft Dynamics AX 3.4.3 Create a one -dimensional break master 3.4.4 Create a rate master 3.4.5 Create a carrier 3.4.6 Assign charges 3.5 Testing 3.6 Conclusion
45 46 46 46 47 48 50 50
4.1 Manually create rate base types
51
3 Transportation Management System Implementation Guide White paper
Additional resources Use the following links to access blog posts and white papers on the subjects not covered in this document or resources that provide supplemental guidance: •
Transportation management online Help on TechNet
•
Implementing and deploying transportation management engines
•
Transportation management mileage engine based on Bing maps
•
Third -party transportation management engines (UPS, FedEx, Progistics, PCMiler)
•
Using transportation management without the ne w warehouse management module
4 Transportation Management System Implementation Guide White paper
Transportation Management System Implementation Guide The purpose of this document is to provide functional and technical guidance to users who are looking to implement or use the Transportation Management System (TMS) provided as part of the Microsoft Dynamics AX 2012 R3 solution. This document walks you through a case study where TMS is set up from scratch, with detailed information about the various fields found in the module. This document is a supplement to the online Help for Transportation Management that’s available on TechNet.
Audience The audience of this document is implementation consultants and users who want to analyze the transportation situation at a company and perform the setup that is required in order to use the TMS in Microsoft Dynamics AX 2012 R3.
Overview of features The transportation management features that are mentioned in this document are grouped in the following scenario groups: Setup Transportation planning Selection of the carrier Freight reconciliation Appointment scheduling •
•
•
•
•
1. Setup requirements From a user perspective, the minimum setup needed to enable the TMS module is at least one carrier that is set up with one service. We can then assign a rate and a route to the load and ship the goods. Transportation planning is triggered based on the demand for what needs to be transpor ted in the form of sales orders, purchase orders, or transfer orders. These orders can then be consolidated into loads, depending on the volume or weight which is compared to the capacity that is set up. When the transportation and loads are planned, rating and routing can be performed to find the least expensive transportation method or the most optimal carrier. Before you can set up the carrier, some previous setup is needed in the transportation management parameters and engines setup. A more detailed explanation of this setup follows. The case studies presented in this document only discuss the setup of TMS, any additional setup that is required in other modules will be assumed to already be set up.
5 Transportation Management System Implementation Guide White paper
1.1
Understanding the Transportation management parameters
The transportation management parameters are located in .
>
>
The following table shows the general parameters that are on the FastTabs in the form. Default duration
Appointment scheduling
The number of minutes for each appointment. You can change the default number of minutes, depending on what the carrier will collect and deliver.
6 Transportation Management System Implementation Guide White paper
Alert interval
Driver check-in and check-out
The number of minutes before an appointment alert.
Write vendor invoice journal
Vendor invoice
Select this check box if you want to apply freight reconciliation to pay vendors. Clear this check box if you want to match the freight bill with the invoice amount in Microsoft Dynamics AX 2012, and then copy the results to a system outside AX 2012.
Post journal
Vendor invoice
Select this check box to automatically post the t he invoice journal after the invoice has been approved.
Freight bill transaction text
Vendor invoice
The text that appears on the general ledger journal line that is generated for a freight bill.
Vendor journal name
Vendor invoice
The journal name that is selected in the f ield under , i n the f orm. The journal name is a template for journals, where you maintain settings such as posting restrictions for selected users or user groups.
Default note type
Vendor invoice
The note type for invoice line reconciliation reconciliation..
Automatically match and pay the freight invoice
Vendor invoice
When this check box is selected, the freight invoice is automatically matched with and paid to the vendor. vendor. If the check box is cleared, you must manually complete the matching and payment.
Match interval
Vendor invoice
The number of seconds between searches for matching freight invoices and invoice journal lines.
Enable invoice workflow
Vendor invoice
Select this check box to process p rocess the vendor invoice through a workflow approval process process when the invoice is submitted for approval. You You can create workflows for vendor invoicing in , in the f orm, under . The invoice process uses a workflow of the type.
Workflow user
Vendor invoice
The user who can process the vendor invoice workflow workflow..
Port hub type
Hub type
The type of hub master that is associated with the accessorial assignment.
Plan by shipment
Shipment
You can plan by load or by shipment. Planning by shipment is more detailed than planning by load. To plan by shipment, select this check box. To plan by load, clear this check box. •
•
In transit planning
In transit planning
Select this check box to enable dynamic route planning, where any segment of a route can be assigned a distinct route.
Automatically create sales order entry
Loads
When this check box is selected, a load is automatically created when you create a sales order line.
Automatically create a purchase order entry
Loads
When this check box is selected, a load is automatically created when you create a purchase order line.
Automatically create at transfer order entry
Loads
When this check box is selected, a load is automatically created when you create a transfer order entry entr y.
Override outbound shipped confirmation date
Loads
When this check box is selected, the outbound ship confirm date on the load will be overridden.
Create customer charges for direct delivery
Direct delivery
When this check box is selected, customer charges are created when you rate the load.
Initialize base engine data
Engines
Click base engines.
t o run a data initialization job for the
7 Transportation Management System Implementation Guide White paper
Before starting the setup set up of TMS, you can automatically initialize base engine data to create engine setup data for all the engines that were included with Microsoft Microsoft Dynamics AX 2012 20 12 R3. If you initialize the base bas e engine data in this manner,, data is initialized per company and existing engine data that is set up in individual companies may be manner disregarded. To initialize base engine data automatically automatically,, follow these steps: Click > > 1. Under the l ink, click the F astTab. 2. Click the b utton. 3.
.
This initializes all of the base engines and rate base types included with Microsoft Dynamics AX 2012 R3. The following illustration shows the engines that are initialized.
For the Point to point mileage engine, it’s important to set up the postal codes from the company to the customers to calculate distances. This engine requires that data is defined in the system in order to determine mileage between two addresses, and needs to be set up for each destination. This can also be done using external ser vices, such as Bing Maps or PCMiler. PCMiler. For more information about how to set up these services, ser vices, see Transportation management m anagement mileage mi leage engine based on Bing maps. maps.A lso, see Third-party transportation management engines (UPS, FedEx, Progistics, PCMiler).. PCMiler)
2. Case study 1 – T Transportation ransportation management setup The case study in this document is divided into two parts. The first part demonstrates how to set up TMS parameters with carriers, services, ser vices, and accessorial charges in order to enable rating and routing of shipments. The second part of the case study discusses a technical approach to creating a new rate engine that conforms to the needs of a specific business case.
8 Transportation Management System Implementation Guide White paper
2.1
Overview of case study
The business case for the first part of the case study analyzes a medium -sized distribution company that is in need of organizing inbound and outbound transportation.
2.1.1 Inbound transportation On the inbound side, the scenario is fairly simple: they need to organize the transportation from the vendor’s site to their own warehouse. They prefer to organize the process themselves, because they have a good contract with their carriers that provides a lot of savings on a yearly basis. When the transportation charges are then transferred to the purchase order as miscellaneous charges, they will be included as part of the landed costs. The nature of their business is also such that they have a fairly limited number of vendors (3–4) from which they get their supplies.
2.1.2 Outbound transportation The picture on the outbound side is somewhat more complicated than on the inbound side. They have a large number of customers across the US, to whom they ship in different ways. They have transportation contracts with approximately 20 carriers. Some of these can be categorized in the same type, but for the most part they have some differences.
2.1.3 Carrier contracts The carrier contracts used in this case study can be summarized in the following categories.
1
Truck
X
2
Truck
3
Rail
4
LTL
5
Ocean
6
Parcel
X
1
Truck
Mileage, Volume
X
X X
X
X X
X X
X
Mileage Mileage
2
Truck
3
Rail
4
LTL
5
Ocean
6
Parcel
Transit time
Volume
Per rail car Per container Unit
We can divide the preceding tables into several parts: d one with the help of the engines e ngines (Mileage, Weight, Volume, Volume, Zones, Commodity code, and LTL LTL 1. Setup to be done classification columns). This part of the case study will use the existing engines shipped out -of -the-box with Microsoft Microso ft Dynamics AX 2012 20 12 R3. 9 Transportation Management System Implementation Guide White paper
Setup to be done directly on the carrier form configuration (Accessorial charges columns). In the carrier form, we need to add the structure for adding the accessorial charges when the rating for that carrier is called out. 3. The Flat rate column can be set up in the execution process, and no particular engine setup is needed. The setup of accessorial charges in this case study will only include the flat rate set up for carrier 5. Examples of the other accessorial charges seen in the preceding table will be included in future versions of this document. An example of the setup of fuel surcharges is shown in section 3. Case study 2 -E ngines . 2.
2.2
Carrier setup
Before setting up shipping carriers, the rate base types, modes, transportation methods , and break masters need to be defined.
2.2.1 Rate base type Each rate base type defines the structure of its rate base and its rate base assignment. The rate base type can be applied to any rate master. It defines lookup criteria that are used to determine rates of a shipping carrier. There are several rate base types included in Microsoft Dynamics AX 2012 R3 that will be created after initializing base engine data in the transportation management parameters. The manual setup of these rate base types can be seen in the appendix. It’s possible to create different user -defined rate base types. To view the rate base types, go to > > > . The following table describes the fields available to configure the additional lookup criteria for rate base or assignment in the f orm.
Sequence
Indicates the sequence of the lookup fields on the f orm. You can change the sequence, if needed.
FastTab in the
Name
Enter a name for the lookup criteria. The name that you enter here is used as a lookup field on the FastTab in the f orm.
Field type
Specify the lookup criteria as rate based or assignment based.
Data type
Select a data type for the break unit.
Lookup type
Select the criteria for the break unit.
Mandatory
Select this check box to make the user-defined fields mandatory for the selected rate base or rate base assignment.
2.2.2 Modes The transportation modes represent the form of transport that the carrier uses for freight deliveries.
2.2.3 Case study continued 1. 2.
Go to > > Click , and then enter the following field values: Mode = Truck Name = Truck Repeat step 2 for , , , , , and
>
.
•
•
3.
.
10 Transportation Management System Implementation Guide White paper
2.2.4 Transportation methods Transportation methods represent the method of transport, such as ground, air and ocean.
2.2.5 Case study continued 1. 2.
Go to > > Click , and then enter t he following field values: Mode = Ground Name = Ground Repeat step 2 for a nd .
>
.
•
•
3.
11 Transportation Management System Implementation Guide White paper
2.2.6 Break masters Break masters are used to define the pricing structure and its breakpoints. The pricing structure uses tiered pricing that is based on physical dimensions. The brake masters are then used by rate bases to define rates for each of the breakpoints.
2.2.7 Case study continued The break masters in this case study will show examples of different common breakpoints with several dimensions, as well as one -dimensional breakpoints. To begin, go to
2.2.7.1 1.
>
>
>
.
Czarlite
In the upper part of the form, click , and then enter the following field values: Break master = Czarlite Name = Czarlite Data type = Integer Comparison = < Break unit = Lbs Expand the group. Click , and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . •
•
•
•
•
2. 3. 4. 5. 6. 7. 8. 9.
2.2.7.2 1.
Empty
In the upper part of the form, click , and then enter the following field values: Break master = Empty Name = Empty Data type = String Expand the group. Click , and then, in the f ield, enter . •
•
•
2. 3.
12 Transportation Management System Implementation Guide White paper
2.2.7.3 1.
Mileage
In the upper part of the form, click , and then enter the following field values: Break master = Mileage Name = Mileage Data type = Integer Comparison = < Break unit = Miles Expand the group. Click , and then, in the f ield, enter . Click a gain, and then, in the field, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click again, and then, in the f ield, enter . •
•
•
•
•
2. 3. 4. 5. 6. 7. 8. 9.
13 Transportation Management System Implementation Guide White paper
2.2.7.4 1.
Weight
In the upper part of the form, click , and then enter the following field values: Break master = Weight Name = Weight Data type = Real Comparison = < Break unit = lbs Expand the group. Click , and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . •
•
•
•
•
2. 3. 4. 5. 6. 7.
2.2.7.5 1.
Volume
In the upper part of the form, click , and then enter the following field values: Break master = Volume Name = Volume Data type = Real Comparison = < Break unit = m3 Expand the group. Click , and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . •
•
•
•
•
2. 3. 4. 5. 6. 7.
14 Transportation Management System Implementation Guide White paper
2.2.7.6 1.
Piece
In the upper part of the form, click , and then enter the following field values: Break master = Piece Name = Piece Data type = Integer Comparison = <= Break unit = Pcs Expand the group. Click , and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . Click a gain, and then, in the f ield, enter . •
•
•
•
•
2. 3. 4. 5. 6.
15 Transportation Management System Implementation Guide White paper
2.2.8 Shipping carriers When the modes, transportation methods and break masters are set up, it is possible to create the shipping carriers. To view shipping carriers, go to The fields in the
>
>
>
.
FastTab are described in the following table.
Shipping carrier
Enter a unique identifier (ID) for the shipping carrier.
Use carrier
Select this check box to use the specified shipping carrier for shipment.
Mode
Select the ID for the shipment mode.
Vendor
Select the vendor account to which you want to assign the shipping carrier.
SCAC
Enter an ID for the Standard Carrier Alpha C ode (SCAC).
Activate carrier rating
Select this check box to enable automatic rating for the shipping carrier.
Transportation tenders
Optional: Select one of the following methods for updating t he details of transportation tender: – Select this if you do not want to use any transportation tender. – Manually update the transportation tender details by using the f orm. – Automatically update the transportation tender details by using an Electronic Data Interchange (EDI) in the f orm. •
•
•
Pro number sequence The fields in the
Optional: Select a number sequence that is associated with a generic engine. FastTab are described in the following table.
Carrier service
Enter a unique ID for the carrier service.
Transportation method
Select the ID for the transportation method.
External code
Enter an external code for the shipping carrier.
Billing group ID
Select the ID for the billing group.
Load template ID
Optional: Select the ID for the load template.
The fields in the
FastTab are described in the following table.
Rating profile
Enter a unique ID for the rating profile.
Shipping carrier
Select the shipping carrier to be associated with the rating profile.
Rating engine
Select the rating engine to use for the rating profile.
Rate master
Select the rate master to use for the rating profile.
Transit time engine
If applicable, select the transit time engine to be used for the rating profile.
Carrier fuel index
If applicable, select the carrier fuel index to be used for the rating profile.
2.2.9 Case study continued For the first part of the setup we’ll define the name, mode, and ser vice of the shipping carriers. After that, the rating of each shipping carrier will be set up in the and form. Set up the shipping carriers as follows.
2.2.9.1 1.
Carrier 1
Click , and then enter the following field values: Shipping carrier = Carrier 1 •
16 Transportation Management System Implementation Guide White paper
Use carrier = Yes Mode = Truck Name = Carrier 1 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Carrier service = STD Name = STD Transportation method = Ground •
•
•
•
2. 3.
•
•
•
2.2.9.2 1.
Carrier 2
Click , and then enter the following field values: Shipping carrier = Carrier 2 Use carrier = Yes Mode = Truck Name = Carrier 2 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Carrier service = STD Name = STD Transportation method = Ground •
•
•
•
•
2. 3.
•
•
•
2.2.9.3 1.
Carrier 3
Click , and then enter the following field values: Shipping carrier = Carrier 3 Use carrier = Yes Mode = Rail Name = Carrier 3 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Carrier service = STD Name = STD Transportation method = Ground •
•
•
•
•
2. 3.
•
•
•
2.2.9.4 1.
Carrier 4
Click , and then enter the following field values: Shipping carrier = Carrier 4 Use carrier = Yes Mode = LTL Name = Carrier 4 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Carrier service = STD Name = STD Transportation method = Ground •
•
•
•
•
2. 3.
•
•
•
2.2.9.5 1.
Carrier 5
Click , and then enter the following field values: Shipping carrier = Carrier 5 Use carrier = Yes Mode = Ocean •
•
•
17 Transportation Management System Implementation Guide White paper
Name = Carrier 5 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Carrier Service = STD Name = STD Transportation method = Ocean •
•
2. 3.
•
•
•
2.2.9.6 1.
Carrier 6
Click , and then enter the following field values: Shipping carrier = Carrier 6 Use carrier = Yes Mode = Parcel Name = Carrier 6 Activate carrier rating = Yes Expand the group. Click , and then enter the following field values: Service = STD Name = STD Transportation method = Ground •
•
•
•
•
2. 3.
•
•
•
At this point, only basic information regarding the carriers has been created as the transport method and ser vice. The information about rate masters and rating profiles will also populate the f orm after it’s created.
2.2.10 Rate master The rate master defines the rate base assignment and rate base, and is then associated with a shipping carrier through rating profiles. It is important to note that the rate base type of the rate master must correspond to the rate base type of the shipping carrier’s rating engine. The rate base determines the rate of the carrier, and can be used to set up a tariff structure as it structures the rates in the breakpoints defined in the form. You can create multiple rate bases for a rate master. The rate bases are unique to the rate master. In principle, the rate masters are used to determine the available rates for the shipping carrier and determine whether the rates will use the shipping carrier for an assignment when rate shopping in the . To create rate masters, go to
>
>
>
.
18 Transportation Management System Implementation Guide White paper
2.2.11 Case study continued The next step is to create rate masters for each shipping carrier. Set up the rate masters as follows.
2.2.11.1 1.
Carrier 1 Rate master
Click , and then enter the following field values: Rate master = Carrier 1 RM Name = Carrier 1 RM Rate base type = Mileage Rate master = Carrier 1 RM Expand the group. Click . Right-click a rate base, and then click . In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 1 RB Name = Carrier 1 RB Break master = Mileage Currency = USD In the lower part of the form, click , and then enter the following field values: Add on charge = 0 < 50 miles = 1 < 100 miles = 0.97 < 200 miles = 0.96 < 300 miles = 0.95 < 500 miles = 0.94 < 900 miles = 0.93 < 3000 miles = 0.9 •
•
•
•
2. 3. 4. 5.
•
•
•
•
6.
•
•
•
•
•
•
•
•
Close the f orm. 8. On the rate base assignment line, enter the following field values: Name = Carrier 1 RBA Rate base = Carrier 1 RB Service = STD The purpose of the rate setup for this carrier is that the mileage rate should get lower for longer trips. 7.
•
•
•
2.2.11.2 1.
Carrier 2 Rate master
Click , and then enter the following field values: Rate master = Carrier 2 RM •
19 Transportation Management System Implementation Guide White paper
Name = Carrier 2 RM Rate base type = PostalZoneWeight Expand the group. Click . Right-click a rate base, and then click . In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 2 RB Name = Carrier 2 RB Break master = Weight Currency = USD In the lower part of the form, click , and then enter the following field values: Zone = 2 < 1 lbs = 2 < 5 lbs = 9 < 20 lbs = 17 < 100 lbs = 70 < 1000 lbs = 300 •
•
2. 3. 4. 5.
•
•
•
•
6.
•
•
•
•
•
•
7. 8.
Close the f orm. On the rate base assignment line, enter the following field values: Name = Carrier 2 RBA Rate base = Carrier 2 RB Service = STD •
•
•
2.2.11.3 1.
Carrier 3 Rate master
Click , and then enter the following field values: Rate master = Carrier 3 RM Name = Carrier 3 RM Rate base type = VolumeSTCC Expand the group. Click . Right-click a rate base, and then click . In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 3 RB Name = Carrier 3 RB Break master = Volume Currency = USD •
•
•
2. 3. 4. 5.
•
•
•
•
20 Transportation Management System Implementation Guide White paper
6.
In the lower part of the form, click , and then enter the following field values: STCC = 1234567 (Standard goods) < 1.00 m3 = 20 < 5.00 m3 = 100 < 20.00 m3 = 400 < 50.00 m3 = 1000 < 100.00 m3 = 2000 Click i n the lower part of the form again, and then enter the following field values: STCC = 9999999 (Inflammable goods) < 1.00 m3 = 40 < 5.00 m3 = 200 < 20.00 m3 = 800 < 50.00 m3 = 2000 < 100.00 m3 = 4000 •
•
•
•
•
•
7.
•
•
•
•
•
•
Close the f orm. 9. On the rate base assignment line, enter the following field values: Name = Carrier 3 RBA4 Rate base = Carrier 3 RB Service = STD Pickup Postal Code = 46032 Destination start postal code = 00001 Destination end postal code = 99950 Destination country = USA The purpose of the rate for this carrier is to have different rates apply, depending on the type of goods shipped. 8.
•
•
•
•
•
•
•
2.2.11.4 1.
Carrier 4 Rate master
Click , and then enter the following field values: Rate master = Carrier 4 RM Name = Carrier 4 RM Rate base type = LTL Expand the group. Click . •
•
•
2. 3.
21 Transportation Management System Implementation Guide White paper
4. 5.
Right-click a rate base, and then click . In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 4 RB Name = Carrier 4 RB Break master = Czarlite Currency = USD In the lower part of the form, click , and then enter the following field values: Class = 100 < 500 miles = 500 < 1000 miles = 450 < 2000 miles = 430 < 10000 miles = 400 < 20000 miles = 300 < 30000 miles = 250 < 40000 miles = 200 •
•
•
•
6.
•
•
•
•
•
•
•
•
7. 8.
Close the f orm. On the rate base assignment line, enter the following field values: Name = Carrier 4 RBA Rate base = Carrier 4 RB Service = STD Origin postal code = 46032 Destination start postal code = 00001 Destination end postal code = 99950 Destination country = USA •
•
•
•
•
•
•
2.2.11.5 1.
Carrier 5 Rate master
Click , and then enter the following field values: Rate master = Carrier 5 RM Name = Carrier 5 RM Rate base type = P2P Expand the group. Click . Right-click a rate base, and then click . •
•
•
2. 3. 4.
22 Transportation Management System Implementation Guide White paper
5.
In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 5 RB Name = Carrier 5 RB Break master = Empty Currency = USD In the lower part of the form, click , and then enter the following field values: Drop-off postal code from = 00001 Drop-off postal code to = 55001 Drop-off country = USA Rate = 15 Click i n the lower part of the form again, and then enter the following field values: Drop-off postal code from = 55002 Drop-off postal code to = 99950 Drop-off country = USA Rate = 35 •
•
•
•
6.
•
•
•
•
7.
•
•
•
•
Close the f orm. 9. On the rate base assignment line, enter the following field values: Name = Carrier 5 RBA Rate base = Carrier 5 RB Service = STD Pick-up country = USA The purpose of the rate for this carriers is to have different rates apply, depending on the destinations postal code. 8.
•
•
•
•
2.2.11.6 1.
Carrier 6 Rate master
Click , and then enter the following field values: Rate master = Carrier 6 RM Name = Carrier 6 RM Rate base type = PostalZoneWeight2 Expand the group. Click . Right-click a rate base, and then click . In the upper part of the form, click , and then enter the following field values: Rate base = Carrier 6 RB Name = Carrier 6 RB Break master = Piece Currency = USD •
•
•
2. 3. 4. 5.
•
•
•
•
23 Transportation Management System Implementation Guide White paper
6.
In the lower part of the form, click Zone = 2 <= 1 Pcs = 2 <= 10 Pcs = 9 <= 100 Pcs = 85 <= 1000 Pcs = 700
, and then enter the following field values:
•
•
•
•
•
7. 8.
Close the f orm. On the rate base assignment line, enter the following field values: Name = Carrier 6 RBA Rate base = Carrier 6 RB Service = STD •
•
•
24 Transportation Management System Implementation Guide White paper
2.2.12 Rating profiles The next step is to associate the shipping carrier with a rate master and a rate engine. This is done by using rating profiles. A rating profile is unique for a shipping carrier. In this case study, the rating profile will be set up in the f orm, which has an over view of all existing rating profiles. You can also set up a rating profile directly from the f orm. The information that you set up for the rating profile is the same, regardless of how you access the setup. To create rating profiles, go to
>
>
>
.
2.2.13 Case study continued Set up the rating profiles as follows. 1.
Click , and then enter the following field values: Rating profile = Carrier 1 RP Name = Carrier 1 RP Shipping carrier = Carrier 1 Rate engine = Mileage Rate master = Carrier 1 RM Transit time engine = PointToPoint Click , and then enter the following field values: Rating profile = Carrier 2 RP Name = Carrier 2 RP Shipping carrier = Carrier 2 Rate engine = PostalZoneWeight Rate master = Carrier 2 RM Transit time engine = PointToPoint Click , and then enter the following field values: Rating profile = Carrier 3 RP Name = Carrier 3 RP Shipping carrier = Carrier 3 Rate engine = VolumeSTCC Rate master = Carrier 3 RM Transit time engine = PointToPoint Click , and then enter the following field values: Rating profile = Carrier 4 RP Name = Carrier 4 RP Shipping carrier = Carrier 4 Rate engine = LTL Rate master = Carrier 4 RM Transit time engine = PointToPoint Click , and then enter the following field values: Rating profile = Carrier 5 RP Name = Carrier 5 RP Shipping carrier = Carrier 5 Rate engine = P2PContract Rate master = Carrier 5 RM Transit time engine = PointToPoint Click , and then enter the following field values: Rating profile = Carrier 6 RP Name = Carrier 6 RP Shipping carrier = Carrier 6 Rate engine = PostalZoneWeight Rate master = Carrier 6 RM Transit time engine = PointToPoint •
•
•
•
•
•
2.
•
•
•
•
•
•
3.
•
•
•
•
•
•
4.
•
•
•
•
•
•
5.
•
•
•
•
•
•
6.
•
•
•
•
•
•
25 Transportation Management System Implementation Guide White paper
Now that the setup of the rate profiles is done, the profiles will show up in the form.
2.3
FastTab in the
Charges setup
This section describes the setup of different charges in TMS. In order to add transpor tation charges to orders for invoicing, you need to make sure this is enabled in the f orm. The form can be found in several places, for this case study, go to > > > . For the delivery term that you plan to use, select the check box for
.
You need to do this for all of the deliver y terms where you want to add transportation charges to orders. If you’re using demo data, you might also need to change the preferred mode of delivery for each customer in order to receive rates for other carriers when performing rate shopping.
2.3.1 Accessorial charges You can associate a shipping carrier with one or more accessorial charges for surcharges, such as fuel surcharges. When you rate a shipment, you can calculate accessorial charges and assign those charges to freight transportation services. An accessorial assignment associates a carrier with a surcharge configuration, which is then used when you rate a shipment. Before you can set up an accessorial assignment, you need to set up accessorial master and accessorial charges for carriers and/or hubs. The accessorial master is used to categorize the carrier accessorial and hub accessorial charges. To create accessorial assignments, go to can also access the form.
> f orm from the
>
> f orm and the
. You
26 Transportation Management System Implementation Guide White paper
The accessorial assignment is what defines the fees that apply to each accessorial charge. You can associate a shipping carrier with one or more accessorial assignments, for example you can have both fuel surcharges based on mileage and a flat fee surcharge to apply to specific warehouses under a specific period. The available options for the accessorial fee type are described in the following table.
Flat
The flat rate without any additional calculations. If you select this field, the following field becomes available: – Optional: Enter an assessorial fee to apply when the freight is rated. •
Per unit
The accessorial charge is calculated per unit of measure for the fuel charge. If you select this field, the following fields become available: elect a rating engine method. -S – Optional: Select a divisor. and ptional: Enter the maximum and -O minimum accessorial charges. ptional: Change the currency that is derived from the shipping carrier. -O •
•
•
•
Percentage
The accessorial fee is a percentage of the base shipping rate. Some of the fields that become available when you select this option correspond to the fields listed for the field. In addition to the fields listed for , the following field becomes available: nter the percentage to use for calculating accessorial charges. -E •
Fuel surcharge
The surcharge rate or percentage based on the carrier’s fuel index. Some of the fields that become available when you select this option correspond to the fields listed for the field. In addition to the fields listed for , the following fields become available: ptional: Change the region that is derived from the shipping carrier. This -O is the region where the fuel index is applied. ptional: Enter the number of offset days for which the fuel index will apply. -O •
•
2.3.2 Case study continued In this case study, we will set up accessorial charges for Carrier 5 to have a flat rate . First, we’ll create accessorial masters for the carrier. > > > 1. Go to and then enter the following field values: 2. Click Accessorial master = Carrier5Accessorial Accessorial type = Shipping carrier Name = Carrier 5 Accessorial •
•
•
27 Transportation Management System Implementation Guide White paper
The next step is to associate a shipping carrier with information such as carrier ser vice, an accessorial master, and a billing group. This is done by setting up carrier accessorial charges. Go to > > > . and then enter the following field values: 1. Click Carrier accessorial ID = Carrier 5 Shipping carrier = Carrier 5 Carrier service = STD Accessorial master = Carrier5Accessorial External code = AAA Billing group ID = Fuel Accessorial delivery type = None •
•
•
•
•
•
•
Now it’s possible to set up an accessorial assignment. Go to > > > Set up the accessorial charges as follows.
2.3.2.1 1.
Carrier 5 Accessorial charges
Click and then enter the following field values on the FastTab: Name = Carrier 5 Charge Accessorial master = Carrier5Accessorial Shipping carrier = Carrier 5 Carrier accessorial ID = Carrier 5 Billing group ID = Fuel External code = AAA On the FastTab, clear the c heck box. If selected, fuel surcharges will always be calculated for the selected accessorial fee type with the current set of filter criteria. On the FastTab, enter the following values: Accessorial fee type = Flat Accessorial fee = 50.00 Currency = USD If you select the c heck box, you use a shipper rate or a customer rate when accessorial charges are calculated. •
•
•
•
•
•
2.
3.
•
•
•
Carrier 5 now has flat fee of 50 USD as an accessorial charge, which is used when you rate a shipment.
2.3.3 Miscellaneous charges The landed transportation costs will be transferred to the sale, purchase, or transfer orders as miscellaneous charges and will be included as part of the landed costs. This is depe ndent on the delivery terms set up. To set up miscellaneous charges, go to
>
>
>
28 Transportation Management System Implementation Guide White paper
The following tables describes the fields on the
f orm.
Charges module
Select what charges module to apply to the charges. For instance, if you select “customer”, the charge definition will only apply to the “accounts receivable” and will take effect when creating charges associated with sales order lines.
Charges code
Select to determine the effective credit and debit account that will apply to the freight charge.
Miscellaneous charge type
Select the miscellaneous charge type to apply to the charges. This field decides which charge code to use for specific type of rates. Select one of the following types: – Select if you want the total rate charge to be applied to the order. S elect if you have a customer specific rate generated (for example, through discounts or override charges) and want a separate miscellaneous charge to be added on your source document lines for that rate. – Select if you have a vendor specific rate generated (for example, through vendor discounts) and want a separate miscellaneous charge to be added on your source document line for that rate. •
•
•
Site
Optional: Specify a site to filter the miscellaneous charges from.
Warehouse
Optional: Specify a warehouse to filter the miscellaneous charges from.
Carrier service
Optional: Specify a carrier service to filter the miscellaneous charges from.
Accessorial master
Optional: Specify an accessorial master that the miscellaneous charges should apply to.
Delivery terms
Optional: Specify a delivery term that the miscellaneous charge should apply to.
Transportation method
Optional: Specify a transportation method that the miscellaneous charges should apply to.
Mode
Optional: Specify a mode that the miscellaneous charges should apply to.
Invoice account
Optional: Specify to which customer invoice account the particular miscellaneous charge definition applies.
Ignore
Optional: If selected, the charges will be ignored.
Effective start date and time
Select the effective start date and time of the record.
Effective end date and time
Optional: Select the end date and time of the record.
2.3.4 Override charges Use override charges to assign a fixed transportation cost to customers or vendors to override the actual transportation rate. This could be set up for specific customers, carriers, routes, or carrier services. For example, this can be used if you have a specific contract with a customer to pay a fixed rate on all deliveries. To set up override charges, go to > > > .
29 Transportation Management System Implementation Guide White paper
2.4
Discounts
You can set up discounts to apply when performing rating and routing for shipments. Discounts can be set up to apply to certain shipping carriers, vendor accounts, dimensions, geographic locations, or customers. They can also be set up for a specific percentage of the shipping costs or a specific amount. The discount will be applied, show up in the rating and routing, and eventually appear on the freight bill. To set up discounts, go to
>
>
.
30 Transportation Management System Implementation Guide White paper
2.5
Routing setup
Routing setup is for advanced scenarios when a company manages the entire transportation process. This section describes how to set up a route plan and routing guide that you can use for complex transportation processes. Route plans contain route seg ments that provide information about freight deliver y. You must select route plans in order to set up a routing guide. The routing guide defines the transpor tation route.
2.5.1 Route plan Route plans contain route segments that provide information about the shipping carr ier, carrier ser vice, carrier group, origin and destination hubs, modes of transport, and other details per taining to freight delivery. To set up route plans, go to > > > .
2.5.2 Route guide Use the
f orm to set up a routing guide and select plans for it.
To set up route guides, go to
>
>
>
.
31 Transportation Management System Implementation Guide White paper
2.5.3 Routing constraints Routing constrains can be set up for items, shipments, or shipping carriers. Constraints are set up to either warn or restrict when rate shopping in the f orm. When set up to warn, a warning message indicates that the route should not be assigned to the freight. When set up to restrict, the constraint restricts the transportation coordinator from assigning a route to the freight. For example, you can set a constraint on hazardous chemicals so that the item is not transported using a particular shipping carrier. To set up an item constraint, follow these steps: > > > . 1. Go to area, click to create an item constraint. 2. In the 3. Enter an identifier (ID) and a name for the item constraint. 4. Optional: Select the site and warehouse in which this item constraint should be ap plied. field, select the item for which you want to set a constraint. If you want the constraint to apply to 5. In the several items, use the code fields. fields, select one or more filter codes to set the constraint for items that are assigned to the selected 6. In the filter codes. For example, if you select the filter code for inflammable items, then the constraint is applied to all inflammable items.
32 Transportation Management System Implementation Guide White paper
7. 8.
In the rightmost pane, on the F astTab, specify the conditions for the item constraint. In the f ield, select either or t o trigger a warning mes sage or restrict the transportation coordinator from assigning a route when the conditions for the items constraints are met in the f orm.
To set up a shipment constraint, follow these steps: > > > . 1. Go to . 2. In the left pane, click area, click to create a shipment constraint 3. In the 4. Enter an identifier (ID) and a name for the shipment constraint. 5. Optional: Select the site and warehouse in which this item constraint should be applied. 6. Select a customer or vendor account for the shipment for which you want to set a constraint. 7. Enter the maximum and minimum weight of the shipment. F astTab, specify the conditions for the shipment constraint. 8. In the rightmost pane, on the f ield, select either or t o trigger a warning mes sage or restrict the 9. In the transportation coordinator from assigning a route when the conditions for the shipment constraints are met in the f orm.
33 Transportation Management System Implementation Guide White paper
2.6
Load building workbench
The load building workbench is a new functionality in transportation management introduced in Microsoft Dynamics AX 2012 R3 Cumulative Update 8. The prerequisite for using load building workbench is that the products and warehouses that are included in the sales orders must be enabled for Warehouse management processes. You must also create one or more load templates because when you generate proposed loads, load building strategies use the attributes defined on the load template to determine what to put in each load. Go to > > You can also access the load building workbench by going to . On the , click .
. >
>
34 Transportation Management System Implementation Guide White paper
The fields on the
FastTab are explained in the following table.
Load building template
Select the template to use to generate the proposed loads, or enter a name for a new template.
Load building strategy
Select the strategy that contains the criteria to apply when generating the proposed loads.
Supply or demand type
Sales orders are currently the only supported type in this field.
Customer account
Optional: Specify a customer account if you want to propose loads to a single customer.
Origin and Destination
Optional: You can specify the ranges of criteria to control what goes into the load. For example, you can specify ranges of shipping and delivery dat es, postal codes, country and region, and sites and warehouses.
Filter codes
Optional: You can apply specific filter codes to apply as a criteria.
In the and
F astTab you can select the load template to use to generate proposed loads. Use the b uttons to arrange them in the sequence in which you want them to be evaluated.
35 Transportation Management System Implementation Guide White paper
2.7
Appointment scheduling
2.7.1 Business model Warehouse appointments represent events that occur at a dock for receiving a purchase order, shipping a sales order, or processing an inbound or outbound load at a specific date and time. Appointments are created to reduce the manual work for warehouse personnel. This ensures that there is availability of docks for the l oading and unloading of goods, and avoids a situation in which multiple carriers arrive at a location at the same time. The warehouse is divided into different inbound and outbound sides. On the inbound side, there is only one dock, but several appointments can be booked simultaneously. This is because of the simplicity of the inbound picture, because the de liveries take no longer than 30 minutes, and because sometimes the truck drivers can wait a few minutes for their turn. On the outbound side, the pick -up of goods is more complex, so we need to mark all the docks separately with their own appointment times. The following is the setup suggestion for this model.
2.7.2 Setup To set up the appointment scheduling functionality, we first need to set up the default duration in the transportation management parameters: > > . 1. Go to t ab, under , set the default duration of the appointment. 2. On the Next, we need to set up the appointment types: > > 1. Go to The fields in the
>
.
form are described in the following table.
Appointment type
Enter a unique ID for the appointment type
Site
Select the site for the appointment type.
Warehouse
Select the warehouse for the appointment type.
Duration
Enter the appointment duration for a specified warehouse location, in minutes.
Number of calendar slots
Enter the number of appointments that can be performed at the same time for t he specified appointment type
Driver check-in required
Select this check box if the driver is required to check -in when arriving for an appointment.
Item movement direction
Select
Location profile ID
If applicable, select the location in the warehouse of the appointment.
2.
,
, or
t o indicate the direction of item movement.
Enter the following field values.
Inbound
30
3
Inbound
Outbound
40
2
Outbound
36 Transportation Management System Implementation Guide White paper
If you have site and warehouse information configured, you can add that in your configuration as well. Appointment scheduling is now set up. Optionally you may set up appointment notifications as a batch job to track upcoming appointments. > > . 1. Go to form, create or modify the recurrence and set up alerts for the batch job. 2. In the
2.7.3 Driver check-in and check-out using a mobile device After you’ve created and confirmed an appointment in Microsoft Dynamics AX, you can register the check -in and check-out time using a mobile device. During a driver check -in, you can verify the weight and the shipping destination for an appointment, and change the shipping carrier, if it is required. The prerequisites for registering driver check-in and check-out include: Creating a menu item for driver check-in and check -out in the f orm. For more information, see Configure mobile devices for warehouse work. Setting up a menu for the mobile device. For more information, see Set up mobile device menus to display work or activities. Creating an appointment for a load at a warehouse location. For more information, see Plan appointments for a load. •
•
•
After the prerequisites are set up, you can register the driver check-in time for an appointment by selecting the option for driver check -in on the mobile device menu. You can then register and confirm the load ID, shipment ID, or appointment ID that is related to the check-in that you want to process.
2.8
Freight reconciliation
This section explains how to set up freight reconciliation parameters. When they are set up, you can match freight bills that are generated in Microsoft Dynamics AX with invoices that are received from shipping carriers, and perform reconciliation if there are any differences between these documents. You can either use an automatic or a manual process for freight reconciliation. The following illustration shows the process of generating a freight invoice and performing freight reconciliation.
37 Transportation Management System Implementation Guide White paper
The preceding illustration shows that you can generate a freight invoice from freight bills, and update the generated freight invoice with the details from the carrier invoice that is received from a freight vendor. Next, you match the updated invoice lines with freight bills and if the total freight invoice amount is matched with the freight bill, you submit the freight invoice for payment. If it is not matched, you reconcile the unmatched invoice lines with a reconciliation reason code. You then submit the reconciled freight invoice for payment. If required, you can discard unmatched freight bills that do not have a carrier invoice with a reconciliation reason code. To set up the freight reconciliation, we need to create reconciliation reasons: > > > 1. Go to 2. Enter the following field values.
Approved
Approved
211650
Damage claim
Damage claim
211650
FB Underage
FB Underage
211650
FB Mapping
FB Mapping
211650
.
Yes
No
200110
No
No
200110
No
Yes
Yes
No
The f orm is used to se t up reason codes for unmatched freight bills. If an invoice amount does not match the related freight bill, you can use these reason codes to reconcile the d ifferent amounts. The fields in the form are described in the following table.
Reconciliation reason code
Enter a name for the reconciliation reason.
Description
Enter a description for the reconciliation reason.
Debit account
Select the
Credit account
Select the t hat is used to post to the general ledger account. You can only select a value in this field if the c heck box is not selected.
t hat is used to pay the reconciled amount to the freight vendor.
38 Transportation Management System Implementation Guide White paper
Pay the freight vendor
Select the
check box to pay the reconciled amount to the vendor.
If you select a debit account and the check box is not selected, you must specify a ledger account in the account field for the non -payment of freight. If you select a credit account, the following processes will be used during financial posting for reconciliation: If the check box is selected, the credit is posted against the freight vendor to create a payable account. If the check box is not selected, the ledger account is taken from the reason code. •
•
Override accounts
Select the c heck box to override the charges that are posted to the debit account type that is specified in the f orm for the original sales order line or purchase order line. The charges are posted to the accounts specified in the f orm. If you select a debit account, the following processes will be used d uring financial posting for reconciliation: If the check box is selected, the debit account that is specified for the reconciliation reason code is used as the account in the vendor invoice journal for the reconciled amounts. If the check box is not selected, the ledger account that is specified for the debit account type in the form is used for posting a vendor account or customer account. •
•
To enable automatic freight bill matching, freight bill types need to be set up. > > > . 1. Go to 2. The setup of the freight bill type included in the demo data with AX 2012 R3 has following parameters: Freight bill type = TL Engine type = Microsoft.Dynamics.Ax.Tms.Bll.GenericNormalizer Engine assembly = Microsoft.Dynamics.Ax.Tms.dll 3. In the details section, enter the following field values. •
•
•
1
Billing group ID
BillingGroupId
Yes
2
External code
ExternalCode
No
39 Transportation Management System Implementation Guide White paper
Next, we need to set up the freight bill type assignments: > > 4. Go to 5. Enter the following field values.
None
Truck
Carrier 1
TL
None
Truck
Carrier 2
TL
None
Rail
Carrier 3
TL
None
LTL
Carrier 4
TL
None
Ocean
Carrier 5
TL
None
Parcel
Carrier 6
TL
Next, we need to set up the billing groups: Go to > •
>
>
>
.
.
40 Transportation Management System Implementation Guide White paper
Finally, if automatic matching is performed, the audit master needs to be set up. Go to > > > •
.
The form is used to set up the tolerance level for automatic freight bill matching. When you reconcile freight, you can match freight bills with invoices that have spe cified audit tolerance level. If the values that are used for the matching process are in the specified tolerance level, the reconciliation is approved and processed for automatic payment of the invoice. You can create different audit masters for different freight bill types or carrier types. Freight reconciliation is now set up and ready to be used.
41 Transportation Management System Implementation Guide White paper
3. Case study 2 - Engines 3.1 Business case A carrier company, Northwind Transport, has given you a very interesting long -term offer for providing transportation service. You accepted the offer and decided to model the carrier contract in the m odule in Microsoft Dynamics AX, so that you can rate, record, and reconcile the transportation costs associated with your supply chain. According to the contract, following strategy is used to calculate the transportation rate: The freight charge is calculated based on weight. A fixed rate o f $30 is paid per 100 lbs ( rounding base ). The measured weight used to calculate the freight cost is always rounded up to the nearest 100 lbs. Moreover, there is a minimal base weight o f 1000 lbs that is used to calculate the freight charge. If the measured weight is under the minimum, the minimal weight is taken as the base for calculating the freight charge. Moreover, additional charges are added: Scale charge, which is a fixed, flat value of $20 Toll charge, which is a fixed, flat value of $40 Fuel surcharge, which is calculated as a specific percentage of the actual freight cost – for instance, 15 percent of the total freight cost •
•
•
•
•
The following examples demonstrate how the charges would be assigned based on this carrier charging strategy: Measured weight is 4321 lbs: Freight charge = 44 * $30 = $1320 (the weight of 4321 is rounded up to 4400) Scale charge = $20 Toll charge = $40 Fuel surcharge = 0.15 * $1320 = $198 Total rate = $1320 + $20 + $40 + $198 = $1578 Measured weight is 720 lbs: Freight charge = 10 * $30 = $300 (the minimal base weight of 1000 lbs is used) Scale charge = $20 Toll charge = $40 Fuel surcharge = 0.15 * $300 = $45 Total rate = $405 •
•
3.2 Rate engine requirements To calculate the total rate, the TMS system needs to take into consideration accessorial charges (scale charge, toll charge, and fuel surcharge) and the freight charge calculation. The accessorial charges can be set up directly on the carrier and should not be taken into consideration by the rating engine. However, the freight charge needs to be calculated according to following formula: Freight charge = rate * max (ceiling (actual weight / rounding base), minimal base weight / rounding base) Microsoft Dynamics AX 2012 R3 does not include a rate engine that uses this formula. A new, custom rate engine needs to be implemented to satisfy the requirements.
3.3 Implementation 3.3.1 Implementation assumptions It is assumed that the basic strategy for calculating the rates is not supposed to change. However, the carrier does not guarantee that the actual charges, minimal weight, and rounding base will not change over time. Therefore, we decide that the following parameters used to calculate the freight charge can change and should be parameterized: Rate Minimal base rate Rounding base •
•
•
42 Transportation Management System Implementation Guide White paper
3.3.2 Rate engine design The engine will reuse the rate base to retrieve data from Microsoft Dynamics AX. This is a ver y flexible and inexpensive way of recording and providing data to a rate engine in TMS. In order to ensure that the Microsoft Dynamics AX user and the engine have the same run-time interpretation of rate base data, a fixed data contract, expressed through the rate base type, needs to be recorded. The following rate base data contract will be used.
Dimension1
Rounding base
Dimension2
Minimal base weight
Rate
Rate
This contract can be expressed by the following rate base type.
1
Rounding base
Rate base
Real
None
Yes
2
Minimum base weight
Rate base
Real
None
Yes
3
Rate placeholder*
Rate base
Real
None
Yes
* We do not expect to break the last dimension in the rate base type by using a break master. The rate base will use a one-dimensional break master that includes just one break, Rate.
3.3.3 Engine implementation In Microsoft Visual Studio, create a C# class librar y called ImplementationGuideEngines that will compile into ImplementationGuideEngines.dll, which is deployed on the Application Object Server (AOS) tier. The following code example contains the source code of the rate engine that calculates freight charges for Northwind Transport.
namespace ImplementationGuideEngines { using System; using System.Linq; using System.Xml.Linq; using Microsoft.Dynamics.Ax.Tms; using Microsoft.Dynamics.Ax.Tms.Bll; using Microsoft.Dynamics.Ax.Tms.Data; using Microsoft.Dynamics.Ax.Tms.Utility; /// /// Weight rounding engine uses weight as a base of calculating rates. /// /// /// Weight rounding engine calculates freight charge according to following formula: /// Freight charge = rate * max (ceiling (actual weight / rounding base), minimal base weight / rounding base) /// Where: /// rounding base -t he rounding base used for charging rate, for example per 100 lbs /// actual weight -t he weight used for calculating the rate /// minimal base weight -t he minimal required weight for which rating is done.
43 Transportation Management System Implementation Guide White paper