BAB I
PENDAHULUAN
A. Pendahuluan
Administrasi penggajian/payroll adalah pekerjaan rutin dan merupakan salah satu
bagian te...
BAB II
PEMBAHASAN
A. Defenisi
Administrasi penggajian/payroll adalah pekerjaan rutin dan merupakan salah satu bagian
terpe...
2. Tahap 2 : Penentuan Atribut
bonus, golongan, hari_kerja, jabatan, kehadiran, pajak, pegawai, periode, perusahaan,
poton...
3. Tahap 3 : Penentuan Kardinalitas Relasi
4. Tahap 4 : Pembuaatan ERD
C. Cara Membuat Koneksi ODBC Setelah ERD terbentuk ...
Klik tombol Finish
Maka akan tampil jendela form konfigurasi seperti di bawah ini
Pada Bingkai Connection Parameters isi d...
Contoh Dari pengaturan ODBC mySQL yang sudah saya gunakan
D. Setelah tabel selesai di buat, kita lanjutkan untuk membuat q...
c. Query Daftar Gaji
d. Query Untuk Mencari Jumlah Hari
e. Query Slip Gaji
Simtak :
select `pegawai`.`nama_karyawan0108` A...
`tunjangan_jabatan0108`,((`mutia`.`Total_Jam_Lembur` / 3600) * 7500) AS
`Pendapatan_Lembur`,((((`golongan`.`gaji_pokok0108...
`jabatan`) join `slip_gaji_pegawai`) where ((`pegawai`.`kode_jabatan0108` =
`jabatan`.`kode_jabatan0108`) and (`pegawai`.`...
Designer merupakan software Report yang digunakan untuk menapilkan data
yang ada di database, biasanya ini digunakan untuk...
2. Pembuatan Form Pegawai
LAPORAN PEGAWAI
Simtak Untuk Data pegawai :
Private Sub Combo1_Click()
Text5.SetFocus
End Sub
Private Sub Combo2_Click()
Text8.SetFocus
End Sub
Private Sub Combo3_Click()
Combo4.SetFocus
End Sub
Private Sub Combo4_Cl...
Private Sub Command7_Click()
bersih
Tidak_Aktiv
kondisi
Hitung
End Sub
Private Sub Command8_Click()
CommonDialog1.Filter =...
DTPicker4 = Date
Adodc1.Visible = False
End Sub
Private Sub bersih()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4...
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enable...
Combo7.Enabled = True
'Label27.Enabled = True
'Label28.Enabled = True
'Label29.Enabled = True
'Label30.Enabled = True
DTPi...
Private Sub Kd_Golongan()
Konek
strSQL = "select golongan0108 From golongan"
Set rs = conn.Execute(strSQL)
Combo7.Clear
Do...
rs!no_telp0108 = Trim(Text5.Text)
rs!no_ktp0108 = Trim(Text6.Text)
rs!pendidikan_akhir0108 = Trim(Combo4.Text)
rs!agama010...
rs!no_ansuransi0108 = Trim(Text11.Text)
rs!kode_jabatan0108 = Trim(Combo6.Text)
rs!golongan0108 = Trim(Combo7.Text)
rs!no_...
Text8.Text = rs!jumlah_anak
Combo3.Text = rs!agama0108
Combo4.Text = rs!pendidikan_akhir0108
Combo5.Text = rs!kebangsaaan0...
If rs.EOF Then
MsgBox "Data Tidak Ditemukan!", vbInformation, "Informasi"
Else
Pesan = MsgBox("Yakin Data Akan Di Hapus ?"...
LAPORAN GOLONGAN PEGAWAI
Simtak form golongan :
Private Sub add_Click()
add.Enabled = False
save.Enabled = True
edit.Enabl...
End Sub
Private Sub cetak_Click()
CrystalReport1.ReportFileName = "D:semester4pak budipayrollgolongan108.rpt"
CrystalRepor...
Adodc1.ConnectionString = strKon
Adodc1.RecordSource = "select * from golongan"
Adodc1.Refresh
With DataGrid1
Set .DataSou...
bersih
MsgBox "Data Golongan Sudah Di Perbaiki", vbInformation, "Pesan"
'Manajemen Tombol
tampil_ke_object
add.Enabled = T...
Private Sub Text1_Change()
'membatasi input pada text
If rs.State = adStateOpen Then
rs.Close
End If
If Len(Text1.Text) <>...
Exit Sub
Else
Text1.Text = "" & Adodc1.Recordset.Fields("golongan0108")
Text2.Text = "" & Adodc1.Recordset.Fields("gaji_po...
4. Pembuatan untuk form jabatan
LAPORAN DATA JABATAN
Simtak :
Simtak tabel jabatan hampir sama dengan simtak dari form gol...
5. Pembuatan Untuk Form Kehadiran
LaporanKehadiranPegawai Dan UangLembur
Simtak Untuk Kehadiran :
Private Sub Combo1_Click...
Private Sub nonik()
Konek
strSQL = "select nik0108 From pegawai order by nik0108 asc"
Set rs = conn.Execute(strSQL)
Combo1...
Private Sub Command4_Click()
Label2.Caption = ""
Combo1.Text = "Pilih NIK"
End Sub
Private Sub Command5_Click()
cetak
End ...
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Do Until Me.Top <= -50000
DoEvents
Me.Move Me...
LaporanRekapitulasi Pegawai
Simtaknya :
Private Sub Combo1_Click()
Konek
strSQL = "select nama_karyawan0108 from pegawai w...
Private Sub Command3_Click()
Unload Me
End
End Sub
Private Sub Command4_Click()
Label2.Caption = ""
Combo1.Text = "Pilih N...
Konek
strSQL = "select nik0108 From pegawai"
Set rs = conn.Execute(strSQL)
Combo1.Clear
Do While Not rs.EOF
Combo1.Refresh...
7.Form Slip Gaji
 Laporan Slip Gaji
Simtak Pada Vb Pada form Slip Gaji sama dengan Simtak Pada Kehadiran, hanya saja
yang...
BAB III
PENUTUP
Kesimpulan
Payroll dapat menghemat waktu dan uang perusahaan. Hal ini memungkinkan
bisnis untuk tidak memb...
payroll
payroll
payroll
Upcoming SlideShare
Loading in...5
×

payroll

539

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
539
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

payroll

  1. 1. BAB I PENDAHULUAN A. Pendahuluan Administrasi penggajian/payroll adalah pekerjaan rutin dan merupakan salah satu bagian terpenting dalam manajemen perusahaan. Proses perhitungan gaji harus dapat dilakukan dengan cepat, tepat dan akurat. Untuk dapat melakukan administrasi penggajian yang baik diperlukan pengetahuan dan pemahaman yang komprehensif tentang administrasi penggajian. Administrasi penggajian harus sesuai dengan hukum dan perundang-undangan yang berlaku seperti UU Tenaga Kerja, Perpajakan, Jamsostek dan menunjang keberhasilan perusahaan. Untuk itu profesional dalam bidang HRD/Payroll dituntut mampu melaksanakan proses administrasi penggajian mulai dari pemahaman terhadap konsep penggajian, proses perhitungan dan pembuatan laporan penggajian. B. Tujuan 1. Mengerti dan memahami konsep penggajian dan kesejahteraan bagi karyawan. 2. Membuat perhitungan lembur, cuti, absensi, klaim medical dsb. 3. Menghitung PPh 21 dengan berbagai metode seperti gross dan membuat laporannya. 4. Menghitung dan membuat laporan tenaga kerja. 5. Menyusun komponen gaji , pendapatan dan potongan serta mengkalkulasi proses perhitungan gaji mulai dari input data, proses dan pembuatan laporan penggajian.
  2. 2. BAB II PEMBAHASAN A. Defenisi Administrasi penggajian/payroll adalah pekerjaan rutin dan merupakan salah satu bagian terpenting dalam manajemen perusahaan. Proses perhitungan gaji harus dapat dilakukan dengan cepat, tepat dan akurat. Untuk dapat melakukan administrasi penggajian yang baik diperlukan pengetahuan dan pemahaman yang komprehensif tentang administrasi penggajian. Administrasi penggajian harus sesuai dengan hukum dan perundang- undangan yang berlaku seperti UU Tenaga Kerja, Perpajakan, Jamsostek dan menunjang keberhasilan perusahaan. Untuk itu profesional dalam bidang HRD/Payroll dituntut mampu melaksanakan proses administrasi penggajian mulai dari pemahaman terhadap konsep penggajian, proses perhitungan dan pembuatan laporan penggajian. B. Tahapan Pembuatan ERD Untuk memulai pengerjaan System Payroll ini saya mulai dengan membuat Database terlebih dahulu, yang terdiri dari 11 Tabel yaitu : 1. Tahap 1: Penentuan Entities
  3. 3. 2. Tahap 2 : Penentuan Atribut bonus, golongan, hari_kerja, jabatan, kehadiran, pajak, pegawai, periode, perusahaan, potongan, tarif lembur
  4. 4. 3. Tahap 3 : Penentuan Kardinalitas Relasi 4. Tahap 4 : Pembuaatan ERD C. Cara Membuat Koneksi ODBC Setelah ERD terbentuk pada program payroll sebagai berikut : Masuk ke dalam Jendela Control Panel (Start - Control Panel) Pilih Administrative Tools Pilih Data Source (ODBC) Tampil Jendela ODBC Data Source Administrator, Pilih Add Pada Jendela Create New Data Source, Pilih MySQL ODBC 5.1w Driver
  5. 5. Klik tombol Finish Maka akan tampil jendela form konfigurasi seperti di bawah ini Pada Bingkai Connection Parameters isi dengan ketentuan sebagai berikut : 1. Data Source Name, merupakan Nama Data Source yang akan digunakan dalam koneksi dengan Basis Data. 2. Description, untuk mendeskripsikan koneksi Basisdata yang anda buat. Text ini boleh dikosongkan 3. Server, jika hanya untuk local computer gunakan localhost atau isi dengan IP 127.0.0.1. Jika untuk koneksi ke server atau client gunakan IP Address Komputer server tujuan. 4. User adalah nama user/pengguna, untuk default dari database MySQL isi dengan root 5. Password diisi sesuai dengan password user 6. Database merupakan database yang akan digunakan dalam koneksi. Pilih sesuai dengan database yang akan dituju 7. Untuk mencoba koneksi database, klik tombol Test 8. Jika selesai, klik tombol OK
  6. 6. Contoh Dari pengaturan ODBC mySQL yang sudah saya gunakan D. Setelah tabel selesai di buat, kita lanjutkan untuk membuat querynya : a. Query Daftar Pegawai b. Query Kehadiran
  7. 7. c. Query Daftar Gaji d. Query Untuk Mencari Jumlah Hari e. Query Slip Gaji Simtak : select `pegawai`.`nama_karyawan0108` AS `nama_karyawan0108`,`pegawai`.`nik0108` AS `nik0108`,`jabatan`.`nama_jabatan0108` AS `nama_jabatan0108`,`golongan`.`golongan0108` AS `golongan0108`,`pegawai`.`status_kawin0108` AS `status_kawin0108`,`golongan`.`gaji_pokok0108` AS `gaji_pokok0108`,`jabatan`.`uang_makan0108` AS `uang_makan0108`,`jabatan`.`tunjangan_transport0108` AS `tunjangan_transport0108`,`jabatan`.`tunjangan_jabatan0108` AS
  8. 8. `tunjangan_jabatan0108`,((`mutia`.`Total_Jam_Lembur` / 3600) * 7500) AS `Pendapatan_Lembur`,((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) AS `total_gaji`,if((`pegawai`.`status_kawin0108` = 'Belum Menikah'),((((((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) * 12) - 24300000) * 0.05) / 12),((((((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) * 12) - 26325000) * 0.05) / 12)) AS `PPh21`,if((`pegawai`.`status_kawin0108` = 'Belum Menikah'),(((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) - ((((((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) * 12) - 24300000) * 0.05) / 12)),(((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) - ((((((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `jabatan`.`tunjangan_jabatan0108`) + ((`mutia`.`Total_Jam_Lembur` / 3600) * 7500)) * 12) - 26325000) * 0.05) / 12))) AS `gaji_diterima` from ((((`pegawai` join `jabatan`) join `golongan`) join `mutia`) join `jabatan`) where ((`pegawai`.`kode_jabatan0108` = `jabatan`.`kode_jabatan0108`) and (`golongan`.`golongan0108` = `pegawai`.`golongan0108`) and (`pegawai`.`nik0108` = `mutia`.`nik0108`) and (`pegawai`.`nama_karyawan0108` = `mutia`.`nama_karyawan0108`)) group by `pegawai`.`nik0108` order by `pegawai`.`nik0108`; f. Queri Rekapitulasi Gaji Simtak : select `pegawai`.`nik0108` AS `nik0108`,` pegawai`.`nama_karyawan0108` AS `nama_karyawan0108`,`slip_gaji_pegawai`.`total_gaji` AS `total_gaji_0108`,`slip_gaji_pegawai`.`Pendapatan_Lembur` AS `pendapatan_lembur`,`slip_gaji_pegawai`.`PPh21` AS `PPh21`,((((`golongan`.`gaji_pokok0108` + `jabatan`.`uang_makan0108`) + `jabatan`.`tunjangan_transport0108`) + `slip_gaji_pegawai`.`Pendapatan_Lembur`) - `slip_gaji_pegawai`.`PPh21`) AS `gaji_diterima` from (((`pegawai` join `golongan`) join
  9. 9. `jabatan`) join `slip_gaji_pegawai`) where ((`pegawai`.`kode_jabatan0108` = `jabatan`.`kode_jabatan0108`) and (`pegawai`.`golongan0108` = `jabatan`.`golongan0108`) and (`pegawai`.`nik0108` = `slip_gaji_pegawai`.`nik0108`) and (`pegawai`.`golongan0108` = `slip_gaji_pegawai`.`golongan0108`)); E. SETELAH ITU MULAILAH KITA MENDESAIN FORM PADA VISUAL BASIC. Pembuatan Rumus Pada Vb yang ada pada Payroll : Adapun form yang penulis desain adalah : 1. Module Public Conn As New ADODB.Connection Public Rs As New ADODB.Recordset Public strKon As String Public strSQL As String Public Tempat As String Public Sub konek() strKon = "driver={MySQL ODBC 3.51 Driver};" _ & "SERVER=localhost;" _ & "DATABASE=payroll;" _ & "port=3306;" _ & "user=root;" _ & "option=3;" If Conn.State = adStateOpen Then Conn.Close Conn.CursorLocation = adUseClient Set Conn = New ADODB.Connection Conn.Open strKon Else Conn.Open strKon End If End Sub Note : Pastikan komputer anda sudah aktive SQL servernya Pastikan Komputer Anda sudah Aktive VB nya Pastikan Database anda dan tabel anda sudah bisa di gunakan Pastikan seting ODBC anda sudah aktive Langkah langkah yang harus dipersiapkan untuk memulai sebuah proyek adalah menyiapkan folder kusus untuk sistem yang kita bangun. didalam folder tersebut terdapat file file program, database, gambar, icon dll. Didalam VB kita bisa membuat sebuah project yang terdidi dari Form, modul dan Designer. Form adalah wadah tempat kita meletakan tools dan menulis bahasa program. Sedangkan modul dapat digunakan seagai sebuah mesin prosedur yang bisa digiunakan ketika kita ingin mejlankan sebuak sistem pada form, biasanya modul digunakan untuk melakukan koneksi ke database. Dan
  10. 10. Designer merupakan software Report yang digunakan untuk menapilkan data yang ada di database, biasanya ini digunakan untuk pencetakan data ke printer. 2. Cara Pembuatan MDI From seperti ini : Proses Pembuatan ini : a. Kita Klik Menu Editor yang ada pada toolbar b. Setelah kita tekan menu editor maka akan muncul kotak dialog seperti ini dan ini datanya dengan field yang tidak boleh sama :
  11. 11. 2. Pembuatan Form Pegawai LAPORAN PEGAWAI Simtak Untuk Data pegawai : Private Sub Combo1_Click() Text5.SetFocus End Sub
  12. 12. Private Sub Combo2_Click() Text8.SetFocus End Sub Private Sub Combo3_Click() Combo4.SetFocus End Sub Private Sub Combo4_Click() Combo5.SetFocus End Sub Private Sub Combo6_Click() Combo7.SetFocus End Sub Private Sub Command1_Click() Unload Me Ini Simtak Untuk Tombol Keluar End Sub Private Sub Command2_Click() kondisi Aktiv notis Text2.SetFocus End Sub Private Sub Command3_Click() Simpan Proseder untuk memanggil Proseder simpan dan hitung yang telah ada Hitung End Sub Private Sub Command4_Click() Simpan Hitung End Sub Private Sub Command5_Click() Aktiv Text1.SetFocus Hitung End Sub Private Sub Command6_Click() Hapus bersih kondisi Hitung End Sub
  13. 13. Private Sub Command7_Click() bersih Tidak_Aktiv kondisi Hitung End Sub Private Sub Command8_Click() CommonDialog1.Filter = "Picture files (*.jpg;*.bmp;*.gif;*.png)|*.jpg;*.bmp;*.gif;*.png" CommonDialog1.ShowOpen Image1.Picture = LoadPicture(CommonDialog1.FileName) Image1.Visible = True Text15.Text = CommonDialog1.FileName End Sub Private Sub Command9_Click() CrystalReport1.ReportFileName = "D:semester4pak budipayrollkepegawaian.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 0 End Sub Private Sub Commbo8_Click() CommonDialog1.Filter = "Picture files (*.jpg;*.bmp;*.gif;*.png)|*.jpg;*.bmp;*.gif;*.png" CommonDialog1.ShowOpen Image1.Picture = LoadPicture(CommonDialog1.FileName) Image1.Visible = True Text15.Text = CommonDialog1.FileName End Sub Private Sub Form_Load() Tidak_Aktiv bersih jk status Agama Pendidikan Kd_Jabatan Kd_Golongan Kebangsaan Hitung 'Label27.Caption = Format(Date, "dd mmmm yyyy") 'Label28.Caption = Format(Date, "dd mmmm yyyy") 'Label29.Caption = Format(Date, "dd mmmm yyyy") 'Label30.Caption = Format(Date, "dd mmmm yyyy") DTPicker5 = Date DTPicker2 = Date DTPicker3 = Date
  14. 14. DTPicker4 = Date Adodc1.Visible = False End Sub Private Sub bersih() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text9.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Text14.Text = "" Combo1.Text = "" Combo2.Text = "" Combo3.Text = "" Combo4.Text = "" Combo5.Text = "" Combo6.Text = "" Combo7.Text = "" End Sub Private Sub notis() Konek strSQL = "select max(right(nik0108,3)) as urut from pegawai" Set rs = conn.Execute(strSQL) If Not rs.EOF Then a = "" & rs("urut") bil = Right(a, 2.1) If bil = "0" Or bil = "" Then Text1.Text = "M" + "001" Else Text1.Text = Format("M" & "00" & bil + 1) End If Else Text1.Text = "M" + "001" End If End Sub Private Sub jk() Combo1.Text = "Pilih Jenis Kelamin" Combo1.AddItem ("Pria") Combo1.AddItem ("Perempuan") End Sub Private Sub Tidak_Aktiv() Text1.Enabled = False
  15. 15. Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False Text7.Enabled = False Text8.Enabled = False Text9.Enabled = False Text10.Enabled = False Text11.Enabled = False Text12.Enabled = False Text13.Enabled = False Text14.Enabled = False Combo1.Enabled = False Combo2.Enabled = False Combo3.Enabled = False Combo4.Enabled = False Combo5.Enabled = False Combo6.Enabled = False Combo7.Enabled = False 'Label27.Enabled = False 'Label28.Enabled = False 'Label29.Enabled = False 'Label30.Enabled = False DTPicker5.Enabled = False DTPicker2.Enabled = False DTPicker3.Enabled = False DTPicker4.Enabled = False End Sub Private Sub Aktiv() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True Text8.Enabled = True Text9.Enabled = True Text10.Enabled = True Text11.Enabled = True Text12.Enabled = True Text13.Enabled = True Combo1.Enabled = True Combo2.Enabled = True Combo3.Enabled = True Combo4.Enabled = True Combo5.Enabled = True Combo6.Enabled = True
  16. 16. Combo7.Enabled = True 'Label27.Enabled = True 'Label28.Enabled = True 'Label29.Enabled = True 'Label30.Enabled = True DTPicker5.Enabled = True DTPicker2.Enabled = True DTPicker3.Enabled = True DTPicker4.Enabled = True End Sub Private Sub status() Combo2.Text = "Pilih Status" Combo2.AddItem ("Belum Menikah") Combo2.AddItem ("Menikah") Combo2.AddItem ("Cerai") End Sub Private Sub Agama() Combo3.Text = "Pilih Agama" Combo3.AddItem ("Islam") Combo3.AddItem ("Kristen Katolik") Combo3.AddItem ("Kristen Protesta") Combo3.AddItem ("Budha") Combo3.AddItem ("Hindu") End Sub Private Sub Pendidikan() Combo4.Text = "Pilih Pendidikan" Combo4.AddItem ("S3") Combo4.AddItem ("S2") Combo4.AddItem ("S1") Combo4.AddItem ("D3") Combo4.AddItem ("SMA") Combo4.AddItem ("SMP") Combo4.AddItem ("SD") End Sub Private Sub Kd_Jabatan() Konek strSQL = "select kode_jabatan0108 From jabatan" Set rs = conn.Execute(strSQL) Combo6.Clear Do While Not rs.EOF Combo6.Refresh Combo6.Text = "Pilih Kode Jabatan" Combo6.AddItem Trim(rs("kode_jabatan0108")) rs.MoveNext Loop End Sub
  17. 17. Private Sub Kd_Golongan() Konek strSQL = "select golongan0108 From golongan" Set rs = conn.Execute(strSQL) Combo7.Clear Do While Not rs.EOF Combo7.Refresh Combo7.Text = "Pilih Kode Golongan" Combo7.AddItem Trim(rs("golongan0108")) rs.MoveNext Loop End Sub Private Sub Kebangsaan() Combo5.Text = "Pilih Kebangsaan" Combo5.AddItem ("Indonesia") Combo5.AddItem ("Warga Negara Asing") End Sub 'Menghitung Jumlah Data Private Sub Hitung() Konek strSQL = "select COUNT(nik0108) as banyak from pegawai" Set rs = conn.Execute(strSQL) If Not rs.EOF Then X1 = "" & rs("banyak") Else X1 = 0 End If Text14.FontSize = 13 Text14.Text = X1 End Sub Private Sub Simpan() 'Cek 'On Error GoTo Bantu: Konek Set rs = New ADODB.Recordset rs.Open "select * from pegawai where nik0108 = '" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic If Not rs.EOF Then Set rs = New ADODB.Recordset rs.Open "select * from pegawai where nik0108 ='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic rs!nik0108 = Trim(Text1.Text) rs!nama_karyawan0108 = Trim(Text2.Text) rs!tempat_lahir108 = Trim(Text3.Text) rs!tgl_lahir0108 = Trim(Label27.Caption) 'rs!tgl_lahir0108 = Trim(DTPicker5) rs!no_npwp0108 = Trim(Text9.Text) rs!tgl_daftar_npwp0108 = Trim(Label28.Caption) 'rs!tgl_daftar_npwp0108 = Trim(DTPicker2) rs!alamat0108 = Trim(Text4.Text)
  18. 18. rs!no_telp0108 = Trim(Text5.Text) rs!no_ktp0108 = Trim(Text6.Text) rs!pendidikan_akhir0108 = Trim(Combo4.Text) rs!agama0108 = Trim(Combo3.Text) rs!tgl_masuk_kerja0108 = Trim(Label29.Caption) rs!tgl_berhenti0108 = Trim(Label30.Caption) 'rs!tgl_masuk_kerja0108 = Trim(DTPicker3) 'rs!tgl_berhenti0108 = Trim(DTPicker4) rs!jenis_kelamin0108 = Trim(Combo1.Text) rs!jenis_pegawai0108 = Trim(Text7.Text) rs!kebangsaaan0108 = Trim(Combo5.Text) rs!status_kawin0108 = Trim(Combo2.Text) rs!no_jamsostek0108 = Trim(Text10.Text) rs!no_asuransi91 = Trim(Text11.Text) rs!kode_jabatan0108 = Trim(Combo6.Text) rs!golongan0108 = Trim(Combo7.Text) rs!no_rek_bank0108 = Trim(Text12.Text) rs!nama_bank0108 = Trim(Text13.Text) rs!jumlah_anak = Trim(Text8.Text) rs.Update rs.Close bersih MsgBox "Data Jabatan Sudah Di Perbaiki", vbInformation, "Pesan" Else 'Simpan Set rs = New ADODB.Recordset rs.Open "select * from pegawai", conn, adOpenStatic, adLockOptimistic rs.AddNew rs!nik0108 = Trim(Text1.Text) rs!nama_karyawan0108 = Trim(Text2.Text) rs!tempat_lahir108 = Trim(Text3.Text) 'rs!tgl_lahir0108 = Trim(Label27.Caption) rs!tgl_lahir0108 = Trim(DTPicker5) rs!no_npwp0108 = Trim(Text9.Text) 'rs!tgl_daftar_npwp0108 = Trim(Label28.Caption) rs!tgl_daftar_npwp0108 = Trim(DTPicker2) rs!alamat0108 = Trim(Text4.Text) rs!no_telp0108 = Trim(Text5.Text) rs!no_ktp0108 = Trim(Text6.Text) rs!pendidikan_akhir0108 = Trim(Combo4.Text) rs!agama0108 = Trim(Combo3.Text) 'rs!tgl_masuk_kerja0108 = Trim(Label29.Caption) 'rs!tgl_berhenti0108 = Trim(Label30.Caption) rs!tgl_masuk_kerja0108 = Trim(DTPicker3) rs!tgl_berhenti0108 = Trim(DTPicker4) rs!jenis_kelamin0108 = Trim(Combo1.Text) rs!jenis_pegawai0108 = Trim(Text7.Text) rs!kebangsaaan0108 = Trim(Combo5.Text) rs!status_kawin0108 = Trim(Combo2.Text) rs!no_jamsostek0108 = Trim(Text10.Text)
  19. 19. rs!no_ansuransi0108 = Trim(Text11.Text) rs!kode_jabatan0108 = Trim(Combo6.Text) rs!golongan0108 = Trim(Combo7.Text) rs!no_rek_bank0108 = Trim(Text12.Text) rs!nama_bank0108 = Trim(Text13.Text) rs!jumlah_anak = Trim(Text8.Text) rs.Update rs.Close bersih 'MsgBox "Data Jabatan Sudah Di Simpan", vbInformation, "Informasi" 'Bantu: 'If Err.Number = 0 Then 'Exit Sub 'Else 'MsgBox "Ada Kesalahan pada Proses Data", vbInformation, "Informasi" 'End If End If End Sub Private Sub Text1_Change() On Error GoTo Bantu: 'Membatasi Input Pada Text If rs.State = adStateOpen Then rs.Close End If If Len(Text1.Text) <> 13 Then Close Else Aktiv Text2.SetFocus End If Konek Set rs = New ADODB.Recordset rs.Open "select * from pegawai where nik0108='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic If Not rs.EOF Then Set rs = New ADODB.Recordset rs.Open "select * from pegawai where nik0108='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic Text1.Text = rs!nik0108 Text2.Text = rs!nama_karyawan0108 Text3.Text = rs!tempat_lahir108 Label27.Caption = rs!tgl_lahir0108 'DTPicker5 = rs!tgl_lahir0108 Text4.Text = rs!alamat0108 Combo1.Text = rs!jenis_kelamin0108 Text5.Text = rs!no_telp0108 Text6.Text = rs!no_ktp0108 Text7.Text = rs!jenis_pegawai0108 Combo2.Text = rs!status_kawin0108
  20. 20. Text8.Text = rs!jumlah_anak Combo3.Text = rs!agama0108 Combo4.Text = rs!pendidikan_akhir0108 Combo5.Text = rs!kebangsaaan0108 Combo6.Text = rs!kode_jabatan0108 Combo7.Text = rs!golongan0108 'Label29.Caption = rs!tgl_masuk_kerja0108 'Label30.Caption = rs!tgl_berhenti0108 'Label28.Caption = rs!tgl_daftar_npwp0108 DTPicker3 = rs!tgl_masuk_kerja0108 DTPicker4 = rs!tgl_berhenti0108 DTPicker2 = rs!tgl_daftar_npwp0108 Text9.Text = rs!no_npwp0108 Text10.Text = rs!no_jamsostek0108 Text11.Text = rs!no_asuransi91 Text12.Text = rs!no_rek_bank0108 Text13.Text = rs!nama_bank0108 Bantu: If Err.Number = 0 Then Exit Sub Else MsgBox "Pengimputan Data Salah !", vbInformation, "Informasi" End If bersih End If End Sub Private Sub kondisi() Combo1.Text = "Pilih Jenis Kelamin" Combo2.Text = "Pilih Status" Combo3.Text = "Pilih Agama" Combo4.Text = "Pilih Pendidikan" Combo5.Text = "Pilih Kebangsaan" Combo6.Text = "Pilih Kode Jabatan" Combo7.Text = "Pilih Kode Golongan" End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Do Until Me.Top <= -50000 DoEvents Me.Move Me.Left, Me.Top - 5 DoEvents Loop Unload Me End Sub Private Sub Hapus() On Error GoTo Bantu: Konek strSQL = "Select * from pegawai where nik0108='" & Trim(Text1.Text) & "'" Set rs = conn.Execute(strSQL)
  21. 21. If rs.EOF Then MsgBox "Data Tidak Ditemukan!", vbInformation, "Informasi" Else Pesan = MsgBox("Yakin Data Akan Di Hapus ?", vbYesNo, "Peringatan") If Pesan = vbYes Then strSQL = "delete from pegawai where nik0108='" & Trim(Text1.Text) & "'" conn.Execute (strSQL) MsgBox "Data Berhasil Di Hapus", vbInformation, "Informasi" Else 'Manajemen Tombol Bantu: If Err.Number = 0 Then Exit Sub Else MsgBox "Ada Kesalahan pada Koneksi Database", vbInformation, "Informasi" End If End If End If bersih End Sub 3. Pembuatan Form Golongan
  22. 22. LAPORAN GOLONGAN PEGAWAI Simtak form golongan : Private Sub add_Click() add.Enabled = False save.Enabled = True edit.Enabled = False delete.Enabled = False cetak.Enabled = False batal.Enabled = True AKTIF bersih Text1.SetFocus End Sub Private Sub AKTIF() Text1.Enabled = True Text2.Enabled = True End Sub Private Sub tidak_aktif() Text1.Enabled = False Text2.Enabled = False End Sub Private Sub bersih() Text1.Text = "" Text2.Text = "" End Sub Private Sub batal_click() bersih tampil_ke_object delete.Enabled = False edit.Enabled = False save.Enabled = False add.Enabled = True cetak.Enabled = True tidak_aktif
  23. 23. End Sub Private Sub cetak_Click() CrystalReport1.ReportFileName = "D:semester4pak budipayrollgolongan108.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 0 End Sub Private Sub DataGrid1_RowColChange(lastrow As Variant, ByVal lastcol As Integer) tampil_ke_object End Sub Private Sub delete_Click() Hapus_data End Sub Private Sub edit_Click() AKTIF add.Enabled = False save.Enabled = True edit.Enabled = False delete.Enabled = False Text1.Enabled = False cetak.Enabled = False End Sub Private Sub Form_Load() bersih tampil 'tampildataGOLONGAN Adodc1.Visible = False tidak_aktif End Sub Private Sub tampildataGOLONGAN() Konek Adodc1.ConnectionString = strKon Adodc1.RecordSource = "select * from golongan order by golongan0108 asc" Adodc1.Refresh With DataGrid1 Set .DataSource = Adodc1 .Caption = "Daftar Golongan [System Payroll]" End With DataGrid1.Columns(0).Width = 1200 DataGrid1.Columns(1).Width = 1800 DataGrid1.Columns(0).Caption = "Golongan" DataGrid1.Columns(1).Caption = "Gaji Pokok" End Sub Private Sub tampil() Konek
  24. 24. Adodc1.ConnectionString = strKon Adodc1.RecordSource = "select * from golongan" Adodc1.Refresh With DataGrid1 Set .DataSource = Adodc1 .Caption = "DATA golongan" .Columns(0).Width = 1000 .Columns(0).Caption = "golongan0108" .Columns(1).Width = 1900 .Columns(1).Caption = "gaji_pokok0108" End With 'Menghitung Jumlah DATA golongan Konek strSQL = "select COUNT(golongan0108) as banyak from golongan" Set rs = conn.Execute(strSQL) If Not rs.EOF Then X1 = "" & rs("banyak") Else X1 = 0 End If Text3.FontSize = 13 Text3.Text = X1 End Sub Private Sub Simpan() On Error GoTo Bantu: If Text1.Text = "" Or Text2.Text = "" Then Text3.Text = "Semua Data Harus DiIsi" Text1.SetFocus Exit Sub End If If Text2.Text = "" Then MsgBox "Data Harus Diisi Semua !", 48, "Pesan" Text2.SetFocus Exit Sub End If Konek Set rs = New ADODB.Recordset rs.Open "select * from golongan where golongan0108='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic If Not rs.EOF Then Set rs = New ADODB.Recordset rs.Open "select * from golongan where golongan0108 ='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic rs!golongan0108 = Trim(Text1.Text) rs!gaji_pokok0108 = Trim(Text2.Text) rs.Update rs.Close
  25. 25. bersih MsgBox "Data Golongan Sudah Di Perbaiki", vbInformation, "Pesan" 'Manajemen Tombol tampil_ke_object add.Enabled = True save.Enabled = False edit.Enabled = False delete.Enabled = False cetak.Enabled = True tidak_aktif Else 'Simpan Set rs = New ADODB.Recordset rs.Open "select * from golongan", conn, adOpenStatic, adLockOptimistic rs.AddNew rs!golongan0108 = Trim(Text1.Text) rs!gaji_pokok0108 = Trim(Text2.Text) rs.Update rs.Close bersih MsgBox "Data Golongan Sudah Di Simpan", vbInformation, "Informasi" tampil_ke_object 'manajemen tombol add.Enabled = True save.Enabled = False edit.Enabled = False delete.Enabled = False cetak.Enabled = True tidak_aktif Bantu: If Err.Number = 0 Then Exit Sub Else MsgBox "Ada Kesalahan pada Pada Proses Data", vbInformation, "Informasi" End If End If End Sub Private Sub keluar_Click() End End Sub Private Sub Label2_Click() End Sub Private Sub save_Click() Simpan tampil End Sub
  26. 26. Private Sub Text1_Change() 'membatasi input pada text If rs.State = adStateOpen Then rs.Close End If If Len(Text1.Text) <> 13 Then Close Else AKTIF Text2.SetFocus End If Konek Set rs = New ADODB.Recordset rs.Open "select * from golongan where golongan0108= '" & Text1.Text & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic If Not rs.EOF Then Set rs = New ADODB.Recordset rs.Open "select * from golongan where golongan0108='" & Text1.Text & "'", conn, adOpenStatic, adLockOptimistic Text1.Text = rs!golongan0108 Text2.Text = rs!gaji_pokok0108 'menampilkan data yang tersedia ke datagrid Adodc1.RecordSource = "select * from golongan where golongan0108 like '" & Text1.Text & "%'" Adodc1.Refresh With DataGrid1 Set .DataSource = Adodc1 End With tidak_aktif save.Enabled = False edit.Enabled = True delete.Enabled = True End If End Sub Private Sub text1_keypress(KeyAscii As Integer) If KeyAscii = 13 Then Text1.SetFocus End If End Sub Private Sub text2_keypress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Private Sub tampil_ke_object() On Error GoTo help If Adodc1.Recordset.BOF Then Exit Sub ElseIf Adodc1.Recordset.EOF Then
  27. 27. Exit Sub Else Text1.Text = "" & Adodc1.Recordset.Fields("golongan0108") Text2.Text = "" & Adodc1.Recordset.Fields("gaji_pokok0108") End If help: If Err.Number = 0 Then Else Text3.FontSize = 13 Text3.Text = "Terjadi Kesalahan Pada Data" End If End Sub Private Sub Hapus_data() On Error GoTo help: If Trim(Text1.Text) = "" Then Text3.Text = "Data Tidak Ditemukan" DataGrid1.SetFocus Else Konek strSQL = "select * from golongan where golongan0108='" & Trim(Text1.Text) & "'" Set rs = conn.Execute(strSQL) If rs.EOF Then Text3.Text = "Data tidak Ditemukan" Else Pesan = MsgBox("Apakah data Barang :" & Trim(Text1.Text) & "Yakin Data Akan Di Hapus", vbYesNo, "Peringatan") If Pesan = vbYes Then strSQL = "delete from golongan where golongan0108='" & Trim(Text1.Text) & "'" conn.Execute (strSQL) Text3.Text = "Data Terhapus" tampil Else End If End If End If help: If Err.Number = 0 Then Else Text3.Text = "ERROR KONEKSI DATABASE" End If End Sub
  28. 28. 4. Pembuatan untuk form jabatan LAPORAN DATA JABATAN Simtak : Simtak tabel jabatan hampir sama dengan simtak dari form golongan.
  29. 29. 5. Pembuatan Untuk Form Kehadiran LaporanKehadiranPegawai Dan UangLembur Simtak Untuk Kehadiran : Private Sub Combo1_Click() Konek strSQL = "select nama_karyawan0108 from pegawai where nik0108 ='" & Trim(Combo1) & "'" Set rs = conn.Execute(strSQL) If Not rs.EOF Then Label2.Caption = " " & rs("nama_karyawan0108") Else Label12.Caption = "Nama Pegawai Belum Ada" End If End Sub
  30. 30. Private Sub nonik() Konek strSQL = "select nik0108 From pegawai order by nik0108 asc" Set rs = conn.Execute(strSQL) Combo1.Clear Do While Not rs.EOF Combo1.Refresh Combo1.Text = "Pilih Kode" Combo1.AddItem Trim(rs("nik0108")) rs.MoveNext Loop End Sub Private Sub Command1_Click() strSQL = "select nik0108,tgl_kerja0108 from kehadiran where nik0108='" & Trim(Combo1) & "' And tgl_kerja0108 = '" & Format(Now, "yyyy/mm/dd") & "'" Set rs = conn.Execute(strSQL) If Not rs.EOF Then MsgBox ("Anda Sudah Absen...!"), vbInformation, "Pesan" Else Absenku MsgBox ("Silakan Anda Masuk Kerja..!!!"), vbInformation, "Pesan" End If End Sub Private Sub Command2_Click() Konek Set rs = New ADODB.Recordset rs.Open "select * from kehadiran where nik0108='" & Trim(Combo1) & "' And tgl_kerja0108 = '" & Format(Now, "yyyy/mm/dd") & "'", conn, adOpenStatic, adLockOptimistic If Not rs.EOF Then Set rs = New ADODB.Recordset rs.Open "select * from kehadiran where nik0108='" & Trim(Combo1) & "' And tgl_kerja0108 = '" & Format(Now, "yyyy/mm/dd") & "'", conn, adOpenStatic, adLockOptimistic rs!nik0108 = Trim(Combo1) rs!jam_keluar0108 = Time rs.Update rs.Close MsgBox "Silakan Anda Pulang...!!", vbInformation, "Pesan" Else End If End Sub Private Sub Command3_Click() Unload Me End Sub
  31. 31. Private Sub Command4_Click() Label2.Caption = "" Combo1.Text = "Pilih NIK" End Sub Private Sub Command5_Click() cetak End Sub Private Sub cetak() CrystalReport1.ReportFileName = "D:semester4pak budipayrollLAPORAN KEHADIRAN.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.ReplaceSelectionFormula "{kehadiran.nik0108}='" & Combo1.Text & "'" CrystalReport1.Action = 0 End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then End Else End If End Sub Private Sub Form_Load() Adodc1.Visible = False Label2.Caption = "" Text2.Text = "" Combo1.Text = "" Label5.Enabled = True 'DTPicker1.Enabled = False Text2.Enabled = False Label5 = Date 'DTPicker1 = Format(Now, ddyymm) nik End Sub Private Sub Timer1_Timer() Text2.Text = "" & Time & "" End Sub Private Sub nik() Konek strSQL = "select nik0108 From pegawai" Set rs = conn.Execute(strSQL) Combo1.Clear Do While Not rs.EOF Combo1.Refresh Combo1.Text = "Pilih NIK" Combo1.AddItem Trim(rs("nik0108")) rs.MoveNext
  32. 32. Loop End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Do Until Me.Top <= -50000 DoEvents Me.Move Me.Left, Me.Top - 5 DoEvents Loop Unload Me End Sub Private Sub Absenku() 'simapn Data Konek Set rs = New ADODB.Recordset rs.Open "select * from kehadiran where kehadiran.nik0108='" & Trim(Combo1) & "'", conn, adOpenStatic, adLockOptimistic rs.AddNew rs!nik0108 = Trim(Combo1.Text) rs!tgl_kerja0108 = Format(Now, "yyyy/mm/dd") rs!jam_masuk0108 = Trim(Text2.Text) rs!jam_keluar0108 = Trim(Text2.Text) rs!kelompok_hari0108 = "STAF" rs!periode0108 = Month(Label5.Caption) rs.Update rs.Close End Sub Private Sub Timer2_Timer() Label5.Caption = Format(Date, "dd mmmm yyyy") End Sub 6. Form untuk Rekapitulasi Pegawai Berdasarkan Nik Kariawan :
  33. 33. LaporanRekapitulasi Pegawai Simtaknya : Private Sub Combo1_Click() Konek strSQL = "select nama_karyawan0108 from pegawai where nik0108 ='" & Trim(Combo1) & "'" Set rs = conn.Execute(strSQL) If Not rs.EOF Then Label2.Caption = " " & rs("nama_karyawan0108") Else Label12.Caption = "Nama Pegawai Belum Ada" End If End Sub Private Sub nonik() Konek strSQL = "select nik0108 From pegawai order by nik0108 asc" Set rs = conn.Execute(strSQL) Combo1.Clear Do While Not rs.EOF Combo1.Refresh Combo1.Text = "Pilih Kode" Combo1.AddItem Trim(rs("nik0108")) rs.MoveNext Loop End Sub
  34. 34. Private Sub Command3_Click() Unload Me End End Sub Private Sub Command4_Click() Label2.Caption = "" Combo1.Text = "Pilih NIK" End Sub Private Sub Command5_Click() cetak End Sub Private Sub cetak() CrystalReport1.ReportFileName = "D:semester4pak budipayrollREKAPITULASI LEMBUR PEGAWAI.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.ReplaceSelectionFormula "{kehadiran.nik0108}='" & Combo1.Text & "'" CrystalReport1.Action = 0 End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then End Else End If End Sub Private Sub Form_Load() Adodc1.Visible = False Label2.Caption = "" Text2.Text = "" Label5.Enabled = True 'DTPicker1.Enabled = False Text2.Enabled = False Label5 = Date 'DTPicker1 = Format(Now, ddyymm) nik End Sub Private Sub Timer1_Timer() Text2.Text = "" & Time & "" End Sub Private Sub nik()
  35. 35. Konek strSQL = "select nik0108 From pegawai" Set rs = conn.Execute(strSQL) Combo1.Clear Do While Not rs.EOF Combo1.Refresh Combo1.Text = "Pilih NIK" Combo1.AddItem Trim(rs("nik0108")) rs.MoveNext Loop End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Do Until Me.Top <= -50000 DoEvents Me.Move Me.Left, Me.Top - 5 DoEvents Loop Unload Me End Sub Private Sub Absenku() 'simapn Data Konek Set rs = New ADODB.Recordset rs.Open "select * from kehadiran where kehadiran.nik0108='" & Trim(Combo1) & "'", conn, adOpenStatic, adLockOptimistic rs.AddNew rs!nik0108 = Trim(Combo1.Text) rs!tgl_kerja0108 = Format(Now, "yyyy/mm/dd") rs!jam_masuk0108 = Trim(Text2.Text) rs!jam_keluar0108 = Trim(Text2.Text) rs!kelompok_hari0108 = "STAF" rs!periode0108 = Month(Label5.Caption) rs.Update rs.Close End Sub Private Sub Timer2_Timer() Label5.Caption = Format(Date, "dd mmmm yyyy") End Sub
  36. 36. 7.Form Slip Gaji  Laporan Slip Gaji Simtak Pada Vb Pada form Slip Gaji sama dengan Simtak Pada Kehadiran, hanya saja yang membedakannya itu adalah tombol masuk dan pulangnya diamana di sini tidak menggunakan simtak tersebut 9. LaporanRekapitulasiGajiPegawai
  37. 37. BAB III PENUTUP Kesimpulan Payroll dapat menghemat waktu dan uang perusahaan. Hal ini memungkinkan bisnis untuk tidak membuang-buang jam kerja penanganan fungsi yang tidak mendatangkan penghasilan apapun. Biaya proses penggajian sangat berkurang dengan menggunakan perusahaan jasa penggajian. Biasanya biaya lebih untuk membayar karyawan untuk menangani penggajian daripada biaya untuk melakukan outsourcing untuk perusahaan profesional. Penghematan biaya lain dari outsourcing adalah menghindari denda dan biaya dari IRS dan negara jika pengajuan pajak atau pembayaran dikirimkan terlambat atau salah. Dalam hal kesalahan tidak terjadi sebagian besar perusahaan layanan penggajian akan membayar denda dan bunga yang masih harus dibayar. Perusahaan Payroll tetap up to date pada tabel pajak terbaru dan undang-undang pajak. Undang-undang perpajakan yang terus berubah dan perusahaan gaji tetap di atas perubahan baru untuk menjaga bisnis keluar dari kesulitan. Perusahaan penggajian menawarkan layanan seperti deposit langsung dan bayar karena Anda pergi asuransi kompensasi pekerja bahwa beberapa pengusaha tidak bisa sendiri. Beberapa perusahaan layanan penggajian juga dapat membantu dengan set up dan administrasi manfaat karyawan.

×