Stock Transactions
Stock Transactions is the movement ledger of your inventory - every quantity that came in, went out or was adjusted, with the reason attached. If a balance looks wrong, this is the page that tells you why.
Menu path: Inventories > Stock Transactions

What a transaction records
Each document carries a generated number, a branch, an Operation and a set of lines. The operation is the reason for the movement, and it is the field that makes the ledger readable:
| Operation | Effect |
|---|---|
| In | Increases the balance - goods arriving outside a purchase flow |
| Out | Decreases the balance - waste, samples, internal consumption |
| Adjust | Sets the balance to a stated figure, posting the difference |
Per line you can record the unit cost, the expiry date, a reference number and a shipment number, and the list shows available quantity, items count, status and who created it. Expiry dates are the detail people skip and then need: without them you cannot run first-expiry-first-out, and stock that quietly ages becomes a write-off nobody predicted.
The Account field decides where the value of the movement posts. An "out" for spoilage and an "out" for a marketing giveaway are the same to your shelf and very different to your accounts - the account is what separates them.
Record a movement
- Choose the Operation first; it determines what the quantities mean.
- Choose the branch, and the account the value posts to.
- Add the lines with quantities, unit cost where the movement has a value, and expiry dates where the goods are perishable.
- Add a reference number - the supplier note, the incident report, the internal request. A movement without a reference is a movement nobody can audit later.
- Save, then check the resulting balance on Inventories.
Full reference
Every option and control on this page, at a glance.
Filters (30)
- Identity and numbering: Account ID, Barcode, Branch ID, Brand ID, Category ID, Customer ID, Has barcode, ID, Inventory ID, Product ID, Shipment number, User ID, Vendor ID
- Dates and periods: Expiry date, Expiry from date, Expiry to date, From date, To date, Unit date
- Money and payment: Max cost, Min cost
- Products and stock: Max available quantity, Min available quantity
- Status and flags: Reference type, Type
- Other: Available, Max weight, Min weight, Reference no, Weight
Form fields (12)
Account ID, Barcode, Branch ID, Cost, Items, Name, Note, Operation, Product ID, Quantity, SKU, Title
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
- Inventories - the balances these movements produce
- Stock Counting - correcting a balance against a physical count
- Transfer Inventories - movements between locations
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.
Add a record
- Click Add above the table - some pages label it New or show a + icon.
- Complete the form. Required fields carry a red asterisk and the form will not submit until they are filled.
- Click Save. Validation runs on submit; any field that fails shows its message directly beneath itself, and the form scrolls to the first problem.
- You land back on the list with the new record in place.
Fields on this form: Account ID, Barcode, Branch ID, Cost, Items, Name, Note, Operation, Product ID, Quantity, SKU, Title
Edit a record
- Open the row's actions menu at the end of the row and choose Edit, or open the record and use Edit there.
- The form loads with current values. Change only what you need.
- Click Save.
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.
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.