@extends('garage.layouts.app') @section('title', 'Ledger statement') @section('content') @php $bal = 0.0; // Dr positive, Cr negative (net) $totalDr = 0.0; $totalCr = 0.0; $print = request()->boolean('print'); @endphp

Ledger detail

Ledgers / {{ $ledger->name }} @if($ledger->code) ({{ $ledger->code }}) @endif
Type{{ $ledger->ledger_type ?? '—' }} From{{ $from ?: '—' }} To{{ $to ?: '—' }} @php // Compute totals/closing balance for header summary (same as table). foreach ($rows as $rr) { $d = $rr->transaction_type === 'debit' ? (float) $rr->amount : 0.0; $c = $rr->transaction_type === 'credit' ? (float) $rr->amount : 0.0; $totalDr += $d; $totalCr += $c; $bal += ($d - $c); } $closingAbs = abs($bal); $closingSide = $bal >= 0 ? 'Dr' : 'Cr'; @endphp Total Dr{{ number_format($totalDr, 2) }} Total Cr{{ number_format($totalCr, 2) }} Closing{{ number_format($closingAbs, 2) }} {{ $closingSide }}
@php // Reset running balance for row-by-row display (we already used $bal above for closing). $runBal = 0.0; @endphp
@forelse($rows as $r) @php $dr = $r->transaction_type === 'debit' ? (float) $r->amount : 0.0; $cr = $r->transaction_type === 'credit' ? (float) $r->amount : 0.0; $runBal += ($dr - $cr); $sub = trim(($r->sub_ledger_code ?? '').' '.($r->sub_ledger_title ?? '')); @endphp @empty @endforelse @if(count($rows)) @endif
Date Voucher Type Ref Dr Cr Balance Narration
{{ $r->voucher_date }} {{ $r->voucher_no }} {{ $r->voucher_type }} @include('garage.reports.partials.statement-reference-cell', ['row' => $r]) {{ $dr ? number_format($dr, 2) : '—' }} {{ $cr ? number_format($cr, 2) : '—' }} {{ number_format(abs($runBal), 2) }} {{ $runBal >= 0 ? 'Dr' : 'Cr' }}
{{ $r->narration ?: '—' }}
@if($sub !== '')
Sub-ledger: {{ $sub }}
@endif @if(!empty($r->against_text))
Against: {{ $r->against_text }}
@endif
No transactions.
Totals {{ number_format($totalDr, 2) }} {{ number_format($totalCr, 2) }} {{ number_format(abs($bal), 2) }} {{ $closingSide }} Closing balance
@endsection @push('scripts') @endpush