@extends('layouts.app') @section('title', 'Invoice ' . $invoice->invoice_number) @section('content') @php $msgLines = []; $msgLines[] = "Invoice {$invoice->invoice_number}"; $msgLines[] = "Status: " . ($invoice->status === 'paid' ? 'Paid' : 'Unpaid'); $msgLines[] = "Date: " . ($invoice->invoice_date?->format('d M, Y') ?? ''); $msgLines[] = ""; $msgLines[] = "Items:"; foreach ($invoice->items as $i => $item) { $msgLines[] = ($i + 1) . ". {$item->product->name} - {$item->quantity} x ₹" . number_format($item->price, 2) . " = ₹" . number_format($item->line_total, 2) . " (GST @ {$item->tax_percentage}%)"; } $msgLines[] = ""; $msgLines[] = "Subtotal: ₹" . number_format($invoice->subtotal, 2); if ($invoice->discount_total > 0) { $msgLines[] = "Discount: -₹" . number_format($invoice->discount_total, 2); } $msgLines[] = "Tax Total: ₹" . number_format($invoice->tax_total, 2); $msgLines[] = "Round Off: ₹" . number_format($invoice->round_off, 2); $msgLines[] = "Grand Total: ₹" . number_format($invoice->grand_total, 2); if ($invoice->status === 'paid') { $msgLines[] = "Paid Amount: ₹" . number_format($invoice->paid_amount, 2); } elseif ($invoice->paid_amount > 0) { $msgLines[] = "Paid: ₹" . number_format($invoice->paid_amount, 2); $msgLines[] = "Remaining: ₹" . number_format($invoice->remaining_amount, 2); } $msgLines[] = ""; $msgLines[] = "Thank you for your business!"; @endphp
{{-- Header --}}

{{ $invoice->invoice_number }}

Invoice details and items

@php $statusDot = [ 'pending' => 'bg-amber-500', 'paid' => 'bg-emerald-500', 'cancelled' => 'bg-red-500', ][$invoice->status] ?? 'bg-gray-400'; $statusBg = [ 'pending' => 'bg-amber-50 dark:bg-amber-500/10 text-amber-700 dark:text-amber-400 border-amber-200 dark:border-amber-500/20', 'paid' => 'bg-emerald-50 dark:bg-emerald-500/10 text-emerald-700 dark:text-emerald-400 border-emerald-200 dark:border-emerald-500/20', 'cancelled' => 'bg-red-50 dark:bg-red-500/10 text-red-700 dark:text-red-400 border-red-200 dark:border-red-500/20', ][$invoice->status] ?? 'bg-gray-50 dark:bg-gray-500/10 text-gray-700'; @endphp {{ $invoice->status === 'pending' ? 'Unpaid' : ucfirst($invoice->status) }}
@if($invoice->status !== 'paid' && $invoice->status !== 'cancelled')
@csrf
@endif @if($invoice->status !== 'paid' && $invoice->status !== 'cancelled') Edit @endif Preview Print PDF @if($invoice->status !== 'paid' && $invoice->status !== 'cancelled')
@csrf @method('DELETE')
@endif @if($invoice->customer->whatsapp_number) @endif
{{-- Address Cards --}}

Company

From

@php $company = App\Models\CompanySetting::forCurrentUser(); @endphp @if($company)

{{ $company->company_name }}

{{ $company->address }}

{{ $company->city }}{{ $company->state ? ', ' . $company->state : '' }}{{ $company->zip ? ' - ' . $company->zip : '' }}

@if($company->email)

{{ $company->email }}

@endif @if($company->phone)

{{ $company->phone }}

@endif @if($company->gst_number)

GST: {{ $company->gst_number }}

@endif
@else

Company details not configured.

@endif

Customer

Bill To

{{ $invoice->customer->customer_name ?? '—' }}

@if($invoice->customer->billing_address)

{{ $invoice->customer->billing_address }}

@endif @if($invoice->customer->billing_district || $invoice->customer->billing_state)

{{ $invoice->customer->billing_district }}{{ $invoice->customer->billing_district && $invoice->customer->billing_state ? ', ' : '' }}{{ $invoice->customer->billing_state }}

@endif @if($invoice->customer->email)

{{ $invoice->customer->email }}

@endif @if($invoice->customer->whatsapp_number)

{{ $invoice->customer->whatsapp_number }}

@endif
@if($invoice->customer->gst_number) GST: {{ $invoice->customer->gst_number }} @endif @if($invoice->customer->pan_number) PAN: {{ $invoice->customer->pan_number }} @endif
{{-- Invoice Info & Payment Details --}}

Invoice Details

Invoice Number
{{ $invoice->invoice_number }}
Invoice Type
@if($invoice->invoice_type === 'tax') Tax Invoice @else Non-Tax Invoice @endif
Invoice Date
{{ $invoice->invoice_date?->format('d M, Y') }}
Due Date
{{ $invoice->due_date?->format('d M, Y') ?? '—' }}
Created By
{{ $invoice->creator?->name ?? '—' }}
Created At
{{ $invoice->created_at?->format('d M, Y h:i A') }}

Payment Details

Subtotal
₹{{ number_format($invoice->subtotal, 2) }}
Discount
-₹{{ number_format($invoice->discount_total, 2) }}
Tax Total
₹{{ number_format($invoice->tax_total, 2) }}
Round Off
₹{{ number_format($invoice->round_off, 2) }}
Grand Total
₹{{ number_format($invoice->grand_total, 2) }}
@if($invoice->paid_amount > 0)
Paid Amount
₹{{ number_format($invoice->paid_amount, 2) }}
@endif @if($invoice->remaining_amount > 0)
Remaining
₹{{ number_format($invoice->remaining_amount, 2) }}
@endif
Amount in Words
{{ $invoice->amount_in_words ?? '—' }}
{{-- Invoice Items Table --}}

Invoice Items

{{ $invoice->items->count() }} item(s)
@foreach($invoice->items as $item) @endforeach
# Product Qty MRP Price Tax % Tax Total
{{ $loop->iteration }}
@if($item->product->first_image_url) {{ $item->product->name }} @else
{{ strtoupper(substr($item->product->name ?? '?', 0, 2)) }}
@endif {{ $item->product->name ?? '—' }}
{{ $item->quantity }} ₹{{ number_format($item->mrp, 2) }} ₹{{ number_format($item->price, 2) }} {{ number_format($item->tax_percentage, 1) }}% ₹{{ number_format($item->tax_amount, 2) }} ₹{{ number_format($item->line_total, 2) }}
Subtotal
₹{{ number_format($invoice->subtotal, 2) }}
Discount Total
-₹{{ number_format($invoice->discount_total, 2) }}
Tax Total
₹{{ number_format($invoice->tax_total, 2) }}
Round Off
₹{{ number_format($invoice->round_off, 2) }}

Grand Total
₹{{ number_format($invoice->grand_total, 2) }}
Amount in Words
{{ $invoice->amount_in_words ?? '—' }}
{{-- Notes --}} @if($invoice->notes)

Notes

{{ $invoice->notes }}

@endif
@endsection @push('scripts') @endpush