Panduan MBS Food Cost
Admin / Keuangan / Owner

Menghitung & Membayar Payroll (Draf → Final → Dibayar)

Panduan Keuangan / Admin / Owner menghitung dan membayar gaji bulanan per outlet di MBS Food Cost. Sistem menghitung sendiri dari absensi + lembur yang sudah disetujui, Anda tinjau sebagai DRAF, tambahkan bonus/potongan bila perlu, lalu FINALKAN untuk membekukan angkanya. Setelah final, Anda unduh berkas Excel untuk transfer massal ke bank, lalu tandai DIBAYAR — biaya gaji otomatis tercatat sekali ke Opex (grup Gaji).

Untuk:KeuanganAdminOwner / Pemilik

Menu Payroll (grup Karyawan & Payroll) adalah tempat Anda menghitung gaji bulanan per outlet, lalu membayarkannya. Anda tidak mengetik gaji satu per satu — sistem menghitungnya sendiri dari absensi dan lembur yang sudah disetujui, lalu Anda tinjau, beri bonus/potongan bila perlu, finalkan, unduh berkas transfer, dan terakhir tandai dibayar.

Hanya Keuangan, Admin, dan Owner yang melihat menu ini. Manager tidak — manager yang mengisi bahan bakunya (absensi & lembur), tapi tidak boleh melihat angka gaji. Kalau manager membuka halaman ini, yang muncul "Akses ditolak".

Sekilas: tiap status artinya apa

StatusArtinyaMasih bisa diubah?
DrafAngka sudah dihitung, masih boleh diutak-atikYa
FinalAngka dibekukan — absensi periode ini terkunciTidak (harus void)
DibayarGaji sudah dibayarkan, biayanya sudah masuk Opex (Gaji)Tidak — ini terakhir
DibatalkanPayroll dibatalkan, absensi terbuka lagi

Dibayar itu status terakhir. Sesudahnya payroll tidak bisa diubah, dihitung ulang, atau dibatalkan — uangnya sudah keluar. Kalau ada yang salah, koreksinya lewat pembukuan, bukan dengan menghapus catatan (caranya di bawah).

🎓 Pahami dulu: dari mana angka gaji datang

Analogi sederhana

Bayangkan Anda menghitung gaji dengan buku absen dan kalkulator.

  1. Anda buka buku absen bulan itu, lalu hitung berapa hari tiap orang masuk dan berapa jam lembur yang sudah Anda setujui.
  2. Anda kalikan dengan tarif orang itu (tarif harian & tarif lembur per jam).
  3. Kalau ada THR atau potongan kasbon, Anda tambah/kurangi.
  4. Kalau sudah yakin, Anda tanda tangani kertasnya — sejak saat itu buku absen bulan itu tidak boleh dicoret-coret lagi, karena angkanya sudah dipakai membayar orang.

Halaman Payroll melakukan persis empat hal itu. Bedanya, hitungannya otomatis dan "tanda tangan" itu namanya Finalkan.

Cara kerjanya

Absensi & lemburDiisi karyawan, dibereskan manajer
Buat payroll drafSistem hitung otomatis
Tinjau & sesuaikanBonus / potongan bila perlu
FinalkanAngka beku, absensi terkunci
Unduh berkas transferExcel untuk bank
Tandai DibayarBiaya gaji masuk Opex

Kapan efeknya terjadi — ada DUA saat penting, jangan tertukar:

  1. Saat Anda tekan Finalkanabsensi periode itu terkunci. Payroll membaca absensi & lembur, ia tidak mengubahnya; selama masih Draf, manajer masih boleh mengoreksi absensi.
  2. Saat Anda tekan Tandai Dibayarbiaya gaji baru tercatat sebagai pengeluaran (Opex, grup Gaji), dan langsung muncul di Laba Rugi.

Jadi payroll yang masih Final tapi belum ditandai dibayar belum menambah biaya apa pun di laporan. Angkanya sudah beku, tapi uangnya belum dianggap keluar.

Uang keluar dua kali? Tidak — sistem menjaga itu

Ini bagian yang paling sering ditakutkan: "kalau saya klik dua kali, gajinya dicatat dua kali, dong?" Tidak.

  • Satu payroll = satu catatan biaya, selamanya. Berapa kali pun tombol Tandai Dibayar ditekan (dobel klik, dibuka lagi dari HP lain, koneksi putus lalu diulang), biaya gaji tetap tercatat satu kali saja.
  • Berkas Excel boleh diunduh berkali-kali — mengunduh berkas tidak memindahkan uang dan tidak mencatat apa pun. Yang mencatat biaya hanyalah tombol Tandai Dibayar.
  • Transfer uangnya tetap Anda lakukan sendiri di bank. MBS Food Cost tidak mengirim uang — ia hanya menyiapkan berkasnya dan mencatat biayanya.

Rumus yang dipakai sistem

BagianRumusnya
Upah PokokHari Hadir × Tarif Harian
Upah LemburJam Lembur disetujui × Tarif Lembur per Jam
BrutoUpah Pokok + Upah Lembur + semua Bonus
NetoBruto − semua Potongan

Yang perlu Anda tahu:

  • Hanya hari HADIR yang dibayar. Izin, sakit, cuti, dan alpa tidak menambah upah pokok.
  • Hanya lembur yang sudah DISETUJUI yang dihitung. Lembur yang masih menunggu persetujuan tidak ikut — nilainya nol. Kalau ada lembur yang belum Anda putuskan, minta manajer menyelesaikannya sebelum payroll dibuat.
  • Tarif dibekukan saat payroll dibuat. Kalau nanti tarif karyawan diubah di menu Level Upah, payroll yang sudah terlanjur dibuat tidak ikut berubah. Angkanya sudah "dipotret".
  • Karyawan yang lembur saja tetap dapat baris. Kalau seseorang tidak masuk sama sekali tapi punya lembur yang disetujui, ia tetap muncul dengan Hari Hadir 0 dan hanya dibayar lemburnya.

Kenapa penting

Kalau absensi masih bisa diubah setelah gaji dihitung, angka yang sudah Anda bayarkan bisa tidak cocok lagi dengan catatannya — dan Anda tidak akan tahu mana yang benar. Kunci setelah Final itulah yang menjaga catatan gaji dan catatan absensi selalu bercerita hal yang sama.

Sumber belajar

Alur lengkap: dari absensi sampai gaji dibayar

Contoh nyata: outlet BENOWO, periode 2026-07. Karyawan Budi masuk 3 hari, tarif hariannya Rp100.000. Ada THR Rp50.000 dan potongan kasbon Rp20.000.

1. Bereskan absensiAnomali & lembur tuntas dulu
2. Buat payroll drafPilih outlet + periode
3. Bonus & potonganTHR, kasbon, koreksi
4. FinalkanAngka beku
5. Unduh ExcelUnggah ke bank, transfer
6. Tandai DibayarBiaya masuk Opex
7. Slip gajiKaryawan unduh sendiri

Bereskan dulu absensi & lembur bulan itu

Minta manajer menuntaskan Kelola Absensi (tab Anomali dan tab Lembur) untuk periode itu: jam pulang yang terlewat diisi, yang tidak masuk ditandai, dan semua pengajuan lembur sudah Disetujui atau Ditolak.

Kalau masih ada sisa, payroll tetap bisa dibuat, tapi Anda akan melihat kotak kuning peringatan. Yang belum disetujui tidak akan dibayar.

👉 detail di Membereskan Absensi

Buat payroll draf

Buka PayrollBuat Payroll → pilih outlet BENOWO dan periode 2026-07Hitung payroll.

Hasilnya: muncul satu baris Draf. Budi tampil dengan Hari Hadir 3, Upah Pokok Rp300.000 (3 × Rp100.000), dan Neto Rp300.000.

👉 detail di Langkah 1

Tambahkan bonus & potongan

Buka payroll-nya, klik tanda + di baris Budi, lalu Tambah bonus/potongan. Isi Bonus / THR / 50000, simpan. Ulangi untuk Potongan / Kasbon / 20000.

Hasilnya: Bruto Rp350.000 (300.000 + 50.000) dan Neto Rp330.000 (350.000 − 20.000).

👉 detail di Langkah 2

Finalkan

Kalau semua angka sudah benar, tekan FinalkanYa, finalkan.

Hasilnya: status berubah jadi Final, tombol Hitung ulang dan Tambah bonus/potongan hilang, dan absensi Budi untuk 2026-07 terkunci.

👉 detail di Langkah 3

Unduh berkas Excel, lalu transfer di bank

Tekan Unduh Excel Disbursement. Berkasnya berisi satu baris per karyawan yang dibayar lewat transfer — nama bank, nomor rekening, nama pemilik rekening, jumlah, dan berita transfer.

Buka berkas itu, unggah ke layanan transfer massal bank Anda, lalu lakukan transfernya. MBS Food Cost tidak mengirim uang — Anda yang mengirim.

Hasilnya: berkas disbursement-2026-07-BENOWO.xlsx berisi satu baris Budi — BCA · 8720114455 · Budi Santoso · Rp330.000, berita GAJI 2026-07 Budi Santoso — dan satu baris TOTAL.

👉 detail di Langkah 4

Tandai Dibayar

Setelah uangnya benar-benar sudah ditransfer, kembali ke halaman payroll dan tekan Tandai Dibayar → periksa angkanya di kotak konfirmasi → Ya, tandai dibayar.

Hasilnya: status jadi Dibayar, dan biaya gaji Rp330.000 otomatis tercatat di Biaya Operasional (grup Gaji, kategori Gaji Karyawan) untuk periode 2026-07. Buka Laba Rugi BENOWO 2026-07 — baris Upah / Gaji sekarang Rp330.000.

👉 detail di Langkah 5

Karyawan mengunduh slip gajinya sendiri

Anda tidak perlu mengirim apa pun. Budi membuka menu Slip Gaji Saya di akunnya sendiri, dan 2026-07 · BENOWO · Rp330.000 sudah ada di sana — tinggal tekan Unduh Slip.

Kalau Budi tidak punya akun login, Anda yang mengunduhkan: di baris Budi ada tombol Unduh Slip (kolom Slip Gaji) — unduh PDF-nya, lalu berikan langsung ke Budi.

👉 detail di Langkah 7

Satu outlet selesai: (1) absensi beres → (2) draf dibuat → (3) bonus & potongan masuk → (4) angka dibekukan → (5) berkas diunduh & ditransfer → (6) ditandai dibayar, biaya masuk Opex → (7) slip gaji siap diunduh karyawan. Ulangi untuk outlet berikutnya.

Langkah 1 — Buat payroll draf

Tekan tombol ini di halaman Payroll

Pilih outlet dan periode

Isi Outlet (satu outlet, satu payroll) dan Periode (bulan), lalu tekan Hitung payroll. Muncul pesan "Payroll draft dibuat."

Satu outlet hanya boleh punya satu payroll aktif per bulan. Kalau Anda mencoba membuat yang kedua, sistem menolak: "Payroll untuk periode dan outlet ini sudah dibuat." Buka yang sudah ada, atau batalkan (void) dulu.

Baca kotak kuning kalau muncul

⚠️ Ada 4 catatan absensi yang belum beres di periode ini. Payroll tetap bisa dihitung, tapi sebaiknya dibereskan dulu di Kelola Absensi.

Ini peringatan, bukan larangan — payroll tetap jadi. Tapi artinya masih ada absensi yang belum beres, jadi angkanya mungkin belum betul. Sebaiknya bereskan dulu, lalu tekan Hitung ulang.

Langkah 2 — Tinjau & sesuaikan (bonus/potongan)

Klik baris payroll untuk membuka rinciannya. Bagian Rincian per Karyawan menampilkan Hari Hadir, Jam Lembur, Tarif Harian, Upah Pokok, Upah Lembur, Bruto, dan Neto tiap orang.

Hitung ulang kalau absensi baru saja dibereskan

Tekan Hitung ulang. Semua angka dihitung ulang dari data terbaru — termasuk tarif. Bonus/potongan yang sudah Anda isi tetap aman, menempel ke orangnya.

Tambahkan bonus atau potongan

Klik tanda + di sebelah kiri nama karyawan, lalu Tambah bonus/potongan. Isi:

  • JenisBonus (menambah) atau Potongan (mengurangi)
  • Keterangan — wajib diisi, contoh: THR, Potongan kasbon
  • Jumlah (Rp)selalu angka positif. Tanda minus datang dari Jenis, bukan dari Anda. Untuk potongan Rp20.000, ketik 20000 — bukan -20000.

Bruto dan Neto langsung menyesuaikan. Salah isi? Tekan ikon tempat sampah untuk menghapusnya.

Perhatikan kotak "Penyesuaian tanpa baris payroll"

Kalau setelah Hitung ulang ada karyawan yang hilang dari payroll (misalnya hari hadirnya berubah jadi nol), bonus/potongan miliknya tidak ikut hilang — ia pindah ke kotak ini dan tidak dihitung ke total. Hapus kalau memang tidak dipakai. Sistem sengaja tidak membuangnya diam-diam.

Langkah 3 — Finalkan (bekukan angka)

Pastikan angkanya sudah benar

Setelah Final, angka tidak bisa diubah lagi — satu-satunya jalan mundur adalah membatalkan (void) seluruh payroll dan mengulang.

Tekan Finalkan, lalu konfirmasi

Tekan FinalkanYa, finalkan. Muncul "Payroll difinalkan."

Yang terjadi:

  • Status jadi Final, angka dibekukan.
  • Data rekening & cara bayar tiap karyawan ikut dipotret saat ini — jadi kalau nanti karyawan mengganti nomor rekeningnya, pembayaran gaji bulan ini tidak ikut berubah.
  • Tombol Hitung ulang dan Tambah bonus/potongan hilang.
  • Absensi periode ini terkunci untuk karyawan yang ada di payroll ini.
  • Belum ada biaya yang tercatat. Angkanya beku, tapi Laba Rugi belum berubah — itu baru terjadi saat Anda Tandai Dibayar.

Langkah 4 — Unduh berkas transfer (Excel)

Berkas ini adalah daftar transfer yang Anda unggah ke layanan transfer massal bank. Isinya diambil dari data rekening yang dipotret saat Finalkan — jadi kalau karyawan mengganti nomor rekeningnya besok, berkas bulan ini tidak ikut berubah.

Tekan tombol ini

Tombolnya muncul saat status Final (dan tetap ada setelah Dibayar, kalau Anda perlu salinannya lagi).

Isi berkasnya

Satu baris per karyawan, plus satu baris TOTAL di bawah:

Nama BankNo. RekeningNama Pemilik RekeningJumlahBerita
BCA8720114455Budi Santoso330.000GAJI 2026-07 Budi Santoso
TOTAL330.0001 baris

Kolom Jumlah adalah angka betulan (bukan tulisan), jadi bisa Anda jumlahkan sendiri di Excel untuk mencocokkan totalnya sebelum transfer.

Unggah ke bank, lalu transfer

Buka layanan transfer massal bank Anda, unggah berkasnya, periksa totalnya, lalu kirim. Uangnya berpindah di bank, bukan di aplikasi ini.

Kalau ada karyawan yang datanya belum lengkap

Kalau ada karyawan transfer yang nama bank / nomor rekening / nama pemilik rekening-nya masih kosong, berkas tidak akan dibuat. Sistem menyebut namanya:

Data bank belum lengkap untuk: Budi Santoso. Perbaiki di menu Karyawan lalu batalkan (void) & hitung ulang payroll-nya, atau ubah metode pembayaran karyawan tersebut ke Tunai.

Ini disengaja — berkas dengan rekening kosong akan ditolak bank, atau lebih buruk, uangnya nyasar. Dua jalan keluarnya persis seperti yang tertulis di pesan itu.

Karyawan yang dibayar TUNAI tidak ikut di berkas

Karyawan yang metode bayarnya Tunai sengaja tidak dimasukkan ke berkas transfer — Anda membayarnya langsung, tidak lewat bank. Tapi gajinya tetap dihitung di total payroll dan tetap masuk biaya saat ditandai dibayar.

Kalau semua karyawan dibayar tunai, berkasnya tidak dibuat sama sekali: "Tidak ada baris transfer untuk diekspor — semua karyawan dibayar tunai." Itu bukan error — langsung saja lanjut ke Tandai Dibayar.

Langkah 5 — Tandai Dibayar

Ini langkah yang mencatat uangnya. Lakukan setelah transfer benar-benar selesai di bank — bukan sebelumnya.

Tekan tombol ini

Tombolnya hanya muncul saat status Final.

Periksa tiga angka di kotak konfirmasi

Sebelum menyetujui, kotaknya menampilkan Total Neto, Periode, dan Outlet. Baca ketiganya. Ini kesempatan terakhir Anda membatalkan — setelah disetujui, payroll ini tidak bisa diubah lagi.

Ada juga Tanggal bayar (opsional). Kosongkan saja kalau Anda menandainya di hari yang sama dengan transfernya. Isi kalau transfernya dilakukan di tanggal lain — biaya gajinya akan masuk ke periode tanggal itu.

Contoh: gaji bulan Juni yang baru Anda transfer tanggal 3 Juli → isi tanggal 3 Juli, maka biayanya masuk periode Juli (bulan uangnya keluar), walaupun payroll-nya periode Juni. Itu benar dan memang begitu seharusnya.

Tekan "Ya, tandai dibayar"

Muncul "Payroll ditandai dibayar. Biaya gaji tercatat di Opex."

Yang terjadi:

  • Status jadi Dibayar.
  • Satu baris biaya dibuat otomatis di Biaya Operasional — grup Gaji, kategori Gaji Karyawan, sebesar total neto payroll, sumber dana Transfer/Bank.
  • Di halaman payroll muncul tautan "Lihat biaya gaji di Opex" untuk membukanya.
  • Tombol Finalkan, Batalkan (void), dan Hitung ulang hilang semua — payroll ini sudah selesai.

Kalau tersambar dobel klik atau koneksi putus

Aman. Sistem hanya mencatat biayanya satu kali untuk satu payroll — sekeras apa pun tombolnya ditekan, atau dari HP mana pun Anda ulangi.

Kalau sudah dibayar tapi ada yang salah

Payroll yang sudah Dibayar tidak bisa dibatalkan atau dihitung ulang:

Payroll yang sudah dibayar tidak bisa dibatalkan. Koreksi lewat jurnal Opex manual.

Uangnya sudah keluar dari rekening — menghapus catatannya tidak akan menarik uang itu kembali, malah membuat pembukuan tidak cocok dengan rekening koran.

Cara mengoreksinya (sama seperti akuntan mengoreksi jurnal): buat entri pembalik di Biaya Operasional.

Buka Biaya OperasionalMenu Biaya Operasional
Buat entri grup GajiSebagai koreksi / pembalik
Tulis alasannyaSupaya jejaknya jelas

Kalau Anda membuat biaya grup Gaji untuk outlet & periode yang sudah punya payroll dibayar, sistem menampilkan pengingat:

Periode ini sudah punya payroll yang dibayar. Pastikan ini bukan gaji yang sama (hindari dobel catat).

Itu pengingat saja, bukan larangan — Anda tetap boleh menyimpan (memang ada gaji di luar payroll: bonus sekali jalan, tenaga harian lepas, THR yang dibayar terpisah). Yang penting Anda sadar dan tidak mencatat gaji yang sama dua kali.

Kenapa absensi terkunci setelah Final

Setelah payroll Final, manajer yang mencoba mengoreksi absensi bulan itu (mengisi jam pulang, menandai absen, membatalkan lembur) akan ditolak dengan pesan:

Periode payroll untuk karyawan ini sudah final. Batalkan (void) payroll-nya dulu untuk mengoreksi absensi.

Ini disengaja. Angka gaji sudah dipatok dari absensi itu; kalau absensinya diam-diam berubah, catatan gaji dan catatan absensi jadi tidak cocok.

Kalau memang ada yang harus dikoreksi, urutannya:

Batalkan (void) payrollBeri alasan
Koreksi absensiManajer bisa masuk lagi
Buat payroll baruAngka dihitung ulang

Langkah 6 — Batalkan (void) kalau ada yang salah

Tekan Batalkan (void)

Tombol ini hanya muncul saat status Final — yaitu sebelum ditandai dibayar. Isi Alasan pembatalan (wajib, contoh: ada koreksi absensi), lalu Ya, batalkan. Muncul "Payroll dibatalkan."

Apa yang terjadi

  • Status jadi Dibatalkan. Datanya tetap disimpan untuk jejak audit — tidak ada yang dihapus.
  • Absensi periode itu terbuka lagi — manajer bisa mengoreksi.
  • Anda boleh membuat payroll baru untuk outlet & periode yang sama.

Yang tidak bisa dibatalkan

Payroll yang sudah Dibayar tidak bisa di-void — uangnya sudah keluar. Koreksinya lewat pembukuan: Kalau sudah dibayar tapi ada yang salah.

Payroll Draf juga tidak perlu di-void — cukup Hitung ulang, atau biarkan saja.

Langkah 7 — Bagikan slip gaji karyawan

Setiap baris karyawan di payroll yang sudah Final atau Dibayar punya tombol Unduh Slip di kolom Slip Gaji. Tombol ini membuat slip gaji PDF untuk karyawan itu — rapi, berbahasa Indonesia, siap dicetak atau dikirim.

Sistem tidak mengirim slip lewat WhatsApp atau email. Ini disengaja: kuota WhatsApp dipakai untuk PO dan pengingat, bukan slip gaji. Karyawan mengambil slipnya sendiri dari menu Slip Gaji Saya. Tombol di halaman ini adalah jalur cadangan untuk karyawan yang tidak punya akun login — Anda unduhkan, lalu berikan langsung ke orangnya.

Tekan Unduh Slip di baris karyawannya

Slip PDF terbuka di tab baru dengan nama berkas seperti slip-gaji-2026-07-Budi_Santoso.pdf. Anda bisa mengunduhnya berkali-kali — isinya selalu sama.

Periksa isinya sebelum diberikan

Slip berisi: nama & level karyawan, hari hadir × tarif harian, jam lembur × tarif lembur, semua bonus & potongan, Bruto, Total Potongan, dan GAJI BERSIH (NETO) sebagai angka utama — plus status dan tanggal dibayar (kalau sudah Dibayar).

Angkanya diambil dari angka yang sudah dibekukan saat Finalkan — bukan dari tarif yang berlaku hari ini. Jadi kalau Anda menaikkan tarif harian bulan depan, slip bulan lalu tidak ikut berubah. Itu memang yang benar.

Tombol tidak muncul?

Kolom Slip Gaji hanya muncul di payroll Final atau Dibayar. Kalau statusnya masih Draf, tombolnya tidak ada — angkanya belum dibekukan, jadi belum boleh dijadikan slip. Finalkan dulu (Langkah 3).

Manager tidak bisa mengunduh slip siapa pun — sama seperti mereka tidak bisa melihat halaman Payroll. Ini bagian dari menjaga kerahasiaan gaji. Karyawan hanya bisa mengunduh slipnya sendiri, tidak bisa melihat slip rekannya.

Di halaman ini