top of page
  • Writer's pictureAlfredo Iorio

Manage Customers' Consignment stock in Business Central

Updated: Oct 20, 2023

In one of my previous projects, I designed a solution to manage customers' consignment stock in Business Central.

BC does not have a 3PL-specific functionality. However, we managed to meet the client's requirements without using any customisation.

First, let's start with the requirements: This is how the client managed consignments in their legacy system:

  1. Create a sales order when the customer requests stock.

  2. Ship, invoice and credit the total order amount.

  3. Create a positive stock adjustment in a consignment location to reconcile the stock at the customer's site.

  4. When the customer sends updated stock counts, write off stock at the consignment location through a negative adjustment.

  5. Create a journal to invoice the customer for the stock they have sold.

  6. Create a sales invoice in Excel and send it to the customer.

As you can see, the steps above describe a cumbersome, error-prone, and highly inefficient process.

This is how I summarised the requirements:

  1. Send stock to a customer's site on request.

  2. Ability to track stock quantity at a customer site.

  3. Invoice items when the customer sells the goods

Let's see how it works in Business Central:

­Send stock to the customer's site.

First, we create a specific location for consignment stock.

In my design, I advised the client to create a dedicated G/L code in their chart of accounts for consignment stock.


­Not many clients know that locations are not simply places to store inventory. In Business Central, the combination of locations and inventory posting group determines which G/L is used when receiving, shipping and transferring stock.

­With our new location setup, we can send consignment stock to the customer with a transfer order. The transfer order brings many benefits to the client:

First, the ability to reflect the ownership of the goods on consignment. In BC, stock at customer assignment still shows on the company's balance sheet. Second, the client can easily access inventory availability at the customer's location in one place instead of keeping records in spreadsheets.

­Ability to track stock quantity at a customer site

With transfer orders and a consignment location, we can reconcile customers' inventory in Business Central. A simple way to get inventory visibility at the customer's site is to use the item list page and apply two filters: A list filter on stock and a totals filter on location.

­To future-proof this design, I introduced bins in the consignment location. The bins allow onboarding new consignment customers without creating one location for each customer. In this design, one bin in a consignment location represents a customer.

­Invoice items when the customer sells the goods

Once a week, the customer holding consignment stock sends an updated list of what they sold. This list is the basis for raising a sales invoice to charge the client for stock sold and update the inventory at the client's site.

This is a standard process that does not require much explanation. The only difference between an invoice for consignment stock and one for regular stock is that the consignment invoice must be raised from the consignment location.


Future-proof solution design

As usual, when I design a solution for a client, I think of future-proofing the design. In this case, I included the following:

Charge the customer for shipping costs

If the customer pays for shipping goods to their site, the client has two options:

Option 1: Raise a sales invoice using an item charge for shipping charges.

When I described the process in a LinkedIn post (you can read it here), I suggested using an item charge. Some of my connections pointed out that item charges affect item value. Therefore it is not a good idea for shipping charges. However, in this case, we are not using an item charge of type freight that will affect costs. Here, we can use a service-type control to create a revenue line of type service in our income statement.

Here is how I set up the item charge for Freight Out

­The Gen. Prod. Posting group FREIGHT OUT points to an Income, Services in the income statement. I describe the concept of freight-out in this LinkedIn article.

­When I apply the charge to the sales shipment. I get the revenues posted in my "other income" G/L.

The item cost is not affected by the transaction. Only purchase with an item charge applies costs to an item.

­Option 2: Raise a sales invoice for shipping charges using a service item.

For sales, item charges don't affect the cost and don't increase the COGS. Therefore, using service items might make more sense.

The only difference is that reports based on revenues will require additional logic to link the service charge to the shipment of goods. With item charge, the link is in the value entries.

Receive, store and ship customers' items on their behalf

It is common to include private label stock on consignment once a company starts offering consignment stock to their customers.

The opportunity was in the pipeline for my client, so I decided to include a generic "Consignment Item" in their database to handle stock on the customer's behalf.

We created a generic item and set it up with inventory value = 0

­Then, we created variants for each customer's item.

In Summary

  1. Create a consignment location. This location will have no WMS features enabled and will be set up with a separate G/L code for inventory, a sort of "Stock on consignment" inventory account.

  2. When a customer request stock on a consignment, we process a transfer order from our site to the customer consignment.

  3. When the customer sends inventory updates and requests a new transfer, we create an invoice and sell the stock. The invoice will consume stock from the consignment location.


Alfredo Iorio


Do you want to train with us?

Click below to check our training programs.

Related Posts

See All


bottom of page