FEATURES

What it does

Written out in full, including the parts that are not finished yet.

See it running Ask a question

PRICING ENGINE

Prices derived, not typed

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.

Per-piece arithmetic

Rate × net weight, plus making charge (flat, per gram, or a percentage), plus wastage, plus stone value by carat.

Typo guard

A rate ten times the last published one is refused. A misplaced zero on a gold rate is a catastrophe, not an inconvenience.

Quote expiry

Cart lines hold their price for a configurable window, then re-quote. Checkout refuses a price that moved underneath it.

Money in integers

Every amount is paise in an int64. No float ever touches a price.

TAX AND COMPLIANCE

GST as the law actually describes it

Place of supply

Worked out from the delivery address across all 37 states and union territories, deciding CGST+SGST or IGST.

Rule 46 invoices

Seller and buyer GSTIN, HSN codes, taxable value and tax per rate, amount in words, and place of supply.

Financial-year numbering

Invoice numbers run April to March and cannot repeat or skip, allocated under a row lock.

Split rates

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

Taking money and getting goods out

Razorpay

Hosted checkout, so card details never reach our servers. Your keys, your account, your settlement.

Idempotent by design

The same payment is reported by the browser and again by webhooks and retries. Every path converges on one payment row and one order.

Shiprocket tracking

Book a consignment, assign an airway bill, schedule collection, and show every carrier scan to the customer.

Out-of-order scans

Carrier updates arrive late and out of sequence. A delivered order is never walked back into transit.

PLATFORM

Many stores, genuinely separated

Row-level security

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.

Automatic HTTPS

Every store gets a certificate on demand. Bring your own domain and it is issued without an ingress edit.

Versioned migrations

Schema changes are numbered, reversible SQL applied before the server starts — never an automatic migration racing a rolling deploy.