> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inventory & locations

> Where stock lives, how on-hand is tracked, and how it moves.

Alforse stores stock at a **location** and, optionally, in a **storage unit**. On-hand quantity is derived from an append-only movement ledger rather than an editable balance.

## Locations and storage units

A **location** is a site or warehouse. **Storage units** are nested bins or shelves within a location, such as aisle › shelf › bin, and can carry one or more **storage types** (for example cold or hazardous). A storage unit can also be tied to a work center. A storage unit attached to a work center is a **lineside** bin for point-of-use material; other storage units are warehouse bins.

## On hand is a ledger

The **item ledger** is the source of truth. On-hand is the sum of its signed movements: receipts and outputs add, sales and consumption subtract, transfers move between places. A cached per-location quantity exists for quick reads, but the ledger is what's authoritative.

| Entry type | Effect |
| - | - |
| `Purchase` · `Output` · `Assembly Output` | Goods received or produced into stock. |
| `Sale` · `Consumption` · `Assembly Consumption` | Goods shipped or issued to a job. |
| `Positive Adjmt.` · `Negative Adjmt.` | Manual corrections. |
| `Transfer` | Movement between locations or storage units. |

NOTE

Read on-hand from the **ledger**, not the cached quantity table. The ledger is the truth, and it's status-aware (it can separate what's on hold or rejected from what's truly available).

HEADS UP

On hand can go **negative**. Shipping, issuing to a job, and picking all post their movements without first checking availability. Alforse would rather let the work proceed and reconcile later than block the floor. Only manual negative adjustments are guarded against overdraw.

## Movements

A **warehouse transfer** moves stock between locations by posting a shipment from one and a receipt into the other. A **stock transfer** moves stock between storage units in one location. A manual **adjustment** posts a positive or negative ledger entry; *Set Quantity* calculates the entry needed to reach a target.

Adjustments also post a journal, when accounting is enabled under Settings → Accounting (see [accounting](/docs/reference/accounting.md)). A loss debits inventory adjustment and credits inventory; a gain posts the reverse, valued at current item cost. Inventory count variances use the same accounts. Storage-unit transfers create no journal because value remains at the location. [Scrap](/docs/reference/scrap.md) uses a negative adjustment offset to the scrap account.

## Correcting a movement

The ledger is append-only — a posted movement is never edited or deleted. To fix one, use **Correct Quantity** on the movement in the stock movements list, enter the **Corrected Quantity** (signed, negative for outbound movements) and an optional **Reason**. Alforse books one **opposite movement for the difference**, linked to the original and dated with the original's posting date, so both sit in the right time period. The correction appears as its own row, flagged with a **Correction** badge that links it back to the movement it fixes. The journal for the correction posts into the original's accounting period, so the correction fails if that period is Locked or Closed. Correcting the same movement again measures against what it currently nets to, so repeated corrections converge instead of stacking.

## Value

Inventory value is on-hand quantity multiplied by item unit cost, aggregated by item and location. The valuation report groups by location or item. Its **Tie-Out** panel compares subledger value with GL inventory balances. If they differ, **Reconcile** creates a draft adjusting journal for review and posting.

## Related

**Items**

The tracking type that decides how an item's stock is counted.

[Open](/docs/reference/items.md)

**Receipts**

How goods enter inventory in the first place.

[Open](/docs/reference/receipts.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.