POS Chuỗi Cửa hàng Bán lẻ
POS for Retail Chain
POS đa chi nhánh đồng bộ kho và doanh thu real-time, in nhiệt 80mm, hoá đơn điện tử.
Bài toán
Chuỗi 22 cửa hàng phụ kiện, internet không đều. POS cũ phải online → mất khách khi mạng down. Quản lý không thấy doanh thu real-time. Kế toán đối soát MISA thủ công cuối tháng.
Kiến trúc
Electron POS → SQLite local (write-ahead log) → background sync delta tới cloud Postgres mỗi 30s qua HTTP/2 → Server-Sent Events tới HQ dashboard. MISA integration qua webhook. Hoá đơn điện tử VNPT auto-issue khi đơn >200k.
Stack & lý do
- Local-first SQLite: POS hoạt động full offline, sync khi có mạng.
- Delta sync (only changes since cursor): 100× tiết kiệm bandwidth vs full snapshot.
- Electron thay vì web: cần in nhiệt qua USB, hệ thống đã quen Windows.
Kết quả (1 năm)
| Metric | Số liệu |
|---|---|
| Cửa hàng triển khai | 22 |
| Số đơn hàng/ngày TB | 4.200 |
| Sai lệch doanh thu báo cáo | <0.05% |
| Downtime do POS | 0 (mạng down vẫn bán) |
Bài học
Local-first là magic cho POS Việt — internet vẫn còn chập. SSE đủ cho 1-way HQ dashboard, không cần WebSocket. MISA API rate limit nghiêm ngặt → cần queue + retry exponential.
Bảo mật & Compliance
- : phân quyền tới hành động + chi nhánh + nhóm SKU; audit log mỗi mutation kèm IP+UA+session.