Markdown Preview: README.md
README.md

Penambahan Fitur Pengaturan BPJS & PPh21

Latar Belakang

Saat ini sistem payroll belum memiliki tabel untuk menyimpan setting BPJS dan PPh21. Penghitungan masih dilakukan secara hardcode. User membutuhkan fitur agar HR bisa mengatur nilai BPJS dan PPh21 secara manual dengan opsi:


Proposed Changes

1. Database - Tambah Tabel Baru

[NEW] hrp_pengaturan_bpjs

Tabel untuk menyimpan setting BPJS per jenis:

Field Type Deskripsi
id int PK Primary key
kode varchar UK Kode setting (BPJS_KES_KARYAWAN, BPJS_KES_PERUSAHAAN, dll)
nama varchar Nama setting
tipe_perhitungan enum 'persentase' atau 'flat'
nilai decimal Nilai persentase (0.01 = 1%) atau nilai flat
batas_atas decimal Batas maksimal gaji untuk perhitungan (opsional)
aktif boolean Status aktif

Default data:

BPJS_KES_KARYAWAN    | 1%   (persentase)
BPJS_KES_PERUSAHAAN  | 4%   (persentase)
BPJS_JHT_KARYAWAN    | 2%   (persentase)
BPJS_JHT_PERUSAHAAN  | 3.7% (persentase)
BPJS_JP_KARYAWAN     | 1%   (persentase)
BPJS_JP_PERUSAHAAN   | 2%   (persentase)
BPJS_JKK             | 0.24%-1.74% (persentase, by risk class)
BPJS_JKM             | 0.3% (persentase)

[NEW] hrp_pengaturan_pph21

Tabel untuk menyimpan bracket PPh21 dan PTKP:

Field Type Deskripsi
id int PK Primary key
kode varchar UK Kode (PTKP_TK0, PTKP_K1, TARIF_5, dll)
nama varchar Nama setting
tipe enum 'ptkp' atau 'tarif'
nilai decimal Nilai PTKP atau persentase tarif
batas_bawah decimal Untuk tarif: batas bawah PKP
batas_atas decimal Untuk tarif: batas atas PKP
aktif boolean Status aktif

Default data PTKP 2024:

PTKP_TK0  | Rp 54.000.000   (Tidak Kawin, 0 tanggungan)
PTKP_TK1  | Rp 58.500.000   (Tidak Kawin, 1 tanggungan)
PTKP_K0   | Rp 58.500.000   (Kawin, 0 tanggungan)
PTKP_K1   | Rp 63.000.000   (Kawin, 1 tanggungan)
PTKP_K2   | Rp 67.500.000   (Kawin, 2 tanggungan)
PTKP_K3   | Rp 72.000.000   (Kawin, 3 tanggungan)

Default data Tarif PPh21:

TARIF_5   | 5%  | 0 - 60.000.000
TARIF_15  | 15% | 60.000.000 - 250.000.000
TARIF_25  | 25% | 250.000.000 - 500.000.000
TARIF_30  | 30% | 500.000.000 - 5.000.000.000
TARIF_35  | 35% | > 5.000.000.000

Pertanyaan untuk QA

  1. Apakah BPJS JKK perlu diatur per kelas risiko jabatan, atau cukup satu nilai untuk semua?
  2. Apakah perlu fitur history perubahan setting (audit trail)?
  3. Apakah perlu setting per departemen/jabatan atau cukup global untuk semua karyawan?