# TODO - Update Cronjob depreciation_asset() - [x] Review dan lock aturan tanggal penyusutan bulanan berdasarkan tanggal_perolehan - [x] Update logic due date bulanan per aset (min(day_perolehan, last_day_of_month)) - [x] Pastikan penyusutan mulai bulan berikutnya setelah perolehan - [x] Batasi eksekusi hanya saat runDate == dueDateThisMonth - [x] Pertahankan idempotency 1x per bulan - [x] Samakan tanggal pencatatan mutation dan journal ke dueDateThisMonth - [x] Verifikasi struktur response details (success/skip reason) tetap informatif ## TODO Baru - Catch-up penyusutan multi-bulan - [ ] Refactor logic depreciation_asset agar memproses multi-bulan (catch-up) - [ ] Terapkan loop per bulan dari bulan setelah tanggal patokan sampai bulan berjalan - [ ] Pertahankan idempotent check per bulan berdasarkan asset_mutations - [ ] Generate mutasi + jurnal per bulan yang eligible - [ ] Update nilai buku & akumulasi penyusutan asset setelah proses loop - [ ] Tambahkan detail response per bulan (processed/skipped reason) - [ ] Validasi syntax PHP untuk Cronjob.php