Skip to main content

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

Company POS 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 melalui CompanyPOSSettings.

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 di CompanyPOSInventory 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