# Tahap 8–9 — Aset Tetap, Kas, Bank, dan Rekonsiliasi ## Yang diterapkan - Subledger aset: kategori, sumber perolehan, kapitalisasi, residu, masa manfaat, metode, lokasi/PIC, QR, event immutable, maintenance, transfer, impairment, revaluation, disposal/hilang/rusak, opname, schedule dan rekonsiliasi GL. - Penyusutan memiliki unique key `asset_id + period`, menggunakan row lock, memeriksa periode terbuka, mendukung catch-up, dan dibatasi sampai nilai residu. - Penghapusan aset lama dinonaktifkan; pelepasan wajib melalui mutasi dan menghasilkan laba/rugi. - Master kas/bank terhubung satu-ke-satu ke akun GL, cash ledger, kas masuk/keluar, transfer, petty cash, cash advance, reimbursement, biaya/bunga bank, posisi kas, impor CSV, matching, outstanding dan rekonsiliasi. - Pembayaran keluar minimal `CASH_APPROVAL_THRESHOLD` (default Rp10.000.000) berstatus submitted dan wajib disetujui user berbeda. - Semua posting otomatis memakai `PostingService`, periode fiskal, nomor unik, keterangan `[AUTO]` detail, serta idempotency key. - Lampiran bukti tersedia melalui endpoint `accountingattachments/upload` untuk aset, maintenance, opname, transaksi kas, transfer, dan rekonsiliasi (PDF/gambar/CSV maksimum 5 MB, nama terenkripsi dan hash SHA-256). ## Catatan operasional - CSV rekening koran: `tanggal,deskripsi,referensi,debit,kredit,saldo`. - Matching otomatis hanya saran berdasarkan rekening, arah, nominal sama, rentang tanggal ±3 hari, dan referensi. Pengguna tetap mengonfirmasi. - Cash forecast table telah tersedia untuk integrasi jadwal piutang/hutang; realisasi tidak dibuat otomatis agar tidak menggandakan transaksi. - Perolehan dari PO/gudang tetap menyimpan `source_type/source_id`; transaksi historis hanya di-backfill sebagai event, tanpa jurnal baru.