Extract data from inventory reports
Every physical count ends in a document that has to be reconciled against what the system thought was on the shelf. An inventory report lists what a warehouse holds at a point in time, and a supply-chain planner, a controller closing the month, and an auditor sampling stock all read the same grid. Each line carries a SKU, an item description, the quantity on hand, the unit cost, and an extended value, and a cycle count adds the expected quantity and the variance between the two. A distributor running a 12,000-SKU facility might reconcile a periodic count for warehouse DC-04 against perpetual records, where a line for a fast-moving part shows 1,180 counted against 1,200 expected and a 20-unit shrinkage that finance has to write down. Difficulty gathers in the line grid and the valuation math. Quantity on hand means little without its unit of measure, since a case of 24 and a single each are different rows, and the extended value has to tie to quantity times unit cost per line and then roll up to a reconciled total. A cycle-count report adds a variance column that drives adjustments, and a negative variance points to shrinkage while a positive one points to a receiving or picking error. Reorder levels and status flags such as active, quarantined, or obsolete change how a planner treats the line. The report header carries the warehouse, the reporting period, the count method, and who performed the count, all of which an auditor needs before trusting the numbers. Talonic reads the inventory report and returns the header plus a line array, each row with its SKU, description, quantity on hand, expected quantity, variance, unit cost, and extended value, with the totals reconciled. A 2026-06-30 periodic count for warehouse DC-04, valued at $1,842,600 in USD, loads into the ERP with its variance lines intact, so a controller posts a write-down from structured data instead of a retyped spreadsheet.
What gets extracted from inventory reports
How extraction works for inventory reports
Inventory reports are exported from warehouse-management and ERP systems such as SAP, NetSuite, and Manhattan Associates, and printed count sheets come back from the floor as scans that run through OCR first, so the column set is never fixed. Talonic reads the report and maps it to the inventory schema in the Field Registry, which separates the warehouse header from the per-line stock detail. Each line keeps its SKU, description, quantity on hand, expected quantity, and the variance between them, alongside its unit of measure, unit cost, and extended value, and the line values are reconciled to the report total. Status flags such as active, quarantined, and obsolete are captured as coded values, and reorder levels are read where the report carries them. The count method and the counter named in the header are retained for the audit trail. Every figure returns with a confidence score and pixel-region provenance under DIN SPEC 91491 conformity, so a controller can verify a shrinkage variance against the source count before posting a write-down.
Sample extraction
A periodic inventory count exported from a warehouse system
{
"report_number": "INV-2026-0630",
"report_date": "2026-06-30",
"warehouse": {
"name": "DC-04 Columbus",
"code": "DC-04"
},
"reporting_period": "June 2026",
"count_method": "periodic",
"counted_by": "R. Okafor",
"currency": "USD",
"inventory_items": [
{
"sku": "PMP-4471",
"product_name": "Centrifugal pump seal",
"quantity_on_hand": 1180,
"quantity_expected": 1200,
"quantity_variance": -20,
"unit_of_measure": "each",
"unit_cost": 14.2,
"total_value": 16756,
"status": "active"
},
{
"sku": "BLT-0093",
"product_name": "M8 hex bolt",
"quantity_on_hand": 42000,
"quantity_expected": 42000,
"quantity_variance": 0,
"unit_of_measure": "each",
"unit_cost": 0.08,
"total_value": 3360,
"status": "active"
}
],
"total_value": 1842600
}Frequently asked
Does it capture the variance between counted and expected quantity?
Yes. Where a cycle or periodic count shows both figures, the quantity on hand, the expected quantity, and the variance between them are returned per line, so a 20-unit shrinkage is posted as an adjustment rather than lost in a single stock number.
How are units of measure handled?
Each line keeps its unit of measure, since a case of 24 and a single each are different quantities, and the extended value is checked against quantity times unit cost so a mis-typed unit is caught.
Does it reconcile the line values to the report total?
Yes. The per-line extended values are rolled up and reconciled against the stated total value, so a 2026-06-30 count whose lines do not tie to the stated $1,842,600 total is flagged for review before it reaches the ERP.
Ready to extract from your own inventory reports?
Author note
Reviewed by Talonic engineering, schema review · last reviewed 2026-07-06