@extends('layouts.app') @section('title', 'Sales commissions – Setting') @section('body_class', 'sales-commissions-admin') @section('content') @php $formSalesperson = $editingSalesperson ?? null; $isEdit = $formSalesperson !== null; $shopifyHolder = $shopifySalesperson; $canAssignShopify = ! $shopifyHolder || ($isEdit && $formSalesperson->id === $shopifyHolder->id); $ownerHolder = $ownerSalesperson ?? null; $canAssignOwner = ! $ownerHolder || ($isEdit && $formSalesperson->id === $ownerHolder->id); $nmiFeeHolder = $nmiTxnFeeSalesperson ?? null; $canAssignNmiTxnFee = ! $nmiFeeHolder || ($isEdit && $formSalesperson->id === $nmiFeeHolder->id); $defaultCommissionLabel = $defaultCommissionType === 'percentage' ? rtrim(rtrim(number_format($defaultCommissionAmount, 2), '0'), '.') . '%' : '$' . number_format($defaultCommissionAmount, 2); @endphp

← Setting

Sales commissions

Manage who earns sale commission and NMI coverage. Only one Shopify assignee and one coverage person at a time. Defaults from Fees & profit.

View commission report →
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
Owner {{ $ownerSalesperson?->full_name ?? 'Not set' }} Default on NMI payment links
Shopify @if($shopifySalesperson) {{ $shopifySalesperson->full_name }} Sale commission {{ $shopifySalesperson->commissionLabel() }} @else None active Assign Shopify on one salesperson @endif
NMI coverage @if($nmiTxnFeeSalesperson) {{ $nmiTxnFeeSalesperson->full_name }} {{ $nmiTxnFeeSalesperson->nmiCoverageRateLabel() }} when not the seller @else None Optional coverage on others’ NMI sales @endif

Salespeople

Active roster, rates, and channels.

{{ $salespeople->count() }} {{ $salespeople->count() === 1 ? 'person' : 'people' }}
@if($salespeople->isEmpty())

No salespeople yet. Add one below.

@else
@foreach($salespeople as $person) @php $monthRow = $monthEarnedBySalesperson->get($person->id); $monthTotal = $monthRow ? (float) $monthRow->total_earned : 0; $monthCount = $monthRow ? (int) $monthRow->order_count : 0; @endphp @endforeach
Name Phone IG tag Sale commission NMI coverage Channels This month Status Actions
{{ $person->full_name }} @if($person->is_owner) Owner @endif
{{ $person->phone }} @if($person->instagram_hashtag) {{ $person->instagram_hashtag }} @else — @endif @if($person->is_owner) N/A @else
{{ $person->commissionLabel() }} {{ $person->commission_type === 'percentage' ? 'of subtotal' : 'fixed / sale' }}
@endif
@if($person->is_owner) — @elseif($person->nmi_txn_fee_enabled)
{{ $person->nmiCoverageRateLabel() }} {{ $person->nmiTxnFeeType() === 'percentage' ? 'of subtotal' : 'fixed / sale' }}
@else — @endif
@if($person->is_owner) N/A @else
@forelse($person->channelBadges() as $badge) {{ $badge }} @empty — @endforelse
@endif
@if($monthCount > 0) ${{ number_format($monthTotal, 2) }} {{ $monthCount }} @else $0.00 @endif {{ $person->is_active ? 'Active' : 'Inactive' }}
@if($person->is_active) Edit @unless($person->is_owner)
@csrf
@endunless @endif @if(! $person->is_owner && ($person->sales_commissions_count ?? 0) === 0)
@csrf @method('DELETE')
@endif
@endif

{{ $isEdit ? 'Edit salesperson' : 'Add salesperson' }}

@if($isEdit) Editing {{ $formSalesperson->full_name }} @else Create a new seller profile and commission rules. @endif

@if($isEdit) Cancel edit @endif
@csrf @if($isEdit) @method('PUT') @endif

Profile

Contact details and Story Purchase Instagram tag.

@error('full_name')

{{ $message }}

@enderror
@error('phone')

{{ $message }}

@enderror E.164 or 10-digit US number.
@error('email')

{{ $message }}

@enderror
@error('instagram_hashtag')

{{ $message }}

@enderror Matched in Story Purchase caption or media (AI). Unique per salesperson.

Role

Only one Owner. Pre-selected on NMI links; does not earn commission.

@if(! $canAssignOwner && $ownerHolder)

Assigned to {{ $ownerHolder->full_name }}. Edit {{ $ownerHolder->full_name }} to remove Owner first.

@endif

Sale commission

Earned when this person is the assigned seller (Shopify, NMI link, or layaway).

Default from Fees & profit: {{ $defaultCommissionLabel }}.

Sales channels

Only one Shopify assignee. NMI channels are chosen when sending payment links.

@if(! $canAssignShopify && $shopifyHolder)

Shopify is assigned to {{ $shopifyHolder->full_name }}. Edit {{ $shopifyHolder->full_name }} first.

@endif

NMI coverage commission

Only one salesperson. Paid on NMI / layaway when they are not the assigned seller. Never stacked with sale commission.

@if(! $canAssignNmiTxnFee && $nmiFeeHolder)

Assigned to {{ $nmiFeeHolder->full_name }} ({{ $nmiFeeHolder->nmiCoverageRateLabel() }}). Edit {{ $nmiFeeHolder->full_name }} first.

@endif
@error('nmi_txn_fee_type')

{{ $message }}

@enderror
@error('nmi_txn_fee_amount')

{{ $message }}

@enderror

Example: Fixed $30 per covered sale, or 2% of that sale’s subtotal. Default remains Fixed $.

@if($isEdit) Cancel @endif
@push('styles') @endpush @push('scripts') @endpush @endsection