@extends('layouts.school') @section('title', 'Invoice ' . $invoice->invoice_no) @section('header', 'Invoice: ' . $invoice->invoice_no) @php $balance = round((float) $invoice->amount - (float) $invoice->discount - (float) $invoice->total_paid, 2); $canRecord = auth()->guard('school')->user()?->hasPermission('record_payments'); @endphp @section('content')
| {{ $item->description }}{{ optional($item->feeCategory)->name }} | ×{{ $item->quantity }} | ₦{{ number_format($item->amount, 0) }} | @if (!$invoice->isCancelled && (float) $invoice->total_paid == 0 && (auth()->guard('school')->user()?->hasPermission('create_invoices') || auth()->guard('school')->user()?->hasPermission('manage_fee_structures'))) @endif |
| Legacy single-line invoice | |||
Bank transfers/cheques may require verification before they count as paid (see Finance Settings). Overpayments become student credit.
| Date | Method | Receipt | Status | Amount | Actions |
|---|---|---|---|---|---|
| {{ $p->payment_date->format('d M Y') }} | {{ str_replace('_', ' ', $p->payment_method) }}{{ $p->payer_name }} | {{ $p->receipt_no ?? '—' }} | {{ str_replace('_', ' ', $p->status) }} @if($p->reversed_at) (reversed) @endif @if($p->rejection_reason) {{ $p->rejection_reason }} @endif | ₦{{ number_format($p->amount, 0) }} @if((float)$p->refunded_amount > 0) −₦{{ number_format($p->refunded_amount, 0) }} refunded @endif | @if ($reversible && (auth()->guard('school')->user()?->hasPermission('refund_payments'))) Refund @endif |
| Type | Reason | Amount | Status |
|---|---|---|---|
| {{ \App\Models\FinanceAdjustment::TYPES[$adj->type] ?? $adj->type }} ({{ $adj->basis === 'percentage' ? $adj->value . '%' : '₦' . number_format($adj->value, 0) }}) | {{ $adj->reason ?? '—' }} | −₦{{ number_format($adj->amount, 0) }} | {{ $adj->isReversed() ? 'reversed' : 'active' }} |