About

A ledger for the
WhatsApp economy.

The selling already works. Photos get forwarded, orders happen in DMs, money lands in UPI. What nobody could ever answer afterwards was the simple question — who sold what, and did anyone get paid the right amount?

Boxstory is the ledger underneath the chat. Every order that lands, lands somewhere.

What we hold

Four principles
the code is built on.

01

Decimal money, always.

Every rupee is stored to the paisa — no rounding drift, no half-a-rupee ghosts. Rounding rules are set up front per currency. A rupee lost to precision is a rupee lost to trust.

02

Atomic writes on stock.

Every stock change — reseller sale, provider bulk update, return — locks the unit in place before it moves. Two people can't accidentally sell the same last item.

03

Tenant isolation
as a security boundary.

One shared database, but every row carries a tag saying which provider owns it. Nothing from one provider can be accidentally read by another — even if someone tries.

04

Thin views. Fat services.

Every rule about money and stock lives in one place, per feature. Pages just display things. Nobody hides a stock decrement in a template tag or a form widget.

Build state

Six phases, built.

20 Django apps. 239 automated tests. Tenant-scoped throughout. Fully auditable ledger for every sale, payment, refund and dispatch, end to end.

Phase 1 Foundation — auth, roles, tenant model, audit
Phase 2 Provider core — catalog, inventory, media pipeline
Phase 3 Reseller core — discovery, claim, atomic sale engine
Phase 4 Payment & verification — bundled, ledger, invoices
Phase 5 Fulfillment + WhatsApp — dispatch, Evolution, labels
Phase 6 Admin, disputes, polish — export, rate limits, deploy

Come see the boxes.