Case study 01 / 26
DataJewellers
Multi-tenant jewellery ERP, billing and Nepal tax compliance — one deployment serving many businesses, each isolated in its own Postgres schema.
- Status
- Commercial · private
- Domain
- web · cloud
- Source of claims
- Private repository README (reviewed). Source and deployment are not public.
Three surfaces from one build: a public marketing and signup site, each jewellery business's ERP, and a provider console with separate credentials. Tenants get their own schema, users, branches, stock, karigars, rates, invoices and audit trail; product name, pricing tiers and entitlements are configuration, not code.
01/The problem
Jewellery businesses price by weight, purity, making charge and wastage, track individually tagged high-value stock across branches and workshops, and must keep tax records the regulator can audit. Generic retail software handles none of that — and selling the solution as a service means every business's data must be provably unreachable by every other.
02/The system
Three surfaces from one build: a public marketing and signup site, each jewellery business's ERP, and a provider console with separate credentials. Tenants get their own schema, users, branches, stock, karigars, rates, invoices and audit trail; product name, pricing tiers and entitlements are configuration, not code.
- Marketing + signup to Public API
- Tenant ERP to Tenant resolver
- Provider console to Control plane
- Public API to Provisioning worker
- Tenant resolver to PostgreSQL
- Provisioning worker to PostgreSQL
- PostgreSQL to CBMS outbox
03/Scope
- 01Live gold and silver rates fetched on a schedule, per purity, with history, stale detection, suspicious-change flagging and manual override; finalised transactions keep the rate they used.
- 02Jewellery items with barcode and QR, gross/stone/net/fine weights, making charge and wastage, and category-aware item codes on independent sequences.
- 03Stock movements, approved transfers and adjustments, opening stock, and Excel/CSV import with column detection, preview and batch rollback.
- 04Purchasing, POS-style sales with barcode lookup, credit notes, sales orders and old-gold exchange; invoice numbers are never reused.
- 05Workshop flows for karigars with weight reconciliation, plus repairs that never enter saleable stock.
- 06Physical stock audits — snapshot, scan, classify, review, approve, close — immutable once closed.
- 07Configurable Nepal VAT, fiscal-year reporting and statutory registers, with a CBMS adapter behind a durable outbox.
- 08Self-serve signup with background provisioning, plans, entitlements, support sessions and per-tenant backups.
04/Engineering
Schema-per-tenant isolation
Each business lives in its own Postgres schema resolved from the host. Tenant isolation has its own mandatory test suite rather than relying on query discipline.
Three surfaces, one build
Marketing site, tenant ERP and provider console are separate routers chosen by pathname, and separate API surfaces on the server — public and platform routes are mounted outside the tenant resolver.
Money is exact
All money maths uses Decimal; historical cost and current market value are reported separately, and fine weight comes from the piece's own purity — never the 24K rate.
Nepal-first by design
NPR, Asia/Kathmandu, Bikram Sambat dates, the Nepali fiscal year, PAN/VAT and NPR-per-tola alongside NPR-per-gram are first-class, not localisation afterthoughts.
Honest compliance
It implements Inland Revenue Department e-billing requirements and documents them in a compliance matrix — and states plainly that it is not IRD certified.
Plans as configuration
Product name, pricing tiers and what each tier unlocks are data; 12 built-in roles plus tenant-defined custom roles that cannot escalate.
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
- React 19
- TypeScript
- Vite
- Tailwind CSS 4
- Express
- Prisma
- PostgreSQL
- Zod
- JWT (httpOnly cookies)
07/Result
Verified outcomes
- Runs as a multi-tenant SaaS or as a single-business installation from the same codebase.
- Test suites cover server lifecycle, security, money, calendar, rates, compliance, tenant isolation and the full SaaS signup-to-support lifecycle.
Known limitations
- Not IRD certified — no such claim is made by the product.
08/Links
Private commercial codebase — no public links.
Next case study
TimeTravel →