Modules · Inventory

Know what you have. Today.

Stock levels, lot tracking, expirations, and reorder alerts -- per SKU and per location.

Monthly
$29.00 /mo
Yearly
$290.00 /yr
≈ $24.17/mo billed yearly

Inventory tracks every SKU you sell, every lot you receive, every expiration that matters, and every reorder threshold that should have already fired. Per-location, per-store, per-org -- with audit trails on every adjustment. Every order line decrements stock. Every receiving event creates a lot. Every approaching expiration shows up on a dashboard widget weeks before it bites. No more midnight surprises.

SKU + lot tracking
Track stock at the SKU level for catalog work and at the lot level for receiving, expirations, and recalls. Both views, one record.
Expiration alerts
Lots within 30, 60, or 90 days of expiry surface on the dashboard widget. Pull the list, pull the orders that should use them first.
Reorder thresholds
Per-SKU minimums fire a clay alert when stock drops below the floor. Bake it into a vendor reorder workflow, or just keep the badge in your sidebar.
Per-location stock
Multi-store orgs hold stock per location; orders decrement against the right location automatically based on shipping zip.
Receiving audit
Every receiving event records the vendor, PO, lot, expiry, cost, and the operator who took delivery. Reconcile with the bookkeeper in minutes.
Inventory manager
Monday morning reorder
Open the dashboard. Five SKUs below their reorder floor; click through to generate the vendor PO with the right quantities. Email it, log it, done in fifteen minutes.
Compounding pharmacist
Lot rotation
Three lots of the same SKU, the oldest expires in 22 days. Inventory surfaces it; the orders module uses that lot first on every new order. Less waste, no spreadsheet.
Auditor
Reconcile end-of-quarter
Pull the receiving log for a quarter, join it to the orders log for the same period; closing stock should match. If it doesn't, the adjustment trail tells you why.
Do I need barcodes?
No. Lots are entered manually on receiving; if you do scan barcodes the form accepts them. We do not require a USB scanner for v1.
Can I track FEFO (first-expired-first-out)?
Yes. Orders automatically consume the oldest lot of a SKU unless you override on the line.
What if I miscounted on receiving?
Adjust the lot. The adjustment writes to the audit log with operator id, before/after value, and a free-text reason; the cumulative count updates immediately.
Does it integrate with my POS?
Not in v1. Orders flowing through PeptideClients decrement automatically; in-store walk-ins handled in another POS need a manual adjustment or a CSV reconcile.
Can I export the stock-on-hand snapshot?
Yes. CSV export of current SKU and lot positions, with cost basis and expiry, from the settings page.
How are recalls handled?
Pull every order that consumed a given lot from the lot detail view. One click generates a recall notification template; send to the client list with a single action.
Add inventory the day you need it.