The 3PL seam

The warehouse says 100. Dynamics 365 says 95.

A third-party warehouse keeps its own stock records and sends them back as a file. They disagree with Dynamics 365 because the two systems learn about the same events at different moments. Six causes account for almost every line, and five of them are a timing or setup difference rather than missing stock.

Written for operations and inventory managers. One of three seams covered under inventory reconciliation in Dynamics 365.

The causes

Six reasons a 3PL file disagrees with Dynamics 365

Five of these six mean the stock is where it should be and one record has not caught up. Only the last means anything is actually missing, and it is the one to reach last.

  1. 01

    The stock is in transit

    Dynamics 365 has released the stock from the sending site and the receiving warehouse has not booked it in. Both records are correct for the moment they describe. The quantity is real and it is on a lorry.

    How it is found
    A transfer order shipped but not yet received
    What to do
    No correction. Confirm the transfer is open and let the receipt post normally.
  2. 02

    The warehouse shipped it and the ERP has not caught up

    The 3PL works to its own cut-off. Anything despatched after the file was produced, or posted in Dynamics 365 after it was cut, lands on one side of the comparison only.

    How it is found
    A sales order picked and shipped at the 3PL, not yet posted in Dynamics 365
    What to do
    No correction. Check the posting date against the file's cut-off before anyone adjusts a number.
  3. 03

    The warehouse received it and the ERP has not

    The 3PL counts what is on its racking. Dynamics 365 counts what somebody confirmed. When nobody posts the receipt, the gap grows quietly and shows up again at month end as an uninvoiced balance.

    How it is found
    A purchase order with goods physically in and no product receipt posted
    What to do
    Post the product receipt once the site confirms the delivery, with a person approving.
  4. 04

    Boxes counted as pieces

    The same part is an each in one catalogue and a case of twelve in the other. The two numbers reconcile perfectly on paper and not at all on the shelf, and the error looks like a loss or a windfall depending on which direction it runs.

    How it is found
    A unit of measure mismatch between the two item records
    What to do
    Correct the conversion on the item, not the quantity on the line.
  5. 05

    Damaged or blocked in one system only

    The physical quantity agrees. What disagrees is whether it counts as available. A 3PL report of sellable stock and a Dynamics 365 figure including blocked stock will never match, and neither one is wrong.

    How it is found
    Stock on hand but blocked, quarantined or in a non-sellable status in Dynamics 365
    What to do
    No correction. Compare like with like — decide which status the report is supposed to describe.
  6. 06

    Genuine loss

    After the other five are ruled out, some lines have no explanation. That is the real answer and it is worth reaching honestly, because it is the only one that should lead to a write-off.

    How it is found
    Nothing in the records explains the difference
    What to do
    Recommend a physical count of that location. Never adjust a number simply to make it balance.
Questions

What people ask about reconciling 3PL stock

Why doesn't our 3PL's stock report match Dynamics 365?

Usually because the two systems learn about the same events at different times. Stock in transit, a despatch after the file's cut-off, a delivery received at the warehouse but never posted in the ERP — each puts a quantity on one side of the comparison only. Add unit-of-measure differences and stock that is blocked in one system, and five of the six common causes turn out to be timing or setup rather than missing goods.

How often should we reconcile 3PL stock?

As often as the file arrives, which for most providers is daily. The argument for doing it that often is not tidiness, it is that a difference is cheap to explain while the surrounding transactions are recent and expensive to explain a month later, when the people involved have moved on and the evidence has aged.

Can this be done without changing anything in Dynamics 365?

Yes, and that is how we build it. Reading carries no risk and is most of the value: the list of differences, the reason for each one and the evidence behind it. Anything that writes waits for a named approver and is logged. Nothing is added to your tables.

What about stock the 3PL holds that we have never received?

That is the third cause on this page and it is the one that costs money twice. The goods are on the racking, no product receipt exists, so the ERP cannot match an invoice to anything. The same lines reappear at month end as goods received not invoiced, where they are harder to explain because the receiving evidence is older.

Is a connector enough to solve this?

A connector moves the data and that is necessary. It does not tell you why two numbers disagree, which is the part that takes the hours. Microsoft partners sell 3PL connectors for Dynamics 365 and Microsoft has built outside-warehouse features into the product, so the plumbing is largely solved. The explaining is not.

Bring us last month's 3PL file

Bring one reconciliation your team worked through by hand. We will go through which of the six causes each line was, and what it would take to have that answer waiting instead of the question.

AI in Dynamics 365

Talk to a Dynamics engineer

Schedule a call