Skip to main content

กะการทำงาน บันทึกเวลาเข้าออก และคำนวณเงินเดือนอัตโนมัติ

โมดูล การจัดการบุคคลและคำนวณเงินเดือน (HR & Payroll) บน POS ช่วยให้เจ้าของร้านสร้างมาตรฐานวินัยการทำงาน บันทึกชั่วโมงทำงานอัตโนมัติ และคำนวณรายได้พนักงานอย่างแม่นยำ ทั้งแบบ เงินเดือนประจำ (Fixed) และ ค่าจ้างรายชั่วโมง (Hourly) พร้อมค่าคอมมิชชันและโบนัสยอดขาย


I. การตั้งค่ากะการทำงาน (Work Shifts)​

  • เส้นทาง: พนักงาน ➔ กะการทำงาน (หรือเข้าที่ /work-shifts)
┌────────────────────────────────────────────────────────────────────────┐
│ การตั้งค่ากะการทำงาน │
├────────────────────────────────────────────────────────────────────────┤
│ ชื่อกะ: กะปกติสำนักงาน (เช้า 08:00 - เย็น 17:30) │
│ เวลาทำงาน: [ 08:00 ] ถึง [ 17:30 ] │
│ เวลาพักระหว่างกะ: [ 12:00 ] ถึง [ 13:30 ] (พัก 90 นาที) │
│ นาทีมาตรฐาน: 480 นาที (= 1.0 แรงมาตรฐาน) │
│ อนุญาตให้สายได้: 15 นาที (หลัง 08:15 ถึงเริ่มนับว่ามาสาย) │
│ อนุญาตให้ออกก่อน: 10 นาที (ก่อน 17:20 ถึงเริ่มนับว่าออกก่อน) │
│ รหัสสีแสดงผล: [ #1677FF (สีน้ำเงิน) ] │
│ สถานะ: [x] เปิดใช้งาน │
└────────────────────────────────────────────────────────────────────────┘

ข้อมูลสำคัญ:​

  1. ช่วงเวลาทำงาน & เวลาพัก: กำหนดเวลา Check-in/out ที่ถูกต้อง และหักเวลาพักเที่ยงโดยอัตโนมัติเมื่อคิดชั่วโมงทำงานจริง
  2. นาทีมาตรฐาน (StandardMinutes): ใช้แปลงชั่วโมงทำงานจริงเป็นจำนวนแรงงาน (เช่น 480 นาที = 1 แรง, 240 นาที = 0.5 แรง)
  3. ความยืดหยุ่นสาย/ออกก่อน (AllowedLateMinutes / AllowedEarlyMinutes): ระยะเวลาผ่อนผันก่อนที่ระบบจะติดสถานะ LATE
  4. กำหนดกะเริ่มต้น: ในโปรไฟล์พนักงานแต่ละสาขา ให้กำหนด กะการทำงานเริ่มต้น (DefaultWorkShiftId) เพื่อใช้ตรวจสอบประจำวัน

II. ตารางติดตามและจัดการเวลาทำงาน (Monthly Attendance Matrix)​

  • เส้นทาง: พนักงาน ➔ บันทึกเวลาทำงาน (หรือเข้าที่ /attendance)

หน้าจอลงเวลาทำงานแสดงผลเป็น ตารางรายเดือน (Monthly Grid View) ตั้งแต่วันที่ 01 ถึง 31 อย่างชัดเจน:

┌────┬─────────┬──────────────┬─────────┬──────┬──────┬──────┬─────┬──────────────┬──────┬──────┬─────────┐
│ลำดับ│รหัสพนง. │ ชื่อ-นามสกุล │ แผนก │01 จ. │02 อ. │03 พ. │ ... │ รวมทั้งหมด │สาย │ขาด │จัดการ │
├────┼─────────┼──────────────┼─────────┼──────┼──────┼──────┼─────┼──────────────┼──────┼──────┼─────────┤
│ 1 │ NV001 │ สมชาย สุขใจ │ Sales │ 8.0 │ 8.0 │ P │ ... │ 24.00 แรง │ 1 │ 0 │ ✏️ 👁️ │
│ 2 │ NV002 │ สมหญิง จริงใจ│ Parttime│ 4.5 │ 5.0 │ - │ ... │ 115.50 ชม. │ 0 │ 0 │ ✏️ 👁️ │
└────┴─────────┴──────────────┴─────────┴──────┴──────┴──────┴─────┴──────────────┴──────┴──────┴─────────┘

1. ความหมายของสัญลักษณ์ในแต่ละช่อง:​

  • จำนวนชั่วโมงทำงาน: แสดงชั่วโมงที่ทำงานจริงในวันนั้น (เช่น 8.0, 4.5)
  • รหัสสถานะ:
    • P: ลาได้รับค่าจ้าง (Paid Leave)
    • KP: ลาไม่ได้รับค่าจ้าง (Unpaid Leave)
    • -: วันหยุด / ขาดงาน / ยังไม่มีข้อมูล
  • สีสถานะ:
    • 🟢 สีเขียว (PRESENT): มาทำงานครบถ้วน ตรงเวลา
    • 🟡 สีเหลืองส้ม (LATE): มาสายเกินเวลาผ่อนผัน
    • 🟠 สีส้มเข้ม (MISSING_CHECKOUT): ลงเวลาเข้า แต่ลืมลงเวลาออก
    • 🔴 สีแดง (ABSENT): ขาดงานโดยไม่แจ้ง
    • ⚪ สีเทา (HOLIDAY): วันหยุดนักขัตฤกษ์ / วันอาทิตย์

2. ดูรายละเอียดผ่าน Popover (วางเมาส์เหนือช่องวันที่):​

เมื่อชี้เมาส์ไปที่ช่องวันที่ใดๆ หน้าต่างป๊อปอัปอัจฉริยะจะแสดง:

  • 📅 วันที่ทำงานและวันในสัปดาห์ พร้อมแท็กสถานะ
  • 🟢 เวลาเข้า (Check-in): เวลาที่บันทึกเข้าจริง (เช่น 08:05)
  • 🔴 เวลาออก (Check-out): เวลาที่บันทึกออกจริง (เช่น 17:32)
  • ⏱️ ชั่วโมงทำงาน: รวมเวลาทำงานจริง (หักเวลาพักแล้ว)
  • 📋 จำนวนวันทำงาน: จำนวนแรงที่แปลงได้ (สำหรับพนักงานรายเดือน)
  • 📝 หมายเหตุ: บันทึกการปรับแก้ด้วยมือหรือเหตุผลการลา

3. แก้ไขข้อมูลด่วนบนแถว (Inline Edit):​

ผู้จัดการสามารถคลิกปุ่ม แก้ไข ✏️ ท้ายแถวเพื่อปรับยอดการทำงาน:

  • พนักงานรายชั่วโมง: กรอกชั่วโมงทำงานโดยตรง (0 - 24 ชม., ทีละ 0.25 ชม.)
  • พนักงานรายเดือน: เลือกประเภทแรงงานอย่างรวดเร็ว (เต็มวัน 1.0, ครึ่งวัน 0.5, ลาได้เงิน, ลาไม่ได้เงิน, ขาดงาน, วันหยุด)

III. การคำนวณเงินเดือนอัตโนมัติ (Payroll Calculation)​

  • เส้นทาง: พนักงาน ➔ บัญชีเงินเดือน (หรือเข้าที่ /payroll)

ระบบรองรับรูปแบบการคำนวณ 2 แบบ โดยตรวจจับตามการตั้งค่าโปรไฟล์พนักงาน:

1. เปรียบเทียบรูปแบบการคำนวณเงินเดือน:​

หัวข้อจ้างรายชั่วโมง (Hourly)จ้างรายเดือน / ประจำ (Fixed)
กลุ่มเป้าหมายพนักงานพาร์ตไทม์, กะยืดหยุ่น, พนักงานชั่วคราวพนักงานประจำ, พนักงานออฟฟิศ, ผู้บริหาร
สูตรพื้นฐานHourlySalary = WorkHours * HourlyRateBaseSalaryByWorkDays = BaseSalary * (% / 100) * (WorkDays / StandardWorkDays)
ผลกระทบจากวันทำงานมาตรฐานไม่มี (ทำงานกี่ชั่วโมง ได้รับตามนั้น)มี (หารเฉลี่ยตามวันทำงานมาตรฐานในเดือน เช่น 24 หรือ 26 วัน)
การแสดงผลบนตารางเงินเดือนคอลัมน์ อัตราต่อชั่วโมง (HourlyRate) & ชั่วโมงรวม (WorkHours)คอลัมน์ เงินเดือนพื้นฐาน (BaseSalary) & จำนวนวัน (WorkDays)

2. สูตรคำนวณรายได้สุทธิ:​

  1. เงินได้จากการลงเวลา:
    AttendanceSalary = HourlySalary (หรือ BaseSalaryByWorkDays) + (เบี้ยเลี้ยงรายวัน * จำนวนวันทำงาน)
  2. โบนัสปิดออเดอร์สำเร็จ:
    SuccessfulOrderBonus = จำนวนออเดอร์ที่สำเร็จ * อัตราโบนัสต่อออเดอร์
  3. ค่าคอมมิชชัน KPI:
    KpiBonus = ยอดขายสุทธิหลังหักคืน * (% คอมมิชชัน / 100)
  4. รายได้รวม (Gross Salary):
    GrossSalary = AttendanceSalary + โบนัสออเดอร์ + คอมมิชชัน KPI + เงินเพิ่มพิเศษ - เงินหัก
  5. ยอดจ่ายสุทธิ (Net Payable):
    NetPayable = Max(0, GrossSalary - เงินเบิกล่วงหน้า)

IV. ขั้นตอนการปิดรอบบัญชีเงินเดือนสิ้นเดือน​

  1. ขั้นตอนที่ 1: ตรวจสอบข้อมูลเวลาทำงาน: ตรวจเช็คเคสลืมสแกนออก (MISSING_CHECKOUT) หรือใบลาในหน้าบันทึกเวลา
  2. ขั้นตอนที่ 2: สร้างรอบเงินเดือนประจำเดือน: เข้าเมนู บัญชีเงินเดือน ➔ เลือกเดือน/ปี ➔ คลิก คำนวณเงินเดือน
  3. ขั้นตอนที่ 3: ปรับยอดเพิ่มเติม: กรอกเงินโบนัสพิเศษ เงินหัก หรือเงินเบิกล่วงหน้าระหว่างเดือนของพนักงานแต่ละคน
  4. ขั้นตอนที่ 4: อนุมัติเงินเดือน: ผู้จัดการกด อนุมัติบัญชีเงินเดือน เพื่อล็อกข้อมูลรอบการจ่าย
  5. ขั้นตอนที่ 5: ส่งออกรายงาน & โอนเงิน: คลิก ส่งออก Excel เพื่อส่งให้ฝ่ายการเงินดำเนินการโอนผ่านธนาคาร