@extends('layouts.finance') @section('title', 'Dashboard') @section('subtitle', 'Consolidated view across US, Pakistan & Australia') @section('content') @php $settings = $data['settings']; $accounts = $data['bank_accounts']; $usAccounts = $accounts->where('currency', 'USD'); $pkAccounts = $accounts->where('currency', 'PKR'); $auAccounts = $accounts->where('currency', 'AUD'); $cards = $data['credit_cards']; $kpis = $data['kpis']; $displayCurrency = 'PKR'; $displayMoney = fn($amount) => $metrics->moneyIn($amount, 'USD', $displayCurrency); $usSubtotal = $usAccounts->sum(fn($a) => $a->current_balance); $pkSubtotal = $pkAccounts->sum(fn($a) => $a->current_balance); $auSubtotal = $auAccounts->sum(fn($a) => $a->current_balance); $cardPayable = $cards->sum(fn($c) => $metrics->usd($c->payable_balance, $c->currency)); $cardLimit = $cards->sum(fn($c) => $metrics->usd($c->credit_limit, $c->currency)); $bankLogo = fn($account) => strtoupper(substr($account->bank_name ?: $account->name, 0, 4)); $bankColor = fn($currency) => $currency === 'PKR' ? '#1e3a8a' : ($currency === 'AUD' ? '#0d9488' : '#6366f1'); @endphp Net Worth {{ $displayMoney($kpis['net_worth']) }} Assets - Liabilities Bank Balance {{ $displayMoney($kpis['bank_total']) }} {{ $metrics->money($usSubtotal) }} US - {{ $metrics->money($pkSubtotal, 'PKR') }} PK - {{ $metrics->money($auSubtotal, 'AUD') }} AU Inventory {{ $displayMoney($kpis['inventory']) }} Vouchers on hand In Transit {{ $displayMoney($kpis['transit']) }} Pending settlements Collectible {{ $displayMoney($kpis['collectible']) }} Open receivables Revenue (Mo.) {{ $displayMoney($kpis['revenue']) }} Current month Expenses (Mo.) {{ $displayMoney($kpis['expenses']) }} All running costs Total Debt {{ $displayMoney($kpis['debt']) }} {{ $displayMoney($cardPayable) }} CC - {{ $displayMoney(max(0, $kpis['debt'] - $cardPayable)) }} Loans Zakat {{ $displayMoney($kpis['zakat']) }} 2.5% estimate Net Profit {{ $displayMoney($kpis['profit']) }} {{ number_format($kpis['margin'], 1) }}% margin @foreach([ ['title' => 'Balance in US Banks', 'pill' => 'USD', 'pillClass' => 'pill-blue', 'accounts' => $usAccounts, 'subtotal' => $metrics->money($usSubtotal), 'subtitle' => 'Live balances across all American accounts'], ['title' => 'Balance in Pakistan Banks', 'pill' => 'PKR', 'pillClass' => 'pill-amber', 'accounts' => $pkAccounts, 'subtotal' => $metrics->money($pkSubtotal, 'PKR'), 'subtitle' => 'Live balances across all Pakistani accounts'], ['title' => 'Balance in Australian Banks', 'pill' => 'AUD', 'pillClass' => 'pill-teal', 'accounts' => $auAccounts, 'subtotal' => $metrics->money($auSubtotal, 'AUD'), 'subtitle' => 'Live balances across all Australian accounts'], ] as $group) {{ $group['title'] }} {{ $group['pill'] }} {{ $group['subtitle'] }} Subtotal {{ $group['subtotal'] }} @if($group['pill'] !== 'USD') {{ $metrics->money($metrics->usd($group['accounts']->sum(fn($a) => $a->current_balance), $group['pill'])) }} USD eq. @endif @forelse($group['accounts'] as $account) {{ $bankLogo($account) }} {{ $account->account_number ? '****'.substr($account->account_number, -4) : 'No #'}} {{ $account->name }} {{ $account->bank_name }} {{ $metrics->money($account->current_balance, $account->currency) }} @if($account->currency !== 'USD') {{ $metrics->money($metrics->usd($account->current_balance, $account->currency)) }} USD eq. @endif @empty No {{ $group['pill'] }} accounts yet. @endforelse @endforeach Credit Cards Liability Limits, balances payable, and due dates Total Payable {{ $metrics->money($cardPayable) }} of {{ $metrics->money($cardLimit) }} limit @forelse($cards as $card) @php $util = (float) $card->credit_limit > 0 ? min(100, ((float) $card->payable_balance / (float) $card->credit_limit) * 100) : 0; @endphp {{ $card->short_name ?: strtoupper(substr($card->issuer, 0, 4)) }} Payable {{ $metrics->money($card->payable_balance, $card->currency) }} Limit {{ $metrics->money($card->credit_limit, $card->currency) }} {{ $card->card_name }}{{ number_format($util, 0) }}% Due {{ $card->due_date?->format('M d') ?: 'Not set' }} @empty No credit cards yet. @endforelse Inventory Value Vouchers Rs Units in stock Avg. cost / unit {{ $displayMoney($kpis['inventory'] > 0 ? $kpis['inventory'] / max(1, \App\Models\VoucherProduct::where('is_active', true)->get()->sum(fn($p) => $p->stock)) : 0) }} Amount in Transit Pending Rs US -> PK transfers Customer settlements Overall Net Worth Live {{ $displayMoney($kpis['net_worth']) }} Bank balances{{ $displayMoney($kpis['bank_total']) }} Inventory{{ $displayMoney($kpis['inventory']) }} In transit{{ $displayMoney($kpis['transit']) }} Collectible{{ $displayMoney($kpis['collectible']) }} Total debt-{{ $displayMoney($kpis['debt']) }} Bank Allocation USD eq. Chart area Expense Breakdown This month Chart area Revenue vs. Expenses Last 6 months Chart area @endsection
{{ $group['subtitle'] }}
Limits, balances payable, and due dates