Skip to content
Toss ERP user manual
Sign in

Chapter 8 — Inventory

Module code: INVENTORY Features: inventory_dashboard, item_catalog, warehouse_config, stock_operations, stock_picking_types, traceability, inventory_adjustments, reordering_rules, landed_cost, inventory_reports Home: /inventory/


8.1 What the module is for

Inventory holds the item catalogue and every movement of stock. Sales deliveries, purchase receipts, manufacturing consumption and point-of-sale tickets all end up as stock moves here, and every move is valued so the stock figure in Accounting matches the goods on the shelf.


8.2 Concepts

Concept Meaning
Item A product or material. Carries its unit, cost, sales price, taxes and tracking rules.
Item type A category of items. Sets defaults — tracking method, expiry behaviour — that new items inherit.
Unit of measure How the item is counted: each, kg, box. Units belong to a category so conversions are possible.
Warehouse A physical site.
Location A place inside a warehouse. Internal, input, output, scrap, and virtual locations for production and inventory loss.
Transfer (picking) One movement document: a receipt, a delivery, or an internal move.
Operation type The template that defines a class of transfer — where it comes from, where it goes, how it is numbered.
Lot / serial A tracked batch or individual unit.
Valuation layer The costed record of a stock movement. This is what ties stock to the ledger.

Transfer states

 Draft ──► Waiting ──► Ready ──► Done
                        │
                        └──► Cancelled
State Shown as Meaning
draft Draft Being prepared
waiting Waiting Another Operation Depends on another transfer finishing first
confirmed Waiting Stock not yet available
assigned Ready Stock reserved; can be processed
in_transit In Transit Moving between sites
done Done Stock has physically and financially moved
cancel Cancelled Abandoned

8.3 Setup before first use

Work through this in order. Each step depends on the one above.

1. Unit categories and units

/inventory/unit-categories/          categories
/inventory/unit-category/create/     new category
/inventory/unit/create/              new unit
  1. Create a unit category — for example Weight.
  2. Create the units in it — kg, g, tonne — setting the conversion factor against the category's reference unit.

Conversions only work inside a category. You cannot convert kilograms to litres, and the system will not let you try.

2. Item types

/inventory/types/                    list
/inventory/type/create/              new item type

An item type sets the defaults its items inherit:

  • Tracking method — none, by lot, or by serial number.
  • Use expiration date, and the day counts for expiry, best-before, removal and alert.

Set these on the type rather than on every item. New items created from the type pick them up automatically.

3. Warehouses

/inventory/warehouses/               list
/inventory/warehouse/create/         new warehouse
/inventory/warehouse/<id>/users/     who may use it
  1. Enter the name and a short code — the code prefixes transfer numbers.
  2. Enter the address.
  3. Set the manufacturing steps if you make goods here — see Chapter 10.
  4. Save.

Creating a warehouse automatically creates its standard locations and operation types. You do not build these by hand.

4. Locations

/inventory/locations/                list
/inventory/location/create/          new location

Add locations for real subdivisions of a warehouse — a quarantine area, a returns bay. For detailed bin-level structure, use the Warehouse module instead (Chapter 9).

5. Operation types

/inventory/operation-types/          list
/inventory/operation-types/create/   new

Standard receipt, delivery and internal types are created with the warehouse. Add your own only when you need a distinctly numbered or differently routed flow.


8.4 The item catalogue

/inventory/items/                    list
/inventory/item/create/              new item
/inventory/item/<id>/edit/           edit
/inventory/items/import/             bulk import
/inventory/items/import/sample.csv   import template

Creating an item

  1. Go to /inventory/item/create/.
  2. Identity - Name — what people will search for. - Internal reference / code — your own SKU. Keep it unique. - Barcode — required if the item will be scanned at the point of sale. - Item type — defaults flow from here.
  3. Purchase and sales - Can be sold / can be purchased — these tick boxes decide whether the item appears on sales and purchase order lines. An item missing from a dropdown is almost always missing a tick here. - Sales price and cost. - Sales tax and purchase tax.
  4. Inventory - Unit of measure, and the purchase unit if you buy in a different one. - Tracking — none, lot, or serial. Choose deliberately: turning tracking on later does not retrospectively identify existing stock. - Expiry settings if the item perishes. - Reordering rule — see section 8.9.
  5. Accounting - Stock, expense and revenue accounts, if this item posts somewhere other than the category default.
  6. Save.

Importing items in bulk

  1. Download the template at /inventory/items/import/sample.csv.
  2. Fill it in, one item per row.
  3. Upload it at /inventory/items/import/.
  4. Review the result report. Rows that failed are listed with the reason; fix and re-upload only those.

Import into a test workspace first if the file is large. A bad import is far more work to undo than to check.


8.5 Transfers: moving stock

/inventory/pickings/                 list of transfers
/inventory/picking/create/           new transfer
/inventory/picking/<id>/edit/        open a transfer
/inventory/picking/<id>/return/      create a return

Most transfers are created for you by Sales, Purchase or Manufacturing. Create one by hand for internal moves and one-off corrections.

Processing a transfer

  1. Open it from /inventory/pickings/.
  2. Check availability. The system reserves what it can and sets the state to Ready. If it stays Waiting, the stock is not there.
  3. For each line, enter the done quantity — what is physically moving, which may be less than demanded.
  4. For tracked items, set the lot or serial number on each line. On an outgoing move you pick from lots in stock; on an incoming one you enter or create the lot.
  5. Validate.

Validation is the commitment: stock levels change, valuation layers are written, and the ledger entry is made. After validating you cannot simply edit the transfer — you create a return or an adjustment.

Returns

Select Return on a done transfer, enter the quantities coming back, and validate the return transfer. This works for both customer returns and returns to a supplier.

Splitting a line

Where a single demand line is fulfilled from more than one lot or in more than one step, split the move rather than overwriting the quantity. The order line then keeps an honest record of what happened.


8.6 Lots, serial numbers and traceability

/inventory/lots/                     list
/inventory/lot/create/               new
/inventory/lot/<id>/                 detail — full movement history

For a tracked item, every unit in stock belongs to a lot (a batch) or is a serial number (one individual unit).

Creating a lot is normally done during a receipt, not in advance. Enter the supplier's batch number on the receipt line and the lot is created.

The lot detail page is the traceability screen. It shows every movement that lot has been through: which receipt brought it in, which deliveries took it out, which manufacturing order consumed it. In a recall, this page is the answer.

Expiry

If the item type uses expiration dates, entering the lot on a receipt sets the expiry from the day counts configured. Removal and alert dates are derived from it, and expiring stock is surfaced in the warehouse dashboards.


8.7 Packages

/inventory/packages/                 list
/inventory/package/create/           new

A package groups stock physically — a pallet or a carton — so it can be moved as a unit. Use packages when you genuinely handle stock that way; they add a step otherwise.


8.8 Adjustments and scrap

Stock adjustment (physical count)

/inventory/adjustments/              the counting screen
/inventory/adjustments/history/      past adjustments
/inventory/adjustments/print/<ref>/  print a count sheet
  1. Go to /inventory/adjustments/.
  2. Filter to the location, warehouse or item group you are counting.
  3. For each line enter the counted quantity. The system shows the difference against the recorded quantity.
  4. For tracked items, count by lot.
  5. Apply the adjustment.

Applying writes a stock move for each difference and posts the value to the inventory adjustment account. Differences are a cost or a gain in the ledger, so count carefully and get counts approved before applying.

Print the count sheet before counting. Counting against a screen that already shows the expected number invites people to confirm it rather than count it.

Scrap

/inventory/scrap/                    scrap screen

Scrap removes damaged or unusable stock. Choose the item, the quantity, the lot if tracked, and a reason. The stock moves to the scrap location and the value is written off.


8.9 Reordering rules and replenishment

/inventory/reordering-rules/         list
/inventory/reordering-rules/new/     new rule
/inventory/reports/replenishment/    what needs ordering now

A reordering rule keeps an item between a minimum and a maximum quantity in a warehouse.

  1. Create the rule with the item, warehouse, minimum quantity and maximum quantity.
  2. Optionally set a multiple, so orders come out in whole cases.
  3. Save.

When stock falls below the minimum, the scheduler proposes a purchase up to the maximum. Run it from the replenishment report, or order a single line immediately with Order once.

Set minimums from lead time and usage — enough to cover the time it takes to resupply, not a round number chosen because it looked comfortable.


8.10 Routes and rules

/inventory/routes/                   list
/inventory/route/create/             new route
/inventory/rule/create/              new rule

A route describes a multi-step path stock takes — for example receiving into an input area, then putting away into storage. Rules are the individual steps.

Most customers never need to touch this: warehouses come with sensible routes. Change it when your physical process genuinely has more steps than one.


8.11 Landed costs

/inventory/landed-costs/             list
/inventory/landed-cost/<id>/         detail

A landed cost adds freight, duty, insurance or clearing charges to the value of goods already received, so the stock is valued at its true cost.

  1. Open or create a landed cost record.
  2. Choose the receipt transfers the cost applies to.
  3. Enter the cost lines — the charge and the account it came from.
  4. Choose how to spread it: equally, by quantity, or by value.
  5. Post it.

Posting adjusts the valuation of the goods received and, for anything already sold, the cost of goods sold. Post landed costs before the goods are sold if you can — an adjustment after the sale is correct, but harder to explain.


8.12 Reports

/inventory/reports/current-stock/          what is on hand, by item and location
/inventory/reports/valuation/              stock value
/inventory/reports/transactions/           every movement, filterable
/inventory/reports/stock-ledger/           movements per item with running balance
/inventory/reports/stock-trial-balance/    opening, in, out, closing per item
/inventory/reports/replenishment/          what to order

Transactions can be exported to Excel and PDF; exports respect the filters on screen.

Question Report
How much do we have? Current stock
What is it worth? Valuation
Why has this item's quantity changed? Stock ledger
Does the period reconcile? Stock trial balance
What do we need to buy? Replenishment

The stock trial balance is the reconciliation report. Opening plus in minus out should equal closing for every item. If it does not, a transfer is stuck or an adjustment was applied outside the period.


8.13 Periodic routine

Daily
  [ ] Process receipts and deliveries the same day the goods move
  [ ] Clear transfers stuck in Waiting — find out why the stock is not there

Weekly
  [ ] Review the replenishment report and raise purchase orders
  [ ] Review expiring lots
  [ ] Investigate negative stock — it means a movement was recorded out of order

Monthly
  [ ] Count a rotating sample of items and apply adjustments
  [ ] Reconcile the valuation report against the stock account in Accounting
  [ ] Post any outstanding landed costs before closing the period

8.14 Troubleshooting

Symptom Cause Fix
Transfer stays in Waiting Stock is not available in the source location Receive it, or adjust, or change the source
Transfer will not validate A tracked line has no lot or serial Set the lot on each line
Item missing from a sales order Can be sold is not ticked Tick it on the item
Item missing from a purchase order Can be purchased is not ticked Tick it on the item
Negative stock on an item A delivery was validated before the receipt that supplied it Validate the receipt with its true date, then investigate the sequence
Valuation does not agree with the ledger Landed costs unposted, or adjustments posted to the wrong account Post outstanding landed costs; check the adjustment account
Cannot convert a unit The two units are in different categories Conversions only work within a category
Lot numbers cannot be entered The item is not tracked Set tracking on the item or its type
Reordering proposes nothing No rule for that item and warehouse, or stock is above minimum Check the rule
An item cannot be deleted It has movements Archive it instead