@extends('layouts.app') @section('content') @php $today = now()->toDateString(); $hasStart = request()->filled('start_date'); $hasEnd = request()->filled('end_date'); $startDate = request('start_date', $startDate ?? $today); $endDate = request('end_date', $endDate ?? $today); $resolveText = function ($trx, array $keys, $default = '-') { foreach ($keys as $key) { $value = data_get($trx, $key); if (is_array($value) || is_object($value)) { $value = data_get($value, 'name') ?? data_get($value, 'customer_name') ?? data_get($value, 'label') ?? data_get($value, 'title'); } if (is_string($value)) { $value = trim($value); } if ($value !== null && $value !== '') { return (string) $value; } } return $default; }; $transactionsCol = collect($transactions ?? $ledger ?? [])->map(function ($trx) use ($resolveText) { return [ 'tanggal' => data_get($trx, 'tanggal') ?? data_get($trx, 'date') ?? data_get($trx, 'created_at') ?? data_get($trx, 'transaction_date'), 'keterangan' => $resolveText($trx, [ 'keterangan', 'description', 'notes', 'note', 'title', ], '-'), 'customer' => $resolveText($trx, [ 'customer', 'customer_name', 'pelanggan', 'buyer_name', 'client_name', 'order.customer_name', 'order.customer.name', 'order.customerRelation.name', 'order.customer_relation.name', 'payment.order.customer_name', 'payment.order.customer.name', 'payment.order.customerRelation.name', 'payment.order.customer_relation.name', ], '-'), 'rekening' => $resolveText($trx, [ 'rekening', 'account_name', 'payment_account_name', 'paymentAccount.name', 'payment_account.name', 'account.name', ], '-'), 'debit' => (float) data_get($trx, 'debit', 0), 'kredit' => (float) data_get($trx, 'kredit', data_get($trx, 'credit', 0)), 'saldo' => (float) data_get($trx, 'saldo', data_get($trx, 'balance', 0)), 'source' => data_get($trx, 'source', '-'), ]; }); $accountsCol = collect($accounts ?? []); $totalDebit = $transactionsCol->sum('debit'); $totalKredit = $transactionsCol->sum('kredit'); $saldoAkhir = data_get($transactionsCol->last(), 'saldo', $saldoAwal ?? 0); $selectedAccount = request('payment_account_id'); $selectedAccountLabel = 'Semua Rekening'; if ($selectedAccount !== null && $selectedAccount !== '') { $selectedAccountLabel = $accountsCol->first(function ($acc) use ($selectedAccount) { return (string) data_get($acc, 'id') === (string) $selectedAccount; })->name ?? 'Rekening Terpilih'; } $isSingleDay = ($startDate === $endDate); $netFlow = ($totalDebit ?? 0) - ($totalKredit ?? 0); $trendText = $netFlow >= 0 ? 'surplus' : 'defisit'; $isMinus = ($saldoAkhir ?? 0) < 0; $periodLabel = $isSingleDay ? ('Tanggal: ' . \Carbon\Carbon::parse($startDate)->format('d M Y')) : ('Periode: ' . \Carbon\Carbon::parse($startDate)->format('d M Y') . ' s/d ' . \Carbon\Carbon::parse($endDate)->format('d M Y')); @endphp @if(!$hasStart && !$hasEnd) @endif @if(empty($isPrint))
@if(request('payment_account_id') !== null && request('payment_account_id') !== '') @endif
@if(request('payment_account_id') !== null && request('payment_account_id') !== '') @endif
@endif

Ringkasan Buku Besar

{{ $periodLabel }} Rekening: {{ $selectedAccountLabel }} Arus Bersih: {{ $trendText }}

Buku besar ini sudah sinkron dengan modul kas: Kas Tunai, Kas Kecil, Kas Bank, termasuk modal, mutasi, setoran, penjualan, expense, dan pembayaran supplier.

Cara baca cepat
  • Debit = uang masuk ke rekening yang dipilih.
  • Kredit = uang keluar dari rekening yang dipilih.
  • Mutasi akan tampil masuk/keluar sesuai rekening filter.
Catatan penting
  • • Filter Semua Rekening menampilkan gabungan tanpa double count mutasi internal.
  • • Filter Kas Kecil fokus ke modal dan mutasi kas kecil.
  • • Filter Kas Bank menampilkan bank gabungan.
@if($isMinus)
Saldo akhir sedang minus.
Artinya pada filter aktif, arus keluar lebih besar daripada arus masuk.
@endif
@if(empty($isPrint))
Reset
@endif
@forelse($transactionsCol as $trx) @php $debit = (float) ($trx['debit'] ?? 0); $kredit = (float) ($trx['kredit'] ?? 0); $saldo = (float) ($trx['saldo'] ?? 0); $tanggal = $trx['tanggal'] ?? null; @endphp @empty @endforelse
Tanggal Keterangan Customer Rekening Debit Kredit Saldo
Saldo Awal Rp {{ number_format($saldoAwal ?? 0, 0, ',', '.') }}
{{ $tanggal ? \Carbon\Carbon::parse($tanggal)->format('d/m/Y H:i') : '-' }} {{ $trx['keterangan'] ?? '-' }} {{ $trx['customer'] ?? '-' }} {{ $trx['rekening'] ?? '-' }} {{ $debit > 0 ? 'Rp ' . number_format($debit, 0, ',', '.') : '-' }} {{ $kredit > 0 ? 'Rp ' . number_format($kredit, 0, ',', '.') : '-' }} Rp {{ number_format($saldo, 0, ',', '.') }}
Tidak ada data pada filter ini.
{{ $isSingleDay ? 'Total Hari Ini' : 'Total Periode' }} Rp {{ number_format($totalDebit ?? 0, 0, ',', '.') }} Rp {{ number_format($totalKredit ?? 0, 0, ',', '.') }} Rp {{ number_format($saldoAkhir ?? 0, 0, ',', '.') }}

© {{ date('Y') }} Rio Ardiansyah - aplikasipercetakan.com. All rights reserved.

@if(!empty($isPrint)) @endif @endsection