Inventory counts
Count real stock against a frozen snapshot, review the variances, and post the differences as adjustments.
An inventory count freezes what Carbon thinks is on hand, sends someone to count what is actually on the shelf, and posts the difference. You pick a location (optionally narrowing to a few storage units or one item type), Carbon snapshots the on-hand quantity for every stocked lot into count lines, a counter fills in what they see, and posting books each variance as an inventory adjustment. It is how a warehouse reconciles the back to physical reality without touching stock one item at a time.
The count lifecycle
A count moves through three statuses in order. Posting is atomic, so a count is never left half-applied.
Every non-zero variance has been booked as a Positive or Negative Adjustment, tracked-entity quantities updated, and (when accounting is on) a journal written. This is the pivotal transition.
A Posted count isn't a dead end. "Rectify" reopens it to "Draft", re-baselines each line's system quantity to current on-hand, and lets you re-post. The re-post writes fresh adjustment movements that link back to the ones they correct, so the original count and its fix both stay visible in the stock-movement screens.
Creating a count
Every count is scoped to one location. From there you can narrow it two ways, both optional:
Limit the count to specific bins. Leave it empty to count the whole location.
Restrict to one of Part, Material, Tool, or Consumable — the stockable item types. Services are never counted (they hold no inventory).
When on, the counter doesn't see the expected quantity while counting. Use it so the system number can't bias what they write down.
A full count covers the whole location; a cycle count is the narrowed version — a slice of bins or a single item type, counted on a rotating schedule so you never have to stop the warehouse for a wall-to-wall inventory. The scope is only used at creation to decide which lines to generate; the resulting count is the same document either way.
When you generate the lines, Carbon aggregates on-hand from the item ledger into one line per item, storage unit, and lot. It excludes Rejected and Consumed lots — a count never lists stock that has already been scrapped or used up. Each line records the frozen system quantity; that snapshot is what the variance is measured against later, not live on-hand.
Counting
A counter walks the lines and enters what they find. Two rules matter:
A blank counted quantity means "not counted" and is skipped at post — it leaves that stock untouched. An explicit 0 is a real count that zeroes the line. The two are different: don't leave a line blank when you mean the shelf is empty.
Serial-tracked lines can only be counted 0 or 1 — a serial number is a single unique unit. Enter anything else and the post is blocked, with the offending rows flagged so you can fix them before trying again.
Counted quantities are non-negative, so a count can never drive on-hand below zero.
What posting does
Posting reconciles against the frozen snapshot, not live on-hand. For each counted line Carbon computes the variance as counted − systemQuantity and posts a single adjustment for it:
- A shortfall books a "Negative Adjmt.", an overage a "Positive Adjmt.", written to the with the document type "Inventory Count".
- Cost layers are maintained on every variance. When the company has accounting enabled, one journal is written for the whole post, debiting or crediting inventory against the inventory adjustment variance account, valued at the item's current cost. Counts with accounting off still adjust quantity and cost layers, just without the GL entry.
- For a tracked lot, the same variance is applied to the entity's quantity — the delta is added, not set — so any receipt or shipment that posted between the snapshot and the post survives the count rather than being clobbered.
Reconciling against the snapshot delta (not live on-hand) is deliberate. If a or lands while the count is open, the correction is applied on top of it instead of erasing it. The counter's variance is exactly what they reviewed.
Count vs. a direct adjustment
Both end in the same place — a Positive or Negative Adjustment on the ledger, and the same when accounting is on. The difference is the workflow:
A bulk, reviewable document. Snapshot many lots at once, count them, review the variances, then post them all in one atomic transaction. It has a Draft → Pending → Posted lifecycle and can be rectified.
A single, immediate movement on one item in one storage unit. No snapshot, no review step, no lifecycle — you enter a delta or a Set Quantity target and it posts on the spot.
Reach for a count when you're reconciling a shelf or a whole location; reach for an adjustment when you already know one specific quantity is wrong.