Inventories
Inventories is the stock ledger itself - one row per product per branch, showing what you hold, what it cost, what has sold and what has moved. Where Products describes what you sell, this page describes what you actually have.
Menu path: Inventories > Inventories

What a row tells you
| Column | Meaning |
|---|---|
| Available quantity | What can be sold right now |
| Sold quantity / Transferred quantity | What has left through sales and through transfers |
| Average cost / Unit cost | The valuation behind the balance - the basis of your margin |
| Expiry date | When this stock stops being sellable |
| Barcode, SKU, weight | Identification and shipping data |
| Branch | The location holding it |
| Shipment number, reference | Where the stock came from |
Because a product exists once but its stock exists per branch, one product may appear on several rows. That is the point: it is how you see that a line is out of stock where customers want it while sitting in a branch where nobody asks for it.
Opening balances and adjustments
Each row has its own transaction history, and you can create an entry directly. The form carries the quantity, the cost, the date, an expiry date, a shipment number, a note and the account the value posts to, plus three settings worth knowing:
- Quantity alert threshold - the level at which this product starts appearing in Stock Shortages. Set from real weekly consumption, not by habit.
- Expiry alert threshold - how many days before expiry you want to be warned, which is the only way perishable stock gets sold rather than written off.
- Generate unique barcode for each item - one barcode per received unit, for serialised goods only.
- Update related transactions - applies a cost correction across the movements already recorded, rather than only from today.
Set up your stock
- Create the products first; stock cannot exist without them.
- Enter opening quantities and costs per branch. The cost you enter here becomes your valuation baseline, so use real landed cost, not list price.
- Set the quantity and expiry alert thresholds while you are in the row - it is the one moment you will remember to.
- From then on, let documents do the work: purchases, sales, transfers and counts all move these balances automatically.
Full reference
Every option and control on this page, at a glance.
Filters (10)
- Identity and numbering: Branch ID, Category ID, Product ID, Vendor ID
- Dates and periods: Expiry from date, Expiry to date, From date, Last date, To date
- Other: Name
Form fields (14)
Account ID, Barcode, Branch ID, Cost, Date, Expiry date, Generate unique barcode for each item, Note, Product ID, Quantity, Shipment number, Type, Update related transactions, Weight
Record actions
- Manage Quantity Alerts
Sortable columns
Ave cost, Branch, Product, SKU
Standard list tools
Every list page in OSOSS shares these controls:
- Manage columns - the icon at the right edge of the header row: search columns, tick to show or hide, drag to reorder. Your selection persists for your user.
- Quick search - matches the page's primary field.
- Filter chips + More Filters - the chips are your defaults; More Filters exposes the full set below.
- Save Filter / Saved Filters - name a filter combination and recall it in one click; one can be your default view.
- Reset - clears filters back to defaults.
- Export All - downloads the current filtered rows with exactly the columns you have selected.
- Focus - hides the surrounding chrome for a full-width table.
- Row selection - the header checkbox selects the page or all matching rows, enabling bulk actions.
- Rows per page and page jumper - at the foot of the table.
- Custom fields - anything you define under Settings > Custom Fields appears here as both a column and a filter.
Related pages
- Stock Transactions - the movements behind these balances
- Stock Counting - correcting a balance against the shelf
- Products - the catalog records these balances belong to
What you can do on this page
Every action on this page, step by step. What you see depends on your role, so a control your account is not set up for simply does not appear.
Open and read a record
- Click the row, or choose View in the row's actions menu.
- The detail page shows the record's own fields, its related documents, and the actions that apply to it in its current state.
- Use the breadcrumb or your browser's back button to return - your filters, sort, and page position are preserved.
Delete a record
- Open the row's actions menu and choose Delete.
- Confirm in the dialog. There is no undo from the interface.
- If the record is referenced elsewhere - used on a document, tied to a transaction - the delete is refused and the reason shown.
Actions on a single record
These appear in the row's actions menu and on the record page, and only when the record's current state allows them:
- Manage Quantity Alerts
Export the list
- Filter and choose your columns first - the export mirrors exactly what is on screen, not the whole table.
- Click Export All.
- The file downloads as a spreadsheet: one row per record, your visible columns in your order.
Import records
- Click Import.
- Download the template if one is offered - its headers are exactly what the importer expects.
- Fill the template, upload it, then map each of your columns to an OSOSS field.
- Read the validation result: every failing row is listed with its reason. Fix the source and re-upload, or import only the passing rows.
- Confirm. Nothing is written to your account before this step.
Print or save as PDF
- Choose Print in the row's actions menu, or open the record and use Print there.
- Pick the template or format if you are prompted.
- Your browser's print dialog opens - print it, or choose Save as PDF as the destination.