Business Central: Transfer Orders, Transfer Routes and In-Transit

Moving stock between locations is commonplace so it’s crucial to understand how transfer orders work in Business Central. In this post we will start with an explanation of transfers, before explaining in-transit locations and direct transfers, including why you might choose to use one over the other. Finally, we will cover how you configure pre-defined agents, agent services and shipping times for all your set transfer routes in Business Central.

What are transfer orders?

Transfer orders are one of the ways you can move stock from A to B in Business Central. The process involves a shipment and a receipt at two separate locations. Each transfer you post will adjust the amount of stock in a location correspondingly. Posted shipments and receipts are held as two separate records, so for each fulfilled transfer order, two posted records will be created.

A Business Central transfer order example

If we go to the Transfer Orders page and click ‘New’, we will generate a new record. In the header details, the three main fields we want to focus on are these highlighted below:

This image shows a Transfer Order record, highlighting three fields: Transfer-from Code, Transfer-to and In-Transit Code.

The ‘Transfer-from’ and ‘Transfer-to’ codes indicate where you want to move the stock between the In-Transit Code is mandatory, unless Direct Transfer is enabled.

In the ‘Shipment’ tab below, you can configure the ‘Shipping Agent’, ‘Shipping Agent Service’ and ‘Shipping Time’ on an individual transfer basis. The shipping agent relates to who the courier is. The shipping agent service relates to the service that courier provides. For example, next day delivery. Against the service, there’s a specified shipping time. In that instance, it would be 1D.

When you’re happy with the configuration, make sure the Posting Date field mirrors the day that the shipment will take place, click ‘Posting’ and ‘Post’ and ‘Ship’. Let’s say that this particular transfer was shipped on the 01/03/2022 and that the goods arrive on 04/03/2022. When the goods arrive, amend the Posting Date field to the new value and this time click post ‘Receive’. At this stage, as both steps of the transfer are completed, the record will be deleted.

This will now create two additional records: a Posted Transfer Shipment and a Posted Transfer Receipt. The posting dates on either will be different, assuming the goods weren’t shipped and received on the same day.

The process will be different, depending on if you are using Basic, Advanced or any warehousing at all. To see how Advanced warehousing works in relation to transfer orders, click here.

Use ‘Get Bin Content’ to populate transfer order lines

Rather than manually entering the quantity details into the transfer order line, another way to fill the lines of a transfer order would be to use the ‘Get Bin Content’ button. To do this, on a transfer order, add your ‘Transfer-from’ and ‘Transfer-to’ locations, as well as an ‘In-Transit Code’ value. Next, select the item(s) you wish to move on the line(s). After that, click ‘Actions’, ‘Functions’ and ‘Get Bin Content’. Next, add in the bin which you wish to move the stock from. Finally, click ‘ok’ and you should now have a line populated with the full amount held in the bin.

This image shows you how to populate the Transfer Order lines in Business Central using the Get Bin Content action.

Use ‘Get Receipt Lines’ to populate transfer order lines

This function allows you to select quantities from recent inbound posted purchase receipts and move it onto a transfer order. In other words, if you have a purchase order, the stock may arrive at a location which isn’t where it’s usually stored. This function allows you to select the stock from a purchase record and transfer it to an alternative location.

To enable this functionality, make sure the ‘Ship-to’ field in the ‘Shipping and Payment’ tab of the purchase order is set to ‘Location’. You can do this manually, which will make a Location Code field appear, which you must enter a value into. Alternatively, you can fill in the the Location field on the ‘Receiving’ tab of the Vendor Card. If you know this is the location you will receive stock into each time you buy from this vendor, we recommend simply attaching a location code on the vendor card.

If you don’t have this set on the Vendor Card, you must remember to change the Ship-to code each time you wish to use the ‘Get Receipt Lines’ function. The Get-Receipt Lines function will only work if the system can see a matching Location Code in the purchase order header and transfer-from code on the transfer order.

Demonstrating ‘Get Receipt Lines’

To illustrate this functionality, create a purchase order. Make sure the ‘Ship-to’ field in the Shipping and Receiving tab is set to Location and the corresponding Location Code is populated.

In the Shipping and Payment tab on the Purchase Order, you can specify the value in the Ship-to field. This allows you populate a Transfer Order in Business Central using the same details.

Next, populate the purchase order lines, making sure the Location Code value matches the header.

This is a Purchase Order record. We are going to use the Get Receipt Lines function to populate a Transfer Order record from it.

Afterwards, click ‘release’ on the purchase order. Finally, post the receipt. Next, create a transfer order. On the transfer order, input a In-Transit Code value and a Transfer-from Code that matches the location on the purchase order. After that, click ‘Actions’, ‘Functions’ and ‘Get Receipt Lines’. The purchase order record should now be there. If you click into the record, it will show you the specific purchase lines. At this stage, after choosing the record, you can choose to bring all purchase lines across to the transfer order or only some. You should now have a transfer order with lines taken from a receipted purchase order.

This image shows two selected Posted Purchase Receipt Lines out of a total of three. These two I will bring across to my transfer order.
In this instance, I’ve selected two of the three lines to come across to my transfer order.


The In-Transit field is in the header for a transfer order. As standard, you have two options available for the In-Transit code, these being ‘outsourced’ and ‘own’ logistics. You can also make additional in-transit locations, perhaps for individual courier services. The in-transit value shows you where stock’s held whilst a transfer movement occurs (particularly useful for longer shipment times, such as sea freight). This allows us to keep the item’s cost and value separate from either the shipping or receiving location. In Business Central, that stock is in an in-transit location after it’s been shipped but before it’s received.

Setting up an in-transit location

As standard, there are two in-transit locations: ‘Own Logistics’ and ‘Outsourced Logistics’. To set up an in-transit location, enable the ‘Use As In-Transit’ field in the General tab. Enabling this disables all warehouse-related fields as you’d expect. Typically, you wouldn’t set bins against an in-transit location. Like other locations, all in-transit locations require Inventory Posting Setup configuration.

Seeing how much stock is held in-transit

To see what stock is currently in-transit, go to the Items page and filter by Location Code.

By filtering on Location Code on the Items page, you can select any in-transit Location and apply the filter.

Alternatively, if you go to the Items page using the search bar, you can click ‘SmartList’ and ‘Items By Location’. From this screen, you can filter the results.

One thing to note is that you can’t see the amount of stock in an in-transit location using a Physical Inventory Journal. This makes sense as these journals are used for stocktakes and given we can’t verify if stock levels are accurate moving between locations, it’s redundant giving you stock level figures.

Items damaged in-transit

When items ship, there’s a chance they may be damaged before they reach their receiving location. In the event of this, Business Central can accommodate for the loss of stock and incurring of costs. In situations where you are aware of the damage prior to receiving the goods, you can amend the Qty to Receive on the transfer order, after the shipment has been posted but prior to the receival being logged.

In this particular Transfer Order record, the Qty. to Receive values don't align. This is because goods have been damaged whilst in-transit. We are going to manage this in Business Central.

With this method, we still have to receive in last three items as the record can’t be deleted until the order is fully receipted. However, splitting the order into two receipts allows you to accurately choose which entry each relates. Then, on an item journal, if you create a negative adjustment and then select the quantity of goods and location where the goods were received into, you can fill in the Applies-to Entry field. This lets you remove the goods from inventory and write them off.

Logging the damage after receiving the goods

Where you notice goods are damaged after receiving them, you can manually adjust the available stock quantities. You do this using an item journal. Alternatively, use an Item Revaluation Journal to change the value of an item or ledger entry.

Direct Transfer

When you enable the ‘Direct Transfer’ field, it means there’s no need for an ‘In-Transit’ location. Generally, we recommend users employ an in-transit value. It allows you to pinpoint where stock is and not attach stock value to locations where the stock might not be.

Where might you use ‘Direct Transfer’?

You might use a direct transfer when you are transferring an item to a location without there being a need to input lead time on the order. For example where you have a warehouse split into several ‘locations’. Alternatively, if you are logging a transfer order retrospectively, you might not want to record an in-transit period as you know that there isn’t any, as the goods have arrived into the location they are being received into. However, it’s worth mentioning that direct transfers don’t work when using a location with Advanced warehousing.

Transfer routes in Business Central

A transfer route allows you to specify the individual length of time and method for delivery from one location to another.

Transfer routes in Business Central allow users to set Shipping Agent and Agent Service Code values, dictating how long it takes to transfer stock between two locations.

Whenever you go to create a transfer order with these places, the values will be predefined from what you put in setup. On the order itself, you can change it. For example if my Shipping Time on Transfer Routes page is 6D, I can make this 4D on the transfer order itself. As the matrix is one dimensional, these values won’t pull through for the opposite journey. Each journey route has to be set.

Closing remarks

Thanks for reading! We hope this has been useful. Transfer orders in Business Central are a fundamental component to inventory and so understanding how they work is key. Transfer routes allow you to increase your accuracy in shipping times between locations.

If you have any feedback, questions or enquiries into what we do, click here. If you’d like to follow us on LinkedIn, click here. We are trying to become a more active and useful resource there. In future, we will post the links to our newest blogs on LinkedIn, so follow us there to not miss any.

Scroll to Top