18.2 Inventory Adjustments, Transfers & Physical Counting
Key Takeaways
- The Item Journal posts inventory intake as Positive Adjustments and scrap or shrinkage as Negative Adjustments, creating Item Ledger Entries and Value Entries mapped through Inventory Posting Groups, while the Item Reclassification Journal changes location, bin, item tracking, and dimensions with zero net quantity and zero financial impact.
- Inventory Receipt and Inventory Shipment documents register the same positive adjustments and damaged-goods write-offs as the Item Journal, but add Release and Reopen status, header-level dimensions, Print and Post and Print, and a posted document archive - none of which works until the four number series are set on the Numbering FastTab of Inventory Setup.
- Transfer Orders execute two-stage inventory transit between warehouse locations via In-Transit Locations, tracking separate shipping and receiving dates, handling times, and carrier routes.
- Business Central provides two inventory counting methodologies: the traditional Physical Inventory Journal (comparing calculated vs counted stock) and modern Physical Inventory Orders with multi-user Recordings and document locking.
- The Adjust Cost - Item Entries batch job ripples cost variances forward from inbound supply to outbound consumption entries, ensuring accurate Cost of Goods Sold (COGS) and inventory valuation before closing inventory periods.
18.2 Inventory Adjustments, Transfers & Physical Counting
Quick Summary: In Microsoft Dynamics 365 Business Central, maintaining physical stock accuracy and precise cost accounting requires mastering five core operational mechanisms. Manual stock changes are posted through the Item Journal (Positive vs. Negative Adjustments), while internal moves and metadata corrections that leave total stock unchanged are handled via the Item Reclassification Journal. Multi-facility logistics spanning transit lead times are governed by Transfer Orders utilizing dedicated In-Transit Locations. Periodic stocktaking is performed via either the traditional Physical Inventory Journal or enterprise Physical Inventory Orders and Recordings. Where an adjustment needs an auditable, printable document instead of a journal line, the Inventory Receipt and Inventory Shipment documents cover intake and write-off respectively. Finally, cost integrity is maintained using the Adjust Cost - Item Entries engine prior to closing Inventory Periods.
Inventory Adjustments via Item Journals: Receipts & Shipments
Physical inventory in a warehouse inevitably deviates from recorded balances due to receiving variances, damage, pilferage, quality testing, or unrecorded customer sampling. Business Central utilizes the Item Journal (Alt+Q -> type Item Journals, Page 40 / Table 83) to record manual physical stock movements.
Item Journal Positive vs. Negative Adjustment Posting Flow:
[Positive Adjustment: Stock Found / Opening Load]
├── Table 32 Item Ledger Entry: Positive Qty, Open = Yes
├── Table 5802 Value Entry: Cost Amount (Actual) = Unit Cost x Qty
└── General Ledger Posting:
Debit: Inventory Account (Balance Sheet Asset)
Credit: Inventory Adjustment Account (P&L Expense / Variance)
[Negative Adjustment: Damaged Stock / Scrap / Shrinkage]
├── Table 32 Item Ledger Entry: Negative Qty, Closes Inbound Cost Layer
├── Table 5802 Value Entry: Relieves Cost based on Item Costing Method
└── General Ledger Posting:
Debit: Inventory Adjustment Account (P&L Shrinkage / Expense)
Credit: Inventory Account (Balance Sheet Asset)
Operational Entry Types on the Item Journal
- Positive Adjmt.: Records unbudgeted inventory additions (e.g., found inventory, initial stock loads, vendor bonus items). Increases physical on-hand quantity in Table 32 and establishes initial unit cost in Table 5802.
- Negative Adjmt.: Records physical stock reductions (e.g., scrap, obsolescence, spoilage, shrinkage). Decreases physical on-hand quantity and relieves inventory value based on the item's configured costing method (FIFO, LIFO, Specific, Average, Standard).
Reason Codes & Dimension Tracking
- Reason Codes (Page 259): Functional consultants should configure mandatory or default
Reason Codevalues (e.g.,SPOILAGE,DAMAGED,FOUND,SAMPLE) on adjustment lines to provide an audit trail of why adjustments occurred. - Dimension Assignment: Attaching Department, Cost Center, or Project dimensions ensures that shrinkage or gain adjustments flow directly into the responsible business unit's income statement.
Inventory Receipt & Inventory Shipment Documents
The Item Journal is fast, but it is a journal: there is no document status, no header-level dimension defaulting, no paperwork to print, and nothing to reprint once it is posted. When an adjustment needs an auditable document trail — go-live stock loading, a quality-hold write-off, an insurance claim for damaged goods — Business Central provides two dedicated inventory documents.
- Inventory Receipt (
Alt+Q-> typeInventory Receipts, the Invt. Receipt page) registers positive adjustments of items based on quality, quantity, and cost. Microsoft's own guidance names it the tool for preparing to go live or adding open balances. - Inventory Shipment (
Alt+Q-> typeInventory Shipments, the Invt. Shipment page) writes off missing or damaged goods.
Mandatory Prerequisite: Number Series in Inventory Setup
Neither document can be created until an administrator assigns number series on the Numbering FastTab of Inventory Setup (Page 461). Four separate fields are required:
| Field on Inventory Setup -> Numbering | Controls |
|---|---|
| Invt. Receipt Nos. | Identifier for the open inventory receipt |
| Posted Invt. Receipt Nos. | Identifier for the posted receipt document |
| Invt. Shipment Nos. | Identifier for the open inventory shipment |
| Posted Invt. Shipment Nos. | Identifier for the posted shipment document |
This is the usual reason an implementation reports that inventory documents "are missing": the pages are present, but creating a new record fails because the series is blank.
Document Structure & Available Actions
In the header of the Invt. Receipt or Invt. Shipment page, the consultant chooses the Location Code and assigns common values — including dimensions — once, at header level. On the Lines FastTab, the Item field selects the inventory item and the Quantity field carries the number of units to add or write off.
| Action | Effect |
|---|---|
| Prints the document at any stage, before or after release | |
| Release / Reopen | Moves the document between statuses for the next processing stage |
| Preview Posting | Shows the entries that posting will create, without committing them |
| Post | Commits the adjustment, creating item ledger and value entries |
| Post and Print | Posts the document and prints the test report in one step |
Once posted, the documents are archived on the Posted Inventory Receipt and Posted Inventory Shipment pages, from which they can be reprinted.
Wiring the Print Layouts
Which report prints at each stage is controlled on the Report Selection - Inventory page, which exposes four Usage options: Inventory Receipt, Inventory Shipment, Posted Inventory Receipt, and Posted Inventory Shipment. This is the same Report Selection pattern taught in Section 3.2, with one exam-relevant twist: the base application ships no layouts for these usages, and the reports that are available vary by country/region localization. A consultant who promises printable receipt paperwork out of the box on a W1 deployment will find the Usage line empty.
Choosing Between the Journal and the Document
| Requirement | Item Journal | Inventory Receipt / Shipment |
|---|---|---|
| Post a quick one-line correction | Best fit | Overkill |
| Open -> Released document status | Not available | Release / Reopen |
| Assign dimensions once for the whole batch | Line by line | Header-level common values |
| Printable paperwork before posting | Not available | Print at any stage |
| Reprint after posting | Not available | Posted Inventory Receipt/Shipment |
| Go-live opening stock with an audit document | Workable | The documented recommendation |
The Item Reclassification Journal: Relocation & Metadata Updates
Unlike standard Item Journals, the Item Reclassification Journal (Alt+Q -> type Item Reclassification Journals, Page 393 / Table 83 with Template Type = Reclass) modifies inventory parameters without altering overall physical quantities or financial balance sheet valuations.
Item Reclassification Journal Mechanics:
[Item Reclassification Journal Line: Item 1000, Qty = 50]
├── Source Parameters: Location = BLUE, Bin = B-01, Lot No. = LOT-A
└── Target Parameters: New Location = BLUE, New Bin = B-08, New Lot No. = LOT-B
│
▼ Post Document (F9)
┌────────┴────────┐
▼ ▼
[Negative Item Ledger Entry] [Positive Item Ledger Entry]
- Qty = -50 - Qty = +50
- Location = BLUE, Bin = B-01 - Location = BLUE, Bin = B-08
- Lot No. = LOT-A - Lot No. = LOT-B
NET RESULT: Physical Quantity Delta = 0 | General Ledger Dollar Impact = $0
Core Operational Use Cases
- Direct Location Relocation: Moving inventory between physical locations in a single step where transit time is zero (e.g., moving goods from a central warehouse floor to an onsite factory assembly staging area).
- Bin Relocations: Moving stock from one bin to another within basic warehouse locations where directed put-away and pick is not activated.
- Item Tracking Reclassification: Modifying, correcting, or assigning Serial Numbers, Lot Numbers, or Expiration Dates via the Item Tracking Lines window without re-receiving goods.
- Dimension Reclassification: Updating Department or Project dimensions associated with specific inventory batches.
Transfer Orders: Multi-Step Logistics Across In-Transit Locations
When inventory moves between geographically separated facilities (e.g., from a central distribution center in Chicago to a regional warehouse in Atlanta), transit lead times are significant, commercial carriers are hired, and shipping manifests are required. For these scenarios, Business Central provides Transfer Orders (Alt+Q -> type Transfer Orders, Page 5740 / Tables 5740 & 5741).
Two-Stage Transfer Order Execution Architecture:
[Transfer Order: From Location "EAST" -> In-Transit "ON-TRUCK" -> To Location "WEST"]
│
▼ Post Shipment (F9 -> "Ship")
┌───────────────┴───────────────┐
▼ ▼
[Posted Transfer Shipment (Page 5742)] [Item Ledger Entry Updates]
- Decreases stock at EAST location - Outbound Entry: EAST (Qty = -100)
- Increases stock at ON-TRUCK location - Inbound Entry: ON-TRUCK (Qty = +100)
- Line: Quantity Shipped = 100 - Legal Ownership Retained on Balance Sheet
- Line: Quantity Received = 0
│
▼ Goods Travel (Shipping Time Formula: 3D)
│
▼ Post Receipt (F9 -> "Receive")
┌───────────────┴───────────────┐
▼ ▼
[Posted Transfer Receipt (Page 5743)] [Item Ledger Entry Updates]
- Decreases stock at ON-TRUCK location - Outbound Entry: ON-TRUCK (Qty = -100)
- Increases stock at WEST location - Inbound Entry: WEST (Qty = +100)
- Order Fully Received & Closed - Stock Ready for Demand at Destination
Transfer Order Architecture & Configuration
- Transfer-from Code: The origin shipping facility.
- Transfer-to Code: The destination receiving facility.
- In-Transit Code: A specialized virtual location where the
Use As In-Transittoggle is set toYeson the Location Card (Page 5703). In-transit locations cannot have bins or physical warehouse handling; they represent stock legally owned by the business that is currently aboard trucks, trains, or container vessels. - Transfer Routes (Page 5742): Defines the default logistics parameters between specific From/To location pairs, including the default In-Transit Code, Shipping Agent Code, Shipping Agent Service Code, and calendar-based Shipping Time formulas (e.g.,
3D).
The Two-Stage Transfer Posting Flow
- Post Shipment (
F9-> Ship): Decreases inventory at the origin warehouse, increases inventory at the virtual in-transit location, generates a Posted Transfer Shipment, and updates lineQuantity Shipped. The corporate balance sheet maintains full asset ownership. - Post Receipt (
F9-> Receive): Decreases inventory at the in-transit location, increases inventory at the destination warehouse, generates a Posted Transfer Receipt, and marks the order complete.
Inventory Counting: Physical Inventory Journal vs. Physical Inventory Orders
Accurate financial statements require regular verification of physical stock against ledger balances. Business Central offers two distinct counting methodologies:
Methodology 1: Physical Inventory Journal (Page 392)
Ideal for standard, single-user stocktaking procedures:
- Calculate Inventory: The user executes the
Calculate Inventorybatch job (Report 722). Business Central scans Item Ledger Entries and populates the journal with theoretical stock in the Qty. (Calculated) field as of a specified posting date. - Perform Count: Warehouse personnel count items and enter observed quantities into Qty. (Phys. Inventory).
- Calculate Variances: The system computes the variance: . If actual > theoretical, Business Central sets
Entry TypetoPositive Adjmt.; if actual < theoretical, it setsEntry TypetoNegative Adjmt. - Post: Posting updates Item Ledger Entries to align theoretical stock with physical reality.
Methodology 2: Physical Inventory Orders & Recordings (Pages 5875 & 5879)
Designed for enterprise warehouse environments requiring structured multi-person counting, blind count sheets, and strict segregation of duties:
- Physical Inventory Order (Page 5875): The master planning document created by the inventory manager. Lines are calculated using location and item filters.
- Document Locking: Setting
Lock = Yeson the order header freezes all inventory transactions (picks, receipts, adjustments, shipments) for the included items and locations, preventing data corruption during the physical count. - Physical Inventory Recordings (Page 5879): The manager creates one or more child recording sheets from the order. Recordings can be assigned to different warehouse workers and printed as blind counting sheets (omitting theoretical quantities to ensure unbiased counting).
- Recording Completion: Count crews enter observed quantities and click Finish. Multiple recordings can be consolidated into the master order.
- Order Finalization & Posting: The inventory manager reviews variances between calculated and recorded quantities. Once verified, the manager clicks Finish on the order and posts it, generating corrective ledger entries.
Cost Adjustment & Inventory Closing Procedures
The Dynamic Costing Engine & Adjust Cost - Item Entries
In modern supply chains, inbound purchase invoices or freight landed costs often arrive weeks after goods have been received, consumed, or sold. The Adjust Cost - Item Entries batch job (Report 795 / Codeunit 5895) detects cost discrepancies on inbound entries and ripples those adjustments forward through the application chains into outbound entries (sales shipments, transfer shipments, assembly consumption).
Cost Adjustment Forward Rippling Engine:
[Jan 5: Receive 100 units @ Expected Cost $10.00]
├── Value Entry: Expected Cost $1,000
│
▼ (Jan 10: Sell 100 units on Sales Order)
[Jan 10: Post Sales Shipment & Invoice: COGS recognized @ $10.00 = $1,000]
│
▼ (Jan 25: Vendor Invoice Arrives with Price Increase: Actual Cost = $12.00]
[Jan 25: Post Purchase Invoice: Value Entry Actual Cost Variance = +$200]
│
▼ Run "Adjust Cost - Item Entries" (Report 795)
[Automated Adjustment Value Entry Generated]
├── Outbound Sales Entry Adjusted: Additional COGS = +$200
└── Updates General Ledger via Post Inventory Cost to G/L (Report 1002)
Inventory Setup Governance
- Automatic Cost Adjustment: Configurable on Inventory Setup (Page 461) as
Never,Day,Week,Month,Quarter,Year, orAlways. In high-transaction distribution warehouses, setting this toAlwayscan cause database deadlocks during peak picking hours; setting it toDayand executing Report 795 via a nightly Job Queue is the recommended best practice. - Automatic Cost Posting: When enabled, value entries immediately post to the General Ledger. If disabled, the accountant must periodically run Post Inventory Cost to G/L (Report 1002).
Closing Inventory Periods
Inventory Periods (Alt+Q -> type Inventory Periods, Page 5828) enforce financial cutoffs. Selecting Close Period verifies that all item costs have been adjusted up to the period end. If unadjusted entries exist, the system blocks closure. Once closed, users cannot post any inventory transactions on or before the period ending date.
Operational Inventory Documents Comparison
| Document / Tool | Primary Purpose | Net Physical Qty Impact | Financial Ledger Impact | Key Prerequisite / Setting |
|---|---|---|---|---|
| Item Journal | Record physical additions or scrap/loss. | Yes (+ or - quantity). | Debits/credits Inventory and Adjustment accounts. | Gen. Prod. & Invt. Posting Groups. |
| Item Reclass. Journal | Change location, bin, tracking, or dimensions. | Zero net quantity change. | Zero financial dollar impact. | Open Item Ledger Entry must exist. |
| Invt. Receipt | Document-based positive adjustment (go-live load, quality intake). | Yes (+ quantity). | Debits Inventory, credits Inventory Adjustment. | Invt. Receipt Nos. on Inventory Setup. |
| Invt. Shipment | Document-based write-off of missing or damaged goods. | Yes (- quantity). | Debits Inventory Adjustment, credits Inventory. | Invt. Shipment Nos. on Inventory Setup. |
| Transfer Order | Move goods across locations with transit time. | Moves stock via in-transit. | Maintains inventory value across locations. | In-Transit Location & Transfer Routes. |
| Physical Invt. Journal | Single-user periodic stock count. | Adjusts to physical count. | Posts variance to Inventory Adjustment accounts. | Run Calculate Inventory batch job. |
| Phys. Invt. Order/Rec. | Multi-user structured stock count. | Adjusts to physical count. | Posts variance to Inventory Adjustment accounts. | Order Locking & Recording completion. |
Step-by-Step UI Execution Workflows
Workflow A: Performing Stock Count using Physical Inventory Journal
- Press
Alt+Q, typePhysical Inventory Journals, and select the related link (Page 392). - In the action bar, click Prepare -> Calculate Inventory (Report 722).
- In the request page, enter the Posting Date (e.g.,
01/31/2026) and Document No. (e.g.,COUNT-01). - Set item or location filters if counting specific zones. Ensure Items Not on Inventory is checked if you wish to verify zero-stock items. Click OK.
- Print count sheets by selecting Post/Print -> Print (Report 701).
- Warehouse staff count physical stock. Enter the counted values into the Qty. (Phys. Inventory) column on each line.
- Verify that the Quantity field calculates the difference and automatically sets Entry Type to
Positive Adjmt.orNegative Adjmt. - Click Post/Print -> Post (
F9) to commit the count variances.
Workflow B: Executing a Two-Step Transfer Order Across Locations
- Press
Alt+Q, typeTransfer Orders, and click New (Page 5740). - Set Transfer-from Code to
EAST, Transfer-to Code toWEST, and verify the In-Transit Code populates withON-TRUCK. - On the Lines FastTab, add Item
1000, Quantity =50. - In the action bar, click Posting -> Post (
F9), choose Ship, and click OK. - Verify that 50 units depart
EASTand are now located inON-TRUCK. - When the delivery truck arrives at the destination facility, open the Transfer Order, click Posting -> Post (
F9), choose Receive, and click OK. - Verify the order closes and inventory is available in location
WEST.
Common Configuration Pitfalls & Exam Traps
- Pitfall 1: Entering Total Counted Stock in Item Journal Quantity Field. In a standard Item Journal, the Quantity field represents the adjustment delta, not the final count. Entering total stock on hand into an Item Journal will severely distort inventory balances; users must use the Physical Inventory Journal to calculate variances automatically.
- Pitfall 2: Moving Stock Between Locations via Item Journals. Using negative adjustments at one location and positive adjustments at another breaks item cost tracking, distorts sales/cogs history, and prevents in-transit visibility. Transfers must use Transfer Orders or Item Reclassification Journals.
- Pitfall 3: In-Transit Location Lacking the In-Transit Toggle. If an administrator creates a transfer route using a standard warehouse location that does not have Use As In-Transit checked on the Location Card, Business Central blocks the transfer order posting.
- Pitfall 4: Closing Inventory Periods Without Running Cost Adjustment. Attempting to close an Inventory Period while unadjusted Value Entries remain will trigger system warnings and distort Cost of Goods Sold; Adjust Cost - Item Entries must always precede inventory period closure.
- Pitfall 5: Inventory Documents Without a Number Series. The Inventory Receipt and Inventory Shipment pages always exist, but a new document cannot be created until Invt. Receipt Nos., Posted Invt. Receipt Nos., Invt. Shipment Nos., and Posted Invt. Shipment Nos. are filled in on the Numbering FastTab of Inventory Setup. Equally, do not promise printed receipt paperwork on a W1 deployment: the base application includes no layouts for the four Report Selection - Inventory usages.
A warehouse supervisor needs to move 50 units of an item from Bin B-01 to Bin B-08 within the same warehouse location. The movement does not involve freight carriers, transit time, or change in inventory valuation. Which journal should be used to record this bin movement?
A company is conducting its annual year-end inventory count. The warehouse manager wants to assign counting sheets to multiple teams, prevent warehouse workers from seeing system stock balances during the count (blind count), and freeze all inventory postings for the counted items until the count is finalized. Which feature satisfies these requirements?
A distribution company notices that Cost of Goods Sold (COGS) amounts on posted sales shipments do not reflect recent vendor price increases posted on late purchase invoices. Automatic Cost Adjustment is set to 'Never' in Inventory Setup. What routine must the financial consultant schedule to ensure inventory valuation and COGS are accurately updated?
A consultant is preparing a Business Central go-live. The client wants to load opening stock balances using something that can be printed for the auditor before it is posted, that carries one set of dimensions in the header for all lines, and that can be reprinted after posting. Which approach meets the requirement, and what must be configured before it can be used?