{{-- Author By : zulfazdliabuas@gmail.com | Date : 2026 --}} @push('styles') @endpush
@php $viewer = auth()->user(); $canCreateInvoices = $viewer?->hasAnyRole(['root', 'admin', 'ao', 'spv']) ?? false; $canMarkPaid = $viewer?->hasAnyRole(['root', 'admin', 'ao', 'spv']) ?? false; $canApprovePaid = $viewer?->hasAnyRole(['root', 'admin', 'ao']) ?? false; $canSubmitLhdn = $viewer?->hasAnyRole(['root', 'admin', 'ao']) ?? false; @endphp

Invoices

All invoices — subscription-generated and manual.

@if(session('success')) @endif @if($errors->any()) @endif
@if($canCreateInvoices) Create Invoice @endif
@if(request('invoice_cycle_month')) Clear @endif
View All
@php $paymentStatusClasses = [ 'unpaid' => 'text-bg-warning text-dark', 'paid' => 'text-bg-success', 'cancelled' => 'text-bg-secondary', ]; $submissionStatusClasses = [ 'pending' => 'text-bg-secondary', 'new_request' => 'text-bg-info', 'approved' => 'text-bg-info', 'waiting_validation' => 'text-bg-warning text-dark', 'validated' => 'text-bg-success', 'failed' => 'text-bg-danger', 'einvoice_sent_to_customer' => 'text-bg-success', 'cancelled' => 'text-bg-secondary', ]; @endphp
@forelse($invoices as $invoice) @php $einStatus = $invoice->status; @endphp @empty @endforelse
No Invoice No Car Plate Customer Billing
Period
Due Date Amount Payment Emailed E-Invoice Actions
{{ $invoices->firstItem() + $loop->index }}
{{ $invoice->invoice_no ?: '-' }}
@if($invoice->invoice_no && !in_array($einStatus, ['validated', 'einvoice_sent_to_customer', 'cancelled']) && $invoice->customer_requested_at === null) @endif
@if($invoice->generated_by_subscription)
Subscription
@endif
{{ $invoice->car_plate ?: '-' }} @if($invoice->customer_id) {{ $invoice->name }} @else
{{ $invoice->name }}
@endif
{{ $invoice->email ?: '-' }}
{{ $invoice->invoice_cycle_month ? \Carbon\Carbon::parse($invoice->invoice_cycle_month)->format('M Y') : '-' }} {{ $invoice->due_date ? \Carbon\Carbon::parse($invoice->due_date)->format('d/m/Y') : '-' }} RM {{ number_format((float) $invoice->amount, 2) }} @php $payStatus = $invoice->invoice_status ?? 'unpaid'; @endphp {{ ucfirst($payStatus) }} @if($payStatus === 'paid') @if($invoice->payment_date)
{{ \Carbon\Carbon::parse($invoice->payment_date)->format('d/m/Y') }}
@endif @if($invoice->receipt_no)
{{ $invoice->receipt_no }}
@endif @endif
@if($invoice->emailed_at) Yes
{{ \Carbon\Carbon::parse($invoice->emailed_at)->format('d/m/Y H:i') }}
@else @endif
@if($einStatus) @php $einLabel = str_replace('_', ' ', ucfirst($einStatus)); $einLabelLines = implode('
', explode(' ', $einLabel)); @endphp {!! $einLabelLines !!} @endif
@php $payStatus = $invoice->invoice_status ?? 'unpaid'; $einStatus = $invoice->status; @endphp
@if($canMarkPaid && $payStatus === 'unpaid' && $einStatus !== 'cancelled') @if($invoice->emailed_at) @else
@csrf
@endif @endif @if($canApprovePaid && $payStatus === 'paid' && !$invoice->payment_approved_at)
@csrf
@endif @if($canSubmitLhdn && $payStatus === 'paid' && $invoice->payment_approved_at && $invoice->customer_requested_at && in_array($einStatus, ['new_request', 'failed']))
@csrf
@endif @if($canSubmitLhdn && $invoice->lhdn_uuid && in_array($einStatus, ['waiting_validation', 'submitted']))
@csrf
@endif @if($einStatus !== 'cancelled') Preview @endif @if($canMarkPaid) @if(in_array($einStatus, ['validated', 'einvoice_sent_to_customer']))
@csrf
@endif @endif
No invoices found.
{{ $invoices->withQueryString()->links('pagination::bootstrap-5') }}
@foreach($invoices as $invoice) @php $payStatus = $invoice->invoice_status ?? 'unpaid'; @endphp @if($canMarkPaid && $payStatus === 'unpaid' && ($invoice->status ?? '') !== 'cancelled') @endif @endforeach @push('scripts') @endpush