@extends('admin.layout.app') @section('title', 'Financial Operations') @php $money = fn ($value) => number_format((float) $value, 2); $routeFor = fn ($name) => route('admin.finance-ops.section', $name); $tabs = [ 'dashboard' => ['label' => 'Dashboard', 'module' => 'reports'], 'employees' => ['label' => 'Employees', 'module' => 'employees'], 'payroll' => ['label' => 'Payroll', 'module' => 'payroll'], 'advances' => ['label' => 'Advances', 'module' => 'advances'], 'expenses' => ['label' => 'Expenses', 'module' => 'expenses'], 'exchange' => ['label' => 'Sarafi', 'module' => 'currency_exchange'], 'assets' => ['label' => 'Fixed Assets', 'module' => 'fixed_assets'], 'archive' => ['label' => 'Archive', 'module' => 'archive'], 'profit-loss' => ['label' => 'Profit & Loss', 'module' => 'reports'], 'testing' => ['label' => 'Testing Guide', 'module' => 'reports'], ]; $tabs = collect($tabs) ->filter(fn ($tab) => \App\Models\Finance\ModuleSetting::allows($tab['module'], auth()->user())) ->all(); @endphp @section('body')
Student fees, payroll, advances, expenses, exchange, assets, archive, module control, and reports.
| Completely paid | {{ $studentFeeStats['paid'] }} |
|---|---|
| Not paid | {{ $studentFeeStats['unpaid'] }} |
| Partially paid | {{ $studentFeeStats['partial'] }} |
| Total expected | {{ $money($studentFeeStats['expected']) }} |
| Total collected | {{ $money($studentFeeStats['collected']) }} |
| Total outstanding | {{ $money($studentFeeStats['outstanding']) }} |
| Date | Type | Category | Amount |
|---|---|---|---|
| {{ $tx->transaction_date?->format('Y-m-d') ?? '—' }} {{ $tx->shamsi_date }} |
{{ $tx->type }} | {{ $tx->category }} | {{ $money($tx->amount) }} {{ $tx->currency }} |
| No financial transactions yet. | |||
| Name | Role | Salary | Bank / Contract | Update |
|---|---|---|---|---|
{{ $employee->name }} {{ $employee->email }} |
{{ $employee->employee_type ?: $employee->roles->pluck('name')->join(', ') }} | {{ $employee->salary_type ?: '—' }} M {{ $money($employee->monthly_salary) }} / D {{ $money($employee->daily_rate) }} / H {{ $money($employee->hourly_rate) }} |
{{ $employee->bank_account ?: '—' }} {{ $employee->contract_start_date }} - {{ $employee->contract_end_date }} |
| Employee | Period | Gross | Deductions | Net | Status | |
|---|---|---|---|---|---|---|
| {{ $payroll->employee->name ?? '—' }} | {{ $payroll->period_start?->format('Y-m-d') }} - {{ $payroll->period_end?->format('Y-m-d') }} | {{ $money($payroll->gross_salary) }} | {{ $money($payroll->advance_deduction + $payroll->tax + $payroll->absence_deduction + $payroll->late_deduction + $payroll->other_deductions) }} | {{ $money($payroll->net_salary) }} | {{ $payroll->status }} | Slip |
| No payroll runs yet. | ||||||
| Employee | Date | Amount | Deducted | Remaining | Status | |
|---|---|---|---|---|---|---|
| {{ $advance->employee->name ?? '—' }} | {{ $advance->advance_date?->format('Y-m-d') }} {{ $advance->shamsi_date }} | {{ $money($advance->amount) }} | {{ $money($advance->deducted_amount) }} | {{ $money($advance->remaining_amount) }} | {{ $advance->approval_status }} | Slip |
| No advances yet. | ||||||
| Date | Title | Category | Status | Amount |
|---|---|---|---|---|
| {{ $expense->expense_date?->format('Y-m-d') }} {{ $expense->shamsi_date }} | {{ $expense->title }} {{ $expense->supplier }} | {{ $expense->category->name ?? '—' }} | {{ $expense->approval_status }} | {{ $money($expense->amount) }} {{ $expense->currency }} |
| No expenses yet. | ||||
| Date | Type | From | Rate | To |
|---|---|---|---|---|
| {{ $tx->transaction_date?->format('Y-m-d') }} {{ $tx->shamsi_date }} | {{ $tx->transaction_type }} | {{ $money($tx->from_amount) }} {{ $tx->from_currency }} | {{ $tx->rate }} | {{ $money($tx->to_amount) }} {{ $tx->to_currency }} |
| No exchange transactions yet. | ||||
| Code | Asset | Location | Responsible | Status | Price |
|---|---|---|---|---|---|
| {{ $asset->asset_code }} | {{ $asset->asset_name }} {{ $asset->category->name ?? '—' }} | {{ $asset->location }} | {{ $asset->responsiblePerson->name ?? '—' }} | {{ $asset->status }} | {{ $money($asset->purchase_price) }} {{ $asset->currency }} |
| No assets yet. | |||||
| No | Date | Type | Subject | From / To | File |
|---|---|---|---|---|---|
| {{ $doc->document_number }} | {{ $doc->document_date?->format('Y-m-d') }} {{ $doc->shamsi_date }} | {{ $doc->document_type }} | {{ $doc->subject }} {{ $doc->department }} | {{ $doc->sender ?: $doc->recipient }} | @if($doc->attachment_path)Open@else — @endif |
| No archived documents found. | |||||
| Student fee income | {{ $money($feeIncome) }} |
|---|---|
| Other income | {{ $money($otherIncome) }} |
| Salary expenses | {{ $money($salaryExpenses) }} |
| Operational and asset expenses | {{ $money($operationalExpenses) }} |
| Net profit / loss | {{ $money($netProfit) }} |
Start at Step 1 and continue in order until final reports and dashboards are verified.