All works

easyPOS, a register and back office for shops and restaurants

easyPOS is a point-of-sale system for shops and restaurants in the Philippines, from a single grocery to a chain of cafes. It is the third app in the Easy series, after easyFS and easyHR, designed on the same system in pink and shipped in 2024. This page walks through it: who it is for, how they use it, and the main screens.

Animated easyPOS components: a cursor taps two menu tiles into the cart, turns on the Senior Citizen discount, taps Pay, keys in ₱200 cash, the change due appears, a receipt prints, and table 6 changes to Bill out
Timeline
2024
Scope
Product design, UI/UX design

Overview

Fast at the counter, right at the end of the day.

easyPOS has two parts. The register runs on a touch screen at the counter, in barcode mode for groceries and pharmacies or in touch mode for cafes and restaurants. Cashiers open a shift, ring up sales, take payments, handle refunds and close the shift. The back office runs in a browser, where supervisors check shifts and readings, and owners see sales, items and stock across branches.

I built it on the easyFS and easyHR system: the same shell, components and patterns, with pink as the brand colour, so the three apps read as one family. The register is a different place to design for. A cashier has a line in front of them, so the total and the next action are always the biggest things on screen and every target is at least 48 px. Anything that takes money out of the drawer asks for a reason, and voids and refunds use an orange-red, never the brand pink. The stores, people and amounts shown here are made up.

User journeys

Two counters and a closing.

A typical task for each kind of user, step by step. The line follows how each step feels, where it dips and where it recovers. The feelings are my assumptions and still need testing at a real counter.

  1. Joy, cashier at a grocery

    Rings up about 140 sales a shift with a scanner and a touch screen, with a line always in front of her. Wants to move the line fast and end the shift balanced.

    1. 01

      Scans the basket

      Scans 6 items. Each scan shows an Added line with Undo, and the total stays above Pay.

      In flow
    2. 02

      Gives the senior discount

      Lolita shows her OSCA ID. The sheet lists which items qualify and how much comes off.

      Unsure then clear
    3. 03

      Takes two payments

      ₱300.00 by GCash, then ₱600.00 cash with a quick key. Change due shows at once.

      Confident
    4. 04

      Refunds a leaking bottle

      Finds the receipt, ticks the bottle, picks Damaged. Her supervisor enters a PIN.

      Nervous then covered
    5. 05

      Closes and remits

      Counts the drawer before she sees the expected amount. ₱20.00 short, so she adds a note.

      Tense then done
  2. Paolo, cashier at a cafe

    Runs the register for 18 tables at lunch, with two waiters calling orders. Wants orders right the first time and tables turned quickly.

    1. 01

      Seats table 6

      Taps the table on the floor plan and adds meals and drinks from the menu grid.

      Busy
    2. 02

      Sends to the kitchen

      Picks sugar, ice and pearls for the milk tea, then sends 7 items.

      In control
    3. 03

      Adds dessert

      The order shows what was already sent and what is new. Send only sends the new lines.

      Unsure then clear
    4. 04

      Bills out

      Prints the bill. Table 6 changes to Bill out on the map for everyone on the floor.

      Calm
    5. 05

      Splits four ways

      Splits ₱1,800.00 into four checks and takes each payment.

      Relieved
  3. Rhea, store supervisor

    Approves voids and refunds, receives every remittance and closes the day. Wants to trust the day’s numbers.

    1. 01

      Checks every shift

      5 of 6 shifts are closed. Net variance for the day is −₱15.00.

      Tired
    2. 02

      Reviews the short

      Opens Joy’s shift, sees how expected was worked out and reads Joy’s note.

      Fair
    3. 03

      Checks the Z readings

      A notice says one register in another branch never closed yesterday, and how to fix it.

      Worried then sure
    4. 04

      Restocks for tomorrow

      Cooking oil is low. The afternoon delivery is posted against the purchase order.

      Ready

Register

Scan first, total always in view.

In barcode mode the scan field sits on top and every scan confirms with an Added line and Undo. The cart and the total stay on the right with Pay pinned at the bottom. Hold, Recall, Discount, Price, Customer and Void sit in a bar under the items, so Void is far from Pay.

The easyPOS register in barcode mode: a scan field, an Added Laundry powder line with Undo, price levels, quick items, a function bar with Hold, Recall, Discount, Price, Customer and Void, and the cart on the right with a Senior Citizen customer, six lines and a total of ₱889.06 above the Pay button
Register, sale

Payment

Pay in parts, see what is left.

Payments stack in a list, so a customer can pay part by GCash and part in cash. Non-cash defaults to the exact balance and only cash gives change. Finish sale stays off until the sale is fully paid, and the reason is shown as Still to pay.

The Pay screen: tender types on the left, a cash amount of ₱600.00 with quick keys and a number pad, and on the right the total due of ₱889.06 with a ₱300.00 GCash payment already added and ₱589.06 still to pay
Register, payment

Tables

Every table, at a glance.

In touch mode the register opens on the floor plan. Each table shows its state with an icon and a label (open, no order yet, eating, bill out, to clean) plus the time and amount. The menu groups the order into what was already sent to the kitchen and what is new, so nothing is sent twice.

The table map for the main hall: tables in open, eating, no order yet, to clean and bill out states, with table 6 selected and its order of seven items totalling ₱1,800.00 on the right with Add items, Split bill and Pay
Register, tables
The menu for table 6: dine-in, take-out and delivery, menu categories with dessert tiles, and the order on the right split into items sent to the kitchen at 12:19 PM and two new mango floats not sent yet, with a Send to kitchen button
Register, menu

Closing a shift

Count first, then compare.

The cashier counts the drawer by bill and coin before seeing the expected amount, so the count is their own. Short or over needs a note. In the back office, the supervisor sees every shift of the day in one table, with how expected was worked out next to the cashier’s note.

Close shift on the register: steppers for each bill and coin with a running total of ₱40,758.75, the expected amount hidden, non-cash payments listed below, and a Done counting, compare button
Register, close shift
Shifts and remittance in the back office: 5 of 6 shifts closed, cash expected ₱129,936.50, net variance minus ₱15.00, a table of six cashiers with expected, counted and result, and Joy’s shift on the right showing how expected was worked out, her ₱20.00 short and her note
Shifts and remittance

Home

How today is going.

Home starts with today so far against the same time last week, then the things that need someone: approvals, low stock, expiring items, a short shift and a missing Z reading. Sales by hour and by branch, top sellers and how customers paid sit below.

easyPOS Home: net sales of ₱186,420.50, transactions, average sale and voids against last week, a Needs your attention list with five items, sales by branch, an hourly sales chart for today and last Thursday, top sellers and how customers paid
Home

Items and stock

Know what you can still make.

An item lists its price per order type and the stock it uses. Each sale takes those components out of stock, so the item page can say how many more can be made today and which component runs out first.

The Wintermelon milk tea item: basics, prices for dine-in, take-out, delivery apps and staff meal with margins, a components table with the cup, dome lid, straw, tea, syrup, creamer, sugar and ice it uses, modifier groups, and a Can make today count of 214, limited by dome lids
Item with components

BIR readings

Every register closed, or a clear fix.

Z readings for every register sit in one table for the day. When a register did not close, a notice names it and says how to fix it, instead of the accountant finding out weeks later. X readings, the eJournal and eSales are in the same place.

BIR readings for 21 October: a notice that La Paz Register 1 has no Z reading, a table of Z readings per register with OR range, net sales and status, and a printed Z reading preview on the right
BIR readings

Let’s talk

I’d love to tell you more on a call.

There’s more to this project than fits on one page. If you’re interested, I’m happy to walk you through it.