Thursday, April 11, 2024

Transfer order with Landed cost module in Microsoft Dynamics 365 SCM (D365)

In this blog post I would like to cover one of the most common requirements for transfer orders: how to add transportation cost to the product while you are doing transfers in Supply Chain Management. 

There are few ways how you can do transfers in the system. But almost none of them allow you to add charges. 

Let's review them. 

Transfer journals: this journal even does not have Charges functionality in it. It is simple transfer between some locations. 

Transfer orders: this option does not allow you to add any charges as well. 

Transfer orders with TMS: this option allows you to add changes but only with the posting to the ledger. If you need to add the transportation cost to the item - this option will not work for you. 

Transfer orders with Landed cost: this option allows you to define the transportation cost and add it to the item. We are going to stick with this option and review how it is done in the system

Below is a recap of what is mentioned above


Let's start with the minimum configuration that is required for Landed cost module to achieve the requirement above. 

We will need to have statuses for our voyages. Voyages will be our representation of the movement between 2 locations. So we should have at lest 2 statuses, that will indicate that voyage is shipped and received. 

Voyage statuses


Landed cost parameters

General tab:


Status updates tab:


Feature visibility tab:
This is important parameter that will enable voyages to be created manually. 

Vessels

In our scenario we will be delivering our products by truck. So I am going create just 1 vessel and name it Truck.


Shipping container types

Since we are delivering via Truck and I am not going to create any specific containers types. Let's assume that we are going to have 1 fixed-size box type and name it Default. 


Shipping containers

The same as above, we will have only 1 container and name it Default. 


Cost type codes

Let's assume that for our transportation cost we would like to have 2 charges. 1 charge will be for delivering the goods and 1 charge for loading the product into the truck. In our scenario, we are also would like to increase the cost of our item by this transportation charges. In other words, we would like the handling cost to be absorbed in the inventory value of the item.

Create 2 cost type codes for the scenario above. 

Freight


Labor


That's it about Landed cost module configuration. There are other settings that might affect the process, but in order to make it simple and still achieve the requirement, we will make the minimum config. 

Now it is time to get down to the scenario itself. 

Walk-through

First off, we are going to buy our product and check the cost of the product. 


In this scenario we purchase 35 000 tons of the item with the total amount of 1907666.25 dollars. So our cost of the item is 1907666.25/35000 = 54.50475

Next steps is to create a transfer order to move from one site/warehouse to another one. Go to Inventory management > Outbound orders > Transfer orders


Once the transfer order is created, we need to create a voyage. 

Go to Landed cost > Voyages > All voyages and select New button to create a voyage.

Note: Vessel can be entered manually and it can represent vessel plate number


In the Voyage editor page, select the transfer order that was created and select Add to staging list button. 


Select View staging list button.


Select Add to new shipping container button to pack it to a container. Since we don't have any containers, we will select Default that we have created. 

After that transfer order will be added to the voyage.


Select the voyage ID hyperlink to check the voyage created.


Next is to add transportation costs to the voyage. Select Voyage costs button.

We are going to add to cost type codes for Freight and Labor. 



To review the transportation cost inquiry, go to voyage and select Manage tab > Cost inquiries.


Now, just Ship transfer orders by selecting corresponding menu. 


To reduce the number the steps, we are going to auto receive it. Select auto receive flag to do it. 


If you check the Transfer order itself, transfer order is now in the Received status. 


Let's see the results of the voyage posting. 

From Voyage line select Inventory -> Transactions.

We see that Cost amount is accounted for transportation costs as well. 



Let's calculate this amount. We moved 6900 tons. The cost of the item is 54.50475. 

Step1: 6900*54.50475=376,082.775

Step2: 376,082.775 +131997.00 (Freight cost) = 508,079.775

Step3: 508,079.775 + 13800 (Labor cost) = 521,879.775 = 521,879.78

Select Transactions in financial voucher, you can see that Adjustment has been posted to accumulate the transportation cost. 



Select Voucher transactions.


Here you don't see any transportation costs, amount considering only cost of the item is posted. So where does transportation cost go? 

Select Voyage costs > Estimate adjustments





Select Voucher

Here you can see that it was posted to Debit materials, since we are adding charges to the item and it posts credit into Landed cost clearing account. It is a little bit surprising that it does not pick up accounts from the Credit setup of the Cost type code. It uses clearing account instead. 

Now let's review the cost of the item to see that transportation costs added to the item cost. 


Now we need to clear our clearing account and post charges to the credit accounts that were initially setup in the cost type codes. To do so, go to AP > Invoice journal. Create a new journal. 

We will debit our landed cost clearing account, and credit our expense account for the transportation. 


Do not use Functions -> Select voyage, or do not set any voyages at the bottom. It will create extra GL transactions which we don't need. It will make sense to do it for Purchase orders, but not for Transfer orders.


Lets see all the voucher transactions at once. Now we see that everything is balanced, Landed cost clearing account is balanced to 0. Handling costs increased the inventory and posted to the expenses. 


That's it for today!