Serial Number Tracking

Follow each individual unit of a product, not just the count. Kantivo records a unit's serial number when it arrives, which customer it went to, and every movement in between.

Overview

Serial tracking is for products where each unit is distinct: generators, e-bikes, appliances, power tools, medical devices, anything a customer may later call about by its serial. It is switched on per product, so the rest of your catalogue is unaffected.

Serial tracking sits on top of normal inventory. Quantities on hand, FIFO/LIFO/average costing and cost of goods sold are calculated exactly as they would be without it. A serial problem never blocks a stock update; at worst it is reported as a warning.

Available from version 2.6. Serial-number tracking arrives with the 2.6 desktop build.

Turn On Tracking

  1. Go to Inventory and click 🔢 Serial Numbers
  2. Open the Tracked products & settings tab
  3. Tick Track serials next to each product that needs it

Only products that track inventory are listed. If a product is missing, turn on inventory tracking for it first.

Receiving Stock

When you save a Receive Inventory entry that includes a tracked product, Kantivo opens a Serial numbers dialog with one box per product line.

Selling a Unit

Saving an invoice or sales receipt with a tracked product opens the same dialog. Under each box Kantivo lists the serials currently in stock for that product; click one to add it, or scan the unit in your hand.

A serial already sold on another document is refused with the document it was sold on, for example "serial GX-40871 was already sold on Invoice INV-0142".

Customer Returns

Record the return as a line with a negative quantity on an invoice or sales receipt. The serial dialog then asks which units came back, and each one returns to In stock with a Returned by customer event in its history. A serial that is already in stock can't be returned.

Credit memos created through the API accept a serial_numbers array on each restocked line and record returns the same way. Voiding the credit memo puts those units back to Sold.

Edits, Voids & Deletes

You do thisThe serials do this
Edit an invoice and change which serial it carriesThe old unit returns to stock; the new one is marked sold
Edit an invoice without touching its serialsThe same units stay on it
Void or delete an invoice or sales receiptIts units return to stock
Delete an Inventory ReceiptUnits it brought in that are still in stock are marked Removed; units already sold keep their sale

Every one of these is written to the unit's history, so nothing disappears silently.

Look Up a Serial

On the Lookup tab of the Serial Numbers panel, search by serial number or product name and filter by status (In stock, Sold, Removed). Each row shows when and from which vendor the unit was received, when and on which document it was sold, and to which customer.

Click a row to open its full history: every receipt, sale, return and reversal, with the date, the document and the user who recorded it. That is the answer to a warranty call in a few seconds.

Requiring Serials

By default serials are optional: leave a box empty and the line saves without one. To enforce them, tick Require a serial number for every unit on the Tracked products & settings tab. Receive Inventory, invoices and sales receipts will then not save a tracked line until every unit has a serial. Only admins and managers can change this setting.

What the setting doesn't block: invoices created by estimate conversion, recurring invoices and the API are never stopped by it, so automated billing keeps running.

Serials need a whole-number quantity. A line for 2.5 units can't carry serials.

Stock You Already Had

Units on hand before you turned tracking on have no serials recorded. You don't need to enter them all at once: when one of those units sells, type its serial at the sale and Kantivo records it as first recorded at sale. The Serials in stock column on the products tab is highlighted while on-hand quantity is higher than the serials recorded, so you can see where the gap is.