@extends('layouts.app') @section('title','Bulk Import Employees') @section('page-title','Employees') @section('content') {{-- Import result summary --}} @if(session('import_result')) @php $result = session('import_result'); @endphp
{{ $result['imported'] }}
Imported
{{ $result['skipped'] }}
Skipped
@if(!empty($result['errors']))
{{ count($result['errors']) }}
Errors
@endif
@if(!empty($result['errors']))
Errors
@endif @if(!empty($result['warnings']))
Warnings
@endif
@endif
{{-- Step 1 — Template --}}
1 Download Template

Download the Excel template and fill in your employee data. Do not rename or remove the header row.

Download Template (.xlsx)
{{-- Step 2 — Upload --}}
2 Upload Completed File
@csrf
Drag and drop your file here, or click to browse
Accepted formats: .xlsx, .csv — Max 5 MB
@error('file')
{{ $message }}
@enderror
{{-- Column reference --}}
Column Reference
@php $cols = [ ['first_name', '✓', 'Text'], ['last_name', '✓', 'Text'], ['email', '✓', 'Valid email address. Must be unique.'], ['middle_name', '—', 'Text'], ['position', '—', 'Text — e.g. "Software Engineer"'], ['department', '—', 'Exact department name as it exists in the system.'], ['employment_type', '—', 'full_time | part_time | contract | temporary. Default: full_time'], ['role', '—', 'employee | hr_admin | dept_head | president | super_admin. Default: employee'], ['date_of_employment', '—', 'YYYY-MM-DD e.g. 2024-01-15. Defaults to today if blank.'], ['date_of_birth', '—', 'YYYY-MM-DD e.g. 1990-05-20'], ['gender', '—', 'Male | Female | Other'], ['citizenship', '—', 'Text — e.g. "Liberian"'], ['marital_status', '—', 'Single | Married | Divorced | Widowed'], ['salary_usd', '—', 'Number — e.g. 2500.00'], ['present_address', '—', 'Text'], ['national_id', '—', 'Text'], ['bank_name', '—', 'Text'], ['bank_account', '—', 'Text'], ['employee_number', '—', 'Text — e.g. EMP-0042. Auto-generated if blank.'], ['status', '—', 'active | on_leave | suspended | terminated | retired. Default: active'], ]; @endphp @foreach($cols as [$col, $req, $values]) @endforeach
Column Required Accepted Values / Format
{{ $col }} @if($req === '✓') Required @else Optional @endif {{ $values }}
@endsection @push('styles') @endpush @push('scripts') @endpush