กะการทำงาน บันทึกเวลาเข้าออก และคำนวณเงินเดือนอัตโนมัติ
โมดูล การจัดการบุคคลและคำนวณเงินเดือน (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] เปิดใช้งาน │
└────────────────────────────────────────────────────────────────────────┘
ข้อมูลสำคัญ:
- ช่วงเวลาทำงาน & เวลาพัก: กำหนดเวลา Check-in/out ที่ถูกต้อง และหักเวลาพักเที่ยงโดยอัตโนมัติเมื่อคิดชั่วโมงทำงานจริง
- นาทีมาตรฐาน (
StandardMinutes): ใช้แปลงชั่วโมงทำงานจริงเป็นจำนวนแรงงาน (เช่น 480 นาที = 1 แรง, 240 นาที = 0.5 แรง) - ความยืดหยุ่นสาย/ออกก่อน (
AllowedLateMinutes/AllowedEarlyMinutes): ระยะเวลาผ่อนผันก่อนที่ระบบจะติดสถานะLATE - กำหนดกะเริ่มต้น: ในโปรไฟล์พนักงานแต่ละสาขา ให้กำหนด กะการทำงานเริ่มต้น (
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 * HourlyRate | BaseSalaryByWorkDays = BaseSalary * (% / 100) * (WorkDays / StandardWorkDays) |
| ผลกระทบจากวันทำงานมาตรฐาน | ไม่มี (ทำงานกี่ชั่วโมง ได้รับตามนั้น) | มี (หารเฉลี่ยตามวันทำงานมาตรฐานในเดือน เช่น 24 หรือ 26 วัน) |
| การแสดงผลบนตารางเงินเดือน | คอลัมน์ อัตราต่อชั่วโมง (HourlyRate) & ชั่วโมงรวม (WorkHours) | คอลัมน์ เงินเดือนพื้นฐาน (BaseSalary) & จำนวนวัน (WorkDays) |
2. สูตรคำนวณรายได้สุทธิ:
- เงินได้จากการลงเวลา:
AttendanceSalary = HourlySalary (หรือ BaseSalaryByWorkDays) + (เบี้ยเลี้ยงรายวัน * จำนวนวันทำงาน)
- โบนัสปิดออเดอร์สำเร็จ:
SuccessfulOrderBonus = จำนวนออเดอร์ที่สำเร็จ * อัตราโบนัสต่อออเดอร์
- ค่าคอมมิชชัน KPI:
KpiBonus = ยอดขายสุทธิหลังหักคืน * (% คอมมิชชัน / 100)
- รายได้รวม (Gross Salary):
GrossSalary = AttendanceSalary + โบนัสออเดอร์ + คอมมิชชัน KPI + เงินเพิ่มพิเศษ - เงินหัก
- ยอดจ่ายสุทธิ (Net Payable):
NetPayable = Max(0, GrossSalary - เงินเบิกล่วงหน้า)
IV. ขั้นตอนการปิดรอบบัญชีเงินเดือนสิ้นเดือน
- ขั้นตอนที่ 1: ตรวจสอบข้อมูลเวลาทำงาน: ตรวจเช็คเคสลืมสแกนออก (
MISSING_CHECKOUT) หรือใบลาในหน้าบันทึกเวลา - ขั้นตอนที่ 2: สร้างรอบเงินเดือนประจำเดือน: เข้าเมนู บัญชีเงินเดือน ➔ เลือกเดือน/ปี ➔ คลิก คำนวณเงินเดือน
- ขั้นตอนที่ 3: ปรับยอดเพิ่มเติม: กรอกเงินโบนัสพิเศษ เงินหัก หรือเงินเบิกล่วงหน้าระหว่างเดือนของพนักงานแต่ละคน
- ขั้นตอนที่ 4: อนุมัติเงินเดือน: ผู้จัดการกด อนุมัติบัญชีเงินเดือน เพื่อล็อกข้อมูลรอบการจ่าย
- ขั้นตอนที่ 5: ส่งออกรายงาน & โอนเงิน: คลิก ส่งออก Excel เพื่อส่งให้ฝ่ายการเงินดำเนินการโอนผ่านธนาคาร