Skip to main content

Template Excel Payroll PPh 21 TER 2025 Otomatis: Multi-Karyawan + Rekap Tahunan & Koreksi Desember

Diperbarui: 20 Desember 2025

Ringkasan cepat:

  • Untuk Jan–Nov, PPh 21 dipotong pakai TER bulanan (kategori A/B/C) → cocok dibuat otomatis di Excel.
  • Di Desember, lakukan hitung ulang tahunan lalu bandingkan dengan total potongan Jan–Nov (rekonsiliasi).
  • Template yang aman itu punya sheet konfigurasi (PTKP, BPJS, tarif) agar mudah update kalau aturan berubah.

Daftar isi

Kapan kamu butuh template ini?

Template ini cocok kalau kamu:

  • Ngurus payroll UMKM / kantor kecil (5–200 karyawan) dan belum pakai software payroll.
  • Butuh hasil yang konsisten: potongan PPh 21 Jan–Nov otomatis, lalu Desember hitung ulang.
  • Mau bikin proses yang transparan (karyawan bisa cek angka di slip gaji, mengurangi sengketa).

Diagnosis cepat (decision tree):

  • Kalau kamu pakai Excel 365/Excel 2021 → gunakan XLOOKUP (lebih rapi).
  • Kalau kamu pakai Excel 2016 ke bawah → gunakan VLOOKUP approximate (tabel harus urut).
  • Kalau karyawan kamu ada yang masuk/keluar di tengah tahun atau banyak bonus tidak rutin → tetap bisa, tapi wajib pakai bagian rekap tahunan dan koreksi Desember dengan benar.

Apa itu payroll PPh 21 TER (versi praktis)?

Mulai beberapa tahun terakhir, pemotongan PPh 21 untuk karyawan tetap banyak kasus disederhanakan dengan Tarif Efektif Rata-rata (TER). Intinya: pada bulan berjalan (umumnya Jan–Nov), kamu cukup ambil tarif TER dari tabel berdasarkan penghasilan bruto bulanan dan kategori (A/B/C), lalu potong PPh 21 bulanan.

Lalu di Desember, kamu lakukan hitung ulang tahunan (biar pas dengan hitungan setahun), kemudian: PPh21 Desember = PPh21 setahun − total PPh21 Jan–Nov.

Syarat & data yang perlu disiapkan

  • Data karyawan: Nama, NIK/ID, status PTKP (mis. TK/0, K/1), NPWP aktif (Ya/Tidak).
  • Komponen gaji bulanan: gaji pokok, tunjangan tetap, insentif rutin (kalau ada).
  • Potongan karyawan (jika berlaku di tempatmu): BPJS Kesehatan, JHT/JP (buat configurable).
  • Tabel TER kategori A/B/C (disarankan kamu salin dari lampiran aturan resmi ke sheet Excel).

Checklist 1–3 menit sebelum mulai

  • Pastikan format angka di Excel benar (bukan “teks”): gunakan Format Cells → Number.
  • Status PTKP ditulis konsisten (mis. TK/0 bukan “TK0”).
  • Tabel TER diurutkan dari penghasilan bruto kecil → besar (wajib kalau pakai VLOOKUP approximate).
  • Siapkan 1 karyawan contoh untuk uji cepat (mis. gaji bruto 6–7 juta) agar mudah cek tarif TER yang terambil.

Langkah membuat template (step-by-step)

Struktur file Excel (disarankan)

  • Sheet 1: Konfig (angka yang boleh kamu ubah: PTKP, BPJS, batas upah, persen biaya jabatan, dll.)
  • Sheet 2: TER_A (tabel tarif efektif bulanan kategori A)
  • Sheet 3: TER_B (tabel tarif efektif bulanan kategori B)
  • Sheet 4: TER_C (tabel tarif efektif bulanan kategori C)
  • Sheet 5: DataKaryawan (master data karyawan)
  • Sheet 6: Payroll_Bulanan (hitung PPh21 TER bulan berjalan)
  • Sheet 7: Rekap_Tahun (SUMIFS Jan–Des + hitung ulang Desember)

Langkah 1 — Buat sheet Konfig

Di sheet Konfig, buat tabel sederhana:

  • PTKP tahunan (TK/0, TK/1, …, K/3, dan kalau perlu K/I)
  • Parameter BPJS (persen dan batas upah) → dibuat bisa diubah
  • Biaya jabatan: 5% dan batas maksimal per tahun (kalau kamu pakai hitung tahunan)

Langkah 2 — Masukkan tabel TER (Kategori A/B/C)

Buat masing-masing tabel TER minimal 2 kolom: Min_Bruto dan Tarif. Isi baris Min_Bruto dengan batas bawah setiap rentang (mis. 0; 5.400.000; 5.650.000; dst), dan kolom Tarif dengan persen tarifnya.

Catatan penting: jangan mengetik ulang asal-asalan. Cara paling aman: salin dari dokumen resmi ke Excel, lalu rapikan format angkanya.

Langkah 3 — Buat master DataKaryawan

Kolom minimal di sheet DataKaryawan:

  • IDKaryawan
  • Nama
  • Status PTKP (TK/0, TK/1, TK/2, TK/3, K/0, K/1, K/2, K/3)
  • NPWP aktif? (Ya/Tidak)

Langkah 4 — Hitung payroll bulanan (TER Jan–Nov)

Di sheet Payroll_Bulanan, kamu buat satu tabel untuk bulan berjalan. Agar rapi, buat sel input bulan, misalnya B1 = Bulan (isi “Jan 2025”, “Feb 2025”, dst).

Rumus inti:

  • Penghasilan bruto bulanan = gaji pokok + tunjangan tetap + insentif rutin (kalau ada)
  • Kategori TER ditentukan dari status PTKP
  • Tarif TER diambil dari tabel TER_A/TER_B/TER_C
  • PPh21 TER = penghasilan bruto × tarif TER × (opsional) faktor NPWP

Langkah 5 — Rekap tahunan + koreksi Desember

Di sheet Rekap_Tahun, kamu jumlahkan semua PPh21 bulanan (Jan–Nov) per karyawan. Lalu hitung ulang pajak tahunan (metode tahunan), dan ambil selisihnya sebagai potongan Desember.

Rumus konsep koreksi: PPh21_Des = MAX(0; PPh21_Setahun − Total_PPh21_JanNov)

Kalau hasilnya negatif (artinya potongan Jan–Nov terlalu besar), umumnya perusahaan tidak “memotong minus”. Karyawan bisa mengkreditkan di SPT Tahunan sesuai ketentuan.

Contoh tabel Excel (kolom A, B, C… + rumus per sel)

Contoh tabel di sheet Payroll_Bulanan (1 baris = 1 karyawan untuk bulan berjalan):

Kolom A Kolom B Kolom C Kolom D Kolom E Kolom F Kolom G Kolom H Kolom I
IDKaryawan Nama Status PTKP Bruto Bulanan Kategori TER Tarif TER PPh21 (TER) BPJS Karyawan Take Home Pay
EMP001 Rina TK/0 6500000 (rumus) (rumus) (rumus) (rumus) (rumus)

Arti kolom:

  • A–C: identitas & status pajak karyawan
  • D: total penghasilan bruto bulan itu (sebelum potongan)
  • E–G: mesin hitung PPh21 TER otomatis
  • H–I: potongan BPJS karyawan (kalau ada) dan gaji bersih

Rumus contoh (Excel 365 / XLOOKUP)

1) Menentukan kategori TER (mis. di E2)

Misal Status PTKP ada di C2. Rumus E2:

=IF(OR(C2="TK/0";C2="TK/1";C2="K/0");"A";
 IF(OR(C2="TK/2";C2="TK/3";C2="K/1";C2="K/2");"B";
 IF(C2="K/3";"C";"CEK")))
  

Makna: kalau hasilnya “CEK”, berarti status PTKP kamu di luar mapping sederhana ini (butuh penyesuaian).

2) Mengambil tarif TER dari tabel (mis. di F2)

Asumsi:

  • Bruto bulanan di D2
  • Sheet TER_A punya kolom Min_Bruto di A dan Tarif di B
  • Sheet TER_B dan TER_C sama pola

Rumus F2:

=IF(E2="A";XLOOKUP(D2;TER_A!$A:$A;TER_A!$B:$B;;-1);
 IF(E2="B";XLOOKUP(D2;TER_B!$A:$A;TER_B!$B:$B;;-1);
 IF(E2="C";XLOOKUP(D2;TER_C!$A:$A;TER_C!$B:$B;;-1);
 "")))
  

Makna: match_mode -1 artinya ambil nilai terdekat yang lebih kecil (batas bawah rentang).

3) Hitung PPh21 TER bulanan (mis. di G2)

Rumus sederhana:

=ROUND(D2*F2;0)
  

Kalau kamu ingin opsi “NPWP tidak aktif → potongan lebih tinggi”, buat kolom tambahan (mis. J2 berisi Ya/Tidak), lalu:

=ROUND(D2*F2*IF(J2="Ya";1;1,2);0)
  

4) Potongan BPJS karyawan (mis. di H2)

Karena batas upah BPJS bisa berubah, taruh angka di sheet Konfig. Contoh konsep:

=ROUND( MIN(D2;Konfig!$B$2) * Konfig!$B$3  +  MIN(D2;Konfig!$B$4) * Konfig!$B$5 ;0)
  

Makna contoh: Konfig!B2 = batas upah BPJS Kesehatan, Konfig!B3 = persen iuran karyawan; Konfig!B4 = batas upah JP, Konfig!B5 = persen iuran karyawan. (Silakan sesuaikan struktur Konfig versi kamu.)

5) Take home pay (mis. di I2)

=D2 - G2 - H2
  

Alternatif rumus (Excel lama / VLOOKUP approximate)

Kalau tidak ada XLOOKUP, kamu bisa pakai VLOOKUP approximate (argumen terakhir TRUE). Syaratnya: kolom Min_Bruto harus urut naik.

=VLOOKUP(D2;TER_A!$A$2:$B$200;2;TRUE)
  

Rumus hitung ulang tahunan (untuk Desember)

Ini versi aman untuk logika template (tanpa “mengarang angka”): kamu buat Rekap_Tahun yang menghitung: Bruto setahun, pengurang (mis. biaya jabatan), PTKP, lalu PKP dan pajak progresif.

Contoh pajak progresif (Pasal 17) dari PKP tahunan (mis. PKP di sel E2):

=MAX(0;
 MIN(E2;60000000)*5% +
 MAX(MIN(E2;250000000)-60000000;0)*15% +
 MAX(MIN(E2;500000000)-250000000;0)*25% +
 MAX(MIN(E2;5000000000)-500000000;0)*30% +
 MAX(E2-5000000000;0)*35%
)
  

Potongan PPh21 Desember (mis. Pajak setahun di H2 dan total potongan Jan–Nov di I2):

=MAX(0; H2 - I2)
  

Tips agar minim error

1) Buat “Konfig” sebagai pusat kendali

  • Kalau ada perubahan aturan (mis. batas upah BPJS), kamu cukup ubah 1 tempat.
  • Lebih aman daripada menanam angka di banyak rumus.

2) Pisahkan data master dan transaksi

  • DataKaryawan = data tetap
  • Payroll_Bulanan = transaksi bulanan
  • Rekap_Tahun = laporan

3) Gunakan SUMIFS untuk rekap cepat

Misal kamu simpan semua payroll bulanan dalam satu tabel (dengan kolom Bulan), maka rekap per karyawan per tahun jauh lebih gampang pakai SUMIFS.

Tabel “Masalah/Error → Penyebab → Solusi”

Masalah / Error Penyebab paling umum Solusi praktis
Tarif TER selalu kosong Kategori TER “CEK” atau tabel TER tidak lengkap Periksa status PTKP (format TK/0, K/1, dst) dan pastikan tabel TER_A/B/C terisi & urut
VLOOKUP salah ambil tarif Pakai approximate TRUE tapi tabel tidak urut Urutkan Min_Bruto dari kecil ke besar (Data → Sort A to Z)
PPh21 terasa “kegedean/kekecilan” Bruto bulanan yang dipakai tidak konsisten (gaji + tunjangan tidak masuk) atau salah kategori Samakan definisi “bruto” di semua karyawan; audit 1 karyawan contoh
Potongan BPJS tidak masuk akal Batas upah/cap tidak dipakai, atau persen salah input Pakai MIN(gaji; cap) × persen di sheet Konfig
Desember jadi 0 padahal biasanya ada pajak Rekap Jan–Nov lebih besar dari pajak setahun Cek definisi pengurang (biaya jabatan/PTKP) dan komponen bruto tahunan

4) Checklist kontrol kualitas file Excel sebelum dipakai payroll beneran

  • Uji 3 skenario: bruto 5 juta (harus 0/ kecil), bruto 6–7 juta (tarif kecil), bruto 15 juta (tarif lebih besar).
  • Uji 2 status PTKP berbeda (mis. TK/0 vs K/3) dan pastikan kategori berubah.
  • Pastikan semua rumus pakai alamat sel yang konsisten (mis. D2 selalu bruto).
  • Lock sel “Konfig” agar tidak keubah tanpa sengaja (Review → Protect Sheet).

Risiko & kesalahan umum

  • Mengira TER = final setahun. Padahal Desember tetap harus rekonsiliasi (hitung ulang tahunan).
  • Mengetik ulang tabel TER manual dan salah satu angka → efeknya bisa ke semua karyawan.
  • Mencampur komponen gaji (mis. bonus tidak rutin) tanpa aturan yang jelas → rekap tahunan jadi kacau.
  • Kurang transparan: karyawan tidak paham potongan → rawan su’uzhan dan konflik. Lebih baik jelaskan secara adil di slip gaji.

FAQ

1) TER itu dipakai untuk bulan apa saja?

Umumnya dipakai untuk pemotongan bulanan Jan–Nov, lalu Desember dilakukan hitung ulang tahunan (rekonsiliasi).

2) Kalau gaji karyawan berubah-ubah tiap bulan, template ini masih bisa?

Bisa. Justru TER itu mengikuti bruto bulanan. Pastikan bruto bulan itu benar (gaji + tunjangan tetap + komponen rutin).

3) Kalau status PTKP berubah di tengah tahun?

Catat tanggal perubahannya. Di Excel, kamu bisa buat kolom “Status PTKP Bulan Ini” agar per bulan ikut berubah, lalu tetap rekonsiliasi di Desember.

4) Apakah saya boleh menanam angka BPJS langsung di rumus?

Boleh, tapi tidak disarankan. Lebih aman taruh di sheet Konfig supaya mudah update kalau batas upah/persen berubah.

5) Kenapa saya tetap perlu hitung ulang tahunan di Desember?

Karena potongan bulanan dengan TER adalah penyederhanaan. Hitung ulang tahunan memastikan pajak setahun sesuai ketentuan dan mengoreksi selisih.

6) Bagaimana kalau hasil “PPh21 Desember” jadi negatif?

Umumnya di payroll tidak “memotong minus”. Kelebihan potong biasanya menjadi kredit pajak bagi karyawan saat lapor SPT Tahunan (sesuai ketentuan).

Baca juga di Beginisob.com

Comments

Edukasi Terpopuler

Connect With Us

Copyright @ 2023 beginisob.com, All right reserved