Module: Payroll & Medical Fee¶
Dokter spesialis dan dokter umum di Indonesia umumnya dibayar menggunakan sistem bagi hasil medis (jasa medis) per tindakan atau konsultasi — bukan per jam atau gaji bulanan tetap. Modul Payroll menghitung dan mendistribusikan jasa medis ini secara otomatis, transparan, dan real-time.
Fee Splitting Calculation Engine¶
Formula Take Home Pay (THP) Dokter:
THP Dokter = Gaji Pokok (jika ada)
+ Total Jasa Medis Konsultasi
+ Total Jasa Medis Tindakan
+ Insentif Jaga Malam
- Potongan PPh 21
Ketentuan Pembagian:
| Jenis Fee | Dokter | Perawat Asisten | Klinik/Alat |
|---|---|---|---|
| Jasa Konsultasi | 70% | — | 30% |
| Jasa Tindakan | 60% | 10% | 30% |
| Insentif Resep | 1.5% dari margin obat | — | — |
Contoh Kalkulasi: - Biaya konsultasi Rp 100.000 → Dokter: Rp 70.000, Klinik: Rp 30.000. - Biaya tindakan Rp 300.000 → Dokter: Rp 180.000, Perawat: Rp 30.000, Klinik: Rp 90.000. - Margin obat resep Rp 500.000 → Insentif Dokter: Rp 7.500 (1.5%).
PPh 21 Tax Deduction Logic¶
Sesuai regulasi pajak Indonesia bagi tenaga medis bukan pegawai (dokter mitra/freelance):
- DPP (Dasar Pengenaan Pajak): 50% dari total penghasilan bruto jasa medis.
- Tarif PPh Pasal 17 progresif dikenakan pada nilai DPP kumulatif bulanan:
| Penghasilan Kena Pajak (DPP) | Tarif |
|---|---|
| s/d Rp 60 juta | 5% |
| Rp 60 juta — Rp 250 juta | 15% |
| Rp 250 juta — Rp 500 juta | 25% |
| > Rp 500 juta | 35% |
Contoh Kalkulasi Bulanan:
Bruto Jasa Medis: Rp 20.000.000
│
▼ (50% DPP Rule)
DPP: Rp 10.000.000
│
▼ (Tarif PPh 21 — Tier 1: 5%)
Potongan PPh 21: Rp 500.000
│
▼
Netto Jasa Medis Dokter: Rp 19.500.000
Catatan: Untuk dokter berstatus pegawai tetap klinik, perhitungan menggunakan skema PPh 21 pegawai (dengan PTKP dan tarif berbeda dari skema bukan pegawai di atas).
Real-Time Fee Allocation¶
Pembagian jasa medis terjadi real-time saat kasir mengonfirmasi pembayaran:
- Billing service menghitung breakdown biaya per komponen (konsultasi, tindakan, obat).
- Payroll service menerima event dari billing dan langsung mengkreditkan saldo jasa medis ke akun dokter masing-masing.
- Saldo jasa medis terakumulasi di tabel
doctor_fee_ledgersepanjang bulan. - Pada akhir periode (biasanya akhir bulan atau awal bulan berikutnya), Payroll service menghitung PPh 21 kumulatif dan menghasilkan slip gaji digital.
User Story: Apoteker Mempersiapkan Obat Racikan¶
- As a Asisten Apoteker / Apoteker
- I want to Membuka menu compounding di apotek untuk menginput rincian bahan baku obat racikan.
- So that Kuantitas stok untuk masing-masing obat penyusun terpotong secara akurat berdasarkan batch dengan metode FEFO.
Acceptance Criteria:
- Given Resep bertanda
is_racikan: truemasuk ke antrean farmasi. - When Apoteker membuka resep tersebut dan mengonfirmasi pencampuran bahan baku obat penyusun.
- Then Sistem harus memvalidasi stok fisik untuk setiap komponen penyusun obat racikan.
- And Mengurangi stok dari masing-masing obat penyusun berdasarkan batch terdekat dari tanggal kadaluwarsa (FEFO).
- And Menandai nomor batch spesifik yang dikurangi pada struk obat pasien untuk ketelusuran audit stok.
- And Memperbarui status farmasi menjadi
PREPARING.
Payroll Reporting¶
Laporan jasa medis tersedia untuk:
- Dokter: Slip jasa medis per bulan (rincian per tindakan, per hari, potongan PPh 21, netto THP).
- Klinik Manager: Rekapitulasi jasa medis semua dokter per bulan, split antara bagian klinik vs bagian dokter.
- Owner/Finance: Laporan laba-rugi klinik yang mengintegrasikan pendapatan pelayanan dengan biaya jasa medis yang harus dibayarkan.