@extends('layouts.app') @section('title', 'Staff Invoices') @section('breadcrumb')Staff Invoices@endsection @section('content') @php $user = auth()->user(); $isTrades = $user->role?->name === 'trades'; @endphp

Staff Invoices

Invoices for factory employees, processors and trades

{{-- Trades: create manual invoice --}} @if($isTrades) Create Invoice @endif {{-- Admin/Accounts: generate time-based invoice --}} @if($isAdminOrAccounts) @endif
@if($pendingCount > 0)
{{ $pendingCount }} invoice{{ $pendingCount > 1 ? 's' : '' }} pending approval
@endif @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif {{-- Admin Filters --}} @if($isAdminOrAccounts)
@if(request()->hasAny(['date_from','date_to','trade_user_id','status'])) Clear @endif
@endif
@if($isAdminOrAccounts)@endif @forelse($invoices as $inv) @if($isAdminOrAccounts) @endif @empty @endforelse
Invoice #Staff MemberJob Type Date Amount Status Approved By
{{ $inv->invoice_number }}
{{ $inv->user->name }}
{{ $inv->user->role?->display_name }}
@if($inv->job) {{ $inv->job->job_number }} @else @endif @if($inv->invoice_type === 'manual') Manual @else Time-based @endif {{ $inv->created_at->format('d M Y') }}
${{ number_format($inv->total_amount, 2) }}
@if($inv->invoice_type === 'manual' && $inv->gst_amount)
incl. GST ${{ number_format($inv->gst_amount, 2) }}
@elseif($inv->invoice_type !== 'manual')
{{ number_format($inv->total_hours, 2) }}h @ ${{ number_format($inv->hourly_rate, 2) }}/hr
@endif
@php $sc = match($inv->status) { 'approved' => 'green', 'rejected' => 'red', 'paid' => 'blue', default => 'yellow' }; @endphp {{ ucfirst($inv->status) }} {{ $inv->approver?->name ?? '—' }} @if($isTrades) @endif
No invoices found. @if($isTrades) Create your first invoice → @endif
@if($invoices->hasPages())
{{ $invoices->links() }}
@endif
{{-- Admin: Generate Invoice Modal --}} @if($isAdminOrAccounts) @endif
@endsection