title: “Company POS” description: “Dashboard monitoring POS enterprise — CompanyPOSCashier.jsx (819 baris), multi-outlet metrics, global settings, performance comparison, dan real-time sync via BroadcastChannel.”
Company POS

CompanyPOS.jsx — 819 baris) adalah dashboard Point of Sale di level perusahaan yang memungkinkan manajemen untuk memantau seluruh aktivitas penjualan dari semua outlet dalam satu tampilan. Dashboard ini mengkonsolidasi data dari CompanyPOSTransaction di seluruh lokasi, menampilkan metrik real-time, perbandingan performa antar outlet, dan pengaturan global yang berlaku untuk semua kasir.
Dirancang untuk Owner dan Manager yang butuh gambaran real-time tanpa harus membuka satu per satu outlet, dashboard ini menggunakan BroadcastChannel sync untuk memastikan data selalu terkini tanpa polling berlebihan.
Arsitektur Monitoring
Fitur Utama
Komponen Dashboard
1. KPI Cards — 4 Metrik Utama
2. Ringkasan Outlet
3. Grafik Perbandingan
4. Pengaturan Global
Cara Akses
Flow Penggunaan
Real-Time Sync Architecture
Filter & Export
Tips
- Gunakan fitur perbandingan untuk mengidentifikasi outlet yang performanya terbaik dan yang perlu perhatian lebih
- Pastikan semua outlet online agar data yang tampil selalu akurat dan real-time
- Manfaatkan laporan konsolidasi untuk presentasi ke stakeholder tanpa perlu mengumpulkan data manual dari tiap cabang
- Set alert untuk outlet offline supaya kamu langsung tahu jika ada outlet yang mengalami masalah koneksi
- Review avg order value per outlet untuk mengidentifikasi peluang upselling
- Cek Last Sync secara berkala — jika ada outlet dengan sync > 30 menit, investigasi koneksi jaringan
Entity Relationship Diagram
Berikut adalah relasi antar entitas Company POS dalam sistem SNISHOP ERP. Setiap outlet menerbitkan transaksi yang merujuk ke produk, kategori, dan inventori milik perusahaan, dengan pengaturan global yang diatur melaluiCompanyPOSSettings.
Entity Schema Tables
CompanyPOSTransaction — Schema Lengkap
Entitas transaksi POS level perusahaan. Setiap transaksi dari kasir outlet dicatat di sini dengan informasi lengkap mengenai item, pembayaran, pelanggan, dan status pengiriman.
RLS Policy: Create/Read/Update/Delete dibatasi berdasarkan
company_id yang sesuai dengan active_company_id user, atau created_by_id sama dengan user.id, atau user memiliki role admin.
CompanyPOSProduct — Schema Lengkap
Entitas produk POS level perusahaan. Mendukung multi-channel pricing, bundle virtual, data locking untuk audit trail, dan klasifikasi kanonikal berdasarkan kategori dan varian.CompanyPOSInventory — Schema Lengkap
Entitas pergerakan stok (inventory movement) level perusahaan. Setiap transaksi POS, restock, adjustment, atau stock opname tercatat di sini dengan snapshot stok sebelum dan sesudah pergerakan.CompanyPOSSettings — Schema Lengkap
Entitas pengaturan global POS level perusahaan. Diterapkan ke semua outlet secara otomatis melalui BroadcastChannel push.CompanyPOSCategory — Schema Lengkap
Entitas kategori produk POS level perusahaan. Digunakan untuk mengelompokkan produk agar mudah dicari di kasir dan laporan.State Machine — Siklus Hidup Transaksi
Transaksi POS melalui beberapa tahap dari pembuatan hingga penyelesaian. State machine berikut menggambarkan siklus lengkap termasuk path untuk pembayaran non-tunai yang memerlukan verifikasi, refund, dan pembatalan.Mapping Status Fields
Transaksi memiliki dua field status yang berjalan paralel:Timestamp Lifecycle
Setiap transisi status mencatat timestamp untuk audit trail:Sequence Diagram — Multi-Outlet Monitoring Flow
Flow 1: Dashboard Load & Aggregation
Flow 2: Real-Time Update dari Outlet
Flow 3: Global Settings Push
Multi-Outlet Monitoring — Fitur Detail
Dashboard Company POS dirancang untuk memantau seluruh outlet dari satu layar. Berikut detail setiap fitur monitoring:Status Badge Logic
Role-Based Access Control (RBAC)
Akses ke fitur Company POS diatur berdasarkan role user dalam sistem SNISHOP ERP:RLS Policy Summary
Real-Time Sync — Detail Teknis
Sistem sinkronisasi Company POS menggunakan tiga mekanisme berlapis untuk memastikan data selalu terkini:BroadcastChannel Events
Sync Reliability
Multi-Channel Sales — Channel Pricing
Setiap produk dapat memiliki harga berbeda per saluran penjualan. Dashboard Company POS mengagregasi data dari semua channel ini:Payment Methods — Enum Lengkap
Transaksi POS mendukung berbagai metode pembayaran, termasuk split payment (multi-tender):Split Payment Flow
Product Lifecycle — Data Locking
Produk POS memiliki mekanisme data locking untuk menjaga integritas data setelah ada transaksi yang tercatat:Inventory Movement — Tipe Pergerakan
Setiap perubahan stok tercatat diCompanyPOSInventory dengan tipe pergerakan yang berbeda:
Stock Flow per Transaksi
Tips Lanjutan
- Gunakan fitur perbandingan untuk mengidentifikasi outlet yang performanya terbaik dan yang perlu perhatian lebih
- Pastikan semua outlet online agar data yang tampil selalu akurat dan real-time
- Manfaatkan laporan konsolidasi untuk presentasi ke stakeholder tanpa perlu mengumpulkan data manual dari tiap cabang
- Set alert untuk outlet offline supaya kamu langsung tahu jika ada outlet yang mengalami masalah koneksi
- Review avg order value per outlet untuk mengidentifikasi peluang upselling
- Cek Last Sync secara berkala — jika ada outlet dengan sync > 30 menit, investigasi koneksi jaringan
- Monitor channel distribution untuk memahami channel penjualan mana yang paling produktif di setiap outlet
- Gunakan data locking untuk mencegah perubahan data produk yang sudah memiliki histori transaksi
- Manfaatkan split payment untuk mengakomodasi pelanggan yang ingin membayar dengan beberapa metode sekaligus
- Review payment verification queue secara berkala untuk memastikan tidak ada pembayaran non-tunai yang tertunda verifikasi
