title: “Saldo” description: “Manajemen rekening bank dan kas — saldo real-time auto-refresh 30 detik, deposit/withdrawal workflow, transfer antar rekening, mutasi transaksi, dan rekonsiliasi bank di SNISHOP ERP.”
Saldo

Arsitektur Saldo
Rekening Bank
Tambah Rekening Baru
- Klik “Tambah Rekening”
- Isi form:
- Klik “Simpan”
current_balance=initial_balance
Informasi Per Rekening
Multiple Rekening
Sistem mendukung unlimited rekening:Saldo Real-Time
Auto-Refresh
- Sistem auto-refresh setiap 30 detik
- Menampilkan
current_balance(server-authoritative) - Bukan field
balance(undeclared)
Balance Monitoring
Balance Alerts
Deposit Workflow
Deposit Rules
Withdrawal Workflow
Withdrawal Rules
Transfer Antar Rekening
Transfer Rules
Transfer di Laporan
Mutasi Transaksi
Incoming Transactions
Outgoing Transactions
Transaction Details
Filter Mutasi
Rekonsiliasi Bank
Import Bank Statement
- Download statement dari bank (CSV/Excel)
- Upload ke sistem
- Sistem auto-match berdasarkan:
- Nominal (exact match)
- Tanggal (±2 hari)
- Deskripsi (fuzzy match)
- Review unmatched items
- Complete reconciliation
Manual Reconciliation
- Input statement balance
- List outstanding items
- Calculate adjusted balance:
- Compare with system balance
- Investigate differences
- Post adjustments jika perlu
Reconciliation Report
Reporting
Bank Statement
Cash Flow Report
Cash Daily Report
Component:CashDailyReport.jsx (493 lines)
Drill-down: Klik tanggal untuk lihat transaksi individual
Trend Analysis: First half vs second half comparison
Best Practices
Security
- Limit akses ke rekening bank (hanya owner/finance)
- Regular password change
- Two-factor authentication
- Audit trail untuk semua transaksi
Reconciliation
- Rekonsiliasi minimal sebulan sekali
- Investigate semua differences
- Document adjustments
- Keep records untuk audit
Monitoring
- Check balance harian
- Review transactions mingguan
- Monitor alerts
- Report discrepancies segera
Entity Schema — Saldo & Balance
Entity Relationship Diagram
Tabel Schema — Company
Entitas perusahaan yang menjadi wadah seluruh data keuangan, rekening, dan transaksi.Tabel Schema — Account
Entitas utama untuk menyimpan seluruh rekening bank, kas, dan e-wallet perusahaan.Tabel Schema — BankAccount
Detail rekening bank dan e-wallet untuk keperluan pembayaran dan transfer.Tabel Schema — FinancialRecord
Mencatat seluruh transaksi keuangan (pemasukan, pengeluaran, transfer) yang mempengaruhi saldo rekening.Tabel Schema — GLJournalEntry
Entitas jurnal umum (General Ledger) untuk audit trail dan pembukuan double-entry.
Sub-tabel
line_items (array of objects):
Tabel Schema — GLAccount
Chart of Accounts (COA) — daftar akun pembukuan untuk klasifikasi transaksi keuangan.State Machine — Account Status
State Transition Rules
State Machine — GLJournalEntry Lifecycle
State Transition Rules — GLJournalEntry
Sequence Diagram — Perhitungan Saldo Real-Time
Sequence Diagram — Transfer Dana Antar Rekening
Sequence Diagram — Rekonsiliasi Bank
Sequence Diagram — Deposit dengan Verifikasi Bukti Transfer
Sequence Diagram — Withdrawal dengan Approval Admin
Enum Tables
Enum: Account.type (Jenis Rekening)
Enum: BankAccount.account_type
Enum: FinancialRecord.type (Jenis Transaksi)
Enum: FinancialRecord.source (Sumber Transaksi)
Enum: FinancialRecord.reference_type (Tipe Referensi)
Enum: GLJournalEntry.status (Status Jurnal)
Enum: GLJournalEntry.reference_type
Enum: GLAccount.account_type (Tipe Akun COA)
Enum: GLAccount.normal_balance
Enum: Account.mode & FinancialRecord.mode
Enum: Company.owner_subscription_plan
Enum: Company.industry
RBAC — Hak Akses Saldo
RBAC — Row-Level Security (RLS) Policies
Policy RLS yang diterapkan pada setiap entitas berdasarkan data JSONC.RLS: Account
RLS: BankAccount
RLS: FinancialRecord
RLS: GLAccount & GLJournalEntry
Catatan RLS: Semua entitas menggunakan Row-Level Security (RLS). Akses dibatasi berdasarkan
user_id, company_id, dan active_company_id. Admin global dapat mengakses semua data. Data personal dan bisnis terisolasi berdasarkan field mode. Entitas GLAccount dan GLJournalEntry menggunakan policy kosong di level database karena kontrol akses dikelola di layer aplikasi/API.