@if(session('info'))
{{ session('info') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif

{{ __('invoices_public.invoice_label_prefix', ['number' => $invoice->invoice_number]) }}

@if($invoice->quote)
{{ __('invoices_public.from_quote_prefix', ['number' => $invoice->quote->quote_number]) }}
@endif
{{ number_format((float) $invoice->amountDue(), 2) }} {{ $invoice->currency }} {{ __('invoices_public.amount_due') }}
@php $statusClass = match($invoice->status) { 'paid' => 'pill-success', 'partial', 'overdue' => 'pill-warning', default => 'pill-info', }; @endphp @php // Translator-first invoice status label so the pill respects recipient locale. $invStatusKey = 'invoices_public.status_' . $invoice->status; $invStatusTrans = __($invStatusKey); $invStatusLabel = is_string($invStatusTrans) && $invStatusTrans !== $invStatusKey ? $invStatusTrans : ucfirst((string) $invoice->status); @endphp {{ $invStatusLabel }}
{{ __('invoices_public.issued') }} {{ $invoice->issued_date?->translatedFormat('M j, Y') ?? '—' }}
{{ __('invoices_public.due') }} {{ $invoice->due_date?->translatedFormat('M j, Y') ?? '—' }}
{{ __('invoices_public.bill_to') }} @if($invoice->lead) {{ trim($invoice->lead->first_name . ' ' . $invoice->lead->last_name) }} @elseif($invoice->company) {{ $invoice->company->name ?? '—' }} @else — @endif

{{ __('invoices_public.items_heading') }}

@foreach($invoice->items as $item) @endforeach
{{ __('invoices_public.col_item') }} {{ __('invoices_public.col_qty') }} {{ __('invoices_public.col_unit') }} {{ __('invoices_public.col_total') }}
{{ $item->name }} @if($item->description)
{{ $item->description }}
@endif
{{ $item->quantity }} {{ number_format((float) $item->unit_price, 2) }} {{ number_format((float) $item->total, 2) }}
{{ __('invoices_public.subtotal') }}{{ number_format((float) $invoice->subtotal, 2) }} {{ $invoice->currency }}
@if((float) $invoice->discount_amount > 0)
{{ __('invoices_public.discount') }}− {{ number_format((float) $invoice->discount_amount, 2) }} {{ $invoice->currency }}
@endif @if((float) $invoice->tax_rate > 0)
{{ __('invoices_public.tax_label', ['rate' => number_format((float) $invoice->tax_rate, 2)]) }}{{ number_format((float) $invoice->tax_amount, 2) }} {{ $invoice->currency }}
@endif
{{ __('invoices_public.total') }}{{ number_format((float) $invoice->total, 2) }} {{ $invoice->currency }}
@if((float) $invoice->amount_paid > 0)
{{ __('invoices_public.paid') }}− {{ number_format((float) $invoice->amount_paid, 2) }} {{ $invoice->currency }}
{{ __('invoices_public.amount_due') }}{{ number_format((float) $invoice->amountDue(), 2) }} {{ $invoice->currency }}
@endif
{{-- Payment gateways removed from the public tenant invoice page. In this build the tenant admin marks the invoice paid manually from inside their workspace (the status updates automatically on the logged-out view). Online checkout is reserved for the SaaS operator's subscription billing only, not tenant-issued invoices. --}} {{-- Only a "Paid in full" confirmation chip when the tenant has marked the invoice paid. Everything else — the "How to pay" card with contact-the-sender copy — was removed in line with product direction: tenant-issued invoices in this build are reconciled out-of-band, no public checkout and no payment instructions section on the lead-facing view. --}} @if($invoice->status === 'paid')
{{ __('invoices_public.paid_in_full') }}
@if($invoice->paid_at)

{{ __('invoices_public.marked_paid_on', ['date' => $invoice->paid_at->translatedFormat('M j, Y')]) }}

@endif
@endif
{{ __('invoices_public.download_pdf') }}
{{ __('invoices_public.secured_link_suffix', ['app' => config('app.name')]) }}