Every Asset, Every Move, On One Trail
Assets enter main inventory, get issued to a branch, move branch to branch, and can be returned or retired — with the whole journey kept on a permanent audit trail. Stock control, configurable statuses and branch-scoped access, in one platform.
Live at asset.invomatrix.com — ask us for demo credentials and we will send them across
In stock
148
At branches
312
Retired
26
100%
Movements Audited
12
Granular Permissions
3
CSV Reports
435
Automated Tests
Stock and Assets in One System
Central inventory, branch-level assets, and the ledger that ties them together.
Main Inventory & Stock Ledger
A central catalogue with a balance that is always in step with an append-only movement ledger. Every movement records the resulting balance, so any historical position can be reconstructed.
Asset Register & Bulk Tagging
Nobody should fill in a form forty times to record forty laptops. Enter a quantity and the platform generates a run of asset tags from the one you type, skipping any already taken.
Issue, Transfer & Return
Assets are issued from inventory to a branch, transferred branch to branch, and returned or retired. Every hop writes a movement row inside the same transaction as the location change.
Asset Statuses You Define
Create your own statuses and give each one real behaviour — a default for new assets, movement blocked for states like Under Repair, and terminal states such as Scrapped or Lost.
Branch-Scoped Visibility
Administrators see every branch. Everyone else sees only the branches they are linked to. Assets outside a user's scope return not-found rather than forbidden, so scoping cannot be used to probe for records.
Granular Permissions
Twelve permissions decide what a user can do — view, create, update, delete, perform asset actions, manage inventory, read reports, and administer branches, departments, masters and users.
CSV Stock Upload
Import stock by SKU and quantity, either adding to stock or setting an exact level as a stock take. Preview runs the whole import and rolls it back, so problems are visible before anything is written.
Reports & CSV Export
Stock report with opening, in, out and closing per item for any date range; asset status by branch as a full matrix; and a flat asset register. All three export to CSV and respect branch scope.
Four Stages, One Continuous Record
Nothing moves without leaving a trace.
Received into main inventory
Stock arrives against a SKU in the catalogue and the balance moves with a ledger row behind it. Creating a tracked asset from that item consumes one unit, so stock on hand always means units not yet turned into an asset.
Issued to a branch
The asset leaves central inventory for the branch that will use it. Send a whole batch straight to a branch at creation time and each unit is received and issued in the same transaction, so the trail still shows the full journey.
Transferred branch to branch
Assets follow the work. Tick several in the register and the destination decides what each one does — inventory items are issued, branch items are transferred, and a mixed selection does the right thing per asset.
Returned or retired
Send an asset back to main inventory, or move it to a terminal status such as Scrapped or Lost, after which it can no longer be moved. A status that has ever been applied can be deactivated but never deleted, so history stays intact.
Correctness Enforced, Not Requested
The rules that keep the numbers honest live in the database and the transaction — not in a policy document.
The trail cannot be skipped
The location update and its movement row happen in the same transaction. Nothing moves without leaving a trace, and every status change is written to its own history table.
Half-finished states are impossible
A database constraint enforces that an asset in inventory has no branch and an asset at a branch must have one. A location can never be half-set.
Stock can never go negative
A second constraint holds the balance at or above zero, and the item row is locked before it is read, so two people issuing the last unit cannot both succeed.
A bad import cannot poison the good rows
Each CSV row runs inside its own savepoint. A bad row is undone completely and reported with its line number, while the good rows still land.
Batches are all or nothing
If stock runs out part-way through a bulk intake the whole batch is rolled back — you never get a half-finished run of asset tags.
Proven by a real test suite
435 automated tests run against a real MySQL database, covering the full inventory-to-branch lifecycle, scoping boundaries, concurrent stock movements and migration rollback.
Built for Your Industry
See how Invo Asset Management handles real asset problems across different sectors.
IT & Corporate Asset Management
Real-world asset scenarios
Forty laptops arrive against one purchase order. Record them in a single form with a quantity — the platform generates AST-00021 through AST-00060, consumes forty units of catalogue stock, and books each one into inventory.
A new joiner in the Bengaluru office needs a machine. Issue it from inventory to that branch in one action. When they leave, return it to main inventory — both hops are on the asset's permanent trail.
Mark a failing machine Under Repair, a status configured to block movement. It cannot be issued or transferred to anyone until it comes back to a state that allows movement.
End-of-life hardware moves to a terminal status such as Scrapped. The asset can no longer be moved, but its full history — every branch it sat at and every status it held — stays on record.
Export the asset register or the branch-by-status matrix to CSV at any time. Both respect the caller's branch scope, so a regional lead exports their region and nothing else.
Key Benefits
Hotels & Multi-Property Groups
Real-world asset scenarios
Televisions, air conditioners and kitchen equipment are held centrally and issued to the property that needs them. The central balance and the property's asset list stay in step automatically.
A banquet set travels from one property to another for the season. Transfer it in one action and both properties see the correct position — no spreadsheet reconciliation at month end.
Linen, amenities and spares live in main inventory as catalogue items. Add stock on receipt, book stock out on issue, and run a stock take with an exact-level CSV upload.
Link a manager to their properties and that is exactly what they see. A property they are not linked to simply does not exist for them — in the register, in reports and in the API.
Items lost or damaged move to the matching status rather than quietly disappearing from a sheet, leaving an explainable record for owners and auditors.
Key Benefits
Retail Chains, Manufacturing & Field Teams
Real-world asset scenarios
Point-of-sale terminals, scanners and display units are issued from a central warehouse as stores open, and returned to inventory when a store is refitted or closed.
Instruments and power tools are issued to the site that holds them. When a team moves, a bulk transfer moves the whole selection in one step and reports anything that could not move, with the reason.
Set a reorder level per SKU and the stock report flags anything at or below it, with stock value alongside — so purchasing works from the ledger rather than from memory.
Count the shelf, upload the counts as an exact-level CSV, and the difference is booked as an adjustment. Preview the import first and fix any bad lines before a single row is written.
Assets carry a department alongside their branch and category, so the register answers who owns what as readily as where it is.
Key Benefits
Answers You Can Hand to an Auditor
Three reports cover the questions that get asked at month end and at audit time. Each one respects the caller's branch scope and downloads as CSV, so a regional lead exports their region and nothing more.
Stock report
Opening, in, out and closing per item for any date range, derived from the ledger, with stock value and low-stock flagging against each item's reorder level.
Asset status by branch
The full branch × status matrix, with main inventory as its own row and totals down both axes — where everything is, and what state it is in, on one page.
Asset register
A flat export of every asset in scope, with tag, category, department, branch and status, ready to reconcile against a fixed asset schedule.
Asset status by branch
All branches · current position
| Branch | In use | Repair | Retired | Total |
|---|---|---|---|---|
| Main inventory | 148 | 6 | — | 154 |
| Bengaluru | 126 | 9 | 11 | 146 |
| Mumbai | 94 | 4 | 8 | 106 |
| Delhi | 71 | 2 | 7 | 80 |
| Total | 439 | 21 | 26 | 486 |
Illustrative figures. Your own matrix is generated from live data and scoped to the branches you can see.
Ready to know where every asset is?
Take a walk through the live platform, or talk to our team about rolling it out across your branches.