@extends('layouts.master') @section('title', trans('messages.customer_details')) @section('content')
{{ trans('messages.customer_details') }}

{{ trans('messages.name') }}: {{ $customer->name }}

{{ trans('messages.email') }}: {{ $customer->email ?? 'N/A' }}

{{ trans('messages.phone') }}: {{ $customer->phone ?? 'N/A' }}

{{ trans('messages.address') }}: {{ $customer->address ?? 'N/A' }}

{{ trans('messages.current_balance') }}: @php $balance = $customer->calculated_balance ?? $customer->calculateCurrentBalance(); @endphp {{ format_currency($balance) }}

{{ trans('messages.purchase_statistics') }}
{{ trans('messages.total_purchases') }}
{{ format_currency($totalPurchases ?? 0) }}
{{ trans('messages.total_paid') }}
{{ format_currency($totalPaid ?? 0) }}
{{ trans('messages.total_due') }}
{{ format_currency($totalDue ?? 0) }}

{{ trans('messages.invoice_count') }}
{{ $invoiceCount ?? 0 }}
{{ trans('messages.average_purchase') }}
{{ format_currency($averagePurchase ?? 0) }}
@if(isset($totalProfit))
{{ trans('messages.total_profit') }}
{{ format_currency($totalProfit ?? 0) }}
{{ trans('messages.profit_margin') }}
{{ number_format($profitMargin ?? 0, 2) }}%
@endif
{{ trans('messages.reset') }}
{{ trans('messages.purchase_history') }}
{{ $invoiceCount ?? 0 }} {{ trans('messages.invoices') }}
@forelse(($invoices ?? $customer->invoices) as $invoice) @empty @endforelse @if(isset($invoices) && $invoices->count() > 0) @endif
{{ trans('messages.invoice_number') }} {{ trans('messages.date') }} {{ trans('messages.total') }} {{ trans('messages.paid') }} {{ trans('messages.due') }} {{ trans('messages.status') }} {{ trans('messages.items') }} {{ trans('messages.actions') }}
{{ $invoice->invoice_number }} {{ $invoice->created_at->format('Y-m-d') }} {{ format_currency($invoice->total) }} {{ format_currency($invoice->paid_amount) }} {{ format_currency($invoice->due_amount) }} @php $badgeClass = match($invoice->status) { 'paid' => 'success', 'partially_paid' => 'warning', 'draft' => 'secondary', 'returned' => 'danger', default => 'info' }; @endphp {{ trans('messages.' . $invoice->status) }} {{ $invoice->items->count() }} {{ trans('messages.items') }}
{{ trans('messages.no_invoices_found') }}
{{ trans('messages.total') }} {{ format_currency($totalPurchases ?? 0) }} {{ format_currency($totalPaid ?? 0) }} {{ format_currency($totalDue ?? 0) }}
@if(isset($topProducts) && $topProducts->count() > 0)
{{ trans('messages.top_products_purchased') }}
@foreach($topProducts as $product) @endforeach
{{ trans('messages.product') }} {{ trans('messages.quantity') }} {{ trans('messages.total_amount') }} {{ trans('messages.invoice_count') }}
{{ $product['product']->name ?? $product['product']->name_ar ?? trans('messages.unknown') }} @if($product['product']->category)
{{ $product['product']->category->name }} @endif
{{ number_format($product['quantity']) }} {{ format_currency($product['total_amount']) }} {{ $product['invoice_count'] }}
@endif @if(isset($monthlyPurchases) && $monthlyPurchases->count() > 0)
{{ trans('messages.monthly_purchases') }}
@foreach($monthlyPurchases as $month) @endforeach
{{ trans('messages.month') }} {{ trans('messages.invoice_count') }} {{ trans('messages.total_amount') }} {{ trans('messages.profit') }}
{{ $month['month'] }} {{ $month['count'] }} {{ format_currency($month['total']) }} {{ format_currency($month['profit']) }}
@endif @if(isset($paymentMethodsBreakdown) && $paymentMethodsBreakdown->count() > 0)
{{ trans('messages.payment_methods_breakdown') }}
@foreach($paymentMethodsBreakdown as $method) @endforeach
{{ trans('messages.payment_method') }} {{ trans('messages.count') }} {{ trans('messages.total_amount') }} {{ trans('messages.percentage') }}
{{ trans('messages.' . $method['method']) }} {{ $method['count'] }} {{ format_currency($method['total']) }} {{ $totalPaid > 0 ? number_format(($method['total'] / $totalPaid) * 100, 2) : 0 }}%
@endif
{{ trans('messages.cheques') }}
@forelse($customer->cheques as $cheque) @empty @endforelse
{{ trans('messages.cheque_number') }} {{ trans('messages.bank_name') }} {{ trans('messages.amount') }} {{ trans('messages.issue_date') }} {{ trans('messages.due_date') }} {{ trans('messages.status') }} {{ trans('messages.actions') }}
{{ $cheque->cheque_number }} {{ $cheque->bank_name }} {{ format_currency($cheque->amount) }} {{ $cheque->issue_date->format('Y-m-d') }} {{ $cheque->due_date->format('Y-m-d') }} @php $badgeClass = match($cheque->status) { 'paid' => 'success', 'returned' => 'danger', 'cancelled' => 'secondary', 'due' => 'warning', default => 'info' }; @endphp {{ trans('messages.' . $cheque->status) }}
{{ trans('messages.no_cheques_found') }}
{{ trans('messages.promissory_notes') }}
@forelse($customer->promissoryNotes as $promissoryNote) @empty @endforelse
{{ trans('messages.note_number') }} {{ trans('messages.amount') }} {{ trans('messages.issue_date') }} {{ trans('messages.due_date') }} {{ trans('messages.status') }} {{ trans('messages.actions') }}
{{ $promissoryNote->note_number }} {{ format_currency($promissoryNote->amount) }} {{ $promissoryNote->issue_date->format('Y-m-d') }} {{ $promissoryNote->due_date->format('Y-m-d') }} @php $badgeClass = match($promissoryNote->status) { 'paid' => 'success', 'cancelled' => 'secondary', 'due' => 'warning', default => 'info' }; @endphp {{ trans('messages.' . $promissoryNote->status) }}
{{ trans('messages.no_promissory_notes_found') }}
@include('documents.partials.manage', ['type' => 'customer', 'id' => $customer->id])
@endsection