Cash-sale entry
The screen where a shop owner types in a cash sale — the step right before the confirmation. The job is small and frequent: enter an amount, record it.
Existing screen. A home-made calculator: an "Add items to get started" empty state fills the top half, a price field reads $100 and a big "= $100" repeats it, the operators sit as bare grey glyphs, and a red C wipes everything in one tap.
Proposed screen. The real Numpad in calculator mode. The owner keeps
the power a shop actually needs — total a few items, take off a discount — but on
the system component: one clear amount readout, a running subtotal above the
keys, tinted operator keys, a neutral AC beside a non-destructive delete, and
one primary "Record sale." (It's live — tap the keys.)
What changed.
- The "Add items" empty state is gone — the screen does one thing.
- The doubled readout (
$100and= $100) collapsed to one amount, with the calculator's running subtotal shown quietly above the keys. - The home-made keypad became the shared
Numpad— tinted operators, a live subtotal, and properAC/⌫/=. - The destructive red C became a neutral AC plus a delete that removes one digit instead of the whole entry.
- The
$became the local currency, Ks.
Why it changed. Totalling a few items or taking off a discount is a real counter-side need, so the calculator stays — but as the design-system component, not a cramped one-off. Two readouts of the same number make the owner stop and check which is real, so there's now one. Red is the system's colour for destructive and error states; a red "clear-everything" key punishes an ordinary correction, so clearing is neutral and a single-digit delete sits next to it. And an empty "items" panel competing for the top half implies a step that isn't there.
Which rule applies.
- One job per screen — remove the competing empty state.
- One readout per value — never show the same amount twice.
- Reuse the component — a money screen that needs maths uses
Numpad's calculator mode, not a hand-built keypad. - Colour roles — red is reserved for destructive/error; a neutral clear plus a single-digit delete replace a red "C".
- Currency and number formatting follow the user's locale, not USD.
User outcome. The owner totals the sale the way they think — add two items, knock off a discount — sees one clear amount, and records it, without a red key that threatens to erase everything or a second number to reconcile.
Edge case fixed. Mistyped amount. The pad's delete (⌫) fixes a single
wrong digit, while AC clears deliberately — instead of one red C that
wipes the whole entry and makes the owner start over.
If a money screen needs maths, use Numpad's
calculator mode — don't hand-build a keypad. Show the amount
once, keep clears neutral (a red key means "destroy"), and put
the currency in the user's locale.