Case study 09 / 26
DataItemize
One inventory engine for many businesses — hardware, electronics, jewellery, pharmacy, clothing, rentals — configured, not coded, on an immutable stock ledger.
- Status
- Working build
- Domain
- web
- Source of claims
- Private repository README (reviewed). Source and deployment are not public.
Items, item types, attribute definitions, variants, serials and batches cover every industry without per-industry tables. Purchasing, sales, POS, multi-currency, valuation, assets, rentals and repairs sit on a ledger the database itself refuses to rewrite.
01/The problem
Inventory software usually hard-codes an industry. A hardware store tracks serials, a jeweller tracks weight and purity, a clothing shop tracks size and colour — and all of them need to know why a stock number is what it is.
02/The system
Items, item types, attribute definitions, variants, serials and batches cover every industry without per-industry tables. Purchasing, sales, POS, multi-currency, valuation, assets, rentals and repairs sit on a ledger the database itself refuses to rewrite.
03/Scope
- 01A universal item engine — item types with tracking flags, attribute definitions, variants, serials and batches — with no industry-specific branches anywhere.
- 02Weighted average, FIFO, standard and specific valuation; FIFO/FEFO batch picking.
- 03Purchasing with approvals and goods receipts; sales, invoices with COGS capture, payments, returns and a POS with hold/resume and split tender.
- 04Company → businesses → branches → warehouses → locations, with RBAC, custom roles, plan limits and feature flags.
- 05Assets with depreciation, rentals with overlap checks and repair jobs that consume parts.
04/Engineering
Every number has a 'why'
Every change is a stock movement row and balances are a locked projection; the database refuses UPDATE and DELETE on the ledger and the audit log.
History is never rewritten
Every document snapshots its currency and exchange rate, so later rate changes never alter past totals.
05/Interface
Interface screenshots of this commercial product are not public. The visual above is an abstract representation of its modules — not the product itself.
06/Tech stack
- FastAPI
- Python 3.13
- SQLAlchemy 2
- Alembic
- Next.js 16
- React 19
- TanStack Query
- PostgreSQL
- Redis
07/Result
Verified outcomes
- 21 backend tests against real PostgreSQL: four industries end to end, tenant isolation, negative stock, duplicate serials, FEFO, multi-currency, 25 concurrent sales and DB-level immutability.
Known limitations
- Offline POS sync is not complete — locally held carts exist, full offline sync does not.
08/Links
Private commercial codebase — no public links.
Next case study
MultiPaisa →