Back to Case Studies
Fuel retail / gas station operations

Building a Point-of-Sale System for a Gas Station in the Philippines

Published July 21, 2026

ReactViteSupabasePostgreSQLZustandTailwindCSS

The problem

The client operates multiple gas station branches and was reconciling fuel sales, product sales, and cashier accountability using a manual, spreadsheet-based process at the end of each shift. Every cashier handover meant tallying cash deposits, cash register totals, withdrawals, and charge invoices by hand against expected sales, with no shared source of truth across branches.

What we built

We built a full-screen cashier POS interface for fuel and convenience-store product sales, an admin dashboard for managing branches, cashiers, and fuel prices, and a shift accountability report that automates the reconciliation cashiers were previously doing by hand.

Cashiers authenticate via QR code scan rather than typed logins, which matters on a shared terminal that changes hands every shift. The system also tracks inventory for store products, supports credit/purchase-order transactions alongside cash sales, and logs every action to an audit trail.

Getting the reconciliation formula exactly right

The client's existing spreadsheet had a specific formula for calculating "short/over" — the difference between what a shift should have collected and what was actually remitted. Our first implementation didn't match the client's spreadsheet output exactly, which matters a lot in a cash-handling context: if the system's numbers don't match what the cashier reconciled by hand, nobody trusts the system.

We traced the discrepancy to which line items the formula should and shouldn't include, corrected it, and validated the result against the client's own historical figures until it matched exactly. We then backed the fix with a large automated test suite covering the full calculation chain, so a future change couldn't silently reintroduce the same class of bug.

Results

Shift-end reconciliation that used to require manual tallying against a spreadsheet is now automatic and matches the client's own formula, which means cashiers and management can trust the system's numbers instead of double-checking them by hand every shift.

Have a similar project in mind?

Tell us what you need and we'll help you figure out the right approach.

Get in touch