ulostock
Features

What the system actually does

Invoicing, stock, purchasing, returns, expenses, approvals, reporting and access control — described in the detail you would need to evaluate them.

01

Inventory, Batches & Expiry

Stock is held per intake, not per product — each with its own batch number, expiry date, purchase price and quantity, against the branch holding it. Items approaching expiry are flagged on the dashboard within a window you set, and anything below its reorder threshold is flagged with it. Products can carry variants like colour and size, and serialised items can be tracked by individual asset identifier. Every intake, sale, adjustment and transfer is written to a movement history you can read back per product and per branch.

STOCK BY INTAKE
Amoxicillin 500mg
batch B/2291 · exp 04/27
412 pcs
Amoxicillin 500mg
batch B/2274 · exp 09/26
Expiring
Cotton t-shirt · black · L
variant · Onitsha
38 pcs
Smart watch, 44mm
serial SW9F-40182
In stock
Same product, two batchescounted separately
02

Invoicing, POS & Receivables

Raise an invoice and the number is generated for you, in your own sequence. Apply a discount, add VAT at your default rate or override it for one sale, add shipping, and the total resolves as you go. Sell four ways: POS at the counter, a standard invoice, a credit invoice for account customers, and an order invoice for goods sold before collection — which tracks fulfilment separately from payment, so a part-supplied order is never mistaken for an unpaid one. Take payment in nine methods, in full or in parts, each payment recorded against the invoice it settles with a receipt attachable to it. Every invoice carries its own status through not paid, partially paid and paid, so what a customer still owes is a fact rather than a spreadsheet.

INV-20260811-0841
Subtotal
203,400
Discount 5%
−10,170
VAT 7.5%
14,492
Paid
bank transfer · 09 Aug
150,000
Balance57,722
03

Purchasing & Suppliers

A purchase order moves from draft through approval to received, with a partially-received state for the delivery that arrives short — so what was ordered, what arrived and what is outstanding stay separate. Record supplier payments against the order they settle and the order carries its own payment status, keeping the balance owed a fact on the record rather than a calculation.

PO-20260810-0117
Ordered
Meridian Supplies
40 carton
Received
10 Aug
24 carton
Outstanding
16 carton
Payment status
Partially paid
StatusPartially received
04

Returns & Refunds

Returns are processed against the original sale, item by item, with the specific batches, variants and serial identifiers that went out. Returned stock is restored to inventory automatically, and the return is kept as its own record with its own status rather than editing the original sale away — so both sides remain auditable.

RETURN AGAINST INV-…0793
Amoxicillin 500mg
batch B/2291
−4 pack
Smart watch, 44mm
serial SW9F-40182
−1 unit
Stock restored
automatically, to the batch it left
✓
Original saleunchanged
05

Expenses & Approvals

Expenses come in two shapes: a request raised before money is spent, and a record of something already paid. Both take receipt uploads, sit under expense categories you define, and can be routed through approval. Approvals are configurable across seven kinds of event — purchase orders, sales, stock transfers, expense records, expense requests, invoice payments and purchase order payments — with approve, reject and recall, and an approver going away can delegate their authority and revoke it on return.

EXPENSE REQUEST · 84,000
Raised by
Ada Okafor · Onitsha
Submitted
Step 1 · Branch manager
Approved
Step 2 · Finance
delegated to K. Mensah
Pending
Receipt
attached
✓
Recallableuntil step 2 lands
06

Reports & Analytics

Financial, sales, purchase and inventory reports, plus a P&L statement, P&L per product, daily sales, inventory analysis and a products-without-inventory list. Filter by today, the last 7, 30 or 90 days, or dates you choose, for one branch or across all of them. Every report downloads as PDF or Excel. The dashboard carries sales, inventory, purchase and financial metrics alongside recent activity.

REPORTS · LAST 30 DAYS
P&L statement
PDF · XLSX
P&L per product
PDF · XLSX
Daily sales
PDF · XLSX
Products without inventory
PDF · XLSX
12 report typesper branch or consolidated
07

Multi-Branch Operations

Run several locations from one account — how many depends on your plan. Each branch keeps its own inventory, sales and staff assignments, and a user assigned to more than one switches between them without signing out. Stock moves between branches as a tracked transfer that can require approval before it commits, and every report can be read per branch or consolidated.

STOCK TRANSFER · TR-0431
From
Central branch
−24 pack
To
Onitsha
+24 pack
Approval
required before it commits
Approved
Branch switch
without signing out
✓
Recorded on both sideswith the batch
08

Staff, Roles & Permissions

Onboard staff with their positions, branch assignments, contacts, addresses, national identities and emergency contacts. Roles are built from fine-grained permissions spanning staff, products, inventory, purchasing, sales, returns, transfers, expenses, reports, dashboard and workflow — so someone can record a sale without being able to delete one, or see stock without seeing margins.

ROLE · COUNTER STAFF
Sale.Create
Allowed
Sale.Delete
Denied
ProductInventory.UpdateSalePrice
Denied
Report.ViewPnl
Denied
Scoped to1 of 3 branches

See it against your own stock

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