@extends('layouts.portal') @section('title', 'My fees') @section('subtitle', 'Your course fee, payments, installments and receipts in one place.') @section('actions') Fee statement (PDF) Pay / upload proof @endsection @section('content')

Fee summary

Course fee{{ money2($summary['fee']) }}
Discount{{ $summary['discount'] > 0 ? '− '.money2($summary['discount']) : money2(0) }}
Final fee{{ money2($summary['final']) }}
Paid{{ money2($summary['paid']) }}
@if($summary['waived'] > 0)
Waived{{ money2($summary['waived']) }}
@endif
Remaining{{ money2($summary['remaining']) }}
@php($pct = $summary['final'] > 0 ? min(100, round($summary['paid'] / $summary['final'] * 100)) : 100)
{{ $pct }}% of your fees paid
Next installment @if($next)
{{ money2($next->outstanding()) }}
{{ $next->isOverdue() ? 'Overdue since' : 'Due' }} {{ $next->due_date->format('d M Y') }} · {{ $next->label }}
@if($summary['overdue'] > 0)
{{ money2($summary['overdue']) }} is overdue. Please pay as soon as possible, or reply to our email if you need a revised schedule.
@endif
@if($next->plan->invoice) View invoice & pay@endif Payment history
@elseif($summary['remaining'] <= 0 && $summary['final'] > 0)
Fully paid
Thank you — nothing is outstanding.
@else
—
No installment is scheduled.
@endif
@foreach($plans as $plan) @php($course = $plan->enrollment?->batch?->course ?? $plan->course)

{{ $course?->title ?? 'Payment plan' }} · {{ $plan->code }}

@foreach($plan->installments->where('status', '!=', 'cancelled') as $x) @endforeach
InstallmentDue dateAmountPaidBalanceStatus
{{ $x->label }}@if($x->allocations->where('reversed', false)->isNotEmpty())Receipt {{ $x->allocations->where('reversed', false)->map(fn ($a) => $a->payment->receipt_no)->filter()->unique()->implode(', ') }}@endif {{ $x->due_date->format('d M Y') }} {{ money2($x->amount) }}{{ money2($x->paid_amount) }}{{ money2($x->outstanding()) }}
Total{{ money2($plan->total) }}{{ money2($plan->paidAmount()) }}{{ money2($plan->remaining()) }}
@endforeach

Payment history

@forelse($payments as $p)
{{ $p->receipt_no ?: $p->reference }}
{{ ($p->paid_at ?? $p->created_at)->format('d M Y') }} · {{ ucfirst(str_replace('_', ' ', (string) $p->method)) }}{{ $p->invoice ? ' · '.$p->invoice->number : '' }}
{{ money2($p->amount) }}
@if($p->receipt_url) Receipt@elseif($p->status === 'pending')Being verified@endif
@empty
No payments yet.
@endforelse

Invoices

@forelse($invoices as $i)
{{ $i->number }}
{{ $i->issue_date?->format('d M Y') }} · total {{ money2($i->total) }} · balance {{ money2($i->balance()) }}
@empty
No invoices yet.
@endforelse

How to pay

After paying, upload your proof on the invoice page or in Invoices & receipts. Your official receipt is emailed once the payment is verified.

@endsection