Settings
{{-- Tab navigation --}}
@php $tabs = [ ['id'=>'business', 'label'=>'Business'], ['id'=>'localization', 'label'=>'Localization'], ['id'=>'financial', 'label'=>'Financial & Tax'], ['id'=>'receipt', 'label'=>'Receipts'], ['id'=>'payments', 'label'=>'Payments'], ['id'=>'email', 'label'=>'Email'], ['id'=>'sms', 'label'=>'SMS & M-Pesa'], ['id'=>'security', 'label'=>'Security'], ]; @endphp @foreach($tabs as $tab) @endforeach
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if($errors->any())
    @foreach($errors->all() as $e)
  • {{ $e }}
  • @endforeach
@endif {{-- ══ BUSINESS ══════════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
Business Information

Recommended 300×300px, max 2MB. Shown on receipts.

@if($logo = $settings['logo'] ?? null) Logo @endif
Change History
{{-- ══ LOCALIZATION ══════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
Regional & Currency Settings
{{-- ══ FINANCIAL ═════════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
Tax
Enable Tax Globally
Apply tax to all sales
Prices are tax-inclusive
Tax is already included in displayed prices
Commissions
Enable Commission Tracking
Enable Discounts
{{-- ══ RECEIPTS ══════════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
Receipt Format

e.g. CW- → CW-00123

Receipt Display Options
@php $toggles = [ 'show_staff_name' => 'Show staff name', 'show_client_details' => 'Show client details', 'show_vehicle_details' => 'Show vehicle details', 'show_service_items' => 'Show service line items', 'show_product_items' => 'Show product line items', 'show_unit_prices' => 'Show unit prices', 'show_discount_details' => 'Show discount details', 'show_tax_details' => 'Show tax details', 'show_payment_method' => 'Show payment method', 'show_receipt_phone' => 'Show phone on receipt', 'show_receipt_email' => 'Show email on receipt', 'show_receipt_address' => 'Show address on receipt', 'show_receipt_website' => 'Show website on receipt', ]; @endphp
@foreach($toggles as $key => $label)
{{ $label }}
@endforeach
{{-- ══ PAYMENTS ══════════════════════════════════════════════════════ --}}
@csrf @method('PATCH') {{-- Payment Methods --}}
Active Payment Methods Shown at POS checkout
@php $defaultMethods = [ 'cash' => ['label'=>'Cash', 'type'=>'cash', 'enabled'=>true], 'mpesa' => ['label'=>'M-Pesa', 'type'=>'mpesa', 'enabled'=>true], 'card' => ['label'=>'Card', 'type'=>'card', 'enabled'=>false], ]; $savedMethods = []; foreach($defaultMethods as $key => $def) { $saved = $settings['payment_methods'][$key] ?? null; if(is_string($saved)) $saved = json_decode($saved, true); $savedMethods[$key] = $saved ?? $def; $savedMethods[$key]['key'] = $key; } @endphp @foreach($savedMethods as $key => $method)
{{ $method['label'] ?? ucfirst($key) }}
{{ strtoupper($method['type'] ?? $key) }}
@endforeach
{{-- PayHero STK Push --}}
@csrf @method('PATCH')
PayHero — M-Pesa STK Push via PayHero gateway
PayHero sends M-Pesa STK push prompts to clients. Get credentials at app.payhero.co.ke.
Webhook URL (add in PayHero dashboard): {{ url('/payments/webhook') }}

Found in PayHero dashboard → Channels

@php $phConfigured = !empty($settings['payhero_username']) && !empty($settings['payhero_password']) && !empty($settings['payhero_channel_id']); @endphp @if($phConfigured)
✓ PayHero is configured and active
@else
⚠ PayHero not configured — M-Pesa STK push will not work until credentials are saved.
@endif
{{-- Safaricom Daraja (direct M-Pesa) --}}
@csrf @method('PATCH')
Safaricom Daraja — Direct M-Pesa API optional alternative to PayHero
Direct integration with Safaricom Daraja API for STK push. Register at developer.safaricom.co.ke.
Callback URL: {{ url('/payments/daraja/callback') }}
{{-- ══ EMAIL ═════════════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
SMTP Email Configuration
Used to send receipts, statements, and notifications to clients. Settings saved here override the .env file at runtime.
{{-- Test email --}}
{{-- ══ SMS & M-PESA ══════════════════════════════════════════════════ --}}
@csrf @method('PATCH') {{-- Mobitech --}}
Mobitech SMS Recommended for Kenya
Get your API key from app.mobitechtechnologies.com → My Account → API Key (passed as h_api_key header).

Shown as the SMS sender on the recipient's phone

{{-- Test SMS --}}
{{-- SMS Template --}}
Vehicle Ready SMS Template

Sent when a vehicle is marked ready. Placeholders: {business} {client} {ref} {balance} {pay_link}

Leave blank to use the system default. Keep under 160 chars to avoid multi-part SMS charges.

{{-- ══ SECURITY ══════════════════════════════════════════════════════ --}}
@csrf @method('PATCH')
Security Settings
Require Two-Factor Authentication
Applies to all admin accounts
{{-- end st-content --}}
{{-- end st-container --}}
{{-- end st-wrap --}} @push('scripts') @endpush