@php $directCost = $reportData->where('group_name', 'Direct Cost')->first(); $revenue = $reportData->where('group_name', 'Revenue')->first(); $expenses = $reportData->where('group_name', 'Expenses')->first(); $reportData = collect([$revenue, $directCost, $expenses]); @endphp
Profit And Loss | |
{{ $company }} | |
From {{ \Carbon\Carbon::parse($date[0])->startOfMonth()->format('j M Y') }} to {{ \Carbon\Carbon::parse($date[1])->startOfMonth()->format('j M Y') }} | |
@foreach($periods as $index => $period) | {{ App\Http\Classes\Formatting\CustomDateFormat::displayDate($period[0]) }} - {{ App\Http\Classes\Formatting\CustomDateFormat::displayDate($period[1]) }} | @endforeach
{{ $data->group_name }} | |
{{ $accountType->type_name }} | |
{{ $account->account_name }} | @foreach($periods as $index => $period)@php $accountTransactions = collect($account)['account_transactions_' . $index]; $accountBalance = collect($accountTransactions)->sum('balance') ?? 0; @endphp {{ App\Http\Classes\Formatting\CustomNumFormat::decimal($accountBalance) }} | @endforeach
Total {{ $accountType->type_name }} | @foreach($periods as $index => $period)@php $typeBalances = 'account_type_balances_' . $index; @endphp {{ App\Http\Classes\Formatting\CustomNumFormat::decimal($accountType->$typeBalances ?? 0) }} | @endforeach
Total {{ $data->group_name }} | @foreach($periods as $index => $period){{ App\Http\Classes\Formatting\CustomNumFormat::decimal( collect($data->account_types)->sum('account_type_balances_' . $index) ?? 0 ) }} | @endforeach
GROSS PROFIT | @foreach($periods as $index => $period)@php $gross = $reportData->whereIn('group_name', ['Direct Cost', 'Revenue']) ->pluck('account_types') ->flatten(1) ->sum('account_type_balances_' . $index); @endphp {{ App\Http\Classes\Formatting\CustomNumFormat::decimal($gross) }} | @endforeach
NET PROFIT | @foreach($periods as $index => $period)@php $gross = $reportData->whereIn('group_name', ['Direct Cost', 'Revenue']) ->pluck('account_types') ->flatten(1) ->sum('account_type_balances_' . $index); $net = $reportData->where('group_name', 'Expenses') ->pluck('account_types') ->flatten(1) ->sum('account_type_balances_' . $index); @endphp {{ App\Http\Classes\Formatting\CustomNumFormat::decimal($gross + $net) }} | @endforeach
NET PROFIT | {{ formatter.decimal( $lodash.sumBy(reportData, (data) => { if (data.group_name !== 'Expenses') { return $lodash.sumBy(data.account_types, `account_type_balances_${index}`) } }) + $lodash.sumBy(reportData, (data) => { if (data.group_name === 'Expenses') { return $lodash.sumBy(data.account_types, `account_type_balances_${index}`) } }) ) }} |