Backlog: Dashboard & Widget Summary per User Role
Background
Neuron ERP saat ini belum memiliki landing page yang informatif setelah user login. Setiap user langsung masuk ke menu tanpa ringkasan status bisnis yang relevan dengan perannya.
Backlog ini mendefinisikan kebutuhan role-based dashboard — setiap user melihat widget, chart, dan KPI yang relevan dengan tanggung jawabnya, bukan semua data ERP sekaligus.
Goals
- Memberikan visibilitas cepat terhadap kondisi bisnis sesuai peran masing-masing user.
- Mengurangi kebutuhan user untuk membuka banyak report hanya untuk melihat status harian.
- Mendukung pengambilan keputusan cepat di level manajemen dan operasional.
- Dashboard bersifat read-only summary — tidak menggantikan report detail.
Placement
Dashboard ditampilkan sebagai halaman pertama setelah login (home/landing page).
flowchart LR
Login[User Login] --> Auth[Authentication]
Auth --> Dashboard[Role Dashboard]
Dashboard --> Menu[Side Menu - Full ERP]
Setiap user dapat:
- Melihat dashboard sesuai role yang ditetapkan administrator.
- Klik widget/angka untuk drill-down ke report atau transaksi terkait.
- Me-refresh dashboard secara manual atau otomatis per interval yang dapat dikonfigurasi.
Widget disusun dalam grid layout yang responsif. Administrator dapat mengaktifkan atau menonaktifkan widget per role dari Control Files.
Role Definitions
| Role Level | Contoh Jabatan | Akses Data |
|---|---|---|
| Executive | Direktur, Owner | Seluruh modul, lintas divisi |
| Manager | Manajer Keuangan, Manajer Operasional, Manajer Sales, Manajer HR | Per divisi / fungsi |
| Supervisor | Supervisor Gudang, Supervisor Produksi, Supervisor AP/AR | Per sub-fungsi |
| Operator | Staff Entry, Kasir, Picker | Aktivitas harian sendiri |
Dashboard per Role
1. Executive Dashboard (Direktur / Owner)
Tujuan: Gambaran kesehatan bisnis secara keseluruhan dalam satu layar.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Total Revenue vs Target | Bar + Line Chart | Sales Order confirmed vs budget | MTD / YTD |
| Gross Profit Margin | KPI Card | (Revenue - COGS) / Revenue | MTD |
| Cash Position | KPI Card | Total saldo kas + bank aktif | Real-time |
| Outstanding AR | KPI Card + Aging Bar | Total piutang belum lunas, breakdown aging | Hari ini |
| Outstanding AP | KPI Card + Aging Bar | Total hutang belum bayar, breakdown aging | Hari ini |
| Sales by Product Category | Pie / Donut Chart | Revenue per kategori produk | MTD |
| Top 5 Customers by Revenue | Horizontal Bar | Revenue per customer | MTD |
| Inventory Value | KPI Card | Total nilai stok (FIFO/Average) | Real-time |
| Purchase vs Budget | Bar Chart | Realisasi pembelian vs anggaran | MTD |
| Headcount Summary | KPI Card | Total karyawan aktif, per departemen | Real-time |
| Overdue Items Alert | Alert Panel | AR overdue, AP overdue, PO pending approval | Hari ini |
| SO Belum WO (Summary) | KPI Card | Jumlah SO confirmed yang belum ada WO | Real-time |
| Grade Quality Summary | KPI Card | % yield Grade A produksi (Rol & Kg) | Hari ini |
Layout Sketch
┌─────────────────┬─────────────────┬─────────────────┐
│ Total Revenue │ Gross Profit │ Cash Position │
│ vs Target │ Margin │ │
├─────────────────┼─────────────────┼───────────── ────┤
│ Outstanding AR │ Outstanding AP │ Inventory Value│
│ + Aging │ + Aging │ │
├──────────────────────┬────────────────────────────── ┤
│ Revenue vs Target │ Sales by Category │
│ (Bar+Line Chart) │ (Donut Chart) │
├──────────────────────┴───────────────────────────────┤
│ Top 5 Customers (Horizontal Bar) │
├──────────────────────────────────────────────────────┤
│ Overdue Alert Panel │
└──────────────────────────────────────────────────────┘
2. Finance Manager Dashboard
Tujuan: Monitoring posisi keuangan, arus kas, dan kepatuhan anggaran.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Cash & Bank Balance | KPI Cards per rekening | Saldo per akun kas/bank | Real-time |
| AR Aging Summary | Stacked Bar | Piutang per bucket aging (0-30, 31-60, 61-90, >90 hari) | Hari ini |
| AP Aging Summary | Stacked Bar | Hutang per bucket aging | Hari ini |
| Revenue vs Expense | Bar Chart | Total pendapatan vs total pengeluaran | MTD |
| Budget Utilization | Progress Bar per akun | Realisasi vs anggaran per cost center | MTD |
| Overdue AR List | Table | Customer, invoice, jumlah, hari overdue | Hari ini |
| Upcoming AP Due | Table | Vendor, invoice, due date, jumlah | 7 hari ke depan |
| Tax Liability | KPI Card | Estimasi PPN terutang | MTD |
| GL Unposted Transactions | Alert Card | Jumlah jurnal belum diposting | Real-time |
| Bank Reconciliation Status | Status Card | Rekening yang sudah / belum direkonsiliasi | Bulan ini |
3. Sales Manager Dashboard
Tujuan: Monitoring performa penjualan, pencapaian target, pipeline order, dan status fulfillment SO hingga pengiriman.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Sales Achievement | KPI Card + Progress Bar | Realisasi vs target penjualan | MTD / YTD |
| Sales Order Count | KPI Card | Jumlah SO: Draft, Confirmed, Delivered | Hari ini |
| Revenue by Salesperson | Horizontal Bar | Revenue per salesperson | MTD |
| Top 10 Products Sold | Bar Chart | Qty / nilai penjualan per produk | MTD |
| New Customers | KPI Card | Customer baru yang melakukan transaksi | MTD |
| Pending Delivery | Table | SO yang sudah confirmed tapi belum dikirim | Hari ini |
| Customer Overdue AR | Alert Table | Customer dengan piutang overdue | Hari ini |
| Sales Trend | Line Chart | Revenue harian / mingguan | 30 hari terakhir |
| Discount Usage | KPI Card | Total diskon yang diberikan vs threshold | MTD |
| Outstanding SO per Salesperson | Grouped Table | SO yang belum selesai (belum DO) dikelompokkan per salesperson | Real-time |
| Outstanding SO — Pipeline ke Delivery | Funnel / Stage Table | Jumlah & nilai SO per tahap: Confirmed → WO → DO → Delivered | Real-time |
Detail Widget: Outstanding Order Jual Per Sales
Nama Widget: Outstanding Order Jual Per Sales
Tujuan: Memberikan visibilitas kepada Sales Manager atas seluruh Sales Order yang belum selesai (belum ada Delivery Order atau DO belum terkirim), dikelompokkan per salesperson — sehingga jelas siapa yang punya beban order paling besar dan mana yang berpotensi terlambat.
Data yang ditampilkan:
| Kolom | Keterangan |
|---|---|
| Salesperson | Nama salesperson penanggung jawab SO |
| Jumlah SO Outstanding | Jumlah SO yang belum selesai |
| Total Qty Outstanding (Rol / Kg) | Akumulasi qty yang belum dikirim |
| Total Nilai Outstanding | Nilai rupiah SO yang belum selesai |
| SO Paling Lama | Nomor dan tanggal SO tertua yang belum selesai |
| Aging Terlama (Hari) | Jumlah hari SO terlama sejak confirmed |
Tipe visualisasi: Tabel dengan baris per salesperson, bisa di-expand untuk melihat daftar SO per salesperson.
Alert rule: Baris salesperson dengan SO aging > threshold (default: 7 hari) diberi highlight.
Drill-down: Klik nama salesperson → daftar SO outstanding milik salesperson tersebut.
Detail Widget: Outstanding SO — Pipeline ke Delivery
Nama Widget: Outstanding Sales Order — Status Pipeline hingga Delivery Order
Tujuan: Menampilkan seluruh Sales Order yang masih dalam proses fulfillment, dengan status di setiap tahap pipeline — dari SO confirmed, apakah sudah turun WO, apakah sudah ada DO, apakah DO sudah terkirim.
Data yang ditampilkan (per baris SO):
| Kolom | Keterangan |
|---|---|
| No. Sales Order | Nomor SO |
| Tanggal SO | Tanggal SO dibuat |
| Customer | Nama customer |
| Salesperson | Penanggung jawab SO |
| Item | Produk yang dipesan |
| Qty Order | Qty total dipesan |
| Qty Sudah DO | Qty yang sudah ada Delivery Order |
| Qty Sisa | Qty yang belum ada DO |
| Status WO | Ada WO / Belum Ada WO |
| Status DO | Ada DO / Belum Ada DO / Partial DO |
| Requested Delivery Date | Target kirim dari customer |
| Aging SO (Hari) | Hari sejak SO confirmed |
Tipe visualisasi: Tabel dengan filter cepat per stage:
[ Semua ] [ Belum WO ] [ Sudah WO, Belum DO ] [ Partial DO ] [ Belum Kirim ]
Alert rule:
- Merah: SO melewati Requested Delivery Date
- Kuning: SO approaching Requested Delivery Date (dalam 3 hari)
- Hijau: SO masih dalam tenggat
Drill-down: Klik No. SO → Sales Order detail dengan link ke WO dan DO terkait.
4. Operational / Warehouse Manager Dashboard
Tujuan: Monitoring stok, pergerakan barang, dan status pengiriman.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Total Stock Value | KPI Card | Nilai total inventaris aktif | Real-time |
| Low Stock Alert | Alert Table | Item di bawah reorder point | Real-time |
| Negative Stock Alert | Alert Table | Item dengan stok negatif | Real-time |
| Stock Movement Today | KPI Cards | Total IN / OUT / Adjustment hari ini | Hari ini |
| Pending PO Receipt | Table | PO confirmed yang belum diterima | Hari ini |
| Pending Delivery | Table | SO yang butuh pengiriman | Hari ini |
| Inspection Queue | KPI Card | Jumlah item menunggu quality inspection | Real-time |
| Warehouse Utilization | Progress Bar per gudang | Kapasitas terpakai vs total | Real-time |
| Stock Aging | Stacked Bar | Stok berdasarkan umur (30/60/90/120+ hari) | Real-time |
5. Procurement Manager Dashboard
Tujuan: Monitoring pengadaan, status PO, dan performa vendor.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Open Purchase Orders | KPI Card | Jumlah PO aktif | Hari ini |
| PO Pending Approval | Alert Card | PO menunggu persetujuan | Real-time |
| Purchase Requisition Queue | KPI Card | PR yang belum diproses menjadi PO | Real-time |
| Purchase vs Budget | Bar Chart | Realisasi pembelian vs anggaran | MTD |
| Top Vendors by Spend | Horizontal Bar | Total pembelian per vendor | MTD |
| Overdue PO Delivery | Alert Table | PO yang melewati expected delivery date | Hari ini |
| Pending GR (Goods Receipt) | Table | PO confirmed belum ada penerimaan barang | Hari ini |
| Price Variance Alert | Alert Table | Item dengan harga PO berbeda signifikan dari pricelist | MTD |
6. Manufacturing Manager Dashboard
Tujuan: Monitoring produksi, work order, kualitas hasil packing, dan efisiensi shopfloor.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Open Work Orders | KPI Card | WO aktif per status (Draft, In Progress, Done) | Hari ini |
| Production Output Today | KPI Card | Qty produk selesai hari ini | Hari ini |
| WO Completion Rate | KPI Card + Gauge | % WO selesai tepat waktu | MTD |
| Material Availability | Alert Table | BOM item yang stoknya tidak cukup untuk WO aktif | Real-time |
| Work Center Utilization | Bar Chart per work center | % utilisasi kapasitas | Hari ini |
| Overdue Work Orders | Alert Table | WO yang melewati target selesai | Real-time |
| Scrap / Rejection Rate | KPI Card | % scrap dari total output | MTD |
| Production Trend | Line Chart | Output harian | 30 hari terakhir |
| Summary Grade Hasil Packing (Rol) | Grouped Bar Chart | Jumlah rol per grade (A, B, C, reject) per item / WO | Hari ini / MTD |
| Summary Grade Hasil Packing (Kg) | Grouped Bar Chart | Total berat (kg) per grade per item / WO | Hari ini / MTD |
| SO Belum Turun Work Order | Alert Table | Daftar Sales Order confirmed yang belum ada WO-nya | Real-time |
Detail Widget: Summary Grade Hasil Packing (Rol)
Nama Widget: Summary Grade Hasil Packing — Rol
Tujuan: Memberikan visibilitas distribusi kualitas output produksi dalam satuan rol per grade, sehingga manajer dapat segera mengidentifikasi tren penurunan kualitas atau anomali di lini packing.
Data yang ditampilkan:
| Kolom | Keterangan |
|---|---|
| Kode Item / Nama Produk | Identitas produk yang dipacking |
| No. Work Order | Referensi WO terkait |
| Grade A (Rol) | Jumlah rol dengan kualitas grade A |
| Grade B (Rol) | Jumlah rol dengan kualitas grade B |
| Grade C (Rol) | Jumlah rol dengan kualitas grade C |
| Reject (Rol) | Jumlah rol yang direject / tidak lolos QC |
| Total Rol | Total keseluruhan rol yang sudah dipacking |
| % Grade A | Persentase rol grade A terhadap total |
Tipe visualisasi:
Grouped Bar Chart per Item:
Item X ████████████░░░░░░▒▒▒▓▓
Item Y ██████████████░░░░▒▒▒▒▓
Item Z ███████████████████░░░▒▓
■ Grade A ░ Grade B ▒ Grade C ▓ Reject
Filter tersedia: per WO, per item, per tanggal produksi.
Drill-down: Klik baris item → Production Quality Report (detail per WO / per shift).
Detail Widget: Summary Grade Hasil Packing (Kg)
Nama Widget: Summary Grade Hasil Packing — Kg
Tujuan: Melengkapi widget Rol dengan perspektif berat aktual (kg) — penting karena satu rol bisa berbeda berat, sehingga analisis losses dan yield akurat secara volume fisik.
Data yang ditampilkan:
| Kolom | Keterangan |
|---|---|
| Kode Item / Nama Produk | Identitas produk yang dipacking |
| No. Work Order | Referensi WO terkait |
| Grade A (Kg) | Total berat rol grade A |
| Grade B (Kg) | Total berat rol grade B |
| Grade C (Kg) | Total berat rol grade C |
| Reject (Kg) | Total berat rol yang direject |
| Total Kg | Total berat keseluruhan hasil packing |
| Yield % | (Grade A Kg / Total Kg) × 100 |
| Reject % | (Reject Kg / Total Kg) × 100 |
Tipe visualisasi: Grouped Bar Chart (sama dengan Rol), dengan toggle satuan Rol ↔ Kg pada satu widget atau dua widget terpisah sesuai preferensi layout.
Drill-down: Klik baris item → Production Quality Detail per WO.
Detail Widget: SO Belum Turun Work Order
Nama Widget: Daftar S.O Belum Turun Job Order (Work Order)
Tujuan: Menampilkan Sales Order yang sudah confirmed tetapi belum ada Work Order yang dibuat, sehingga tim produksi dan PPIC dapat segera menindaklanjuti sebelum terjadi keterlambatan.
Data yang ditampilkan:
| Kolom | Keterangan |
|---|---|
| No. Sales Order | Nomor SO |
| Tanggal SO | Tanggal SO dibuat |
| Customer | Nama customer |
| Item | Kode dan nama produk yang dipesan |
| Qty Order | Jumlah yang dipesan (Rol / Kg) |
| Requested Delivery Date | Target tanggal kirim dari customer |
| Aging (Hari) | Jumlah hari sejak SO confirmed hingga hari ini |
| Status WO | Belum Ada WO |
Alert rule: SO dengan aging > threshold yang dikonfigurasi (default: 3 hari) ditandai merah.
Drill-down: Klik No. SO → Sales Order detail. Tombol shortcut: "Buat Work Order" dari widget langsung membuka form WO baru dengan SO terpilih.
Filter: per customer, per item, per tanggal SO, per salesperson.
7. HR Manager Dashboard
Tujuan: Monitoring tenaga kerja, kehadiran, dan payroll.
Widgets & Charts
| Widget | Tipe | Data | Periode Default |
|---|---|---|---|
| Total Active Employees | KPI Card | Headcount aktif per departemen | Real-time |
| Attendance Today | KPI Card | Hadir / Absen / Terlambat | Hari ini |
| Leave Requests Pending | Alert Card | Pengajuan cuti menunggu persetujuan | Real-time |
| New Hires This Month | KPI Card | Karyawan baru bergabung | MTD |
| Resignation / Termination | KPI Card | Karyawan keluar bulan ini | MTD |
| Payroll Status | Status Card | Status run payroll bulan ini (belum / proses / selesai) | Bulan ini |
| Training Schedule | Table | Training yang dijadwalkan minggu ini | 7 hari ke depan |
| Overtime Summary | Bar Chart per departemen | Total jam lembur | MTD |
| Employee Turnover Rate | KPI Card | % turnover | MTD / YTD |
8. Supervisor Dashboard
Tujuan: Monitoring aktivitas operasional sub-fungsi yang menjadi tanggung jawabnya.
Supervisor menerima subset dari dashboard Manager yang relevan — hanya data untuk tim / area mereka sendiri.
Contoh:
| Supervisor | Widget yang Dilihat |
|---|---|
| Supervisor AR | Overdue AR list, AR aging, invoice hari ini |
| Supervisor AP | AP due list, AP aging, pending payment approval |
| Supervisor Gudang | Low stock alert, pending GR, stock movement area |
| Supervisor Produksi | WO aktif area, material shortage, output shift, Grade Packing (Rol & Kg) shift, Ranking Scan KP shift |
| Supervisor PPIC | SO belum turun WO, WO pipeline vs SO delivery date |
9. Operator / Staff Dashboard
Tujuan: Menampilkan task dan transaksi yang perlu diselesaikan hari ini.
Widgets
| Widget | Tipe | Data |
|---|---|---|
| My Pending Tasks | Task List | Dokumen yang perlu diproses / disetujui user ini |
| My Transactions Today | Counter Cards | Jumlah transaksi yang dibuat user ini hari ini |
| Notifications | Alert Feed | Approval result, rejection notice, system alerts |
| Quick Links | Shortcut Grid | Menu yang paling sering dibuka user ini |
Widget Drill-Down Behavior
Setiap widget yang menampilkan angka harus dapat diklik untuk membuka konteks lebih dalam:
| Widget | Drill-Down Target |
|---|---|
| Outstanding AR | AR Aging Report |
| Low Stock Alert | Inventory Stock Level Report |
| Open Work Orders | Work Order List (filtered by status) |
| Overdue PO | Purchase Order List (filtered by overdue) |
| Sales Achievement | Sales Performance Report |
| Cash & Bank Balance | Bank Reconciliation / Cash Flow Report |
| Pending Approval | Approval Queue / Inbox |
| Outstanding SO per Salesperson | SO Outstanding List (filtered by salesperson) |
| Outstanding SO Pipeline | SO Detail dengan status WO dan DO |
| SO Belum Turun Work Order | Sales Order Detail + shortcut buat WO baru |
| Summary Grade Hasil Packing (Rol) | Production Quality Report per WO / per shift |
| Summary Grade Hasil Packing (Kg) | Production Quality Detail per WO |
Data Refresh Strategy
| Tipe Data | Refresh Strategy |
|---|---|
| KPI finansial (AR, AP, Cash) | Setiap 15 menit atau on-demand |
| Alert (low stock, overdue) | Setiap 10 menit |
| Chart trend (revenue, production) | Setiap 30 menit |
| Real-time stock | On-demand / manual refresh |
| Attendance hari ini | Setiap 5 menit |
Interval refresh dapat dikonfigurasi oleh Administrator di Control Files.
Access Control
| Prinsip | Keterangan |
|---|---|
| Dashboard konten ditentukan oleh Role | Administrator assign role ke user |
| Data difilter per Branch / Division | User hanya melihat data area tanggung jawabnya |
| Drill-down mengikuti hak akses menu | Jika user tidak punya akses report, drill-down ditolak |
| Widget dapat diaktifkan / dinonaktifkan per role | Dari Control Files oleh Administrator |
Implementation Scope (Phase 1)
Implementasi awal difokuskan pada role dengan nilai bisnis tertinggi:
| Prioritas | Role | Widget Count |
|---|---|---|
| P1 | Executive Dashboard | 13 widget |
| P1 | Finance Manager | 10 widget |
| P1 | Sales Manager | 11 widget |
| P2 | Warehouse / Operational Manager | 9 widget |
| P2 | Procurement Manager | 8 widget |
| P3 | Manufacturing Manager | 12 widget |
| P3 | HR Manager | 9 widget |
| P3 | Supervisor (subset) | Configurable |
| P4 | Operator / Staff | 4 widget |
Tidak dalam scope Phase 1:
- Real-time WebSocket push notification untuk widget
- Custom widget builder oleh user
- Dashboard sharing / export ke PDF
- Embedded AI summary / commentary
Fitur-fitur tersebut dapat dipertimbangkan di iterasi berikutnya.
Open Questions
- Apakah dashboard menggunakan charting library yang sudah ada di frontend stack, atau perlu evaluasi library baru?
- Apakah widget menggunakan data yang sudah ada di existing report, atau perlu query baru yang dioptimasi?
- Apakah periode default (MTD/YTD) dapat dikonfigurasi per user atau hanya per role?
- Apakah perlu menyimpan snapshot dashboard harian untuk keperluan audit / perbandingan historis?