การมีพนักงานหลายคนใช้ POS เครื่องเดียวกันโดยไม่แยก role คือเปิดประตูให้เกิด fraud ภายในและความผิดพลาดที่แก้ไม่ได้ — เพราะไม่รู้ว่าใครทำอะไรเมื่อไหร่ ระบบ POS ที่ดีต้องตั้ง Role-Based Access Control (RBAC) แยกสิทธิ์ตามตำแหน่ง บวกกับ Approval Flow สำหรับ action สำคัญ และ Audit Log เก็บประวัติทุก action เพื่อให้ตรวจสอบย้อนหลังได้

ทำไมร้านอาหารถูก fraud ภายในมากกว่าที่คิด

งานวิจัยจาก National Restaurant Association ในต่างประเทศพบว่าร้านอาหารสูญเงินจาก internal fraud ราว 3-5% ของยอดขาย — สำหรับร้านที่ทำยอดเดือนละ 1 ล้าน นั่นคือ 30,000-50,000 บาท/เดือนที่หายไปโดยที่เจ้าของไม่รู้ตัว ปัจจัยที่ทำให้ร้านอาหารเสี่ยงสูง:

6 Role พื้นฐานสำหรับร้านอาหาร

Roleหน้าที่หลักจำนวนแนะนำ
Owner / เจ้าของเห็นทุกอย่าง ตั้งค่าระบบ ดู audit log แก้ permission ลบ user1-2 คน
Manager / ผู้จัดการอนุมัติ void/refund/discount เปิด-ปิดร้าน ดูรายงานทุกแผนก แก้เมนู/ราคาในขอบเขต1-2 คน/สาขา
Cashier / แคชเชียร์ปิดบิล รับเงินสด รับ PromptPay ขอ void/refund ผ่าน Manager1-3 คน/กะ
Waiter / เสิร์ฟเปิดโต๊ะ รับออเดอร์ แก้ออเดอร์ก่อนยืนยัน ไม่เห็นยอดรวมและไม่รับเงินตามจำนวนโต๊ะ
Kitchen / ครัวดู KDS กดเสร็จ-เริ่ม-หยุด ขอเครียร์ออเดอร์ที่หยุดสต็อก1-2 คน/station
Accountant / บัญชีอ่าน report, export ข้อมูล, ดูสลิป — ไม่สามารถแก้บิลหรือทำ refund1 คน (อาจจ้างนอก)

Role Matrix แบบละเอียด — 18 action × 6 role

ActionOwnerManagerCashierWaiterKitchenAccountant
เปิดโต๊ะ / รับออเดอร์✅✅✅✅❌❌
แก้ออเดอร์ก่อนยืนยัน✅✅✅✅❌❌
ปิดบิล / รับเงินสด✅✅✅❌❌❌
Void รายการ✅✅ขอ❌❌❌
Void บิลทั้งใบ✅✅ขอ❌❌❌
Refund / คืนเงิน✅✅ขอ❌❌❌
Discount 0-10%✅✅✅❌❌❌
Discount 10-25%✅✅ขอ❌❌❌
Discount >25% / Free item✅ขอ❌❌❌❌
เปิด cash drawer ไม่มีบิล✅✅❌❌❌❌
ลบบิลที่ปิดแล้ว✅❌❌❌❌❌
แก้ราคาเมนู✅✅❌❌❌❌
เพิ่ม/ลบเมนู✅✅❌❌❌❌
ดู Dashboard เต็ม✅✅เฉพาะของตัวเอง❌❌✅
ดู Customer Data / Member✅✅เฉพาะระหว่างขาย❌❌อ่านอย่างเดียว
Export รายงาน CSV✅✅❌❌❌✅
เพิ่ม/ลบพนักงาน✅❌❌❌❌❌
ดู Audit Log✅เฉพาะสาขา❌❌❌✅

✅ ทำได้ · ❌ ทำไม่ได้ · ขอ = ต้องให้ Manager หรือ Owner อนุมัติด้วย PIN/สแกนหน้า

Fraud scenario ที่เจอบ่อย — และวิธีกัน

1. Void หลังเก็บเงินสด

Cashier ปิดบิลให้ลูกค้าจ่ายเงินสดแล้ว void บิลในระบบและเก็บเงินสดเข้ากระเป๋า

วิธีกัน: ห้าม Cashier void บิลที่ปิดแล้ว ต้องให้ Manager อนุมัติเท่านั้น และทุก void ต้องเลือกเหตุผล + ถ่ายรูปบิลก่อน void

2. Discount 100% / "ฟรีให้เพื่อน"

พนักงานใส่ discount 100% ให้บิลของเพื่อนหรือคนรู้จัก

วิธีกัน: Discount > 25% ต้องให้ Owner อนุมัติ และ free item ต้องเลือก reason: เมนูพลาด / ลูกค้า VIP / โปรพิเศษ — และมี report สรุปจำนวน free item ต่อพนักงานต่อเดือน

3. เปลี่ยนราคาเมนูในระบบ

Cashier แก้ราคาเมนูในระบบเป็นราคาต่ำ ปิดบิล แล้วเก็บส่วนต่างเงินสด

วิธีกัน: ห้าม Cashier แก้ราคาเมนู — ต้องล็อกไว้ที่ Manager ขึ้นไปและ audit log แจ้งเตือนทุกครั้งที่มีการแก้ราคา

4. Phantom Refund

Manager หรือ Cashier ทำ refund ปลอม (ลูกค้าไม่ได้ขอ refund) แล้วเก็บเงินที่ "คืน"

วิธีกัน: ทุก refund ต้องบันทึก reason + ภาพลายเซ็นลูกค้า (sign on tablet) + รายงาน "refund per cashier" รายสัปดาห์

5. Free drink / Free dessert

พนักงานเพิ่มเครื่องดื่ม/ของหวานในบิลแล้ว void เฉพาะรายการ ทำให้ลูกค้าได้ฟรีและเงินเข้ากระเป๋าน้อยกว่าที่ควร

วิธีกัน: Void รายการต้องให้ Manager อนุมัติทุกครั้ง (ไม่ใช่แค่ void บิลทั้งใบ) และมี report Void by Item

6. Open Drawer fraud

Cashier กด no-sale เปิด cash drawer แล้วหยิบเงิน

วิธีกัน: ห้าม Cashier เปิด drawer โดยไม่มีบิล — ถ้าต้องการ change ต้องผ่าน Manager และ audit log บันทึกทุกครั้งที่ drawer เปิด

Approval Flow ที่แนะนำ

ActionFlow
Void รายการ (ก่อนปิดบิล)Cashier กดขอ → Manager พิมพ์ PIN หรือ Face ID → บันทึก reason + log
Void บิลทั้งใบ (หลังปิดบิล)Cashier กดขอ → Manager อนุมัติ → ระบบบังคับเลือก reason + ถ่ายรูปบิล + log
RefundCashier กดขอ → Manager อนุมัติ → ลูกค้าเซ็นบน tablet → log
Discount 10-25%Cashier เลือก discount → Manager พิมพ์ PIN → log
Discount >25% / Free itemManager กดขอ → Owner อนุมัติผ่าน app → log
แก้ราคาเมนูManager แก้ → Owner ได้รับ notification → log + history version
ลบ userOwner เท่านั้น → user ถูก deactivate ไม่ลบ → log ค้างไว้

Audit Log ที่ดีต้องเก็บอะไรบ้าง

Audit log คือบันทึกการกระทำของพนักงานทุกคน เป็นเครื่องมือหลักในการตรวจสอบเมื่อสงสัย ระบบ POS ที่ดีต้องเก็บอย่างน้อย:

เก็บนานแค่ไหน: action ปกติ 12 เดือน, action สำคัญ (void/refund/discount/cash drawer/แก้ราคา) อย่างน้อย 24 เดือน เพื่อตรวจสอบย้อนหลังตอนเก็บภาษีและตอนสงสัย fraud

สิทธิ์พนักงานหลายสาขา

ร้านที่มีหลายสาขาต้องแยกสิทธิ์เป็น 2 ชั้น: Role permission (ทำอะไรได้บ้าง) และ Branch permission (เห็นสาขาไหนได้บ้าง) ตัวอย่าง:

การแยกแบบนี้สำคัญเพราะเวลามีพนักงานย้ายสาขาชั่วคราว (cover shift) Manager สามารถเพิ่ม branch ให้ user นั้นแบบมีวันหมดอายุ ไม่ต้องเปลี่ยน role ทั้งระบบ

ตัวอย่างร้านจริง

กรณีที่ 1 — ร้านชาบู 3 สาขา ขาดเงินสดทุกสิ้นเดือน

เจ้าของเจอเงินสดในกล่องน้อยกว่ารายงานทุกเดือน 8,000-15,000 บาท หลังเปิด audit log + Approval Flow สำหรับ void/refund/discount พบว่า Cashier 1 คนใช้สิทธิ์ void รายการ 87 ครั้ง/เดือน (เฉลี่ยร้านอื่น 5-10 ครั้ง) สรุปคืนเงินไปที่ตัวเองมากกว่าครึ่งล้านในปีเดียว

กรณีที่ 2 — คาเฟ่ Free drink 200 แก้ว/เดือน

เจ้าของสังเกตว่า stock เครื่องดื่มขายไม่ตรงกับรายงาน หลังกำหนดให้ free item ต้องเลือก reason และมี report รายสัปดาห์ พบบาริสต้า 2 คนกด "ลูกค้า VIP" 60 ครั้ง/เดือน เกินกว่าที่ควรจะเป็น 5 เท่า — สรุปคือแถมให้เพื่อนและตัวเอง

10 ขั้นตอนตั้งสิทธิ์พนักงานที่ปลอดภัย

  1. ทุกพนักงานมี user ของตัวเอง ห้ามใช้ร่วมกัน
  2. กำหนด role ที่เล็กที่สุดที่ทำงานได้ (least privilege)
  3. ตั้ง Approval Flow สำหรับ void/refund/discount/แก้ราคา
  4. เปิด Audit Log และตรวจรายสัปดาห์
  5. Password อย่างน้อย 8 ตัว + 2FA สำหรับ Owner/Manager
  6. Auto-logout หลังไม่ใช้งาน 5 นาที
  7. เปลี่ยน PIN ของ Manager ทุก 90 วัน
  8. Deactivate user ทันทีในวันสุดท้ายของพนักงาน
  9. ตรวจ "Void/Refund per Cashier" รายสัปดาห์
  10. ทดลอง audit จำลองทุกไตรมาส

OrderDee ช่วยจัดการสิทธิ์อย่างไร

ระบบ OrderDee POS มาพร้อม Role Matrix ที่ตั้งค่าได้ละเอียดถึงระดับ action รองรับ branch-level permission, approval flow แบบ multi-tier, audit log แบบ tamper-proof และ report "fraud signal" รายสัปดาห์ที่ส่งให้ Owner ทาง LINE/email โดยอัตโนมัติ

FAQ — คำถามที่พบบ่อย

ทำไมร้านอาหารต้องกำหนดสิทธิ์พนักงาน

ป้องกัน fraud ภายใน (โดยเฉลี่ย 3-5% ของยอดขาย), ลดความผิดพลาด, ป้องกันข้อมูลลูกค้ารั่ว และทำให้มี audit trail ตอนที่เกิดปัญหา รวมถึงทำให้พนักงานใหม่ใช้ระบบได้อย่างปลอดภัย

6 Role พื้นฐานของร้านอาหารมีอะไรบ้าง

Owner (เห็นทุกอย่าง), Manager (อนุมัติ void/refund/discount), Cashier (ปิดบิล รับเงิน), Waiter (รับออเดอร์ แก้บิลที่ยังไม่ปิด), Kitchen (KDS อย่างเดียว), Accountant (อ่านรายงาน export ข้อมูล แต่ไม่แก้บิล)

Refund Void ใครควรอนุมัติได้

Manager ขึ้นไปเท่านั้น Cashier ขอ refund/void ได้แต่ต้องรอ Manager พิมพ์ PIN หรือสแกนหน้าเพื่ออนุมัติ ทุก action ถูกบันทึกใน audit log พร้อมเหตุผลและรูปบิล

Discount เกิน X เปอร์เซ็นต์ใครอนุมัติ

แบ่งเป็น 3 tier เช่น 0-10% Cashier ทำเองได้, 10-25% Manager อนุมัติ, >25% Owner เท่านั้น และทุก discount ต้องเลือกเหตุผลจาก dropdown ไม่ใช่ free text เพื่อให้รายงานวิเคราะห์ได้

ถ้าร้านเล็กเจ้าของทำเองทุกตำแหน่งจำเป็นต้องตั้ง Role ไหม

จำเป็นแม้ทำเอง 90% เพราะ (1) มี audit log ป้องกันลืม (2) ตอนจ้างพนักงานพร้อมใช้ (3) ป้องกันลูกค้า/แขกหยิบโทรศัพท์ไปกด (4) ระบบบังคับให้คิดเรื่อง process ก่อนใช้งานจริง

Audit Log ควรเก็บอะไรบ้าง

เก็บอย่างน้อย user, timestamp, action, before-after value, IP/device, branch — สำหรับ action สำคัญ (void/refund/discount/ลบบิล/แก้ราคาเมนู/cash drawer open/ลบ user) ควรเก็บอย่างน้อย 24 เดือนเพื่อตรวจสอบย้อนหลัง

พนักงานข้ามสาขาควรเห็นข้อมูลของสาขาตัวเองอย่างเดียวใช่ไหม

ใช่ — Cashier/Waiter ควรเห็นเฉพาะสาขาที่ตัวเอง assigned อยู่ ส่วน Area Manager เห็น 3-5 สาขาในเขต และ Owner เห็นทุกสาขา ระบบที่ดีต้องรองรับ branch-level permission แยกจาก role permission อ่าน มาตรฐานร้านหลายสาขา

พนักงานลาออกควรทำอะไรกับ user

ปิด (deactivate) ทันทีในวันสุดท้าย ไม่ใช่ลบ เพราะต้องเก็บ audit log ที่ผูกกับ user นั้นไว้ และเปลี่ยน PIN ของ Manager ทุกคนถ้าพนักงานที่ออกเป็นระดับ Manager ขึ้นไป

อ่านต่อ — บทความที่เกี่ยวข้อง

ดูระบบ POS พร้อม Role Matrix ทดลองใช้ฟรี 30 วัน