Every batch in Inventory carries a status: active, quarantine, recalled, expired or closed. The status decides whether the goods in that batch can still be sold or issued, so knowing what each one does is the quickest way to keep bad stock out of an invoice. This guide explains the five batch status values, what changes when you set one, and how to change them in bulk.
Batch status matters most if you deal in anything with a shelf life or a lot number: medicines, food, cosmetics, chemicals, paints or spare parts. If you are new to batches, start with our guide to batch and expiry tracking with FEFO.
The five batch statuses
Open Masters and then Batches in Inventory. Each row shows a status chip. The stored status can be one of these:
- Active: the normal state. The batch can be sold and issued.
- Quarantine: the batch is held, for example while a quality check is pending or a customer has complained.
- Recalled: the batch must not be sold because the manufacturer or you have pulled it back.
- Expired: the batch is past its expiry date.
- Closed: the batch is finished with, so it no longer takes part in day-to-day stock work.
The chip does not hide the reason. A quarantined batch reads "Quarantine" and a recalled batch reads "Recalled", not a generic "Inactive", because each one needs a different action from you.
Expiry follows the calendar, not just the status
You do not have to remember to mark a batch expired. If a batch has an expiry date that has already passed, the chip shows Expired and tells you how many days ago it expired, whatever status was stored. A batch that is still in date but close to the end shows Expiring soon; the default window is 30 days. Batches with no expiry date simply do not get these two warnings.
Use the Expiring soon filter on the Batches page to see what needs selling first. The summary cards at the top also count total, active, expiring soon and expired batches, along with the quantity on hand.
What a held batch stops
Quarantine, recalled, expired and closed batches are all treated as held. Two things follow:
- Available quantity drops. Stock sitting in a held batch is not counted as available, so an availability check will not offer it to a sales order. The goods are still physically in your store, so the on-hand quantity and your stock value do not change.
- Issuing from the batch is refused. If someone tries to post an issue document that names a held batch, Inventory rejects it with a "batch not available" error instead of letting the sale go through.
Take a simple example. You hold 100 units in an active batch, 50 in a recalled batch and 15 in a quarantined batch. On hand is 165, but only 100 is available to sell. That gap is the point: nobody can accidentally ship the recalled units.
You can still dispose of held stock
A block that stopped every movement would leave you holding goods you can neither sell nor get rid of. So these document types are allowed to use a held batch:
- Write-off, to remove expired or damaged goods from stock.
- Purchase return, to send a recalled batch back to the supplier.
- Batch adjustment, to correct the batch's quantity.
- Stock transfer, to move the batch to a quarantine or returns warehouse.
There is also a permission called stock.batch_status_override. A person who has it can post anyway, and Inventory shows a warning naming the status. Owners, administrators and inventory managers hold it by default; store keepers, accountants and view-only users do not. Check who has it in your company, because it is the one way around the block.
Change the status of many batches at once
- Go to Masters and then Batches.
- Tick the rows you want. The bar shows how many are selected on the current page.
- Choose Change status and pick an option such as Mark as quarantine or Mark as recalled.
- Read the confirmation and select Apply status. The recalled option is shown as a dangerous action.
The dialog explains what happens: the status is stored on each batch and shown everywhere it appears, including the batch pickers inside inventory documents. Nothing is deleted, no stock moves, and every change is written to the audit log. If every selected batch already had that status, Inventory tells you so instead of changing anything.
For a single batch, the row's action menu has Close batch, which is useful once a batch is empty and you want it out of the way.
A practical routine
- On receipt: if a delivery looks doubtful, mark the batch as quarantine until it is checked, then return it to active.
- Weekly: open the Batches page, filter by Expiring soon and plan discounts or FEFO picking for those lots.
- On a recall notice: mark the batch recalled straight away, then use a purchase return or write-off to dispose of it, and keep the supplier's notice with your records.
- After disposal: close the batch so the register stays clean.
- At year end: compare batches against your count, as in our physical stock verification routine.
Expired stock can have tax and accounting effects, such as writing off the value, so confirm the treatment with your CA.
Key takeaways
- Batches are active, quarantine, recalled, expired or closed; only active batches are sellable.
- Held batches are excluded from available stock, though on-hand and valuation stay unchanged.
- Issuing from a held batch is refused, while write-off, purchase return, batch adjustment and transfer still work.
- Use bulk Change status on the Batches page, with every change recorded in the audit log.
- Expiry shows automatically once the date passes, so you do not rely on someone remembering.
If you track lots and expiry dates, Aicountly Inventory keeps these statuses on the batch itself, so the warning appears at the moment someone picks the batch. For deeper stock control, see how to reserve stock for an order.