Metal rates
Publish the day's rate for 24K, 22K, 18K, silver and platinum. Other purities are derived from fineness, so you set five numbers rather than fifteen.
FEATURES
Written out in full, including the parts that are not finished yet.
PRICING ENGINE
Publish the day's rate for 24K, 22K, 18K, silver and platinum. Other purities are derived from fineness, so you set five numbers rather than fifteen.
Rate × net weight, plus making charge (flat, per gram, or a percentage), plus wastage, plus stone value by carat.
A rate ten times the last published one is refused. A misplaced zero on a gold rate is a catastrophe, not an inconvenience.
Cart lines hold their price for a configurable window, then re-quote. Checkout refuses a price that moved underneath it.
Every amount is paise in an int64. No float ever touches a price.
TAX AND COMPLIANCE
Worked out from the delivery address across all 37 states and union territories, deciding CGST+SGST or IGST.
Seller and buyer GSTIN, HSN codes, taxable value and tax per rate, amount in words, and place of supply.
Invoice numbers run April to March and cannot repeat or skip, allocated under a row lock.
3% on metal and stones, 5% on separately itemised making charges — both configurable per store, because how you itemise changes what is due.
PAYMENTS AND FULFILMENT
Hosted checkout, so card details never reach our servers. Your keys, your account, your settlement.
The same payment is reported by the browser and again by webhooks and retries. Every path converges on one payment row and one order.
Book a consignment, assign an airway bill, schedule collection, and show every carrier scan to the customer.
Carrier updates arrive late and out of sequence. A delivered order is never walked back into transit.
PLATFORM
Tenant isolation is enforced by Postgres policies on every table, not by remembering to add a WHERE clause. The application connects as a non-superuser, because Postgres skips those policies for superusers.
Every store gets a certificate on demand. Bring your own domain and it is issued without an ingress edit.
Schema changes are numbered, reversible SQL applied before the server starts — never an automatic migration racing a rolling deploy.