@csrf

Record application or standalone cost

Government disbursements, outsourced work, and operating expenses use one auditable workflow.

The funding source is selected when an approved expense is paid, allowing split and partial payments from different accounts.

@csrf

Create fee type

Add a tenant-specific government, outsourcing, or other fee and choose its default ledger account.

@csrf

Create payment source

Create a cash box, bank, company card, wallet, or government portal balance and link it to the ledger.

Funding sources

Actual expense payments by source.

Funding report →
@forelse($fundingAccounts as $source)

{{ $source->name }}

{{ str($source->type)->replace('_',' ') }} · {{ $source->glAccount?->account_code }}

AED {{ $money($source->total_used ?? 0) }}

@if($source->account_reference)

{{ $source->provider_name }} · {{ $source->account_reference }}

@endif
@empty

Create the first funding source before recording payments.

@endforelse

Expense and outsource register

Draft → Submitted → Approved → Partially paid / Paid, with every payment source retained.

@forelse($expenses as $expense)

{{ $expense->expense_number }}

{{ $expense->feeType?->name ?? str($expense->category)->replace('_',' ') }}{{ str($expense->feeType?->classification ?? $expense->category)->replace('_',' ') }}{{ str($expense->status)->replace('_',' ') }}

{{ $expense->description }}

{{ $expense->application ? $expense->application->application_number.' · '.$expense->application->customer?->full_name_en.' · '.$expense->application->service?->name_en : 'Standalone expense' }}{{ $expense->vendor ? ' · '.$expense->vendor->name : '' }}

@if($expense->vendor)Open supplier ledger →@endif

AED {{ $money($expense->total_amount) }}

Paid {{ $money($expense->paid_amount) }}

Due {{ $money($expense->balance_due) }}

@php $action=['draft'=>'submit','submitted'=>'approve'][$expense->status]??null; @endphp @if($action)
@csrf
@endif @if(in_array($expense->status, ['approved','partially_paid']) && (float)$expense->balance_due > 0)
@csrf
@endif
@if($expense->payments->isNotEmpty())
@foreach($expense->payments as $payment)
{{ $payment->payment_number }} · AED {{ $money($payment->amount) }}

{{ $payment->payment_date->format('d M Y') }} · {{ $payment->fundingAccount?->name }} · {{ $payment->reference ?: 'No reference' }}

@endforeach
@endif
@empty
No expenses recorded.
@endforelse