Inventory Movement & Control Reports
The Movement & Control reports track every change to your inventory quantities over time. While the On-Hand reports show you a snapshot of where things stand right now, the Movement reports show you how they got there. These reports are invaluable for auditing, shrinkage detection, and operational oversight.
Accessing These Reports
From the main menu bar, navigate to:
Reports > Inventory > Movement & Control
You will see five report options:
- Inventory Movement Ledger
- Inventory Adjustments
- Transfers
- Receiving Detail
- Negative Stock Exceptions
All five are presets within the Inventory Movement Report form. When you select one from the menu, the report opens with the corresponding preset already applied.
Permission Required
All five reports require the RPT_VIEW_INV_MOVEMENT permission. Super Admins and Location Admins have this permission by default.
Common Filters
All movement reports share these filters:
- Location — Filter to a specific location or view all locations
- Date Range — Set the From and To dates to control the reporting period
Inventory Movement Ledger
The Movement Ledger is the most comprehensive movement report. It shows every single stock change in chronological order, regardless of the type of change. Think of it as the general ledger for your inventory.
Columns
| Column | Description |
|---|---|
| Date | Date and time of the stock change |
| Item | Product name |
| SKU | Stock keeping unit identifier |
| Type | The kind of movement: Sale, Receive, Adjust, Transfer In, Transfer Out |
| Qty Change | The quantity added (positive) or removed (negative) |
| Running Balance | The cumulative quantity after this change |
| Location | Where the change occurred |
| User | The employee who performed or triggered the action |
| Notes | Any notes attached to the transaction |
Movement Types Explained
- Sale — Stock decreased because an item was sold through the POS or an invoice was fulfilled. Qty Change will be negative.
- Receive — Stock increased because items were received from a purchase order. Qty Change will be positive.
- Adjust — A manual inventory adjustment was made, either increasing or decreasing stock. The Notes column typically contains the reason.
- Transfer In — Stock arrived at this location from another location via an inter-location transfer.
- Transfer Out — Stock left this location heading to another location.
Tips
- Use this report to trace the complete history of a specific item by filtering or searching for its name or SKU
- The Running Balance column lets you verify that the current on-hand quantity is correct by following the chain of changes
- Export to CSV for detailed reconciliation work
Inventory Adjustments
The Adjustments report filters the movement data to show only manual quantity changes. This is your primary tool for monitoring shrinkage, count corrections, and write-offs.
Columns
| Column | Description |
|---|---|
| Date | Date and time of the adjustment |
| Item | Product name |
| SKU | Stock keeping unit identifier |
| Old Qty | Quantity before the adjustment |
| New Qty | Quantity after the adjustment |
| Change | The difference (New Qty minus Old Qty) |
| Reason | The reason entered by the user when making the adjustment |
| User | The employee who made the adjustment |
| Location | Where the adjustment was made |
Using Adjustments for Shrinkage Detection
Shrinkage refers to inventory loss from theft, damage, spoilage, or administrative error. The Adjustments report is the best tool for detecting patterns:
- Look for recurring negative adjustments on the same items — this may indicate theft or chronic damage
- Compare adjustment frequency across locations to identify problem areas
- Review the Reason column for vague or missing explanations, which may warrant further investigation
- Cross-reference large adjustments with the Audit & Security Reports to see who was working at the time
Tips
- Require employees to enter a reason for every adjustment; blank reasons should be flagged for review
- Run this report weekly to stay on top of inventory discrepancies
- Sort by Change descending to see the largest adjustments first
Transfers
The Transfers report shows all inter-location stock transfer activity, including the origin, destination, quantity, and current status of each transfer.
Columns
| Column | Description |
|---|---|
| Date | Date the transfer was initiated |
| Item | Product name |
| From Location | The location that sent the stock |
| To Location | The location that received (or will receive) the stock |
| Qty | Number of units transferred |
| Status | Current transfer status (Pending, In Transit, Completed, Cancelled) |
| Initiated By | The employee who created the transfer request |
Tips
- Filter by Status to find transfers that are still pending or in transit
- Use this report alongside the Stock by Location report to verify that transfers have been received
- Transfers that remain in Pending or In Transit status for an unusually long time should be investigated
Receiving Detail
The Receiving Detail report tracks items received from purchase orders, including any variances between what was ordered and what actually arrived.
Columns
| Column | Description |
|---|---|
| Date | Date the items were received |
| PO # | Purchase order number |
| Vendor | Vendor who supplied the items |
| Item | Product name |
| Expected Qty | Quantity ordered on the purchase order |
| Received Qty | Quantity actually received |
| Variance | Received Qty minus Expected Qty (negative means a shortfall) |
| Received By | The employee who processed the receiving |
Tips
- Filter by Vendor to review a specific supplier's delivery accuracy
- Items with consistent negative variances may indicate a vendor reliability problem
- Cross-reference with the Inventory Costing & Purchase History Reports to see cost implications of receiving variances
Negative Stock Exceptions
The Negative Stock Exceptions report lists all items that currently have a quantity below zero. Negative stock should not occur under normal operations and typically indicates a data entry issue, a timing problem, or a system configuration that allows overselling.
Columns
| Column | Description |
|---|---|
| Item | Product name |
| SKU | Stock keeping unit identifier |
| Location | Location where the negative quantity exists |
| Current Qty | The current negative quantity |
| Last Sale Date | Date of the most recent sale for this item |
| Last Received Date | Date items were last received from a purchase order |
Why Negative Stock Happens
Negative stock quantities typically occur for one of these reasons:
- Sales before receiving — Items were sold before the purchase order was received into the system
- Timing gaps — A sale was processed at the register before a manual adjustment or transfer was entered
- Data entry errors — An incorrect quantity was entered during an adjustment or receiving
- System configuration — The system is configured to allow sales even when stock is zero, which can push quantities below zero
Tips
- Review this report daily and resolve negative quantities promptly through adjustments or by receiving pending purchase orders
- The Last Received Date column helps you determine if there is an unprocessed receipt that would correct the balance
- Persistent negative stock on certain items may mean their reorder points need to be raised
Related Articles
- Inventory On-Hand & Valuation Reports — Current stock levels and valuation
- Inventory Costing & Purchase History Reports — Purchase costs and vendor pricing
- Purchasing Analysis Reports — Purchase order analysis and backorders
- Audit & Security Reports — Security audit trails and approval logs