Documentation Index

Fetch the complete documentation index at: https://docs.abakion.com/llms.txt

Use this file to discover all available pages before exploring further.

3PL Stock Regulations (Item Journal Buffer)

Prev Next

Feature Overview

The 3PL Stock Regulations feature allows an external warehouse provider to send stock adjustments and physical inventory counts directly to Business Central, without requiring warehouse staff to manually enter journal lines. The 3PL posts data into a dedicated Item Journal Buffer in BC via the REST API. From there, a BC user reviews and transfers the buffer lines into the standard BC Item Journal or Physical Inventory Journal, and optionally posts them automatically.

Two types of stock regulation are supported. Stock adjustments (Item Journal type) are used when the 3PL needs to correct inventory — for example after a stock discrepancy is found. Positive quantities create positive adjustments, negative quantities create negative adjustments. Physical inventory counts (Phys. Inventory Journal type) are used when the 3PL sends a full counted quantity for an item at a location. BC can optionally calculate the expected quantity from the current item ledger entries or warehouse entries and include it in the journal line so the difference is visible before posting.

The buffer is a staging area: lines received from the 3PL accumulate in the 3PL Item Journal Buffer page until a BC user (or an automated process) triggers the transfer to the actual journal. A setup in Warehouse Manager Setup controls which journal template and batch the lines are written to, and whether they should be posted immediately upon transfer or left in the journal for manual review and posting.

Key Facts

Topic Detail
Buffer page 3PL Item Journal Buffer
API entity insertItemJrnlBuffer (v2.0, POST)
Supported journal types Item (stock adjustment), Phys. Inventory (physical count)
Item identification Item No. or GTIN
Tracking support Lot No., Serial No.
Expected qty calculation Optional — calculated from item ledger entries or warehouse entries
Auto-post option Configurable per journal type in Warehouse Manager Setup

Getting Started

  1. Open Warehouse Manager Setup.
  2. In the Setup 3rd Party Behavior → Stock Regulations section, set Adjust Jrnl. Template Name to an existing Item-type journal template.
  3. Set Item Adjustment Jrnl. Batch Name to an existing batch within that template.
  4. Optionally enable Post Adjustment Jrnl. Lines to automatically post adjustment lines when transferred from the buffer.
  5. Set Phys. Jrnl. Template Name to an existing Phys. Inventory journal template.
  6. Set Item Phys. Jrnl. Batch Name to a batch within that template.
  7. Optionally enable Post Phys. Invt. Journal Lines to automatically post physical inventory lines when transferred.
  8. Optionally enable Calculate Exp. Qty. (Base) if you want BC to calculate the expected inventory quantity when the 3PL sends a physical count. This allows BC to pre-fill the Qty. (Calculated) on the journal line.
  9. The 3PL can now POST to the insertItemJrnlBuffer endpoint to add lines to the buffer.
  10. Open 3PL Item Journal Buffer, review the pending lines, and choose Update Physical Inventory Journal or Update Item Journal to transfer lines to the corresponding journal.

Related Features

The journals referenced in the Stock Regulations setup — Item Journal and Physical Inventory Journal — are standard Business Central functionality. The buffer simply pre-populates lines in those journals, after which standard BC posting rules apply. Connector Setup & Location Linking is a prerequisite: the 3PL must authenticate using a valid connector token when calling the insertItemJrnlBuffer endpoint.


User Stories

US-01: Configure the Item Journal for receiving 3PL stock adjustments

As a IT Manager
I want to configure which Item Journal template and batch 3PL stock adjustments are written to
So that adjustments from the 3PL land in a predictable, controlled journal batch

Setup:

  1. Open Warehouse Manager Setup.
  2. In Setup 3rd Party Behavior → Stock Regulations, set Adjust Jrnl. Template Name to an existing Item-type journal template (non-recurring).
  3. Set Item Adjustment Jrnl. Batch Name to an existing batch within that template.
  4. Save.

Note: Both the template and the batch must exist in BC before saving. BC will error if either does not exist when lines are transferred from the buffer.

US-02: Configure the Physical Inventory Journal for receiving 3PL stock counts

As a IT Manager
I want to configure which Physical Inventory Journal template and batch 3PL physical counts are written to
So that counted quantities from the 3PL appear in the correct journal for review and posting

Setup:

  1. Open Warehouse Manager Setup → Setup 3rd Party Behavior → Stock Regulations.
  2. Set Phys. Jrnl. Template Name to an existing Phys. Inventory journal template (non-recurring).
  3. Set Item Phys. Jrnl. Batch Name to an existing batch within that template.
  4. Save.
US-03: Enable automatic posting of stock adjustments when transferred from the buffer

As a IT Manager
I want to configure BC to automatically post Item Journal lines when they are transferred from the 3PL buffer
So that stock adjustments are applied immediately without requiring a separate posting step

Setup:

  1. Open Warehouse Manager Setup → Setup 3rd Party Behavior → Stock Regulations.
  2. Enable Post Adjustment Jrnl. Lines.
  3. Save. When a user chooses Update Item Journal on the 3PL Item Journal Buffer, BC writes the lines to the journal and immediately posts them.

Note: Use this option with caution in production. All lines transferred in one action are posted together. Ensure the 3PL data is validated before enabling auto-posting.

US-04: Enable automatic posting of physical inventory counts when transferred from the buffer

As a IT Manager
I want to configure BC to automatically post Physical Inventory Journal lines on transfer
So that stock counts from the 3PL are applied to BC inventory immediately

Setup:

  1. Open Warehouse Manager Setup → Setup 3rd Party Behavior → Stock Regulations.
  2. Enable Post Phys. Invt. Journal Lines.
  3. Save.
US-05: Enable expected quantity calculation for physical inventory counts

As a Warehouse Manager
I want to have BC calculate the expected inventory quantity when a physical count is received from the 3PL
So that the journal line shows the difference between what BC expects and what the 3PL counted, before posting

Setup:

  1. Open Warehouse Manager Setup → Setup 3rd Party Behavior → Stock Regulations.
  2. Enable Calculate Exp. Qty. (Base).
  3. Save. When the 3PL sends a physical count line, BC calculates the expected quantity from item ledger entries (or warehouse entries for bin-mandatory locations) and stores it on the buffer line. When transferred, the journal line's Qty. (Calculated) is pre-filled with this value.

Note: For bin-mandatory locations, the expected quantity is calculated from warehouse entries filtered by location, bin, item, and variant. For non-bin locations, it is calculated from item ledger entries. The calculation date is based on the date sent by the 3PL, or today's work date if no date is provided.

US-06: Receive a stock adjustment from the 3PL via the API

As a Logistics Coordinator
I want to have the 3PL send stock adjustment quantities to BC
So that inventory discrepancies found at the external warehouse are reflected in BC

Setup:

  1. Ensure the Item Journal template and batch are configured in Warehouse Manager Setup.
  2. The 3PL POSTs to the insertItemJrnlBuffer API endpoint with Template Type = Item, providing Item No. (or GTIN), Location Code, Quantity (positive for increase, negative for decrease), Unit of Measure Code, Bin Code (if applicable), and optionally a Reason Code and Date.
  3. The line appears in the 3PL Item Journal Buffer page with Handled = false.
  4. A user reviews the line and chooses Update Item Journal to transfer it to the Item Journal.
US-07: Identify items by GTIN when sending buffer lines from the 3PL

As a Logistics Coordinator
I want to have the 3PL send stock lines using GTIN instead of BC item numbers
So that the 3PL does not need to maintain a mapping of BC item numbers in their system

Setup:

  1. Ensure items in BC have the GTIN field populated on the item card.
  2. The 3PL POSTs buffer lines with the gtin field populated instead of itemNo.
  3. BC looks up the item by GTIN and populates the Item No. automatically. If more than one item has the same GTIN, BC returns an error.

Note: GTIN lookup will fail if no item matches the GTIN, or if multiple items share the same GTIN. Ensure GTIN values are unique in BC.

US-08: Receive a physical inventory count from the 3PL

As a Warehouse Manager
I want to have the 3PL send a full physical stock count for an item
So that BC inventory can be reconciled against the actual quantity at the external warehouse

Setup:

  1. Ensure the Phys. Inventory Journal template and batch are configured in Warehouse Manager Setup.
  2. The 3PL POSTs to insertItemJrnlBuffer with Template Type = Phys. Inventory, providing Item No. (or GTIN), Location Code, Bin Code (if applicable), and Quantity as the counted physical quantity in base units.
  3. If Calculate Exp. Qty. (Base) is enabled, BC pre-fills the expected quantity on the buffer line.
  4. Open the 3PL Item Journal Buffer and review the line. Choose Update Physical Inventory Journal to transfer it.
US-09: Send a stock adjustment with lot number tracking from the 3PL

As a Warehouse Manager
I want to receive stock adjustments that include lot number information from the 3PL
So that the resulting item journal entry is fully traceable by lot

Setup:

  1. The 3PL POSTs to insertItemJrnlBuffer with Template Type = Item and includes the lotNo field.
  2. The buffer line stores the lot number.
  3. When transferred to the Item Journal, the lot number is included on the journal line.
  4. On posting, the lot number is recorded in the resulting item ledger entry.
US-10: Send a physical count with serial number tracking from the 3PL

As a Warehouse Manager
I want to receive physical inventory count lines that include serial numbers
So that each serialised unit counted by the 3PL is individually recorded when the journal is posted

Setup:

  1. The 3PL POSTs to insertItemJrnlBuffer with Template Type = Phys. Inventory and includes the serialNo field.
  2. The buffer line stores the serial number.
  3. The line is transferred and posted with the serial number assigned to the physical inventory entry.
US-11: Review pending buffer lines before transferring to the journal

As a Warehouse Manager
I want to review all pending 3PL stock lines in the buffer before they are transferred to the journal
So that I can verify the data looks correct and catch any obvious errors before they affect inventory

Setup:

  1. Open 3PL Item Journal Buffer (search for it or navigate from Warehouse Manager Setup).
  2. Review all lines where Handled = false. Check Item No., Location Code, Quantity, and Date.
  3. If a line looks incorrect, delete it from the buffer. Coordinate with the 3PL to re-submit corrected data if needed.
  4. When satisfied, choose Update Item Journal or Update Physical Inventory Journal to transfer the relevant lines.
US-12: Transfer buffer lines to the Item Journal and navigate to the journal for review

As a Warehouse Manager
I want to transfer adjustment buffer lines to the Item Journal and then open the journal directly
So that I can review the lines in their final format before posting

Setup:

  1. Open 3PL Item Journal Buffer.
  2. Choose Update Item Journal. BC confirms the action and transfers all unhandled lines of type Item to the configured journal batch.
  3. If Post Adjustment Jrnl. Lines is disabled, the lines remain in the journal unposted.
  4. Choose Item Journal from the action bar to navigate directly to the configured batch and review or edit lines before posting manually.
US-13: Transfer physical count buffer lines to the Physical Inventory Journal

As a Warehouse Manager
I want to transfer physical count buffer lines to the Physical Inventory Journal
So that I can review the counted vs. expected quantities before posting

Setup:

  1. Open 3PL Item Journal Buffer.
  2. Choose Update Physical Inventory Journal. BC transfers all unhandled lines of type Phys. Inventory to the configured batch.
  3. Choose Physical Inventory Journal from the action bar to navigate to the batch and review lines.
  4. The journal shows Qty. (Phys. Inventory) (from the 3PL) and Qty. (Calculated) (from BC). Review the difference before posting.
US-14: Include a reason code on stock adjustment lines sent by the 3PL

As a Logistics Coordinator
I want to have the 3PL include a reason code on stock adjustment API calls
So that the resulting item ledger entries explain why the adjustment was made

Setup:

  1. The 3PL includes the reasonCode field in the insertItemJrnlBuffer API payload.
  2. The reason code is stored on the buffer line and transferred to the journal line.
  3. If the 3PL does not provide a reason code, the batch's default reason code is used instead.

Field Reference

Field Where to find it What it does Default
Adjust Jrnl. Template Name Warehouse Manager Setup → Stock Regulations Item journal template used for 3PL stock adjustments
Item Adjustment Jrnl. Batch Name Warehouse Manager Setup → Stock Regulations Journal batch within the adjustment template
Post Adjustment Jrnl. Lines Warehouse Manager Setup → Stock Regulations Automatically posts adjustment lines when transferred from the buffer Off
Phys. Jrnl. Template Name Warehouse Manager Setup → Stock Regulations Phys. Inventory journal template used for 3PL stock counts
Item Phys. Jrnl. Batch Name Warehouse Manager Setup → Stock Regulations Journal batch within the physical inventory template
Post Phys. Invt. Journal Lines Warehouse Manager Setup → Stock Regulations Automatically posts physical inventory lines when transferred from the buffer Off
Calculate Exp. Qty. (Base) Warehouse Manager Setup → Stock Regulations Pre-calculates expected inventory when a physical count buffer line is created Off
Item No. 3PL Item Journal Buffer The BC item number of the stock to adjust or count
GTIN 3PL Item Journal Buffer GTIN used to look up the item if Item No. is not provided
Location Code 3PL Item Journal Buffer The location where the adjustment or count applies
Bin Code 3PL Item Journal Buffer The bin within the location (required for bin-mandatory locations on physical counts)
Variant Code 3PL Item Journal Buffer Item variant to adjust or count
Unit of Measure Code 3PL Item Journal Buffer Unit of measure for the quantity (defaults to item base UOM) Base UOM
Quantity 3PL Item Journal Buffer The adjustment quantity (positive = increase, negative = decrease) or counted quantity
Qty. Calculated (Base) 3PL Item Journal Buffer Expected quantity calculated by BC (for physical counts when Calculate Exp. Qty. is enabled)
Template Type 3PL Item Journal Buffer Whether the line is a stock adjustment (Item) or physical count (Phys. Inventory) Phys. Inventory
Date 3PL Item Journal Buffer Posting date for the journal line (defaults to work date if blank) Work Date
Reason Code 3PL Item Journal Buffer Reason for the adjustment, transferred to the journal line
Lot No. 3PL Item Journal Buffer Lot number for tracked items
Serial No. 3PL Item Journal Buffer Serial number for tracked items
Handled 3PL Item Journal Buffer Indicates whether this line has been transferred to the journal Off