An item lot in xMatix is a specific, identifiable quantity of an item — a received batch, a serial-numbered unit, a consignment — held at one partner account, branch and storage location, with its own dates, costs and quantity counters. Lot tracking answers the questions the item level cannot: which batch expires next month, which serial number went to which customer, what this consignment cost. Items opt in individually with the Track Lots flag on the item master; from then on every movement of that item names the lot it touches, and the same posting that moves branch stock moves the lot's counters.
Read the screen
- 1
Name is the generated lot number that document lines, ledger entries and the related-lot link refer to; open it for the full record.
- 2
Partner Account and Branch: who owns the lot and where it sits. The same physical batch at two branches is two lot records.
- 3
Item plus Serial Number or Component Number gives unit- or batch-level identity; serialized (asset-tracked) lots hold a quantity of one.
- 4
In Hand is what is physically present; Available removes allocated, picked, held, inspection and on-loan quantity. Read both before promising stock.
- 5
A negative In Hand means issues were posted against a lot that never received the matching quantity — investigate through the ledger; it is not a display error.
- 6
Search and column filters isolate a serial number, batch, item or branch without changing any quantity.
The Item Lots list (view All Item Lots) shows one row per lot: Name (the generated lot number), Partner Account and Branch (who owns it and where it sits), Item, Serial Number and Component Number, the calculated In Hand and Available quantities, and the created date. The list is not on the Inventory app's navigation bar; open it from a lot link on a document line or ledger entry, from the global search, or through the Item lot details drill on a stock figure in Inventory Stock. Search and the column filters isolate a serial number, batch, item or branch — the usual starting point for an expiry review or a recall.
Read In Hand and Available together before promising stock. In hand is what is physically present; available removes quantities already allocated, picked, held, on inspection or lent out. A lot can exist physically and still be unsuitable for a new order.
- 1
Key Information: partner account, branch, storage location, item, SKU, lot type and lot code. Storage location is set at receipt and rewritten when a transfer inward line is received.
- 2
Basic Details: Batch No is hand-entered; Serial Number, Component Number, Supplier Invoice Number and Date Of Receipt are copied from the goods receipt.
- 3
Date Of Expiry is not populated by receipt — capture it here if allocation should honour expiry limits or you run expiry reviews.
- 4
Cost and Total Cost are stored values that no posting path writes; the receipt line's Unit Cost is what travels onto ledger entries.
- 5
Quantity Details: Available and In Hand, calculated from the bucket counters.
- 6
Inventory Information holds the individual buckets — Sold, Allocated, Transit, Damaged, Shortage and the rest — that postings increment and decrement.
Open a lot to see the full record as one page of sections: Key Information (partner account, branch, storage location, item, SKU, lot type, lot code), Basic Details (batch number, serial number, component number, supplier invoice number and dates, date of receipt), Lot Information (manufacturing and expiry dates, cost, total cost, related lot), Quantity Details (in hand and available) and, below them, Inventory Information — the individual quantity buckets (sold, allocated, transit, damaged, shortage and the rest) that postings increment and decrement. A list row is enough to find a lot; the detail page is where hold, expiry and recall decisions are made, and where a stock discrepancy is traced bucket by bucket.
Lot tracking is per item
The item master carries a Track Lots flag. Items without it move at item/SKU level only — the right choice where batch identity does not matter. Items with it must name a lot on every document line that moves stock: an adjustment line without one is rejected on save with Selection of Lot is mandatory for Items that requires Lot Tracking!, and any other lot-tracked line without one fails at posting with Product Lot was not selected for the transaction. This is required for Inventory posting. Track Asset (units become serialized asset records) splits every receipt line to a quantity of one, so each serialized unit gets its own lot. The item's (or SKU's) Maximum Lot Quantity caps how much a goods receipt may put into a single lot — a larger receipt line is split into several lines, each with its own lot.
Where lots come from
- Goods receipt creates lots when the receipt is received: one lot per receipt line for every inventory-tracked item (not only lot-tracked ones), copying the line's serial number, component number, unit cost, MRP, SKU, lot type and storage location, and the receipt header's supplier invoice number, supplier invoice and dispatch dates, partner account and branch. Date Of Receipt is the receipt's document date. Editing a received line afterwards rewrites its lot from the new values; deleting the line deletes the lot (lot-tracked items only).
- Transfer release and posting clone the source lot into a new lot at the destination — same batch, serial, registration number, cost and dates, owned by the destination partner and branch — and link the two through Related Item Lot. Saving the inward line with a receiving storage location moves the destination lot to that location.
- Field sales (van stock) lines clone the source lot the same way, so stock loaded onto a vehicle is a linked lot at the vehicle's location.
- Manual entry or import creates lots directly; the same fields apply.
Lots are location-scoped rather than globally unique per batch number: the same physical batch received at two branches, or transferred between them, is two lot records linked by the related-lot reference.
What a lot records — and what the platform maintains
| Group | Fields | Maintained by |
|---|---|---|
| Identity | Serial number, component number, batch number, lot code, registration number, item, SKU, lot type | Serial and component number come from the goods receipt line. Batch No, Lot Code and Registration Number are not written by receipt — enter them by hand or by import; transfers copy whatever is there to the destination lot. |
| Dates | Date of receipt, supplier invoice and supplier dispatch dates, date of manufacture, date of expiry, dispatch, registration, purchase, sale | Receipt sets Date Of Receipt and the supplier dates. Date Of Mfg and Date Of Expiry are yours to capture — nothing populates them automatically, so an expiry review depends on your discipline at receipt time. Expiry is read in one place: a fulfilment order line with a Limit Expiry Days value is auto-allocated only from lots whose expiry falls on or before today plus that many days — lots with no expiry date are skipped for such a line. |
| Costs | Unit cost, cost, total cost, landed cost, MRP | Unit Cost and MRP come from the receipt line and travel onto ledger entries. Cost, Total Cost and Landed Cost are not written by any posting path. |
| Placement | Partner account, branch, storage location | Set at creation; storage location is rewritten when a transfer inward line is received. |
| State | Hold code, transaction-locked, closed, closed-for-sale | Hold Code is the operative quarantine: invoicing and fulfilment allocation pick only lots with an empty hold code and available quantity, oldest first (newest first when the resolved method is LIFO). Is Transaction Locked is set and cleared by a cycle count with inventory locking; while it is on, any save that touches the lot is rejected with Item is locked for transaction! Please contact your Administrator for more details. Is Closed and Is Closed For Sale are informational — no process reads them; to stop a lot being sold, set a hold code. |
Lot quantity buckets
A lot keeps a position across buckets, updated by the same postings that move branch stock:
| Bucket | Meaning |
|---|---|
| In hand / available | Calculated from the buckets below: what is physically present, and what part of it is free to promise. |
| Transit | Released outward on a two-step transfer and not yet posted inward — carried on the destination lot. |
| On hold / inspection / on loan | Present but not usable: held by an OnHold adjustment, pending incoming inspection, or lent out by an OnLoan adjustment. |
| Purchased / sold / returns / pending deliveries | Cumulative trade quantities, including sold-but-undelivered stock. |
| Adjustment / negative adjusted / damaged / expired / shortage / excess | Corrections and write-downs by reason, from adjustment lines and receipt or transfer discrepancies. |
| Transfer inward / outward, allocated, picked, unbilled receipts / dispatches | Logistics states as stock moves through receipts, fulfilment and transfers. |
Each posting checks that the bucket it moves does not go below zero and rejects the movement if it would. Because buckets accumulate positive magnitudes, the calculated in-hand figure can still read negative when issues have been posted against a lot that never received the matching quantity — a negative In Hand on the list is a data problem to investigate through the ledger, not a display error.
Lot types
A lot type is a named commercial grade of an item — saleable, sample, promotional — with flags (Saleable, Sample, Promo) and short codes (Code, Price Code, Variation Code, External Item Code) used by pricing rules and integrations. Lot types are defined per item under the Inventory or Warehouse settings apps and are carried on document lines, ledger entries and lots. They matter commercially rather than physically: price-list, discount, tax and group rules can target a lot type, so sample stock of an item can price at zero while saleable stock prices normally, without a second item. A lot type is not a lot-numbering scheme and does not switch lot tracking on or off.
Lots through movements
Every movement of a lot-tracked item carries its lot: receipts create lots, shipments and issues draw them down, adjustments correct them bucket by bucket, and transfers move quantity out of the source lot, through the destination lot's transit counter, and into the destination lot. Each inventory ledger entry records the lot it moved (and, on transfers, the related lot on the other side), so a lot's history reads like the item's — one level finer. The Inventory Stock page offers an Item lot details drill on any figure for a lot-tracked item, which opens the lots behind that balance.
Common questions
Should every item be lot-tracked?
No. Lot tracking earns its keep where batch identity has consequences — expiry dates, serial-level warranty, batch-specific costs, recalls. Where any unit is as good as any other, item/SKU-level tracking is simpler and every document gets one field less to fill. The flag is per item, so mix freely.
Why is the expiry date empty on lots we received?
Because goods receipt does not populate it — only the receipt date and the supplier paperwork dates are set automatically. Capture manufacturing and expiry dates on the lot at receipt (or by import) if you rely on expiry reviews or on Limit Expiry Days during allocation; transfers then carry them to the destination lot.
Why does a non-lot-tracked item have lots?
Because receiving a goods receipt creates a lot for every inventory-tracked line, whether or not the item tracks lots. For an item without Track Lots the lot is a record of the receipt and is not required on later movements; the item's stock is kept at item/SKU level and the lot's counters are only moved by lines that happen to name it.
What is the difference between a lot and a lot type?
A lot is a physical quantity — this batch, this serial number. A lot type is a classification — saleable, sample, promo — that many lots of an item can share. You track and move lots; you write pricing and scheme rules against lot types.
How do lots interact with valuation?
The costing engine values stock per accounting book, item, branch and method; it does not keep a separate cost pool per lot unless the resolved method is specific identification, which costs each issue at the exact lot it drew (the lot's identity travels as the cost layer's lot key). Setting a policy's costing level to batch or serial does not by itself create per-lot pools. See Inventory valuation and costing.
