@extends('printlayout') @section('content') @php $runningDebit = 0; $runningCredit = 0; $runningBalance = 0; $TotalBalance = 0; // Function for formatting accounting values if (!function_exists('formatAccounting')) { function formatAccounting($amount) { return $amount < 0 ? '(' . number_format(abs($amount), 2) . ')' : number_format($amount, 2); } } // Grouping data at multiple levels $groupedData = $ledgerentries->groupBy('GroupName')->map(function ($group) { return [ 'total_debit' => $group->sum('TotalDebit'), 'total_credit' => $group->sum('TotalCredit'), 'total_balance' => $group->sum('TotalDebit') - $group->sum('TotalCredit'), 'entries' => $group->groupBy('AccountNature')->map(function ($nature) { return [ 'total_debit' => $nature->sum('TotalDebit'), 'total_credit' => $nature->sum('TotalCredit'), 'total_balance' => $nature->sum('TotalDebit') - $nature->sum('TotalCredit'), 'entries' => $nature->groupBy('MainParentAccount')->map(function ($mainParent) { return [ 'total_debit' => $mainParent->sum('TotalDebit'), 'total_credit' => $mainParent->sum('TotalCredit'), 'total_balance' => $mainParent->sum('TotalDebit') - $mainParent->sum('TotalCredit'), 'entries' => $mainParent->groupBy('ParentAccount')->map(function ($parent) { return [ 'total_debit' => $parent->sum('TotalDebit'), 'total_credit' => $parent->sum('TotalCredit'), 'total_balance' => $parent->sum('TotalDebit') - $parent->sum('TotalCredit'), 'entries' => $parent ]; }) ]; }) ]; }) ]; }); @endphp

{{ __('sitelabel.TrialBalanceReport') }}

Year : {{ $YearNo }} Month : {{ $MonthName }}
@foreach ($groupedData as $groupName => $group) @foreach ($group['entries'] as $accountNature => $natureData) @foreach ($natureData['entries'] as $mainParentAccount => $mainParentData) @foreach ($mainParentData['entries'] as $parentAccount => $parentData) @foreach ($parentData['entries'] as $item) @php $TotalBalance += $item->TotalDebit - $item->TotalCredit; @endphp @php $runningDebit += $item->TotalDebit; $runningCredit += $item->TotalCredit; @endphp @endforeach @endforeach @endforeach @endforeach @endforeach @php $runningBalance = $runningDebit - $runningCredit; @endphp
{{ __('sitelabel.Account') }} {{ __('sitelabel.TotalDebit') }} {{ __('sitelabel.TotalCredit') }} {{ __('sitelabel.TotalBalance') }}
{{ strtoupper($groupName) }}
{{ strtoupper($accountNature) }}
{{ strtoupper($mainParentAccount) }}
{{ strtoupper($parentAccount) }}
{{ $item->Name }} {{ formatAccounting($item->TotalDebit) }} {{ formatAccounting($item->TotalCredit) }} {{ formatAccounting($TotalBalance) }}
{{ __('sitelabel.Total') }} {{ formatAccounting($parentData['total_debit']) }} {{ formatAccounting($parentData['total_credit']) }} {{ formatAccounting($parentData['total_balance']) }}
{{ __('sitelabel.Total') }} {{ formatAccounting($mainParentData['total_debit']) }} {{ formatAccounting($mainParentData['total_credit']) }} {{ formatAccounting($mainParentData['total_balance']) }}
{{ __('sitelabel.Total') }} {{ formatAccounting($natureData['total_debit']) }} {{ formatAccounting($natureData['total_credit']) }} {{ formatAccounting($natureData['total_balance']) }}
{{ __('sitelabel.Total') }} {{ formatAccounting($group['total_debit']) }} {{ formatAccounting($group['total_credit']) }} {{ formatAccounting($group['total_balance']) }}
{{ __('sitelabel.GrandTotal') }} {{ formatAccounting($runningDebit) }} {{ formatAccounting($runningCredit) }} {{ formatAccounting($runningBalance) }}
@include('sign-subview.signandbuttons') @endsection @section('script') @endsection