{{-- Filter --}}

Leger Kas Pondok

Kas fisik/rekening pondok saja — bukan saldo santri.

Riwayat Kas di bawah cuma mencatat uang yang benar-benar berpindah secara fisik/rekening (top up, penarikan tunai, pencairan kantin) — bayar tagihan/kantin lewat saldo aplikasi tidak dihitung di sini, karena uangnya sudah masuk lebih dulu saat top up.

Untuk cocokkan ke kas fisik: bandingkan Saldo Kas Awal & Saldo Kas Akhir dengan uang tunai/rekening pondok di tanggal yang sama.

@if ($isKustom) @else

Rentang Tanggal

{{ \Illuminate\Support\Carbon::parse($tanggal_dari)->translatedFormat('d M Y') }} – {{ \Illuminate\Support\Carbon::parse($tanggal_sampai)->translatedFormat('d M Y') }}

@endif

Menampilkan {{ $leger['tanggal_dari']->translatedFormat('d F Y') }} s/d {{ $leger['tanggal_sampai']->translatedFormat('d F Y') }} @if ($leger['lembaga']) — {{ $leger['lembaga']->nama }} @endif

{{-- Hero: Posisi Kas --}}

Saldo Kas Akhir

Rp {{ number_format($leger['saldo_akhir'], 0, ',', '.') }}

Posisi kas pondok per akhir rentang ini.

Saldo Kas Awal

Rp {{ number_format($leger['saldo_awal'], 0, ',', '.') }}

Sebelum rentang tanggal ini.

Kas Masuk

Rp {{ number_format($leger['total_masuk'], 0, ',', '.') }}

Kas Keluar

Rp {{ number_format($leger['total_keluar'], 0, ',', '.') }}

{{-- Uang milik pondok (bukan titipan) --}} @php $kasTotal = max($leger['kas_saat_ini'], 1); $pctSantri = $leger['kas_saat_ini'] > 0 ? min(100, round($leger['saldo_santri_saat_ini'] / $kasTotal * 100, 1)) : 0; $pctTabungan = $leger['kas_saat_ini'] > 0 ? min(100, round($leger['saldo_tabungan_saat_ini'] / $kasTotal * 100, 1)) : 0; $pctKantin = $leger['kas_saat_ini'] > 0 ? min(100, round($leger['saldo_kantin_belum_cair'] / $kasTotal * 100, 1)) : 0; $pctMilik = max(0, round(100 - $pctSantri - $pctTabungan - $pctKantin, 1)); $milikNegatif = $leger['uang_milik_pondok'] < 0; @endphp

Uang Milik Pondok

Posisi saat ini • real-time
Kas pondok bukan berarti semuanya milik pondok — sebagian besar cuma titipan (saldo santri yang belum dipakai, saldo kantin yang belum dicairkan pemiliknya). Yang benar-benar hak pondok adalah sisanya setelah titipan itu dikurangkan — biasanya berasal dari tagihan yang sudah dibayar. {{-- 4 equal cards, same grid breakpoints as the other stat-card grids in this app (1 col mobile -> 2 col tablet -> 4 col desktop) - the +/-/= sign lives in each card's own label instead of a separate connector column, so there's nothing that can end up orphaned on its own line when it wraps. --}}

Kas Pondok Saat Ini

Rp {{ number_format($leger['kas_saat_ini'], 0, ',', '.') }}

Titipan Tabungan Santri

Rp {{ number_format($leger['saldo_tabungan_saat_ini'], 0, ',', '.') }}

Titipan Saldo Santri

Rp {{ number_format($leger['saldo_santri_saat_ini'], 0, ',', '.') }}

Titipan Saldo Kantin

Rp {{ number_format($leger['saldo_kantin_belum_cair'], 0, ',', '.') }}

@if ($leger['lembaga'])

Tidak terikat lembaga, dikecualikan saat filter Lembaga aktif.

@endif

Uang Milik Pondok

Rp {{ number_format($leger['uang_milik_pondok'], 0, ',', '.') }}

@if ($milikNegatif) Angka ini negatif — titipan (saldo belanja + tabungan santri + kantin) lebih besar dari kas yang tercatat. Perlu ditelusuri, kemungkinan ada kas yang belum tercatat atau selisih di lapangan. @else {{-- Proportion bar --}}
Milik Pondok ({{ $pctMilik }}%) Titipan Santri ({{ $pctSantri }}%) Titipan Kantin ({{ $pctKantin }}%)
@endif
{{-- Breakdown per sumber dana --}}

Rincian per Sumber Dana

Kas tunai dan kas Midtrans berada di tempat berbeda. Penarikan kantin dirinci lagi berdasarkan cara dana diserahkan agar transfer dan pengambilan tunai mudah dicocokkan.

Kas Tunai

Masuk Rp {{ number_format($leger['total_masuk_tunai'], 0, ',', '.') }}
Keluar Rp {{ number_format($leger['total_keluar_tunai'], 0, ',', '.') }}

Kas Midtrans

Masuk Rp {{ number_format($leger['total_masuk_midtrans'], 0, ',', '.') }}

Belum ada alur keluar dari Midtrans di sistem ini.

Penarikan Kantin

Transfer Rp {{ number_format($leger['total_keluar_transfer_bank'], 0, ',', '.') }}
Tunai Rp {{ number_format($leger['total_keluar_kantin_tunai'], 0, ',', '.') }}

Pencairan saldo kepada pemilik kantin.

{{-- Ledger entries --}}

Riwayat Kas

Setiap baris di sini benar-benar melibatkan perpindahan uang fisik/rekening pondok — bayar tagihan/kantin dari saldo santri tidak dihitung, karena uangnya sudah masuk lebih dulu saat top up.
@if ($entriPaginated->isEmpty()) @else
@if ($entriPaginated->currentPage() === 1 && trim($search) === '') @endif @foreach ($entriPaginated as $row) @endforeach
Tanggal Jenis Pihak Terkait Sumber Masuk Keluar Saldo Berjalan
Saldo Awal Rp {{ number_format($leger['saldo_awal'], 0, ',', '.') }}
{{ $row['tanggal']->format('d/m/Y H:i') }} {{ $row['jenis'] }} {{ $row['pihak'] }} @php $sumberBadge = match ($row['sumber_dana']) { 'tunai' => ['bg-amber-100 text-amber-700', 'Tunai'], 'midtrans' => ['bg-blue-100 text-blue-700', 'Midtrans'], default => ['bg-purple-100 text-purple-700', 'Transfer Bank'], }; @endphp {{ $sumberBadge[1] }} @if ($row['masuk'] > 0) Rp {{ number_format($row['masuk'], 0, ',', '.') }} @else - @endif @if ($row['keluar'] > 0) Rp {{ number_format($row['keluar'], 0, ',', '.') }} @else - @endif Rp {{ number_format($row['saldo_berjalan'], 0, ',', '.') }}
{{ trim($search) !== '' ? 'Total laporan' : 'Total' }} Rp {{ number_format($leger['total_masuk'], 0, ',', '.') }} Rp {{ number_format($leger['total_keluar'], 0, ',', '.') }} Rp {{ number_format($leger['saldo_akhir'], 0, ',', '.') }}
{{ $entriPaginated->links('vendor.pagination.table-footer') }}
@endif