@extends('layouts.app') @section('title', 'Expense | ' . ($expense->description ?? '')) @section('content') @php $categories = ['Utilities','Medical Supplies','Drugs/Pharmacy','Salaries/Locum','Repairs','Transport','Rent','Food/Catering','Insurance','Other']; $paid = (float) $expense->payments->sum('amount'); $balance = $expense->balance ?? max(0, (float) $expense->amount - $paid); $esc = ['pending'=>'badge-warning','partially_paid'=>'badge-info','paid'=>'badge-success','overdue'=>'badge-danger','cancelled'=>'badge-gray']; @endphp
Back

Expense

{{ $expense->date?->format('d M Y') }} · {{ $expense->supplier->name ?? $expense->vendor ?? '—' }}

@if($canDelete)
@csrf @method('DELETE')
@endif
@if(session('success'))
{{ session('success') }}
@endif
{{-- Edit / details --}}

{{ $canManage ? 'Edit Expense' : 'Expense Details' }}

@if($canManage)
@csrf @method('PUT')
@if($paid > 0)

Amount paid (KES {{ number_format($paid) }}) is recorded from payments and isn't edited here — changing the amount recomputes the balance.

@endif
@else
Date
{{ $expense->date?->format('d M Y') }}
Category
{{ $expense->category }}
Supplier / Payee
{{ $expense->supplier->name ?? $expense->vendor ?? '—' }}
Amount
KES {{ number_format($expense->amount) }}
Description
{{ $expense->description }}
@if($expense->notes)
Notes
{{ $expense->notes }}
@endif
@endif
{{-- Summary + payments --}}
Status {{ ucfirst(str_replace('_',' ', $expense->status ?? 'pending')) }}
AmountKES {{ number_format($expense->amount) }}
PaidKES {{ number_format($paid) }}
BalanceKES {{ number_format($balance) }}

Payments

@forelse($expense->payments->sortByDesc('payment_date') as $p)

KES {{ number_format($p->amount) }} · {{ ucfirst(str_replace('_',' ', $p->payment_method)) }}

{{ $p->payment_date?->format('d M Y') }}{{ $p->reference_number ? ' · '.$p->reference_number : '' }}{{ $p->payer ? ' · '.$p->payer->name : '' }}

@empty

No payments recorded yet.

@endforelse
@endsection