Panduan pengguna

Bab 8 — Role & Hak Akses (RBAC)

Sistem memakai RBAC per modul: setiap menu dan API dicek terhadap matriks modul × aksi. Matriks disimpan di database (RoleConfig) dengan fallback default per role.

8.1 Daftar role

RoleDeskripsi singkat
SUPERADMINSemua modul + approve SO + kelola RBAC
SALESBuat SO, customer, baca stok & master terbatas
OPERATIONSSO, PO, stok, import, laporan operasional
FINANCEInvoice, pembayaran, TAG/piutang, laporan keuangan
WAREHOUSEDO, TTB, stok, retur

Default bisa diubah di Master → Roles & Permissions.

8.2 Aksi (actions)

AksiLabel UIKegunaan
readLihatMenu & halaman; lihat data
createBuatRecord baru (SO, PO, TAG, …)
updateUbahEdit, terima barang, pelunasan TAG, …
deleteHapusHapus / batalkan
approveSetujuiHanya modul Sales Order → menu Persetujuan SO

8.3 Modul & menu (lengkap)

ModulMenu / halaman utama
dashboardDashboard /admin
stockStock /admin/stock
purchase-ordersDaftar PO
purchase-order-returnsRetur PO
sales-ordersDaftar SO, workflow, delivery dashboard
sales-order-returnsRetur SO
delivery-ordersAPI DO (tanpa menu terpisah)
goods-receiptsAPI TTB
invoicesTerbit & cetak invoice
paymentsPembayaran SO/PO
customer-billingPiutang Customer, TAG, PDF TAG
reportsRingkasan, pembayaran/pengeluaran harian
importsImport vendor
price-historyRiwayat harga
usersMaster Users
vendorsMaster Vendors
customersMaster Customers + Limit Kredit
skusMaster SKU
car-typesTipe mobil
stock-balancesMaster saldo stok
settingsPengaturan umum (footer)
role-managementRoles & Permissions

8.4 Default per role (ringkas)

ModulSUPERADMINSALESOPERATIONSFINANCEWAREHOUSE
Dashboard
SO buat/ubahbacabaca
SO approve
DO / TTBbacabaca
Invoicebacabaca
Pembayaran SO/PO
PObacabaca/update
TAG / piutangbaca
Laporan umum
Importbaca
Role management

* Semua sel bisa diubah di matriks; tabel ini hanya default awal jika belum ada konfigurasi di DB.

8.5 Persetujuan SO (approve)

  1. Centang Setujui pada baris Sales Order di matriks.
  2. Menu Persetujuan SO muncul di sidebar Operasi.
  3. Badge = jumlah SO needsApproval.
  4. API approve & pending-approval menolak user tanpa hak ini.

Terpisah dari limit diskon % di master User — keduanya bisa dipakai bersamaan.

8.6 Limit diskon per user

Master → UsersLimit diskon %.

Diskon order di atas limit user → SO butuh approval (jika belum disetujui approver).

8.7 Jika menu tidak muncul

  1. Cek role user di master Users.
  2. SUPERADMIN buka Roles & Permissions → pastikan modul punya Lihat.
  3. Untuk Persetujuan SO: pastikan Setujui pada Sales Order.
  4. Untuk Piutang: modul Tagihan Gabungan (TAG), bukan hanya Laporan.
  5. Logout → login ulang.
  6. Hard refresh Ctrl + Shift + R.

8.8 Guard halaman

Meski mengetik URL manual, sistem mengarahkan ke dashboard jika tidak punya izin read (atau approve untuk halaman persetujuan).