ระบบขายหน้าร้าน (POS)
ระบบจุดขาย (Point of Sale) สำหรับขายสินค้าหน้าร้าน รองรับสแกนบาร์โค้ด หลายวิธีชำระเงิน และพิมพ์ใบเสร็จ
ส่วนประกอบหน้า POS
หน้า POS แบ่งออกเป็น 2 ส่วนหลัก:
| ส่วน | ตำแหน่ง | รายละเอียด |
|---|---|---|
| รายการสินค้า | ด้านซ้าย | แสดงรายการสินค้าในตะกร้า จำนวน ราคา และยอดรวม |
| แคตตาล็อกสินค้า | ด้านขวา | ค้นหาสินค้า สแกนบาร์โค้ด เลือกหมวดหมู่ แสดงสินค้าเป็นกริด |
วิธีขายสินค้า
วิธีที่ 1: สแกนบาร์โค้ด
วางเคอร์เซอร์ที่ช่องสแกน
คลิกที่ช่องค้นหา/สแกนบาร์โค้ดด้านบนของหน้า POS
สแกนบาร์โค้ดสินค้า
ใช้เครื่องสแกนบาร์โค้ดสแกนที่ตัวสินค้า ระบบจะค้นหาจาก Barcode หรือ SKU อัตโนมัติ
สินค้าถูกเพิ่มเข้าตะกร้า
หากพบสินค้า จะถูกเพิ่มเข้าตะกร้าทันที พร้อมแสดงราคาและจำนวน
สแกนซ้ำสินค้าตัวเดิม จำนวนจะเพิ่มขึ้นอัตโนมัติทีละ 1 ชิ้น
วิธีที่ 2: ค้นหาและเลือกจากรายการ
พิมพ์ชื่อสินค้าในช่องค้นหา
พิมพ์ชื่อ, SKU หรือบาร์โค้ดในช่องค้นหา ระบบจะแสดงผลลัพธ์แบบ Real-time
กรองตามหมวดหมู่ (ถ้าต้องการ)
คลิกปุ่มหมวดหมู่ด้านบนเพื่อกรองแสดงเฉพาะสินค้าในหมวดนั้น
คลิกเลือกสินค้า
คลิกที่การ์ดสินค้าเพื่อเพิ่มเข้าตะกร้า
จัดการตะกร้าสินค้า
| การกระทำ | วิธีทำ |
|---|---|
| เพิ่มจำนวน | คลิกปุ่ม + ข้างจำนวนสินค้า หรือพิมพ์จำนวนโดยตรง |
| ลดจำนวน | คลิกปุ่ม - ข้างจำนวนสินค้า |
| ลบสินค้าออก | คลิกปุ่มลบ (ถังขยะ) ที่แถวของสินค้า |
| ให้ส่วนลด | ใส่จำนวนเงินส่วนลดในช่องส่วนลด |
| ล้างตะกร้า | คลิกปุ่ม "ล้างรายการ" เพื่อเริ่มใหม่ |
ระบบจะตรวจสอบสต็อกอัตโนมัติ — หากจำนวนที่ขายเกินสต็อกที่มี จะแจ้งเตือนทันที
โหมดการขาย
ระบบรองรับ 2 โหมดการขาย:
🏪 ขายปลีก (Retail)
ใช้ราคาขายปลีก (price_sell) เป็นค่าเริ่มต้น เหมาะสำหรับลูกค้าทั่วไป
📦 ขายส่ง (Wholesale)
ใช้ราคาขายส่ง (price_wholesale) เหมาะสำหรับลูกค้าขายส่งหรือ VIP
สลับโหมดการขายได้จากตัวเลือกบนหน้า POS ก่อนทำการชำระเงิน
วิธีการชำระเงิน
| วิธีชำระ | รหัส | รายละเอียด |
|---|---|---|
| 💵 เงินสด | cash |
รับเงินสดจากลูกค้า ระบบคำนวณเงินทอนอัตโนมัติ |
| 📱 โอนเงิน | transfer |
ชำระผ่านการโอนเงิน / PromptPay / QR Code |
| 💳 บัตรเครดิต/เดบิต | card |
ชำระผ่านเครื่องรูดบัตร |
| 📒 เครดิต (เชื่อ) | credit |
ลูกค้าเชื่อสินค้า — บันทึกยอดเชื่อในระบบเครดิต (ต้องเลือกลูกค้า) |
| 🔄 อื่น ๆ | other |
วิธีชำระเงินอื่น ๆ |
ขั้นตอนการชำระเงิน
เพิ่มสินค้า
ในตะกร้า
ในตะกร้า
→
ตรวจสอบ
รายการ
รายการ
→
เลือกลูกค้า
(ถ้ามี)
(ถ้ามี)
→
เลือกวิธี
ชำระเงิน
ชำระเงิน
→
ยืนยัน
การขาย
การขาย
ตรวจสอบรายการในตะกร้า
ตรวจสอบสินค้า จำนวน ราคา และส่วนลดให้ถูกต้อง
เลือกลูกค้า (ไม่บังคับ)
หากเป็นลูกค้าประจำ ให้ค้นหาและเลือกลูกค้า เพื่อบันทึกประวัติการซื้อ ใช้ส่วนลด หรือขายเชื่อ
เลือกวิธีชำระเงิน
เลือกจาก เงินสด, โอนเงิน, บัตร, เครดิต หรืออื่น ๆ
กรอกจำนวนเงินที่รับ (กรณีเงินสด)
ใส่จำนวนเงินที่ลูกค้าจ่าย ระบบจะคำนวณเงินทอนให้
คลิก "ชำระเงิน" / "ยืนยันการขาย"
ระบบจะบันทึกออเดอร์ ตัดสต็อกอัตโนมัติ และเปิดหน้าพิมพ์ใบเสร็จ
การขายเชื่อ (Credit)
เมื่อเลือกวิธีชำระเป็น "เครดิต":
- ต้องเลือกลูกค้า — ไม่สามารถขายเชื่อโดยไม่ระบุลูกค้า
- ตรวจสอบวงเงิน — ระบบจะตรวจสอบว่ายอดเชื่อไม่เกิน
credit_limitของลูกค้า - กำหนดวันครบกำหนด — กำหนดวันที่ต้องชำระตาม
credit_daysของลูกค้า - ชำระบางส่วน — สามารถรับเงินบางส่วนแล้วเครดิตส่วนที่เหลือได้
ติดตามยอดเครดิตค้างชำระได้ที่ หน้าจัดการลูกค้า & เครดิต
ใบเสร็จรับเงิน
หลังชำระเงินสำเร็จ ระบบจะเปิดหน้าใบเสร็จ (receipt_print.php) แสดงข้อมูล:
- ชื่อร้าน และโลโก้
- เลขที่ออเดอร์
- รายการสินค้า จำนวน ราคา
- ส่วนลด (ถ้ามี)
- ยอดรวม
- จำนวนเงินที่รับ และเงินทอน
- วิธีชำระเงิน
- วันที่-เวลา และชื่อพนักงาน
คลิก "พิมพ์" เพื่อส่งออกไปเครื่องพิมพ์ หรือบันทึกเป็น PDF
สิ่งที่เกิดขึ้นหลังการขาย
เมื่อขายสินค้าสำเร็จ ระบบจะดำเนินการอัตโนมัติ:
| การทำงาน | รายละเอียด |
|---|---|
| สร้างออเดอร์ | บันทึกข้อมูลการขายในตาราง orders + order_items |
| ตัดสต็อก | ลดจำนวนสินค้าใน products.stock_qty ตามจำนวนที่ขาย |
| บันทึกความเคลื่อนไหว | สร้างรายการใน stock_movements (type: out, ref_type: sale) |
| อัปเดตลูกค้า | เพิ่ม total_spent และ total_orders ของลูกค้า (ผ่าน Trigger) |
| บันทึกเครดิต | หากขายเชื่อ อัปเดต credit_balance ของลูกค้า |
เคล็ดลับ
- ใช้เครื่องสแกนบาร์โค้ด เพื่อความรวดเร็วในการเพิ่มสินค้า
- ตั้งค่า Barcode/SKU ให้สินค้าทุกรายการเพื่อให้สแกนได้
- เลือกลูกค้าก่อนขาย เพื่อใช้ส่วนลดตามประเภทลูกค้าอัตโนมัติ
- ตรวจสอบยอดรวมก่อนชำระ — เช็คส่วนลดและจำนวนสินค้าให้ถูกต้อง
สิทธิ์การเข้าถึง
เมนู POS ต้องมีสิทธิ์ pos:
Admin ✓
Cashier ✓
Stock ✗
Report ✗