@extends('layouts.finance') @section('title', 'Invoice Detail') @section('subtitle', $invoice->invoice_number) @section('content') @php $statusLabel = match($invoice->status) { 'paid' => 'Paid', 'transit' => 'Transit', 'partial_paid' => 'Partial Paid', 'release_on_credit' => 'On Credit', 'debt' => 'Debt', 'overdue' => 'Overdue', 'cancelled' => 'Cancelled', default => 'Unpaid', }; $statusClass = match($invoice->status) { 'paid' => 'pill-green', 'transit' => 'pill-cyan', 'partial_paid' => 'pill-amber', 'release_on_credit' => 'pill-purple', 'debt' => 'pill-blue', 'overdue' => 'pill-red', 'cancelled' => 'pill-rose', default => 'pill-amber', }; $totalAmount = (float) $invoice->amount + (float) ($invoice->fee_amount ?? 0); $appliedRate = $invoice->currency === 'PKR' ? 1.0 : ((float) ($invoice->conversion_rate ?? 0) > 0 ? (float) $invoice->conversion_rate : null); $pkrEquivalent = $appliedRate ? $totalAmount * $appliedRate : $metrics->convert($totalAmount, $invoice->currency, 'PKR'); $paymentSource = match($invoice->payment_source) { 'credit_card' => $invoice->creditCard ? trim($invoice->creditCard->issuer.' - '.$invoice->creditCard->card_name.' ('.$invoice->creditCard->currency.')') : null, 'bank_account' => $invoice->bankAccount ? trim($invoice->bankAccount->name.' - '.$invoice->bankAccount->bank_name.' ('.$invoice->bankAccount->currency.')') : null, default => $invoice->bankAccount ? trim($invoice->bankAccount->name.' - '.$invoice->bankAccount->bank_name.' ('.$invoice->bankAccount->currency.')') : null, }; $rows = [ ['Invoice Number', $invoice->invoice_number], ['Company / Supplier', $invoice->supplier_name ?? $invoice->client_name], ['Products', $invoice->productSummary()], ['Country', $invoice->country ?? 'Pakistan'], ['Vouchers', number_format((int) $invoice->voucher_count)], ['Amount', $metrics->money($invoice->amount, $invoice->currency)], ['Fee', $metrics->money($invoice->fee_amount ?? 0, $invoice->currency)], ['Total', $metrics->money($totalAmount, $invoice->currency)], ['Payment Source', $paymentSource], ['Applied Conversion Rate', $appliedRate ? number_format($appliedRate, 8) : null], ['PKR Equivalent', $metrics->money($pkrEquivalent, 'PKR')], ['Issue Date', $invoice->issue_date?->format('d M Y')], ['Due Date', $invoice->due_date?->format('d M Y')], ['Created On', $invoice->created_at?->format('d M Y h:i A')], ['Paid On', $invoice->paid_at?->format('d M Y h:i A')], ['Notes', $invoice->notes], ]; @endphp