Reads come from the local database
Not from the network with a cache as a fallback. The counter is instant whether the line is up or not.
How it works
This page details the architectural design rather than a marketing feature list. If the ledger invariants make sense, the rest of the enterprise platform follows from them.
The ledger
A balance is the sum of the immutable entries that produced it. There is no editable quantity column anywhere, which is why a discrepancy during a stock audit can be forensicly analyzed instead of quietly absorbed.
One append-only entry per movement, stamped with the weight, the purity and the document that caused it.
balance = Σ entries
Not a stored figure kept in step by hand. There is nothing to drift.
The weights
Gross as it sits on the scale. Stone for diamonds and stones, converted to grams. Other for thread, lac, wax and enamel. Net for the metal alone. Fine for the pure metal content. All five on the item, on every movement and on every document line.
Gross must be at least net plus stone plus other, to a milligram of tolerance for scale rounding. That is a database check constraint, so it holds at every door — the form, the bulk import, the API and the offline sync. A larger difference is a real discrepancy and has to be entered as a weight adjustment, which leaves a document behind rather than a silently corrected row.
Fine weight is net weight times the purity fraction, computed in one place and stamped on the document. Nothing recomputes it later and prints a different answer.
Every piece, five weights
Net = Gross − Stone − Other
Fine = Net × purity
A gross weight below net plus stone plus other is refused at every door — the form, the import, the API and the offline sync. One constraint, not four validations that can disagree.
In practice
Five steps, in the order a shop actually does them.
Your firm, your branches, retail showrooms and wholesale warehouses, your staff, and what each role may do. Barcode SKU catalogues, tax categories (0%, 5%, 12%, 18%, 28%), or metal purities and daily bullion benchmarks. The setup ends when your stores can actually trade.
Wholesale price tiers, consumer MRPs, or daily bullion rates per karat, entered once. Every till and branch reads from the canonical source, and what a document stamps is what it permanently reprints.
Opening stock, vendor purchase orders, or Goods Receipt Notes (GRN). Each posts an immutable movement into the ledger with SKU identifiers, batch/lot codes, or 5-weight dimensions. The stock balance follows automatically.
Sub-second barcode POS billing, estimates, inter-branch stock transfers, job issues to workshops, and online storefront orders. Every transaction is a signed document, every document is an immutable entry.
Day close settles cash registers, digital UPI tenders, card batches, and physical metal balances. Registers, double-entry accounting ledgers, and executive analytics all read the same underlying documents, guaranteeing zero drift.
Offline
Offline-first, not offline-tolerant — the distinction is the whole design.
Not from the network with a cache as a fallback. The counter is instant whether the line is up or not.
The network is a background detail. The only visible difference offline is a badge and a queue count.
Prices are computed by the same compiled packages the server uses, so the figures are identical by construction.
Start on the free trial, or book a walkthrough and we will set the first branch up with you.