Blog · Procurement and supply chain · Supply chain
Rebuild closing inventory quantities from opening balances, receipts, issues, and signed adjustments. Work through a SKU and site reconciliation, compare it with a physical count, and separate stock on hand from stock available to promise.
An inventory on hand calculation is opening stock plus receipts, minus issues, plus signed adjustments. Run it by SKU and site at one cutoff, then prove that it matches the closing stock record. A correct total can still hide a shortage at one location and an overstatement at another.
Closing units on hand = Opening units + Receipts − Issues + Signed adjustments
Unexplained difference = Closing stock export − Calculated closing units
Receipts increase physical stock at the site. Issues reduce it through shipments, production consumption, supplier returns, or transfers out. Adjustments correct quantities after an approved investigation: a gain is positive, and a loss is negative.
Use quantities throughout this calculation. Dollars belong in a separate valuation reconciliation, using the business's approved costing method. Days inventory outstanding measures time represented by inventory value; it cannot tell you how many units are on a shelf today.
The IRS discussion of perpetual inventory describes adding purchased or produced goods and reducing inventory for goods used, transferred, or sold. It also calls for physical inventories at reasonable intervals and adjustment of the book amount to actual inventory. That is a separate test of whether your movement records describe what physically exists.
Take the opening snapshot immediately before the reporting window and the closing snapshot at its end. Export all posted movements between those timestamps. Use the warehouse's stated time zone and retain both movement dates and posting dates when they differ.
| File or field | What it establishes |
|---|---|
| Opening SKU and site balance | Starting quantity and base unit |
| Transaction ID and line ID | A distinct movement, with reversals identifiable |
| SKU, site, and bin | Where the quantity belongs |
| Movement type and effective timestamp | Direction and inclusion in the period |
| Movement quantity and unit | Units added or removed after conversion |
| Transfer reference | The matching issue and receipt across sites |
| Adjustment reason and approval | Why a correction is included |
| Closing balance and count sheet | Independent comparison records |
Choose one sign convention before summing. In the example below, receipts and issues are positive magnitudes in separate columns; only adjustments carry their own sign. If your movement export already contains signed quantities, summing those signed rows is valid, but subtracting the negative issues again would reverse their effect.
Treat an invoice as financial evidence, not automatically as a warehouse movement. Customer billing can happen before or after dispatch. Likewise, a purchase order is not a receipt. Keep in-transit inventory outside the receiving site's physical balance until its receipt event.
A US industrial supplies distributor reconciles two filter SKUs at Chicago and Denver on September 30, 2026. Every quantity is in individual filters, and the opening snapshot is August 31. The movement columns include all September postings within the defined cutoff.
| SKU and site | Opening units | Receipts | Issues | Signed adjustments | Calculated closing | Closing export | Difference |
|---|---|---|---|---|---|---|---|
| F-20, Chicago | 500 | 260 | 330 | -5 | 425 | 425 | 0 |
| F-20, Denver | 240 | 140 | 190 | 2 | 192 | 192 | 0 |
| G-10, Chicago | 300 | 180 | 250 | -3 | 227 | 227 | 0 |
| Control total | 1,040 | 580 | 770 | -6 | 844 | 844 | 0 |
With opening units in B2, receipts in C2, issues in D2, adjustments in E2, and the exported closing balance in G2, the spreadsheet calculations are:
Calculated closing in F2: =B2+C2-D2+E2
Difference in H2: =G2-F2
Chicago F-20 proves the method: 500 + 260 − 330 − 5 = 425 units. Denver is 240 + 140 − 190 + 2 = 192. Chicago G-10 is 300 + 180 − 250 − 3 = 227. The control total is 1,040 + 580 − 770 − 6 = 844, matching 425 + 192 + 227.
These totals are exact whole units. The combined count is a control only: filters of different specifications are not interchangeable supply. Replenishment still needs the individual SKU and site rows.
A zero unexplained difference proves that the opening snapshot, movements, and closing export agree. It does not prove that the opening balance was right or that every physical movement was recorded.
Suppose a count taken at the same cutoff finds the following quantities:
| SKU and site | Recorded units | Counted units | Count minus record |
|---|---|---|---|
| F-20, Chicago | 425 | 422 | -3 |
| F-20, Denver | 192 | 192 | 0 |
| G-10, Chicago | 227 | 227 | 0 |
| Total | 844 | 841 | -3 |
Recount the Chicago filters and inspect movement documents before posting a correction. If the investigation supports a loss of three units, an approved additional adjustment changes September's net adjustments from -6 to -9. The revised proof is 1,040 + 580 − 770 − 9 = 841 units.
As a concrete control example, NASA's inventory procedures require investigating transaction history before inventory adjustments, subject to their stated exceptions. Your company sets its own approval policy, but the useful discipline is the same: preserve the cause and evidence behind a correction.
Before that count correction, Chicago applies its fulfillment policy to the F-20 balance:
| Availability component | Units |
|---|---|
| Recorded on hand | 425 |
| Inspection hold | 20 |
| Other units reserved for orders | 65 |
| Available after both restrictions | 340 |
Available units are 425 − 20 − 65 = 340. The groups must be separate; subtracting reserved stock already included in an inspection hold would double count the restriction.
Neither reservation nor inspection status is automatically a physical issue. Keep each status alongside the physical quantity and use inventory reporting to show the reconciliation and operational exceptions together. Review inventory aging separately: stock can be present and usable but still be slow to sell.
Bring your opening balances, movement export, and closing stock file to Covirage, with SKU, site, units, and adjustment reasons. Covirage maps the columns; its tools compute and check the rollforward, and the external AI model explains the result with every figure traced to its rows. Create a free Covirage account, set up your business, and bring a sample of your own export; creating the account takes about a minute.
See Covirage for supply chain teams for the wider business context.
No. Stock on hand includes physical units that may be reserved, damaged, or waiting for inspection. Available inventory applies your fulfillment rules to that balance. Keep the excluded quantities visible so a reservation does not look like a shipment or physical loss.
An open purchase order is an expected receipt. It does not increase physical stock at the receiving site until the goods arrive and the receipt is recorded under your cutoff rules. Track shipped goods awaiting receipt separately, and let finance assess accounting ownership.
A negative recorded balance means posted reductions exceed recorded opening stock and additions. Investigate missing receipts, wrong sites, unit conversions, duplicate issues, and timing. A negative record is an exception to resolve; it is not evidence that a warehouse physically contains negative units.
Choose a cadence that fits movement volume, materiality, and replenishment risk. Reconcile transaction records at each reporting cutoff and use physical counts to test their accuracy. A busy or critical location may need closer review than a slow, low-value storage site.