Web & Systems

Dinda Perabot POS

Dinda Perabot POS is a point-of-sale and inventory management system built for a materials retailer selling foam (busa), fabric (kain), and dacron/polyester fiber (dakron) for furniture and upholstery. Beyond a standard checkout, it tracks running customer debt when a sale isn't paid in full, keeps a full audit trail of every stock movement, and reports on daily sales performance.

Role
Full-Stack Developer
Client
Dinda Perabot
Year
2026
Tools
Laravel, MySQL, Tailwind CSS
dinda-perabot-pos.app

Case Study

01 / PROBLEM

Dinda Perabot needed a POS that could handle everyday retail-floor operations (checkout, stock, multiple product units) but also reflect a common reality of the business: customers who pay in installments or only partially at time of sale, which a generic checkout screen doesn't track.

02 / PROCESS

Built a Laravel-based POS with a transactional checkout flow that locks stock during a sale to prevent overselling, and a full stock-movement ledger recording every inbound/outbound change with a before/after snapshot and its source (sale, restock, manual adjustment, or edit reversal). When a customer pays less than the total, the system automatically records the shortfall as a debt tied to that customer, requiring a name and phone number as the debt's identity, and supports later installment payments against it. Editing a previously saved transaction correctly reverses its old stock movements and re-syncs any linked debt rather than leaving stale records behind. Role-based access separates the admin (inventory, reports, customers, debts) from the cashier (POS only).

03 / RESULT

A working POS covering checkout, inventory, customer and debt management, and sales reporting, with the debt/partial-payment lifecycle (from creation through installment payments to transaction-edit resync) as its most distinctive piece of business logic. A stock-forecasting feature is scaffolded in the schema (predicted-stockout fields) but not yet implemented.

Project Gallery

Interested in working together?

Reach out to talk about a project, or see more of the work first.