Know how much of every lot you have, where it is, and whether it can be used. Stock follows your batches, genealogy and shipments automatically, so when something goes wrong you can see straight away how much is still on your shelves — and hold it.
12 min read
Pro & Enterprise
Inventory
Last updated: October 2026
What you'll need
A Pro or Enterprise plan (the API and webhooks are Enterprise only)
Inventory: manage permission to turn inventory on, change settings, post opening stock, adjust and review counts
Inventory: create to receive goods, move stock, issue to batches, record returns and reserve stock; Inventory: read to look
Optional: a USB or Bluetooth barcode scanner — or a phone with Chrome to scan with the camera
How stock works
Every unit of stock belongs to a lot (a supplier's delivery or one of your batches), sits in a location (warehouse, zone, bin or quarantine area) and has a quality status: Released, Quarantine, On hold or Rejected. Stock changes only through movements — received, produced, used in a batch, shipped, moved, written off, counted. Movements are never edited or deleted; a mistake is corrected with a reversal, so the history always adds up and an auditor can see every change.
On handEverything physically there: the sum of all movements.
AvailableReleased, not expired and not reserved — what you can actually use or ship.
ReservedSet aside for an order. Still on hand, but not available to anything else.
On holdOn hand while the lot is quarantined, on hold or rejected.
ExpiredOn hand past its expiry date. A lot can be both on hold and expired.
1
Turn inventory on for an entity
Go to Inventory → Settings, pick or create your default stock location and choose whether new receipts start as Released or in Quarantine until QA releases them (pharma defaults to quarantine). Click Enable inventory. Then confirm what is still on the shelf from batches approved earlier under Opening balance — Meiver suggests the quantities; enter 0 for anything already gone.
Exploring with the demo products? Tick “Add sample stock” when enabling (or use the button in Settings) to fill every screen with sample lots. They disappear when you clear the demo data.
Until you enable it, nothing changes: batches, genealogy and shipments work exactly as before. Inventory is switched on per entity.
2
Receive goods from suppliers
Open Inventory → Receive Goods, pick the supplier, the delivery note or invoice number and add a line per product: quantity, the supplier's lot code, expiry date and location. Each line becomes a stock lot. Scan the case label to fill the line automatically (see Barcodes & units).
Goods from a supplier that isn’t approved or has an expired certificate are still received — but put in quarantine, with the reason, until someone releases them.
3
Let stock move with your records
You don't post most movements by hand:
Approving a batch adds its quantity as a released finished-goods lot (withdrawing approval puts it on hold).
Genealogy inputs from another batch take stock out of that batch. For supplier materials, open the lot and use Issue to batch, or pick the lot with Take from stock on the Genealogy tab.
Shipments take stock out; editing or deleting a shipment puts it back.
Returns recorded against a shipment come back into their own quarantined lot.
FEFO (first expired, first out): if an earlier-expiring lot of the same item is available, Meiver suggests it first. Using a later one needs a reason, which is kept with the movement.
Held, quarantined, rejected or expired stock can’t be shipped or used — release it first, or write it off.
4
Release, hold or reject
Open a lot and choose Change status. Released stock is available; Quarantine and On hold keep it on hand but unusable; Rejected is final (write it off when it is destroyed). Every change asks for a reason and is kept in the lot's status history.
When you start a recall, every lot of the recalled batch — and of every batch made from it — is put on hold automatically, and released again when the recall ends. The recall page shows how much is still in stock, per location.
5
Keep stock right day to day
Move stock between locations from the lot page.
Write off damaged, expired or sampled stock with a reason; Adjust (Manage permission) corrects a mistake.
Cycle counts (Inventory → Cycle Counts): count a location — blind by default, so counters don't see the system quantity — then a manager reviews the differences and posts them.
Reservations: on a lot, Reserve stock for an order number. Close it with Fulfilled when you ship, or Release it if the order is cancelled. A hold-until date makes it lapse automatically.
Reserved stock can’t be issued to a batch. Shipments aren’t blocked, because a shipment is usually what fulfils the reservation.
Alerts & reports
Daily email to admins and people with Inventory: manage — lots expiring within 60 days, within 30 days or expired, and items below their reorder level (set it on the item). Each alert is sent once, not every day.
Overview card and the Stock page filters show what needs attention: on hold, expiring, expired, below reorder level.
Exports (CSV): stock on hand, full movement history, expiry ageing, write-offs and count differences.
Reconciliation compares each batch's quantity with what stock says was produced, shipped and used — differences point to records that are missing.
Barcodes & units
Most supplier cases carry a GS1-128 or GS1 DataMatrix label with the product's GTIN, lot, expiry and often the weight. Add the GTIN to the item once (Inventory → Items → Edit); after that, scanning the label on the Receive page picks the item and fills the supplier lot, expiry, production date and quantity. On the Stock page, scan a label or type a lot code to open the lot.
Any USB or Bluetooth scanner works — it types into the scan box. On a phone or tablet with Chrome, the Camera button scans with the camera instead.
Each item keeps one base unit. Add Other units on the item (1 bag = 25 kg, 1 case = 12 each) and you can receive in bags or cases; standard units like g, lb or mL convert on their own. Batches and shipments recorded in another unit are converted the same way.
API & webhooks (Enterprise)
Create an API key with the inventory:read / inventory:write scopes (Settings → Integrations → API) to read items, lots, stock figures and the movement history, and to record goods receipts, lot status changes and reservations from your ERP or WMS.
Webhooks tell your systems when goods are received, when a lot is released / held / rejected, and when an item falls below its reorder level.
Writes through the API follow exactly the same rules as the dashboard and appear in the audit log with the key that made them.
Troubleshooting
Common issues & FAQs
Inventory shows an upgrade message+
Inventory is part of the Pro and Enterprise plans. A tenant admin can upgrade under Settings → Billing.
Approving a batch didn't add stock+
Check that inventory is enabled for this entity and that the batch has a quantity. If the batch is in a different unit from the stock item (e.g. cases vs each), add that unit under Items → Other units.
“Not enough stock” when recording a shipment+
Stock says less is on hand than you're shipping — usually a delivery or production that wasn't recorded. Correct it with a receipt or an adjustment (Manage permission), then save the shipment.
A lot is held by a recall and I can't release it+
Recall holds are lifted by ending the recall. You can still reject the lot.
I made a mistake in a receipt+
Open the lot and reverse the receipt movement (Manage permission), then receive it again. Movements are never edited, so the correction stays visible.
The scanner adds text but nothing is filled+
The barcode isn't a GS1 label (or it's a plain internal code). Fill the line by hand, or ask the supplier for GS1-128 labels. If the GTIN isn't found, add it to the item.
How do I remove the sample stock?+
Clear the demo data (the banner on the Overview page). Sample lots, items and the sample QA location go with it; your own stock is kept.
Setting up inventory?
Our team can help you set up locations, load your opening stock and connect your scanners or ERP.