Dashboard
Sales, purchases, stock value and what needs attention.
Sales against purchases
12 monthsSales in thousands per month. Purchases run ahead of sales in the two months before peak, which is what stock is for.
Needs attention
4 itemsStock value by category
$284,600Recent movements
Products
The catalogue, with cost, price and stock status.
Catalogue
| Product | SKU | Category | Unit | Cost | Price | On hand | Status |
|---|---|---|---|---|---|---|---|
| PoE injector | CMP-1041 | Components | Each | $18.40 | $34.00 | 8 | Low stock |
| Aluminium extrusion, 2m | RAW-2210 | Raw materials | Each | $11.20 | $21.00 | 412 | In stock |
| Acoustic foam panel | RAW-2318 | Raw materials | Sheet | $6.80 | $14.50 | 184 | In stock |
| Toughened glass panel | CMP-1180 | Components | Each | $42.00 | $78.00 | 0 | Out of stock |
| Desk frame, assembled | FIN-3020 | Finished goods | Each | $96.00 | $189.00 | 61 | In stock |
| Corrugated carton, large | PKG-4410 | Packaging | Each | $1.20 | - | 2,840 | In stock |
| Legacy bracket, steel | CMP-0904 | Components | Each | $4.10 | - | 96 | Discontinued |
27-inch 4K monitor
One product: where it is, what it costs and why it is short.
Forty-one on hand across three sites against a reorder point of sixty. Twelve are already allocated to open sales orders, so the sellable figure is twenty-nine and the next purchase order is overdue.
Where it is
41 on handSupply
Recent movements
Last 30 days| When | Type | Reference | Quantity | Warehouse | By |
|---|---|---|---|---|---|
| 02 Sep 14:20 | Dispatch | SO-8821 | -4 | Rotterdam | Milos Varga |
| 01 Sep 09:12 | Dispatch | SO-8814 | -6 | Rotterdam | Milos Varga |
| 28 Aug 16:40 | Adjustment | ADJ-221 damaged | -2 | Porto | Ines Duarte |
| 24 Aug 11:05 | Transfer | TRF-118 | +6 | Malmo | Ines Duarte |
| 18 Aug 08:30 | Receipt | PO-4461 | +40 | Rotterdam | Milos Varga |
New product
Identity, money and the rules that reorder it.
Identity
Money
Cost is what the costing method uses. Changing the method later revalues stock, so it is set once in settings rather than per product.
Stock rules
Categories
How the catalogue rolls up, and what each branch holds.
Categories
7 categories| Category | Parent | Products | Stock value | Status |
|---|---|---|---|---|
| Displays | - | 184 | $412,800 | Active |
| Seating | - | 241 | $298,400 | Active |
| Storage | - | 312 | $184,200 | Active |
| Lighting | - | 96 | $96,300 | Active |
| Desk accessories | Storage | 148 | $41,900 | Active |
| Cable management | Storage | 84 | $18,400 | Active |
| Legacy stands | Displays | 19 | $4,120 | Archived |
Brands
Who makes it, who supplies it and how they perform.
Brands
6 brands| Brand | Supplier | Products | Stock value | On-time | Status |
|---|---|---|---|---|---|
| Meridian | Meridian Displays | 184 | $412,800 | 94% | Active |
| Cavell | Cavell Components | 148 | $241,600 | 88% | Active |
| Aldercroft | Aldercroft Supply | 212 | $186,400 | 91% | Active |
| Kestrel | Kestrel Packaging | 96 | $62,100 | 97% | Active |
| Harrowgate | Harrowgate Works | 41 | $18,900 | 72% | Under review |
| Selby | Selby Industrial | 12 | $3,400 | - | Archived |
Units of measure
The base unit and everything that converts to it.
Units of measure
6 units| Unit | Short | Type | Conversion | Products | Status |
|---|---|---|---|---|---|
| Each | ea | Count | 1 | 842 | Base |
| Box of 4 | bx4 | Count | 4 each | 148 | Active |
| Pallet | plt | Count | 48 each | 62 | Active |
| Metre | m | Length | 1 | 124 | Base |
| Kilogram | kg | Weight | 1 | 96 | Base |
| Litre | L | Volume | 1 | 12 | Active |
Stock adjustments
Manual increases and decreases, with a reason and a name.
Stock adjustments
6 waiting| Reference | Product | Change | Reason | Warehouse | Raised by | Status |
|---|---|---|---|---|---|---|
| ADJ-231 | 27-inch 4K monitor | -2 | Damaged in transit | Porto | Ines Duarte | Awaiting approval |
| ADJ-230 | Ergonomic chair, mesh | -8 | Count variance | Rotterdam | Milos Varga | Approved |
| ADJ-229 | Cable tray, 1.2m | +14 | Found in bin D-08 | Rotterdam | Milos Varga | Approved |
| ADJ-228 | Desk lamp, warm | -3 | Damaged, dropped | Malmo | Nadia Kraus | Awaiting approval |
| ADJ-227 | Monitor arm, dual | -1 | Lost | Porto | Ines Duarte | Rejected |
Stock transfers
Moving stock between sites, and what arrives short.
Stock transfers
7 open| Reference | From | To | Lines | Units | Sent | Status |
|---|---|---|---|---|---|---|
| TRF-124 | Rotterdam | Porto | 4 | 96 | 01 Sep | In transit |
| TRF-123 | Rotterdam | Malmo | 2 | 48 | 31 Aug | In transit |
| TRF-122 | Porto | Rotterdam | 6 | 112 | 30 Aug | Received |
| TRF-121 | Malmo | Porto | 1 | 24 | 28 Aug | Received short |
| TRF-120 | Rotterdam | Porto | 3 | 64 | 24 Aug | Received |
TRF-121 arrived two units short. Until somebody records whether that is a picking error at Malmo or a loss in transit, both sites are wrong and the variance sits here rather than being quietly absorbed by a count.
Purchase invoices
What suppliers billed, and whether it matches.
Purchase invoices
9 awaiting| Invoice | PO | Supplier | Match | Amount | Due | Status |
|---|---|---|---|---|---|---|
| PINV-2214 | PO-4482 | Meridian Displays | 3-way | $9,540 | 20 Sep | Approved |
| PINV-2213 | PO-4479 | Cavell Components | 2-way | $18,400 | 18 Sep | Disputed |
| PINV-2212 | PO-4471 | Aldercroft Supply | 3-way | $41,200 | 15 Sep | Awaiting |
| PINV-2211 | PO-4468 | Kestrel Packaging | 3-way | $6,300 | 12 Sep | Paid |
| PINV-2210 | PO-4461 | Meridian Displays | 3-way | $12,720 | 08 Sep | Paid |
Purchase returns
Goods sent back, and the credit still owed.
Purchase returns
5 open| Reference | Supplier | PO | Units | Value | Reason | Status |
|---|---|---|---|---|---|---|
| PRT-318 | Cavell Components | PO-4479 | 2 | $1,240 | Damaged on arrival | Awaiting collection |
| PRT-317 | Harrowgate Works | PO-4474 | 12 | $4,180 | Wrong specification | Collected |
| PRT-316 | Aldercroft Supply | PO-4471 | 4 | $2,900 | Over-delivered | Credited |
| PRT-315 | Meridian Displays | PO-4461 | 1 | $318 | Damaged on arrival | Credited |
| PRT-314 | Harrowgate Works | PO-4452 | 9 | $6,240 | Failed inspection | Awaiting collection |
Sales invoices
What customers owe and how late it is.
Sales invoices
11 overdue| Invoice | Order | Customer | Amount | Issued | Due | Status |
|---|---|---|---|---|---|---|
| INV-9114 | SO-8821 | Alvarez Imports | $2,490 | 02 Sep | 02 Oct | Sent |
| INV-9113 | SO-8814 | Northwind Retail | $1,298 | 01 Sep | 01 Oct | Part paid |
| INV-9112 | SO-8802 | Brewhouse Supply | $895 | 28 Aug | 27 Sep | Paid |
| INV-9111 | SO-8794 | Cordell Group | $6,240 | 21 Aug | 20 Sep | Overdue |
| INV-9108 | SO-8781 | Alvarez Imports | $3,410 | 14 Aug | 13 Sep | Overdue |
Sales returns
What came back, why, and whether it went back to stock.
Sales returns
8 open| Reference | Customer | Order | Units | Value | Reason | Outcome |
|---|---|---|---|---|---|---|
| SRT-604 | Alvarez Imports | SO-8794 | 2 | $898 | Damaged in transit | Write off |
| SRT-603 | Northwind Retail | SO-8781 | 4 | $1,796 | Changed mind | Restocked |
| SRT-602 | Brewhouse Supply | SO-8774 | 1 | $329 | Wrong item sent | Restocked |
| SRT-601 | Cordell Group | SO-8762 | 6 | $1,974 | Changed mind | Restocked |
| SRT-600 | Alvarez Imports | SO-8749 | 3 | $987 | Faulty on arrival | Write off |
Profit report
Revenue against cost, by month, category and product.
Profit by month
Year to dateGross profit in thousands. The step in July is the price rise taking effect, not a volume change.
Margin by category
Year to dateAccessories are a fifth of the units and an eighteenth of the margin. They exist to complete an order rather than to earn.
By product
Top 5 by revenue| Product | Units sold | Revenue | Cost | Profit | Margin |
|---|---|---|---|---|---|
| 27-inch 4K monitor | 412 | $184,988 | $131,016 | $53,972 | 29% |
| Ergonomic chair, mesh | 318 | $104,622 | $78,466 | $26,156 | 25% |
| Desk lamp, warm | 284 | $41,180 | $23,878 | $17,302 | 42% |
| Monitor arm, dual | 241 | $38,560 | $27,354 | $11,206 | 29% |
| Cable tray, 1.2m | 196 | $11,760 | $9,604 | $2,156 | 18% |
Sales report
Orders, revenue and who is buying.
Revenue by month
Year to dateBy customer type
Year to dateBy customer
Top 5 by revenue| Customer | Orders | Revenue | Average | Backorders | Terms |
|---|---|---|---|---|---|
| Alvarez Imports | 38 | $41,200 | $1,084 | 2 | 30 days |
| Northwind Retail | 62 | $154,200 | $2,487 | 4 | 45 days |
| Brewhouse Supply | 24 | $18,400 | $767 | 0 | 30 days |
| Cordell Group | 46 | $82,400 | $1,791 | 6 | 60 days |
| Harbourside Trading | 31 | $62,900 | $2,029 | 1 | 30 days |
Purchase report
Spend, lead time, on-time delivery and price variance.
Spend by supplier
Year to dateTwo suppliers are 60% of spend. That is efficient until one of them is late.
Supplier performance
1 under review| Supplier | Orders | Spend | Lead time | On time | Price variance | Quality |
|---|---|---|---|---|---|---|
| Meridian Displays | 84 | $412,800 | 21 d | 94% | +0.4% | Good |
| Cavell Components | 62 | $298,400 | 12 d | 88% | +1.8% | Good |
| Aldercroft Supply | 71 | $241,600 | 18 d | 91% | +0.9% | Good |
| Kestrel Packaging | 41 | $148,200 | 9 d | 97% | 0.0% | Good |
| Harrowgate Works | 22 | $62,100 | 26 d | 72% | +8.4% | Review |
| Selby Industrial | 4 | $29,400 | 31 d | - | - | New |
Inventory report
Value, turns, cover and what is not moving.
Value by category
At costValue by warehouse
At costStock in transit is listed separately because it belongs to neither site until it is received.
Movement extremes
$184k not moving| Product | Category | On hand | Value | Turns | Days of cover | Status |
|---|---|---|---|---|---|---|
| Legacy stand, fixed | Displays | 184 | $41,200 | 0.2 | 1,840 | Not moving |
| Cable tray, 1.2m | Storage | 412 | $18,400 | 1.1 | 318 | Slow |
| Desk lamp, warm | Lighting | 96 | $9,600 | 6.4 | 58 | Healthy |
| 27-inch 4K monitor | Displays | 41 | $13,038 | 9.8 | 11 | Below reorder |
| Ergonomic chair, mesh | Seating | 128 | $31,616 | 5.1 | 72 | Healthy |
Inventory
On hand, reserved and available, by warehouse and bin.
Stock on hand
Live| SKU | Product | Warehouse | Bin | On hand | Reserved | Available | Reorder at | On order |
|---|---|---|---|---|---|---|---|---|
| CMP-1041 | PoE injector | Rotterdam | A2-14 | 8 | 4 | 4 | 30 | 0 |
| CMP-1180 | Toughened glass panel | Porto | B1-02 | 0 | 0 | 0 | 20 | 120 |
| RAW-2210 | Aluminium extrusion, 2m | Rotterdam | A4-08 | 412 | 61 | 351 | 150 | 0 |
| RAW-2318 | Acoustic foam panel | Malmo | C2-11 | 184 | 38 | 146 | 80 | 0 |
| FIN-3020 | Desk frame, assembled | Rotterdam | A1-01 | 61 | 54 | 7 | 40 | 60 |
| PKG-4410 | Corrugated carton, large | Porto | B3-19 | 2,840 | 0 | 2,840 | 1,000 | 0 |
Movements
An append-only ledger of every receipt, dispatch and adjustment.
Movement ledger
Append only| When | Type | SKU | Product | Quantity | From | To | Reference | By |
|---|---|---|---|---|---|---|---|---|
| Today 14:02 | Receipt | RAW-2210 | Aluminium extrusion | +240 | Nordica Veneers | Rotterdam A4-08 | PO-0911 | Ines Duarte |
| Today 11:41 | Dispatch | FIN-3020 | Desk frame | -48 | Porto B1-04 | Alta Vista Hotels | SO-1712 | Milos Varga |
| Today 09:18 | Adjustment | CMP-1041 | PoE injector | -3 | Rotterdam A2-14 | - | Count 2026-088 | Ines Duarte |
| Yesterday | Transfer | RAW-2318 | Acoustic foam panel | 60 | Porto B2-07 | Malmo C2-11 | TR-0412 | Milos Varga |
| Yesterday | Return | CMP-1180 | Toughened glass panel | -12 | Porto B1-02 | Clearedge Glass | RTV-0088 | Ines Duarte |
Warehouses
Capacity, bins, value and stock in transit.
Rotterdam
OperationalRTM-01 · 218 bins · primary
Porto
OperationalOPO-02 · 164 bins · distribution
Transfers
| Transfer | From | To | Lines | Units | Value | Dispatched | Status |
|---|---|---|---|---|---|---|---|
| TR-0412 | Porto | Malmo | 1 | 60 | $408 | Yesterday | In transit |
| TR-0411 | Rotterdam | Porto | 4 | 188 | $3,772 | 2 days ago | In transit |
| TR-0408 | Malmo | Rotterdam | 2 | 96 | $1,104 | 5 days ago | Received |
Cycle counts
Blind counts, variances and who approved them.
Cycle counts
| Count | Warehouse | Scope | Counter | Counted | Lines | Variance | Status |
|---|---|---|---|---|---|---|---|
| 2026-088 | Rotterdam | Aisle 2 | Milos Varga | Today | 84 | -3 units, 0.4% | Awaiting approval |
| 2026-087 | Porto | Aisle 1 | Ines Duarte | Yesterday | 61 | +12 units, 2.8% | Over tolerance |
| 2026-086 | Malmo | Full | Milos Varga | 28 Aug | 431 | -8 units, 0.2% | Approved |
| 2026-085 | Rotterdam | Aisle 1 | Ines Duarte | 21 Aug | 96 | 0 | Approved |
Purchase orders
Raised, sent, partly received and closed.
Purchase orders
| Purchase order | Supplier | Lines | Value | Raised | Expected | Received | Status |
|---|---|---|---|---|---|---|---|
| PO-0924 | Crown Extrusions | 4 | $18,900 | 18 Aug | 08 Sep | 0% | Sent |
| PO-0918 | Apex Foam Systems | 3 | $28,400 | 14 Aug | 05 Sep | 0% | Sent |
| PO-0911 | Nordica Veneers | 11 | $61,200 | 11 Aug | 02 Sep | 64% | Partly received |
| PO-0902 | Clearedge Glass | 2 | $9,400 | 05 Aug | 26 Aug | 100% | Received |
| PO-0894 | Nordica Veneers | 6 | $14,800 | 01 Aug | 22 Aug | 100% | Closed |
Suppliers
Spend, measured lead time, on-time delivery and quality.
Suppliers
| Supplier | Category | YTD spend | Lead time | On time | Quality | Terms | Status |
|---|---|---|---|---|---|---|---|
| Nordica Veneers | Raw materials | $412,800 | 22 days | 94% | 99.1% | 30 days | Active |
| Apex Foam Systems | Raw materials | $298,400 | 18 days | 88% | 97.8% | 30 days | Active |
| Crown Extrusions | Components | $184,200 | 21 days | 71% | 99.4% | 45 days | Under review |
| Clearedge Glass | Components | $96,300 | 28 days | 92% | 96.2% | 30 days | Active |
| Portside Packaging | Packaging | $41,900 | 9 days | 98% | 99.8% | 14 days | Active |
| Fenmore Metals | Components | $0 | - | - | - | Prepay | On hold |
Sales orders
What is promised, what is allocated and what is backordered.
Sales orders
| Order | Customer | Lines | Value | Ordered | Promised | Allocation | Status |
|---|---|---|---|---|---|---|---|
| SO-1712 | Alta Vista Hotels | 6 | $8,940 | 30 Aug | 09 Sep | Full | Picking |
| SO-1708 | Northwind Retail | 11 | $14,200 | 29 Aug | 12 Sep | Partial | Allocated |
| SO-1701 | Harborline Logistics | 3 | $4,180 | 27 Aug | 05 Sep | Full | Shipped |
| SO-1694 | Brewhouse Supply | 2 | $1,290 | 25 Aug | 02 Sep | Backordered | Confirmed |
| SO-1688 | Atlas Gear | 8 | $13,190 | 22 Aug | 01 Sep | Full | Shipped |
Customers
Orders, terms, outstanding balance and credit status.
Customers
| Customer | Segment | Region | Orders | Year to date | Terms | Outstanding | Status |
|---|---|---|---|---|---|---|---|
| Alta Vista Hotels | Wholesale | Southern Europe | 84 | $186,400 | 30 days | $18,900 | Active |
| Northwind Retail | Wholesale | Northern Europe | 61 | $142,800 | 30 days | $14,200 | Active |
| Harborline Logistics | Direct | Northern Europe | 38 | $88,600 | 45 days | $0 | Active |
| Atlas Gear | Direct | North America | 29 | $61,400 | Prepay | $0 | Active |
| Brewhouse Supply | Direct | Southern Europe | 11 | $18,200 | 14 days | $4,180 | On hold |
Reports
Value, turns, days of cover and what is not moving.
Value by warehouse
$284,600Ageing
By last movementThe over-180 column is what a write-down conversation is actually about.
By category
| Category | SKUs | Value | Turns | Days of cover | Slow moving |
|---|---|---|---|---|---|
| Components | 412 | $118,400 | 5.2 | 70 | $14,200 |
| Raw materials | 286 | $84,100 | 6.1 | 60 | $8,900 |
| Finished goods | 184 | $52,300 | 3.4 | 107 | $12,600 |
| Packaging | 96 | $21,400 | 9.8 | 37 | $1,100 |
| Consumables | 306 | $8,400 | 2.1 | 174 | $5,100 |
Users
Accounts, roles and warehouse scope.
Users
| Person | Role | Warehouse scope | Status | Last active | |
|---|---|---|---|---|---|
| Nadia Kraus | nadia.kraus@example.com | Admin | All | Active | Online |
| Ines Duarte | ines.duarte@example.com | Manager | Rotterdam, Porto | Active | 2 hours ago |
| Lukas Berg | lukas.berg@example.com | Manager | Malmo | Active | Yesterday |
| Milos Varga | milos.varga@example.com | Staff | Rotterdam | Active | Today |
| Elin Sandberg | elin.sandberg@example.com | Staff | Porto | Active | Today |
| Andre Lourenco | andre.lourenco@example.com | Staff | Rotterdam | Suspended | 2 months ago |
What each role can do
Roles
What each role is scoped to, and what it can approve.
Roles
5 roles| Role | Type | Users | Scope | Can approve to | Status |
|---|---|---|---|---|---|
| Administrator | Built in | 2 | Every warehouse | No limit | Active |
| Inventory manager | Built in | 4 | Assigned warehouses | $5,000 | Active |
| Warehouse staff | Built in | 14 | One warehouse | - | Active |
| Buyer | Custom | 3 | Every warehouse | $25,000 | Active |
| Auditor | Custom | 1 | Read only, every warehouse | - | Active |
What a custom role is for
- Buyer raises and approves purchase orders but cannot adjust stock
- Auditor reads everything and writes nothing, including the audit log
- Neither can be created by copying a built-in role and removing rights
- A role with no users still appears here rather than being cleaned up silently
Recent changes
Permissions
Every capability against every role, as it is enforced.
What each role can do
11 capabilities| Capability | Administrator | Inventory manager | Warehouse staff | Buyer | Auditor |
|---|---|---|---|---|---|
| View the catalogue | Yes | Yes | Yes | Yes | Yes |
| Create and edit products | Yes | Yes | No | No | No |
| Adjust stock | Yes | Yes | Own site | No | No |
| Approve an adjustment over $500 | Yes | Yes | No | No | No |
| Transfer between warehouses | Yes | Yes | Send only | No | No |
| Raise a purchase order | Yes | Yes | No | Yes | No |
| Approve a purchase invoice | Yes | To $5,000 | No | To $25,000 | No |
| Change the costing method | Yes | No | No | No | No |
| Read every report | Yes | Yes | Own site | Yes | Yes |
| Manage users and roles | Yes | No | No | No | No |
| Read the audit log | Yes | Yes | No | No | Yes |
Changing the costing method is administrator only because it revalues every line of stock. It is the one permission on this page that rewrites history rather than controlling access to it.
Settings
Costing method, rules, integrations and the audit log.
Organisation
Rules
Integrations
Costing method is shown as locked because changing it revalues history. It can be changed, and doing so requires an admin, a reason and a period end.
Audit log
Append only| When | Who | Area | What changed |
|---|---|---|---|
| Today | Nadia Kraus | Rules | Count variance tolerance raised from 1% to 2% |
| Yesterday | Ines Duarte | Count | Approved variance on count 2026-086, -8 units |
| 3 days ago | Nadia Kraus | Users | Andre Lourenco suspended, leaver |
| Last week | Ines Duarte | Supplier | Crown Extrusions moved to under review, 71% on time |