# Employee Contract, Signature, Payroll Lifecycle

File diagram:
- `docs/flowcharts/employee-contract-signature-payroll-lifecycle.drawio`

Fokus diagram:
- lifecycle karyawan dari master data ke dokumen dan payroll
- hubungan client, area, jabatan, biodata, kontrak, dan tanda tangan digital
- titik masuk offering letter, dokumen pendukung, dan assignment bulanan
- jembatan ke BPJS dan payroll

Dasar struktur yang dipakai:
- [MasterKaryawan routes](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterKaryawan\routes\web.php)
- [MasterKaryawanController.php](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterKaryawan\Http\Controllers\MasterKaryawanController.php)
- [MasterArea routes](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterArea\routes\web.php)
- [MasterClient routes](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterClient\routes\web.php)
- [MasterProfilBulan migrations](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterProfilBulan\Database\migrations)
- [Penggajian routes](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\Penggajian\routes\web.php)
- [MasterBpjs migrations](D:\APP\LARAVEL_DEFAULT\AHSP\app\Modules\MasterBpjs\Database\migrations)

Pembacaan singkat:
1. Struktur dasar dibangun dari master client, area, dan jabatan.
2. Karyawan dibuat dari form atau import, lalu biodata dilengkapi.
3. Penempatan area aktif bisa berubah dan dicatat pada history area.
4. Dokumen HR dipisah menjadi offering letter, contract documents, dan supporting documents.
5. Saat butuh tanda tangan digital, admin generate link publik `employee-sign/{token}`.
6. Request tanda tangan menyimpan snapshot payload, expiry, dan hasil tanda tangan.
7. Setelah karyawan aktif, sistem memasukkan assignment ke profil bulan, komponen payroll, BPJS, attendance, SPL, lalu ke payroll history.

Catatan penting:
- Untuk dokumen kontrak digital, pendekatan paling aman adalah payload request menyimpan snapshot biodata dan isi kontrak saat link dibuat, bukan membaca data master secara live saat karyawan menandatangani.
- Biodata master tetap boleh di-update untuk kebutuhan operasional, tetapi dokumen yang sudah ditandatangani harus tetap memakai snapshot historisnya.
- Assignment bulanan adalah titik paling penting karena dari sana salary cycle, BPJS profile, dan override komponen ikut dipakai payroll engine.

Langkah lanjutan yang cocok:
- buat flow khusus contract renewal
- buat flow khusus employee self service update biodata
- buat flow khusus file pendukung dan approval onboarding
