Dear {{ $quote->contact?->first_name ?? 'Valued Client' }},
Thank you for your interest. Please find below your quotation from
{{ \App\Models\AppSetting::get('company_name','Degabriele Kitchens') }}.
{{-- Note --}}
Quote valid until:
{{ $quote->valid_until ? $quote->valid_until->format('d M Y') : 'Please contact us for validity' }}
{{-- Meta --}}
- Quote Number
- {{ $quote->quote_number }}
- Client
- {{ $quote->contact?->full_name ?? '—' }}
- Job Reference
- {{ $quote->job?->job_number ?? '—' }}
- Date
- {{ now()->format('d M Y') }}
{{-- Line items grouped by material type, retail prices only --}}
@php
$allItems = $quote->sections->flatMap->items;
$grouped = $allItems->groupBy('material_type_id');
$types = \App\Models\MaterialType::orderBy('sort_order')->get()->keyBy('id');
$grandRetail = 0;
@endphp
@foreach($grouped as $typeId => $items)
@php
$typeName = $typeId ? ($types[$typeId]->name ?? 'Items') : 'Items';
$typeRetail = $items->sum(fn($i) => (float)($i->total_retail ?? ($i->qty * $i->retail_price)));
$grandRetail += $typeRetail;
@endphp
{{ $typeName }}
| Description |
Item Code |
Unit |
Qty |
Unit Price |
Total |
@foreach($items as $item)
| {{ $item->description }} |
{{ $item->item_code }} |
{{ $item->unit }} |
{{ number_format($item->qty,2) }} |
${{ number_format($item->retail_price ?? $item->unit_price,2) }} |
${{ number_format($item->total_retail ?? $item->total,2) }} |
@endforeach
| {{ $typeName }} Subtotal |
${{ number_format($typeRetail,2) }} |
@endforeach
{{-- Totals --}}
@php
$gst = $grandRetail * 0.10;
$total = $grandRetail + $gst;
@endphp
Subtotal (excl. GST)
${{ number_format($grandRetail,2) }}
GST (10%)
${{ number_format($gst,2) }}
Total (incl. GST)
${{ number_format($total,2) }}
@if($quote->notes)
Notes:
{{ $quote->notes }}
@endif
If you have any questions, please don't hesitate to contact us.
Kind regards,
{{ \App\Models\AppSetting::get('company_name','Degabriele Kitchens') }}
{{ \App\Models\AppSetting::get('company_phone') }}
{{ \App\Models\AppSetting::get('company_email') }}