← Back to reports
@if (session('success'))
{{ session('success') }}
@endif

Customer Profitability — {{ $periodLabel }}

Billing and profit per customer, with BA (Beauty Advisor) salary cost netted out where a customer has one.

@can('expenses.create') @endcan @can('reports.export') @endcan
Billing
{{ number_format($totalBilling, 2) }}
Gross Profit
{{ number_format($totalGrossProfit, 2) }}
BA Salary
{{ number_format($totalBaSalary, 2) }}
Net Profit
$totalNetProfit >= 0, 'text-red-600 dark:text-red-400' => $totalNetProfit < 0, ])>{{ number_format($totalNetProfit, 2) }}
@if ($rows->isEmpty()) @else
@foreach ($rows as $row) @endforeach
Customer Billing Gross Profit BA Target BA Salary Net Profit Expense
{{ $row['customer']->name }} {{ number_format($row['billing'], 2) }} {{ number_format($row['gross_profit'], 2) }} {{ $row['ba_salary_target_amount'] > 0 ? number_format($row['ba_salary_target_amount'], 2).' ('.number_format($row['ba_salary_amount'], 2).' fixed)' : '—' }} {{ $row['ba_salary'] > 0 ? number_format($row['ba_salary'], 2) : '—' }} $row['net_profit'] >= 0, 'text-red-600 dark:text-red-400' => $row['net_profit'] < 0, ])>{{ number_format($row['net_profit'], 2) }} @if ($row['ba_salary'] > 0) $row['ba_salary_generated'], 'bg-amber-100 text-amber-700 dark:bg-amber-500/10 dark:text-amber-400' => ! $row['ba_salary_generated'], ])> {{ $row['ba_salary_generated'] ? 'Recorded' : 'Not yet recorded' }} @else — @endif
@endif