All articles
12 min read

Create an Inventory Data Dictionary That Makes Reports Agree

Create an inventory data dictionary with definitions, formulas, owners, and update rules so every inventory report uses the same stock numbers.

By Praveen Nune, Co-Founder & CEO · Updated 27 Oct 2026

Cross-functional inventory reporting team reviewing a shared data dictionary

In brief

An inventory data dictionary is a shared register that defines every stock field in your reports: what it means, how it is calculated, when it updates, and who owns it. It keeps on-hand, available, and committed numbers consistent across teams. This guide includes a worked example, a copy-ready template, and a simple way to govern changes.

In this article
  1. 1Why Identical Inventory Labels Produce Conflicting Reports
  2. 2Inventory Data Dictionary vs Business Glossary vs Data Catalogue
  3. 3Build an Inventory Data Dictionary Around Clear Stock States
  4. 4Define the Core Quantity Fields
  5. 5Write Available Inventory as an Auditable Formula
  6. 6Worked Example: Why Two Reports Show Different Available Stock
  7. 7Link Commitments to Real Events
  8. 8Treat Quarantine as a Controlled Hold
  9. 9Set the Counting Level (Grain) Before We Add up Inventory
  10. 10Define Location and Time Boundaries
  11. 11Control Units of Measure and Packaging
  12. 12Separate Finished Kits from Buildable Kits
  13. 13Keep Quantity Definitions Separate from Valuation Definitions
  14. 14Use This Copy-Ready Dictionary Template
  15. 15Example: A Completed Entry for Available Inventory
  16. 16Roll Out the Dictionary and Govern Changes
  17. 17Put Arka Inventory to Work for Shared Reporting
  18. 18Frequently asked questions

An inventory data dictionary records what each stock field means, how it is calculated, when it updates, and which system owns it.

We define on-hand, available, committed, incoming, in-transit, damaged, and quarantined quantities so sales, warehouse, purchasing, finance, and reporting teams stop producing conflicting answers from nominally identical inventory reports.

We will show how we define the fields, control the edge cases that change totals, document quantity and value separately, and roll out a reusable template.

Why Identical Inventory Labels Produce Conflicting Reports

We see reporting disputes start with labels that look clear but carry unstated assumptions. When we call a field "available," one team may mean stock physically present, another may subtract reservations, and another may include future supply.

We solve that problem by recording the formula, status inclusion, reporting grain (the level a number is counted at, such as SKU, bin, or warehouse), cutoff time, and accountable owner beside every label.

Indiana state guidance describes a data dictionary as a collection of names, definitions, and attributes about data elements that helps people interpret data consistently. We apply that same discipline to inventory reporting, where a field must be understandable to an analyst, a picker, a buyer, and a controller without a side conversation.

We recommend documenting these differences before we compare totals:

  • Status scope: We state whether damaged, quarantined, reserved, or quality-held units belong in a field.
  • Location scope: We specify whether a total represents a bin, warehouse, region, legal entity, or the full network.
  • Timing rule: We record the event and timestamp that update the field, plus the report's refresh time.
  • Unit of measure: We identify the base unit, conversion rule, and rounding method.
  • Ownership: We name the business role that approves a definition and the system that supplies it.

We use custom reporting to make those rules visible in the same place as the totals. That way, we can answer "why does this report differ?" with a documented definition instead of a spreadsheet debate.

Inventory Data Dictionary vs Business Glossary vs Data Catalogue

These three terms are often used interchangeably, but they answer different questions. A business glossary says what a term means to the business. A data dictionary records how a specific field is built. A data catalogue is the searchable index that tells people where a dataset or report lives.

ComparisonBusiness GlossaryInventory Data DictionaryData Catalogue
Question it answersWhat does "available" mean to us?How is the available field calculated?Where can I find the available-stock report?
Typical contentPlain-language term and approved meaningFormula, grain, status rules, source, owner, versionReport and dataset names, locations, descriptions
Main readerSales, finance, leadershipAnalysts, warehouse leads, report buildersAnyone searching for data

In practice, fixing conflicting inventory reports does not require three separate documents. One register can carry the plain-language meaning and the calculation side by side, with a pointer to wherever the report lives. That is the register this guide helps us build.

Build an Inventory Data Dictionary Around Clear Stock States

We build the terminology map before we build formulas. Our goal is not to impose one universal vocabulary, because purchasing terms, customer promises, quality workflows, and ownership rules vary. Our goal is to make our chosen meaning explicit and stable.

Define the Core Quantity Fields

FieldOur Operational DefinitionWhat We Document
On-HandPosted stock balance assigned to a defined location at the reporting cutoff.Included statuses, location scope, unit of measure (UOM), and posting events.
CommittedQuantity reserved against approved demand that has not shipped or been released.Reservation trigger, cancellation rule, and pick-stage treatment.
AvailableQuantity we can promise or use now.On-hand less commitments and non-sellable holds.
IncomingExpected supply not yet dispatched or received.Purchase-order status, confirmation rule, and cancellation treatment.
In-TransitOwned or controlled quantity dispatched but not received at destination.Ownership event, departure event, and receipt event.
DamagedQuantity made non-sellable by condition, pending disposition.Damage trigger, inspection requirement, and disposition owner.
QuarantinedQuantity withheld from use or release pending inspection or decision.Hold trigger, release authority, and expiration rule.

With inventory visibility, we can keep the location, status, and timing behind a number visible rather than treating a network total as self-explanatory.

Write Available Inventory as an Auditable Formula

We document available inventory as a formula, not a feeling: on-hand quantity minus committed quantity minus non-sellable hold quantity. We then define non-sellable holds as a non-overlapping set of statuses, so we do not subtract damaged and quarantined stock twice when a unit carries both labels.

We also keep incoming and in-transit quantities separate from immediate availability unless our documented promise policy says otherwise. That distinction lets us report what we can fulfil now alongside supply that may become usable later, such as open purchase orders handled in purchase planning.

Worked Example: Why Two Reports Show Different Available Stock

Take one SKU in one warehouse. None of the committed units are damaged or quarantined. The numbers are illustrative.

FieldQuantityHow We Treat It
On-Hand100Posted balance at the reporting cutoff.
Committed30Reserved against approved orders.
Damaged6Non-sellable, pending disposition.
Quarantined4Held for inspection; 2 of these units are also counted as damaged.
Non-sellable holds (distinct units)86 damaged + 4 quarantined − 2 units carrying both labels.
Available62100 − 30 − 8.
Incoming50Open purchase order, not yet dispatched; reported separately.
In-Transit25Dispatched, not yet received; reported separately.

A report that subtracts damaged and quarantined stock separately would subtract 10 instead of 8 and show 60 available. The warehouse report that counts each unit once shows 62. Both reports follow a formula, but only one follows a documented, non-overlapping definition. Writing that rule into the dictionary is what makes the two numbers agree.

We define the exact event that creates a commitment, such as approved order reservation, allocation release, or pick confirmation. We also document the event that removes it, such as shipment, cancellation, expiration, or reallocation. Our order commitments workflow should use the same trigger logic as the report, or we will recreate the mismatch inside our system.

Treat Quarantine as a Controlled Hold

We use quarantined stock for items awaiting release, inspection, or disposition, not as a vague catch-all. The FDA's good manufacturing practice rules for finished pharmaceuticals (21 CFR 211.82) provide a useful model: components must be stored under quarantine until they have been tested or examined and released. We adapt that discipline by naming who can release the hold and what evidence they need.

Set the Counting Level (Grain) Before We Add up Inventory

Every quantity field should answer one precise question at one precise level of detail. We call that level the grain: whether a number is counted per SKU, per bin, per warehouse, per lot, or per day. A report that is correct by SKU can still be wrong by location, lot, unit of measure, or timestamp. We prevent that error by writing the grain directly into the field definition, not into a footnote.

Define Location and Time Boundaries

We state whether on-hand means a specific bin, a warehouse, a region, or every location. We also distinguish event time from dashboard refresh time. A receipt can be physically present before it is posted, and a report can refresh after either event. Our definition needs to say which state it represents.

Receiving and putaway are the events that move stock into a bin, so we name them as posting events in the entry. Our warehouse management workflows cover barcode-based receiving, pallet labels, and putaway into warehouse bins.

For traceable products, we connect the dictionary to lot tracking so we can explain whether a total includes a particular lot, serial range, expiration status, or recall hold.

Control Units of Measure and Packaging

We choose one base reporting unit for each item and store conversion factors for cases, packs, pallets, weight, and eaches. The GS1 standard reinforces why consistent package and unit definitions matter when trading partners exchange product data.

We document whether conversions happen before or after aggregation, how we round fractional quantities, and which unit the report displays. A case-level report and an each-level report can both be accurate while showing different totals if we do not identify their units.

Separate Finished Kits from Buildable Kits

We report finished kit stock separately from buildable kits. Finished-kit quantity counts assembled inventory already on hand. Buildable-kit quantity depends on available components and each component's bill-of-material ratio. We use kit rules to ensure our reports do not promise kits from components already reserved, quarantined, or assigned elsewhere.

Keep Quantity Definitions Separate from Valuation Definitions

We treat quantity and value as related but separate reporting systems. Quantity fields answer how many units we can locate, reserve, inspect, or promise. Valuation fields answer how those units are costed for accounting and financial analysis. Combining both questions in one field creates confusion when operational status changes before accounting treatment does.

We document cost method, cost layer, currency, landed-cost inclusion, valuation cutoff, and write-down treatment in their own dictionary entries. IRS Publication 538 states that, for merchandise purchased during the year, cost means the invoice price minus appropriate discounts plus transportation or other charges incurred in acquiring the goods.

We use that as a reminder to document our cost basis rather than assuming quantity multiplied by a visible unit cost equals the ledger balance.

We also avoid assuming that unavailable quantity has no value. Damaged or quarantined inventory may still carry a cost, a reserve, a repair estimate, or a pending disposition decision.

Our landed cost reporting should therefore reconcile to its own valuation logic while our operations reports remain clear about physical and sellable quantities.

If finance works in QuickBooks Online, Arka's QuickBooks integration handles the accounting entries required for cost allocations, which is worth documenting in the valuation entries of the register.

Use This Copy-Ready Dictionary Template

We use one shared register for report fields, formulas, and ownership. We can store it in a spreadsheet, reporting specification, or governed data catalogue, as long as every dashboard and export points back to the same approved definition.

Template ColumnWhat We Enter
Business Field NameThe human-readable report label.
Technical Field NameThe dataset, table, API field, or calculation identifier.
Plain-Language DefinitionThe field's meaning in one sentence.
Data Type And UnitWhole number, decimal, or text, plus the base unit of measure.
Allowed ValuesThe valid range or list, including how negatives and blanks are handled.
Formula Or LogicInputs, operators, exclusions, null handling, and status logic.
Reporting Grain (Counting Level)The level a number is counted at: SKU, location, lot, serial, UOM, entity, and date.
Included And Excluded StatusesSellable, committed, damaged, quarantined, and other status rules.
Source System Of RecordThe authoritative system for the field.
Update Event And Refresh CadenceThe posting event and dashboard update schedule.
As-Of Timestamp And Time ZoneThe reporting cutoff rule.
Data OwnerThe accountable business role.
ApproverThe role authorised to change the definition.
Version And Effective DateThe change-history reference.
Validation TestThe reconciliation, exception, or sample check.

Example: A Completed Entry for Available Inventory

Here is one filled-in entry. The values for Technical Field Name, Source System Of Record, and Approver are example placeholders; replace them with your own.

Template ColumnExample Entry
Business Field NameAvailable Inventory
Technical Field Name

available_qty (replace with your system's field name)

Plain-Language DefinitionUnits we can promise to customers right now.
Data Type And UnitWhole number, in the base unit of measure (each)
Allowed ValuesZero or greater; any negative value is flagged as an exception
Formula Or LogicOn-hand − committed − distinct non-sellable units (each damaged or quarantined unit counted once)
Reporting Grain (Counting Level)SKU, warehouse, and day
Included And Excluded StatusesIncludes sellable stock; excludes committed, damaged, quarantined, and quality-held units
Source System Of RecordThe inventory system of record
Update Event And Refresh CadenceAny posting that changes on-hand, commitments, or hold status; dashboard refreshed on the agreed schedule
As-Of Timestamp And Time ZoneReport run time, in the warehouse's local time zone
Data OwnerWarehouse operations manager
ApproverInventory control lead
Version And Effective Date

v1.0, effective [date]

Validation TestWeekly check of 20 sampled SKUs: available equals on-hand minus committed minus distinct non-sellable units

We use the NIST definition of a data element, the smallest named item of data that conveys meaningful information. In our register, that means each field gets one definition, one purpose, and enough context for another team to reproduce the number.

We recommend starting with the fields used in inventory by location, available-to-promise, open orders, receiving, and valuation reports.

To see what those reports can look like in practice, read how one Arka customer tracks availability and value by product family and monthly stock movements. Once the register is approved, we turn it into practical filters, views, and dashboards.

Roll Out the Dictionary and Govern Changes

A dictionary only helps while it stays current. We roll it out in a few small steps, then control every change the same way.

  1. 1
    Pick the disputed reports first.
    Start with the reports teams argue about most, usually inventory by location, available-to-promise, open orders, receiving, and valuation.
  2. 2
    Draft one entry per field.
    Use the template above, and name one data owner and one approver for each entry.
  3. 3
    Test against real transactions.
    Reconcile a sample of real orders and receipts to the formula before approving the entry.
  4. 4
    Publish in one place.
    Store the register where every dashboard and export can point back to it.
  5. 5
    Control changes.
    Every change starts as a request, goes to the data owner for review, and needs the approver's sign-off. We then save a new version with an effective date and keep the old one, so historical reports keep their original logic.
  6. 6
    Review on a schedule and on triggers.
    We review the register on a regular schedule, and also whenever a workflow, source system, status, unit conversion, or accounting policy changes.

Keeping a short change log (what changed, why, who approved, and the effective date) is what lets us answer "why did this number move?" without a spreadsheet debate.

For the wider disciplines that keep stock figures trustworthy, such as audits, barcoding, and FIFO, see our guide to improving your inventory management process.

Put Arka Inventory to Work for Shared Reporting

Your dictionary only works if every report follows it. Arka Inventory is cloud software for inventory, warehouse, purchase and cost management, built natively on Salesforce to make shared reporting effortless. More than 30 paying B2B customers use it.

If your dashboards disagree today, talk to our team. We will help you build a practical field register and test it against your real orders and receipts.

Get one set of stock numbers across every report

Talk to our team and we will help you build a practical field register and test it against your real orders and receipts.
Talk to Sales

Frequently asked questions

An inventory data dictionary is a shared register that records what each stock field in your reports means, how it is calculated, when it updates, and who owns it. It lets sales, warehouse, purchasing, and finance read the same number the same way.
We assign one business owner to every field. Warehouse, sales, purchasing, finance, and reporting reviewers approve definitions that affect their workflows, controls, and reconciliations directly.
On-hand is the posted balance at a defined location and cutoff. Available is the portion we can promise after reservations and non-sellable holds are excluded.
We keep incoming and in-transit quantity separate from immediately available stock unless our policy explicitly allows it, names the ownership event, and documents the customer-promise rule.
We review definitions whenever a workflow, source system, status, unit conversion, or accounting policy changes, and we preserve versions so historical reports retain their original logic.
At minimum, each entry needs a plain-language definition, formula or logic, data type and allowed values, reporting grain, included and excluded statuses, source system, update event and refresh time, owner and approver, version and effective date, and a validation test. The template above covers each of these.
A business glossary explains what a term means to the business. A data dictionary records how a specific field is built, including its formula, grain, statuses, source, and owner. A data catalogue is the searchable index that shows where each dataset or report lives. For inventory reporting, we keep one register that carries both the plain-language meaning and the calculation.

Sources

  1. 1.Inventory Record Inaccuracy: An Empirical Analysis
  2. 2.Do you have a data dictionary?
  3. 3.21 CFR 211.82, Receipt and storage of untested components, drug product containers, and closures
  4. 4.GS1 Package and Product Measurement Standard
  5. 5.Publication 538, Accounting Periods and Methods
  6. 6.Data element, Computer Security Resource Center glossary (definition from the NIST Privacy Framework Version 1.0)
  7. 7.Motorhome dealership case study
  8. 8.Healthcare provider case study

Keep reading

Arka Inventory.

© 2026 Arka Inventory

Powered by PageLens.ai

Get in touch — we'd love to help.

Request a Demo