ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

ไอเดีย (Idea) idea hr payroll sme

ไอเดีย #25: ระบบลงเวลาทำงานและคำนวณเงินเดือนพนักงานรายวัน

เคยเห็นสมุดลงเวลาของไซต์งานหรือร้านอาหารไหมครับ ลายมือเขียนเวลาเข้าออกที่บางทีก็เขียนแทนกัน พอถึงวันจ่ายค่าแรงทุกสิบห้าวัน เจ้าของต้องนั่งรวมชั่วโมง คิด OT นับวันลา หักประกันสังคม แล้วนับเงินสดใส่ซองทีละคน ผิดนิดเดียวก็ทะเลาะกันได้ งานแบบนี้เป็นโจทย์ที่ธุรกิจเล็กต้องการจริง และฝึกเรื่องการคำนวณเงินให้แม่นได้ดีมาก

ใครจะใช้

  • พนักงานรายวัน — ลงเวลาเข้าออกผ่านมือถือหรือแท็บเล็ตหน้างาน
  • หัวหน้างาน — ตรวจและอนุมัติเวลา OT
  • ฝ่ายบัญชีหรือเจ้าของ — ปิดงวด คำนวณค่าแรง พิมพ์สลิป

ฟีเจอร์ขั้นต่ำ (MVP)

  • ข้อมูลพนักงาน ค่าแรงต่อวัน อัตรา OT ต่อชั่วโมง และสถานะการเป็นผู้ประกันตน
  • ลงเวลาเข้าออกด้วย QR ที่หน้างาน หรือแท็บเล็ตกลางพร้อมรหัส PIN
  • กำหนดกะงาน เวลาเริ่ม เวลาพัก และกติกามาสาย
  • คำนวณ OT จากเวลาที่เกินกะ และต้องผ่านการอนุมัติของหัวหน้าก่อนนับเงิน
  • ปิดงวดรายสัปดาห์ รายสิบห้าวัน หรือรายเดือน แล้วคำนวณค่าแรง OT รายการหัก และยอดสุทธิ
  • หักเงินสมทบประกันสังคมตามอัตราที่ตั้งค่าไว้ในระบบ ไม่ hardcode
  • พิมพ์สลิปค่าแรงและสรุปยอดรวมทั้งงวด

ต่อยอดได้อีก

  • ตรวจตำแหน่ง GPS ตอนลงเวลา ป้องกันลงเวลาแทนกัน
  • ส่งสลิปให้พนักงานทาง LINE
  • เบิกเงินล่วงหน้าระหว่างงวด แล้วหักตอนปิดงวดอัตโนมัติ
  • export ไฟล์สำหรับยื่นประกันสังคมหรือโอนเงินเดือนผ่านธนาคาร

โครงข้อมูลตั้งต้น

  • employees — id, name, daily_wage, ot_rate, sso_enabled, status
  • shifts — id, name, start_time, end_time, break_minutes
  • time_entries — id, employee_id, work_date, clock_in, clock_out, source
  • ot_requests — id, employee_id, work_date, minutes, approved_by, status
  • pay_periods — id, start_date, end_date, status, closed_at
  • payslips — id, pay_period_id, employee_id, days_worked, wage, ot_amount, sso_deduct, other_deduct, net_pay

ระดับความยาก และสิ่งที่จะได้เรียนรู้

ระดับ ปานกลาง ทำ backend ด้วย Yii2 หรือ Laravel + PostgreSQL/MySQL และหน้าลงเวลาเป็น web responsive หรือ Flutter สิ่งที่จะได้ฝึก:

  • การจัดการเวลาและ timezone รวมกะที่ข้ามเที่ยงคืน
  • การใช้ numeric แทน float สำหรับเงิน และกำหนดกติกาปัดเศษสตางค์
  • การล็อกงวดที่ปิดแล้วไม่ให้แก้ข้อมูลย้อนหลัง
  • การเขียน unit test ให้สูตรคำนวณค่าแรง

ข้อควรระวัง

  • อัตรา OT เพดานประกันสังคม และกติกาแรงงานเปลี่ยนได้ ควรเก็บเป็นค่าตั้งค่าพร้อมวันที่มีผล และตรวจสอบกับนักบัญชีหรือระเบียบล่าสุด
  • เลขบัตรประชาชน บัญชีธนาคาร และค่าแรงเป็นข้อมูลส่วนบุคคลตาม PDPA ต้องจำกัดสิทธิ์ให้เห็นเฉพาะคนที่เกี่ยวข้อง
  • การแก้เวลาลงงานย้อนหลังต้องมี audit log ว่าใครแก้ แก้จากเท่าไรเป็นเท่าไร

ใครเคยทำระบบค่าแรงรายวันให้ไซต์งานหรือโรงงานบ้าง ใช้วิธีไหนกันลงเวลาแทนกัน และจัดการกะข้ามคืนยังไง? ถ้าลองทำตามไอเดียนี้แล้ว มาแชร์สูตรคำนวณหรือ test case ในกระทู้นี้ให้เพื่อน ๆ ช่วยกันรีวิวได้เลยครับ

0 คะแนน

0 คำตอบ

ยังไม่มีคำตอบ

รู้คำตอบ? ช่วยแบ่งปันได้เลย

ตอบคำถามนี้

เข้าสู่ระบบเพื่อตอบคำถามและโหวต

เข้าสู่ระบบ สมัครสมาชิก