ulostock
Use case

Inventory and invoicing for pharmacies & dispensaries

Batch and expiry on every intake, and the freedom to sell a single strip out of a carton.

The problem

Stock is bought in cartons and sold in strips or singles, every batch has its own expiry date, and anything that reaches it is money written off. A spreadsheet cannot tell you which batch is on which shelf, or what expires next month.

What ulostock does about it

Batch and expiry on every intake

Each intake is its own record with its own batch number, expiry date, purchase price and quantity. Stock approaching expiry is flagged on the dashboard within a window you set, and the inventory report lists what is expiring so it can be moved while it still sells.

Buy in cartons, sell in singles

Set how a product converts — one carton to twelve packs, one pack to ten pieces — and hold stock in one unit while selling in another. The conversion can be global to a unit or specific to a product, so an unusual pack size does not force a workaround.

Registration numbers on the product record

Every product carries a registration number alongside its code, category and description, so the regulatory reference lives with the item rather than in a separate file.

Reorder thresholds per product

Set a low-stock threshold on any product, or let it fall back to your account default. Anything below it is flagged on the dashboard and in the inventory report, per branch.

Every movement accounted for

Intakes, sales, adjustments and transfers are written to an inventory movement history you can read back per product and per branch — so a discrepancy has a trail rather than a theory.

Questions we get asked

Can I sell part of a pack?

Yes. Define a conversion for the product — one carton to twelve packs, one pack to ten pieces — and you can receive stock in cartons while selling in pieces. Stock on the shelf is tracked in the unit you hold it in, and the sale deducts the right quantity.

Does it track expiry dates and batch numbers?

Yes. Batch number and expiry date are recorded per intake, not per product, so the same drug bought twice is two records with two expiry dates. Items approaching expiry are flagged on the dashboard within a configurable window, and listed in the inventory report.

Can I run more than one pharmacy from one account?

Yes. Each branch keeps its own stock, sales and staff assignments, and you can switch between branches without signing out. Stock moves between them through a stock transfer, which can be routed for approval. How many branches you get depends on your plan.

See it against your own stock

Every plan starts with a free trial, and the pricing page lists what each one includes.