05 · Warehouse stock control · 2026

Skladno

Stock, purchasing and goods-in for a small warehouse — without an ERP and without paper ledgers.

Role Goods-in, admin panel, exports
Timeline 4 weeks
Volume Around 900 lines, two storekeepers
Stack Python · FastAPI · SQLite · React Native

The problem

Stock levels lived in a spreadsheet updated in the evening from memory. A purchase order went out once a line had already run out, rather than when it was running low.

A full ERP would have cost more than the warehouse itself, and people would still have had to work it from a phone in their hand.


What was built
01

Goods-in by barcode

The storekeeper scans the code with a phone camera and the stock level changes that same second. Hands are holding a box, so everything has to happen on one screen with one button.

02

Thresholds and reminders

Each line has a minimum. Drop below it and the buyer receives a ready-made list to order from, not a bare warning.

03

An export for the accountant

Once a month, a spreadsheet in the format the accounts department already knows how to open. Nobody had to relearn anything.

How it started
9:41Telegram · warehouse bot
@skladno_bot online
4 600123 456789 Point the camera at the barcode
Code found: nitrile gloves M, SKU PG-114. How many came in?
24
Received
Line Nitrile gloves M
In +24 packs
On hand 96 packs
Updated 14:12 · Storekeeper: Igor
Three lines have dropped below their minimum.
Stretch film 500 mm 4 min. 12
Packing tape 48 mm 9 min. 30
Box 400×300×200 18 min. 60
The list is ready to send to the supplier — you can edit it right here.
Raise the order Remind me tomorrow
April stock is compiled.
XLSX stock-2026-04.xlsx 912 lines · 84 KB
The same format the accounts department opens without asking questions.
Sent on the 1st, at 9:00
The first take on goods-in: scanning by code, the list of lines below their minimum, and the monthly export — three scenarios, all in one conversation. Interactive — try the tabs
panel.skladno.local/stock
Skladno Stock · main warehouse 912 lines · 3 below minimum
SKU Line Level On hand Min. Status
PG-114 Nitrile gloves M 96 40 in stock
SF-500 Stretch film 500 mm 4 12 below min.
TP-48 Packing tape 48 mm 9 30 below min.
BX-432 Box 400×300×200 18 60 below min.
BX-321 Box 300×200×150 240 80 in stock
LB-70 Label 70×37 1 200 500 in stock
ST-13 Cable tie 13 mm 55 40 on order
MK-01 Warehouse marker 26 10 in stock
Goods-in changes the level that same second — the panel and the bot read one database. April export
The stock panel: the threshold filter picks out what needs ordering. Status is spelled out in words, not colour alone. Interactive — try the tabs
Result

The warehouse finds out it is short before the customer does.


Similar problem? Tell me in one message.