@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => '']) {{-- Header Card with Back Button --}}
{{-- Summary Cards --}} @php $totalSelisih = 0; $totalKeuntungan = 0; $totalKerugian = 0; $rowData = []; $symbols = ['USD' => '$', 'JPY' => '¥', 'EUR' => '€', 'GBP' => '£', 'SGD' => 'S$', 'AUD' => 'A$']; $id_perusahaan = session('id_perusahaan') ?? 1; @endphp @foreach ($banks as $bank) @php $kurs = $kurs_data->get($bank->mata_uang); $kursSekarang = $kurs ? $kurs->nilai : 0; // Cari kurs sebelumnya $prev = null; if ($kurs) { $prev = \DB::table('mst_kurs') ->where('kode', $bank->mata_uang) ->where('kode_lawan', 'IDR') ->where('id_kurs', '<', $kurs->id_kurs) ->orderBy('id_kurs', 'desc') ->first(); } $kursBulanLalu = $prev ? $prev->nilai : $kursSekarang; // Hitung saldo aktual: Saldo Awal + Mutasi $tutupBuku = \DB::table('trs_tutup_buku') ->where('id_perusahaan', $id_perusahaan) ->where('id_bank', $bank->id_bank) ->where('isactive', '0') ->orderBy('periode', 'desc') ->first(); if (!$tutupBuku) { $tutupBuku = \DB::table('trs_tutup_buku') ->where('id_perusahaan', $id_perusahaan) ->where('id_bank', $bank->id_bank) ->orderBy('periode', 'asc') ->first(); } $saldo_awal = $tutupBuku ? $tutupBuku->saldo : 0; $baselinePeriode = $tutupBuku ? $tutupBuku->periode : null; $mutasiQuery = \DB::table('trs_detail_transaksi as d') ->join('trs_header_transaksi as h', 'd.id_header', '=', 'h.id_header') ->where('d.id_coa', $bank->id_coa); if ($baselinePeriode) { $mutasiQuery->where('h.periode', '>', $baselinePeriode); } $mutasi_idr = $mutasiQuery->sum('d.jumlah'); $mutasi_valas = ($bank->mata_uang !== 'IDR' && $kursSekarang > 0) ? ($mutasi_idr / $kursSekarang) : $mutasi_idr; $saldo = $saldo_awal + $mutasi_valas; $nilaiBuku = $saldo * $kursBulanLalu; $nilaiRevaluasi = $saldo * $kursSekarang; $selisih = $nilaiRevaluasi - $nilaiBuku; $pctPerubahan = $nilaiBuku > 0 ? (($nilaiRevaluasi - $nilaiBuku) / $nilaiBuku) * 100 : 0; $totalSelisih += $selisih; if ($selisih > 0) $totalKeuntungan += $selisih; if ($selisih < 0) $totalKerugian += abs($selisih); $rowData[] = (object)[ 'id_coa' => $bank->id_coa, 'nama' => $bank->coa_nama ?? $bank->nama, 'mata_uang' => $bank->mata_uang, 'sym' => $symbols[$bank->mata_uang] ?? $bank->mata_uang . ' ', 'saldo' => $saldo, 'kursBulanLalu' => $kursBulanLalu, 'kursSekarang' => $kursSekarang, 'nilaiBuku' => $nilaiBuku, 'nilaiRevaluasi' => $nilaiRevaluasi, 'selisih' => $selisih, 'pctPerubahan' => $pctPerubahan, ]; @endphp @endforeach

Total Selisih Kurs

Rp {{ number_format(abs($totalSelisih), 0, ',', '.') }}

{{ $totalSelisih >= 0 ? 'Netto penguatan nilai tukar (keuntungan > kerugian)' : 'Netto pelemahan nilai tukar (kerugian > keuntungan)' }}

Total Keuntungan

Rp {{ number_format($totalKeuntungan, 0, ',', '.') }}

Penguatan nilai tukar (kurs naik)

Total Kerugian

Rp {{ number_format($totalKerugian, 0, ',', '.') }}

Pelemahan nilai tukar (kurs turun)

{{-- Detail Table --}}
Selisih Kurs

Perhitungan selisih kurs untuk akun Bank/Kas dalam mata uang asing


@foreach ($rowData as $row) @endforeach
No COA Kas/Bank Saldo Kurs Bulan Lalu Kurs Sekarang Nilai Buku (IDR) Nilai Revaluasi (IDR) Selisih Kurs % Perubahan
{{ $row->id_coa }} {{ $row->nama }} {{ $row->sym }}{{ number_format($row->saldo, 0, ',', '.') }} {{ number_format($row->kursBulanLalu, 2, ',', '.') }} {{ number_format($row->kursSekarang, 2, ',', '.') }} Rp {{ number_format($row->nilaiBuku, 0, ',', '.') }} Rp {{ number_format($row->nilaiRevaluasi, 0, ',', '.') }} {{ $row->selisih >= 0 ? '+' : '-' }}Rp {{ number_format(abs($row->selisih), 0, ',', '.') }} {{ $row->pctPerubahan >= 0 ? '+' : '' }}{{ number_format($row->pctPerubahan, 2, ',', '.') }}%
@endsection @push('js') @endpush