Fast POS checkout
Search or scan, change quantities, take cash, card or credit, print a receipt. Keyboard shortcuts for the counter.
Sell at the counter and your online store’s stock updates on its own. No second spreadsheet to keep in step. Expiry alerts, batch tracking and sales reports come from the same data.
The demo uses synthetic data in an isolated workspace.

PharmaFlow owns the stock numbers. Your store follows them. It can place and cancel orders, but it can never overwrite a quantity, so the two never fight.
Every item below is in the product now. Nothing here is a roadmap promise.
Search or scan, change quantities, take cash, card or credit, print a receipt. Keyboard shortcuts for the counter.
Stock is tracked by batch and sold first-expired-first-out. Low-stock and near-expiry alerts appear on the dashboard.
Signed webhooks, a pull API and idempotent orders for custom stores, with a delivery log, retries and a full resync.
An order holds its stock until you complete it at the counter or the store cancels it.
Sales over time, top sellers, stock value, waste and expiry exposure, calculated from your own transactions.
Owner, pharmacist and cashier permissions are checked on the server, not just hidden in the menu.
A developer can connect any storefront in an afternoon.
GET /api/v1/integrations/inventoryIdempotency-Key; retries never duplicateinventory.updated webhooks signed with HMAC-SHA256
Not today. PharmaFlow includes its own online store and a documented API with signed webhooks that any custom store can use. Ready-made connectors for specific platforms are not part of the product yet.
The sale is never blocked. The stock update is queued, retried with increasing delays, and listed in the delivery log. If it still fails you see the reason and can retry or run a full resync with one click.
Orders reserve stock inside one database transaction, and the counter sees the reservation, so the same unit cannot be sold twice. A store that asks for more than is available gets a clear refusal and nothing is reserved.
Only active products you have marked “show on online store” and that are sold without a prescription. Expired batches never count as available.
Yes. The public demo is an isolated workspace with synthetic data. Store connections in the demo are simulated, so nothing is sent to a real server.
The demo workspace has medicines, batches, sales, online orders and a simulated store connection.