Skip to main content

Retail POS for furniture

Custom point of sale, inventory, and accounting for furniture retail — order entry through stock allocation, delivery, payments, and financial reports, with role-based access control.

Problem
#

Furniture retail runs on multi-line orders, partial stock moves, deliveries, and open balances. Spreadsheets and disconnected notes make it hard to keep sales, warehouse, and books aligned — and to limit who can finalize a sale or touch the ledger.

What it does
#

AreaCapabilities
MastersProducts, suppliers, customers, staff, users
PurchasesSupplier buys; create / update / finalize; purchase payments
SalesOrders and sales flow; line items, notes, invoice no., salesperson, status
Stock allocationPer-line allocate ordered qty before ship
DeliveriesCreate and view shipment / delivery records
PaymentsSale and purchase payments; remaining balance on the order
InventoryStock tied to transactions; inventory stock summary report
AccountingChart of accounts + journal/transactions
Financial reportsTrial balance, general journal, general ledger, income statement, balance sheet, equity change
Sales reportsOrders and sales transactions
DashboardKPI cards (purchases, sales, shipped, revenue) + income chart
Access controlRBAC with granular permissions (view / create / update / delete / finalize per domain)

UI is Indonesian-first (e.g. Penjualan, Alokasi Stok, Tambah Pembayaran) on an AdminLTE + Bootstrap admin shell.

Screenshots
#

Dashboard
#

KPI strip and revenue chart (Pendapatan) with range filters.

Dashboard — purchases, sales, shipped, revenue and income chart

Sales order
#

Order header, line items, totals and remaining balance, print, add payment, and Alokasi Stok rows (e.g. still 0.00/1.00 unallocated).

Sales order detail with stock allocation

Stack
#

  • Backend: PHP / Laravel 8.41.0
  • UI: Bootstrap + AdminLTE
  • AuthZ: RBAC — granular permissions per resource and action (masters, sales/purchases including finalize, allocations, deliveries, payments, accounting, reports, dashboard, users)
  • Data: MySQL (shared-hosting style deploy)
  • Locale: IDR formatting, Indonesian labels

Role
#

Sole builder — design through deploy for day-to-day store operations.

Links#

  • Code: private / closed source
Reyn Hartono
Author
Reyn Hartono
I build and operate systems that stay reliable and secure under real load. Open to senior roles in backend and SRE/infra, and to technical leadership — remote, globally.