Every dollar accounted for.
Every rail yours.
Card payments, bitcoin & lightning, cash drawers and reconciliation — one balancing ledger you own, on a machine you own.
Money
close dayCards, tied to the sale.
A card payment enters through the door attached to its order — so a charge without a sale, or a sale without its charge, cannot exist in the books.
Lightning, on your node.
Accept bitcoin over lightning from your own node — no processor between you and the payment, and settlement lands in the same ledger as everything else.
Cash that reconciles.
Drawers open and close as recorded facts. Reconciliation reads the ledger — it doesn't reconstruct the day from memory and hope.
See it at the door.
Taking a payment is part of placing the order — and the ledger it lands in is readable any time, already balanced.
$ whale cmd order.place --json '{"customer":"c_88","items":[{"sku":"tune-up","qty":1}],"pay":"lightning"}' # invoice created · paid in 2.1s · entry balanced · on the record $ whale cmd metrics.read --json '{"metric":"ledger.balance"}' # debits $48,210.00 = credits $48,210.00 · balanced
Entries must balance.
Every movement of money is a balanced entry in one ledger, and a payment cannot be taken twice — the engine refuses the duplicate, with the reason.
more capabilities: selling & pos · workflows & reports · the record & security