Sell anywhere. Every sale
on the record.
Registers, carts, online orders — one checkout through one door. Pricing comes from your rulebook, receipts from the record.
Sales
new saleOne checkout, every channel.
The counter, the storefront, your AI taking an order by message — every sale is the same command through the same door, checked by the same rules.
Pricing is declared.
Prices, deals, and discounts live in your rulebook, written down. A register can't invent a discount, and a deal applies the same way every time.
Receipts from the record.
A receipt is a view of the transaction itself — so it always matches what actually happened, down to the cent.
See it at the door.
Placing a sale is one typed command at the door — the same one whether a person, a register, or your AI runs it.
$ whale cmd order.place --json '{"customer":"c_31","items":[{"sku":"latte-12","qty":2}]}' # order o_1041 placed · total $9.50 · stock moved · on the record $ whale cmd metrics.read --json '{"metric":"sales.today"}' # sales.today = $1,284.50 · recomputed from the ledger, just now
A sale is one transaction.
The items, the payment, the stock movement, the receipt — it all happens, or none of it does. Enforced in the engine, so a half-finished sale cannot exist.
more capabilities: inventory & purchasing · money & lightning · customers & loyalty