@extends('layout.layout') @section('content') @include('components.alert')
Invoice Filters

Control how many records appear, filter by payment status, or search by invoice data.

@if (request('status') || request('search') || request('per_page')) Reset @endif
Invoice Records

Invoice numbers, discounts, total prices, payment status, and detail actions.

{{ $invoices->total() ?? $invoices->count() }} Invoice(s)
@if(isset($hasMultipleChildren) && $hasMultipleChildren) @endif @forelse ($invoices as $invoice) @php $transaction = $invoice->transaction->sortByDesc('created_at')->first(); $originalPrice = (float) ($invoice->original_amount ?: $invoice->total_price ?: $invoice->net_price ?: 0); $invoiceTotal = (float) ($invoice->final_amount ?: $invoice->net_price ?: $invoice->total_price ?: 0); $discountAmount = (float) ($invoice->discount_amount ?? max(0, round($originalPrice - $invoiceTotal, 2))); $discountLines = collect(); if (filled($invoice->discount_plan_type) || (float) ($invoice->discount_plan_price ?? 0) > 0) { $discountLines->push('Plan: ' . ($invoice->discount_plan_type === 'percentage' ? number_format((float) $invoice->discount_plan_price, 0) . '%' : number_format((float) $invoice->discount_plan_price, 2))); } if (filled($invoice->referral_activity_type) || (float) ($invoice->referral_activity_price ?? 0) > 0) { $discountLines->push('Referral: ' . ($invoice->referral_activity_type === 'percentage' ? number_format((float) $invoice->referral_activity_price, 0) . '%' : number_format((float) $invoice->referral_activity_price, 2))); } if (filled($invoice->promocode_type) || (float) ($invoice->promocode_price ?? 0) > 0) { $discountLines->push('Promo: ' . ($invoice->promocode_type === 'percentage' ? number_format((float) $invoice->promocode_price, 0) . '%' : number_format((float) $invoice->promocode_price, 2))); } $paidAmount = (float) $invoice->transaction ->whereIn('status', ['paid', 'approved']) ->sum('amount'); $remainingAmount = max(0, round($invoiceTotal - $paidAmount, 2)); $isDepositInvoice = in_array($invoice->payment_status, ['deposite', 'paid_deposite'], true) || (float) ($invoice->deposite ?? 0) > 0; @endphp @if(isset($hasMultipleChildren) && $hasMultipleChildren) @endif @empty @endforelse
#StudentInvoice Number Original Price Discounts Discount Amount Final Total Invoice Type Payment Status Details
{{ $loop->iteration }} @if($invoice->student) {{ $invoice->student->full_name }} @else - @endif
{{ $invoice->invoice_number }}
{{ number_format($originalPrice, 2) }}
@forelse ($discountLines as $discountLine) {{ $discountLine }} @empty No discount @endforelse
{{ number_format($discountAmount, 2) }} {{ number_format($invoiceTotal, 2) }}
@if ($isDepositInvoice) Deposit invoice Paid {{ number_format($paidAmount, 2) }} Remaining {{ number_format($remainingAmount, 2) }} @else Full invoice @endif
@if ($transaction) @if ($transaction->status == 'paid') Paid @elseif ($transaction->status == 'pending') Pending @elseif ($transaction->status == 'rejected')
Rejected @if (!empty($transaction->reason))
{{ $transaction->reason ?? '' }}
@endif
@else {{ $transaction->status }} @endif @else N/A @endif
@if ($invoice->payment_status == 'paid') @else @if ( $invoice->payment_status != 'paid' && $transaction && $transaction->payment_url != null ) @else @endif @endif
No student invoices found.

Try changing your filters or search keyword.

@if ($invoices->hasPages())
{{ $invoices->appends(request()->except('page'))->links('pagination::bootstrap-5') }}
@endif
@endsection @push('styles') @endpush