{{-- Header Banner --}}
Direct Database Audit & Cash Flow Analytics

Audit Keuangan & Aliran Kas Bulanan

Analisis real-time data pinjaman, angsuran terbayar, mutasi simpanan, serta visualisasi tren aliran kas bulanan Koperasi UMB.

Laporan RAT
{{-- Real-Time KPI Cards Header --}}
{{-- Total Plafon --}}
Total Plafon Disalurkan
Rp {{ number_format($totalPlafonDisalurkan, 0, ',', '.') }}
{{ $totalLoanCount }} Kontrak Pinjaman terdaftar
{{-- Sisa Piutang Berjalan --}}
Piutang Berjalan (Outstanding)
Rp {{ number_format($totalSisaPiutang, 0, ',', '.') }}
{{ $activeLoanCount }} Lancar @if($overdueLoanCount > 0) {{ $overdueLoanCount }} Menunggak @endif
{{-- Realisasi Angsuran --}}
Realisasi Angsuran Terbayar
Rp {{ number_format($totalAngsuranTerbayar, 0, ',', '.') }}
{{ $completedLoanCount }} Pinjaman telah LUNAS
{{-- Total Simpanan --}}
Total Akumulasi Simpanan
Rp {{ number_format($totalSemuaSimpanan, 0, ',', '.') }}
Pokok: {{ number_format($totalSimpananPokok/1000, 0) }}rb | Wajib: {{ number_format($totalSimpananWajib/1000, 0) }}rb
{{-- Source Share & Revenue Distribution Card (BMT ITQAN vs BERMADANI) --}}
%

Analisis Pembagian Pendapatan & Sumber Dana

Perbandingan kontribusi realisasi pendapatan & penyaluran plafon antara BMT ITQAN dan Internal BERMADANI.

Direct DB Calculation
{{-- 1. Realisasi Pendapatan Angsuran --}}
Realisasi Pendapatan Angsuran Rp {{ number_format($totalAngsuranTerbayar, 0, ',', '.') }}
{{-- Progress Bar --}}
BMT ITQAN
Rp {{ number_format($sourceShareStats['payments']['bmt'], 0, ',', '.') }} ({{ $sourceShareStats['payments']['percent_bmt'] }}%)
Internal BERMADANI
Rp {{ number_format($sourceShareStats['payments']['bermadani'], 0, ',', '.') }} ({{ $sourceShareStats['payments']['percent_bermadani'] }}%)
{{-- 2. Plafon Disalurkan --}}
Total Plafon Pinjaman Disalurkan Rp {{ number_format($totalPlafonDisalurkan, 0, ',', '.') }}
{{-- Progress Bar --}}
BMT ITQAN
Rp {{ number_format($sourceShareStats['plafon']['bmt'], 0, ',', '.') }} ({{ $sourceShareStats['plafon']['percent_bmt'] }}%)
Internal BERMADANI
Rp {{ number_format($sourceShareStats['plafon']['bermadani'], 0, ',', '.') }} ({{ $sourceShareStats['plafon']['percent_bermadani'] }}%)
{{-- Main Navigation Tabs --}}
{{-- Search & Filter Tools --}} @if(in_array($activeTab, ['loans', 'savings']))
@if($activeTab === 'loans') @endif
@endif
{{-- TAB 1: PORTOFOLIO PINJAMAN ANGGOTA --}} @if($activeTab === 'loans')
@forelse($loans as $loan) @php $percent = $loan->tenor > 0 ? min(100, round(($loan->paid_installments / $loan->tenor) * 100)) : 0; @endphp @empty @endforelse
Anggota / Kontrak Plafon Pinjaman Tenor & Angsuran Angsuran / Bln Sisa Piutang Progress Pelunasan Status Aksi
{{ $loan->member->name ?? 'Anggota #'.$loan->member_id }}
No: {{ $loan->member->nomorAnggota ?? '-' }} @if($loan->account_number) ({{ $loan->account_number }}) @endif
Rp {{ number_format($loan->amount, 0, ',', '.') }} {{ $loan->paid_installments }} / {{ $loan->tenor }} Bln Rp {{ number_format($loan->monthlyPayment, 0, ',', '.') }} Rp {{ number_format(max(0, $loan->remainingAmount), 0, ',', '.') }}
{{ $percent }}%
@if($loan->status === 'COMPLETED') LUNAS @elseif($loan->status === 'ACTIVE') ACTIVE @elseif($loan->status === 'OVERDUE') MENUNGGAK @else {{ $loan->status }} @endif

Tidak ada data pinjaman yang cocok dengan pencarian.

{{ $loans->links() }}
@endif {{-- TAB 2: REKAPITULASI SIMPANAN ANGGOTA --}} @if($activeTab === 'savings')
@forelse($membersSavings as $member) @php $totalSimpananMember = $member->simpananPokok + $member->simpananWajib + $member->simpananSukarela; @endphp @empty @endforelse
Nama Anggota No. Anggota / NIP Simpanan Pokok Simpanan Wajib Simpanan Sukarela Total Simpanan Aksi
{{ $member->name }} {{ $member->nomorAnggota ?? $member->nip ?? '-' }} Rp {{ number_format($member->simpananPokok, 0, ',', '.') }} Rp {{ number_format($member->simpananWajib, 0, ',', '.') }} Rp {{ number_format($member->simpananSukarela, 0, ',', '.') }} Rp {{ number_format($totalSimpananMember, 0, ',', '.') }}

Tidak ada data anggota yang ditemukan.

{{ $membersSavings->links() }}
@endif {{-- TAB 3: VISUALISASI ALIRAN KAS BULANAN (APEXCHARTS & MONTHLY CARDS) --}} @if($activeTab === 'cash_flow')
{{-- Year Selector Header Card --}}

Analisis Tren Aliran Kas (Monthly Cash Flow)

Perbandingan real-time Angsuran Pinjaman Masuk, Setoran Simpanan, dan Penarikan Simpanan per bulan.

{{-- Financial ApexChart Visualisation --}}

Grafik Trend Arus Kas Bulanan Tahun {{ $selectedCashFlowYear }}

{{-- Horizontal Scrollable Month Selector Cards --}}

Rincian Arus Kas Per Bulan

Klik salah satu kartu bulan di bawah untuk membuka rincian log transaksi.

@foreach($cashFlowSummaries as $item) @endforeach
{{-- Monthly Revenue Share & Cash Flow Table Breakdown --}}

Tabel Breakdown Pendapatan & Arus Kas Per Bulan (Tahun {{ $selectedCashFlowYear }})

Rincian bulanan nominal Rupiah dan persentase pembagian pendapatan antara BMT ITQAN dan Internal BERMADANI.

@php $sumBmt = 0; $sumBermadani = 0; $sumTotalAngsuran = 0; $sumSimMasuk = 0; $sumSimKeluar = 0; $sumNetKas = 0; @endphp @foreach($cashFlowSummaries as $row) @php $sumBmt += $row['angsuran_bmt']; $sumBermadani += $row['angsuran_bermadani']; $sumTotalAngsuran += $row['angsuran']; $sumSimMasuk += $row['simpanan_masuk']; $sumSimKeluar += $row['simpanan_keluar']; $sumNetKas += $row['net_cashflow']; @endphp {{-- BMT ITQAN --}} {{-- BERMADANI --}} {{-- Total Angsuran --}} {{-- Simpanan Masuk --}} {{-- Simpanan Keluar --}} {{-- Net Kas --}} {{-- Status --}} @endforeach
Bulan Angsuran BMT ITQAN Angsuran BERMADANI Total Angsuran Simpanan Masuk Simpanan Keluar Net Kas (Surplus/Defisit) Status
{{ $row['month_name'] }} @if($selectedCashFlowMonth === $row['month_num']) @endif
Rp {{ number_format($row['angsuran_bmt'], 0, ',', '.') }}
({{ $row['percent_bmt'] }}%)
Rp {{ number_format($row['angsuran_bermadani'], 0, ',', '.') }}
({{ $row['percent_bermadani'] }}%)
Rp {{ number_format($row['angsuran'], 0, ',', '.') }} Rp {{ number_format($row['simpanan_masuk'], 0, ',', '.') }} Rp {{ number_format($row['simpanan_keluar'], 0, ',', '.') }} Rp {{ number_format($row['net_cashflow'], 0, ',', '.') }} @if($row['net_cashflow'] > 0) Surplus @elseif($row['net_cashflow'] < 0) Defisit @else Nihil @endif
TOTAL TAHUN {{ $selectedCashFlowYear }} Rp {{ number_format($sumBmt, 0, ',', '.') }}
({{ $sumTotalAngsuran > 0 ? round(($sumBmt / $sumTotalAngsuran) * 100, 1) : 0 }}%)
Rp {{ number_format($sumBermadani, 0, ',', '.') }}
({{ $sumTotalAngsuran > 0 ? round(($sumBermadani / $sumTotalAngsuran) * 100, 1) : 0 }}%)
Rp {{ number_format($sumTotalAngsuran, 0, ',', '.') }} Rp {{ number_format($sumSimMasuk, 0, ',', '.') }} Rp {{ number_format($sumSimKeluar, 0, ',', '.') }} Rp {{ number_format($sumNetKas, 0, ',', '.') }}
{{-- Selected Month Transactions Detail Panel --}} @if($selectedCashFlowMonth)

Detail Transaksi Bulan {{ DateTime::createFromFormat('!m', $selectedCashFlowMonth)->format('F') }} {{ $selectedCashFlowYear }}

{{-- Left: Month Loan Payments --}}
Realisasi Angsuran Pinjaman ({{ $monthLoanPayments->count() }} Transaksi)
@forelse($monthLoanPayments as $lp) @empty @endforelse
Tanggal Anggota Nominal
{{ $lp->paymentDate ? $lp->paymentDate->format('d M Y') : '-' }} {{ $lp->loan->member->name ?? 'Anggota #'.$lp->loan->member_id }} Rp {{ number_format($lp->amount, 0, ',', '.') }}
Tidak ada angsuran di bulan ini.
{{-- Right: Month Simpanan Transactions --}}
Mutasi Simpanan Anggota ({{ $monthSimpananTransactions->count() }} Transaksi)
@forelse($monthSimpananTransactions as $st) @empty @endforelse
Waktu Anggota Tipe Nominal
{{ $st->created_at ? $st->created_at->format('d M H:i') : '-' }} {{ $st->member->name ?? 'Anggota' }} {{ $st->type }} {{ in_array($st->transactionType, ['SETOR', 'TRANSFER_IN']) ? '+' : '-' }} Rp {{ number_format($st->amount, 0, ',', '.') }}
Tidak ada mutasi simpanan di bulan ini.
@endif
@endif {{-- TAB 4: SINKRONISASI RAT --}} @if($activeTab === 'rat_sync')

Sinkronisasi Ke Laporan Finansial RAT

Sinkronkan secara langsung akumulasi Angsuran Pinjaman Terbayar & Total Simpanan Anggota ke Laporan RAT (Entri Manual Pembukuan).

{{-- Comparison Cards --}}
1. Pendapatan Jasa Pinjaman / Margin (Laba Rugi)
Rp {{ number_format($totalAngsuranTerbayar, 0, ',', '.') }}

Diperoleh dari total angsuran terbayar di tabel loan_payments.

2. Akumulasi Simpanan Anggota (Neraca)
Rp {{ number_format($totalSemuaSimpanan, 0, ',', '.') }}

Simpanan Pokok (Rp {{ number_format($totalSimpananPokok, 0, ',', '.') }}), Wajib (Rp {{ number_format($totalSimpananWajib, 0, ',', '.') }}), Sukarela (Rp {{ number_format($totalSimpananSukarela, 0, ',', '.') }}).

@endif {{-- MODAL 1: DETAIL PEMBAYARAN ANGSURAN PINJAMAN --}} @if($showDetailModal && $selectedLoan)

Detail Riwayat Angsuran Pinjaman

{{ $selectedLoan->member->name ?? 'Anggota #'.$selectedLoan->member_id }} - Account: {{ $selectedLoan->account_number ?? '-' }}

{{-- Loan Overview --}}
Plafon Pinjaman Rp {{ number_format($selectedLoan->amount, 0, ',', '.') }}
Monthly Payment Rp {{ number_format($selectedLoan->monthlyPayment, 0, ',', '.') }}
Sisa Piutang Rp {{ number_format(max(0, $selectedLoan->remainingAmount), 0, ',', '.') }}
{{-- Payments Table --}}
@forelse($selectedLoanPayments as $payment) @empty @endforelse
Tanggal Pembayaran Keterangan Jumlah Terbayar
{{ $payment->paymentDate ? $payment->paymentDate->format('d M Y') : '-' }} {{ $payment->description ?? 'Pembayaran Angsuran' }} Rp {{ number_format($payment->amount, 0, ',', '.') }}
Belum ada riwayat angsuran pembayaran terdaftar.
@endif {{-- MODAL 2: DETAIL MUTASI SIMPANAN ANGGOTA --}} @if($showMemberSavingsModal && $selectedMember)

Detail Mutasi Simpanan Anggota

{{ $selectedMember->name }} - No. Anggota: {{ $selectedMember->nomorAnggota ?? '-' }}

{{-- Member Savings Breakdown --}}
Simpanan Pokok Rp {{ number_format($selectedMember->simpananPokok, 0, ',', '.') }}
Simpanan Wajib Rp {{ number_format($selectedMember->simpananWajib, 0, ',', '.') }}
Simpanan Sukarela Rp {{ number_format($selectedMember->simpananSukarela, 0, ',', '.') }}
{{-- Transactions Table --}}
@forelse($selectedMemberTransactions as $tx) @empty @endforelse
Waktu Jenis Simpanan Tipe Mutasi Nominal
{{ $tx->created_at ? $tx->created_at->format('d M Y H:i') : '-' }} {{ $tx->type }} {{ $tx->transactionType }} {{ in_array($tx->transactionType, ['SETOR', 'TRANSFER_IN']) ? '+' : '-' }} Rp {{ number_format($tx->amount, 0, ',', '.') }}
Belum ada data mutasi simpanan terdaftar.
@endif