คลังสินค้าและการตรวจนับ (ถ้าเปิดใช้งานสำหรับร้านของคุณ)
ติดตามวัสดุสิ้นเปลือง (น้ำมัน ผ้าขนหนู) และสินค้าขายปลีก (ครีม ของขวัญ) สต็อกหักอัตโนมัติ — ไม่มีใครที่เคาน์เตอร์กดปุ่ม "หักสต็อก"

แนวคิดหลัก
| แนวคิด | ความหมาย |
|---|---|
| รายการสินค้า | ผลิตภัณฑ์ที่ติดตาม (สิ้นเปลืองหรือขายปลีก) มีระดับสต็อกปัจจุบัน |
| หมวดหมู่ | การจัดกลุ่มรายการ (เช่น "น้ำมัน" "ขายปลีก") |
| การเคลื่อนไหวสต็อก | การเปลี่ยนแปลงจำนวนใด ๆ — รับเข้า หักขาย ปรับมือ |
| การเชื่อมโยงบริการ | สิ้นเปลืองเชื่อมกับบริการ (หักอัตโนมัติเมื่อบริการเริ่ม) |
| การตรวจนั บ | การนับจริงที่กระทบยอดสต็อกระบบกับความเป็นจริง |
รายการและระดับสต็อก
Admin → จัดการสินค้าคงคลัง → แท็บรายการสินค้า
แต่ละรายการมี:
| ฟิลด์ | หมายเหตุ |
|---|---|
| ชื่อ | แสดงบน POS (ขายปลีก) หรือในรายงาน (สิ้นเปลือง) |
| SKU / รหัส | SKU-NNN อ่านอย่างเดียวที่เซิร์ฟเวอร์สร้างภายในร้าน |
| หมวดหมู่ | การจัดกลุ่ม |
| ประเภท | สิ้นเปลือง (ใช้ระหว่างบริการ) หรือ ขายปลีก (ขายให้ลูกค้า) |
| หน่วย | รหัสควบคุม; หน่วยบรรจุ (ชิ้น/แพ็ก/กล่อง/ขวด/หลอด/ซอง/คู่/ม้วน) แยกจากหน่วยวัด (ml/l/g/kg) |
| สต็อกปัจจุบัน | จ ำนวนสด (อัปเดตจากการเคลื่อนไหว) |
| เกณฑ์สต็อกต่ำ | ทริกเกอร์แจ้งเตือนเมื่อต่ำกว่า |
| ราคาทุน / ราคาขาย | สำหรับขายปลีก |
สร้างรายการ
- คลังสินค้า → รายการ → สร้าง
- กรอกชื่อ ประเภท หมวดหมู่ หน่วย เกณฑ์
- ตั้งสต็อกเริ่มต้นผ่านใบรับเข้า (ดูด้านล่าง)
แคตตาล็อกที่แชร์
แท็บแคตตาล็อกที่แชร์แสดงสินค้าที่สาขาพันธมิตรเผยแพร่ภายใต้นโยบายแบ่งปัน นำมาใช้จะคัดลอกสินค้าเข้าสต็อกท้องถิ่นเป็นรายการอิสระ — เริ่มที่สต็อกศูนย์และไม่ผูกกับจำนวนของพันธมิตร คุณตั้งราคาขายปลีกท้องถิ่นแทนราคาขายปลีกในแคตตาล็อกได้
รับเข้า (ใบรับสินค้า)
Admin → จัดการสินค้าคงคลัง → แท็บใบรับสินค้า
เมื่อสต็อกใหม่มาถึง:
- สร้างใบรับ → เลือกร้าน
- เพิ่มรายการ: สินค้า + จำนวนที่รับ + ต้นทุนต่อหน่วย (ไม่บังคับ)
- บันทึก ระดับสต็อกอัปเดตทันที
แต่ละใบรับเป็นบันทึกถาวร — แก้ไขหลังสร้างไม่ได้ แต่สร้างใบรับใหม่สำหรับแก้ไขได้
การเคลื่อนไหวสต็อก
Admin → จัดการสินค้าคงคลัง → แท็บการเคลื่อนไหวสินค้า
บันทึกอ่านอย่างเดียวของทุกการเปลี่ยนแปลงจำนวน ทุกการเคลื่อนไหวมีประเภท เข้า / ออก / ปรับ และติดแท็กแหล่งที่มา:
| แหล่งที่มา | ทริกเกอร์ | ประเภท |
|---|---|---|
stock_receipt | สร้างใบรับ | เข้า |
retail_payment | ลูกค้าชำระค่าสินค้าขายปลีกที่ POS | ออก |
sale_line | รายการขายปลีก | ออก |
sale_return_line | การคืนสินค้าขายปลีก | เข้า |
service_record | บริการที่มีสิ้นเปลืองเชื่อมโยงเริ่ม | ออก |
stocktake | นำการตรวจนับไปใช้ | ปรับ (ให้ตรงยอดนับ) |
manual_outbound | บันทึกการนำออกสินค้าคงคลังใน Admin | ออก |
การเชื่อมโยงบริการ-สิ้นเปลือง
Admin → จัดการสินค้าคงคลัง → แท็บการเชื่อมโยงบริการ (หรือในรายละเอียดรายการ)
เชื่อมสิ้นเปลืองกับบริการเพื่อหักอัตโนมัติเมื่อบริการเริ่ม:
- เลือกบริการ (เช่น "นวดเนื้อเยื่อลึก 60 นาที")
- เลือกสิ้นเปลือง (เช่น "น้ำมันนวด")
- ตั้งปริมาณต่อบริการ (เช่น 30ml)
- บันทึก
เมื่อนักบำบัดเริ่มบริการบน POS → 30ml ถูกหักจากสต็อกอัตโนมัติ (SYSTEM_AUTO)

ไม่บล็อกตอนเริ่มบริการ: ถ้าสต็อกเป็นศูนย์ บริการยังเริ่มได้ — การหักถูก clamp เป็นศูนย์และบันทึกการขาด บริการไม่เคยถูกบล็อกจากคลังสินค้า การเคลื่อนไหวอื่น (นำออกด้วยมือ หักจากขายปลีก นำการตรวจนับไปใช้) ไม่ถูก clamp
ขายปลีกที่ POS
เมื่อสินค้าขายปลีกถูกเพิ่มใน Visit และชำระเสร็จ สต็อกหักอัตโนมัติ การหักระบุเป็น SYSTEM_AUTO และเชื่อมกับการชำระ
พนักงาน POS เห็นมุมมองอ่านอย่างเดียว — ปรับสต็อกด้วยมือจาก POS ไม่ได้
นำอ อกสินค้าคงคลัง (ด้วยมือ)
จากแท็บรายการสินค้า ใช้การนำออกสินค้าคงคลังกับรายการเพื่อนำสต็อกออกด้วยมือ — การใช้ของพนักงาน สินค้าเสียหาย ของชำรุด — พร้อมจำนวนและเหตุผล ระบบบันทึกการเคลื่อนไหว manual_outbound และเป็นวิธีเดียวที่ลดสต็อกด้วยมือได้นอกเหนือจากการตรวจนับ
แจ้งเตือนสต็อกต่ำ
เมื่อสต็อกรายการต่ำกว่าเกณฑ์:
- ส่งแจ้งเตือนไปยัง POS ร้าน (ปรากฏในกระดิ่ง)
- แบนเนอร์อาจปรากฏบนแดชบอร์ด POS (ปิดได้ต่อวัน)
- Admin → จัดการสินค้าคงคลัง → แท็บแผงควบคุมแสดงจำนวนสต็อกต่ำและห้ารายการที่ต่ำที่สุด
- การแจ้งเตือนไม่ซ้ำ: ไม่มีการแจ้งเตือนใหม่สำหรับรายการเดิมขณะที่การแจ้งเตือนก่อนหน้ายังไม่ถูกอ่านหรือปิด
การตรวจนับ (นับจริง)
Admin → จัดการสินค้าคงคลัง → แท็บการนับสินค้าคงคลัง
การตรวจนับกระทบยอดจำนวนระบบกับที่นับจริง
สร้างการตรวจนับ
- ตรวจนับ → ใหม่
- ระบบเติมรายการทั้งหมดพร้อมสต็อกระบบปัจจุบัน
- สำห รับแต่ละรายการ ป้อนจำนวนที่นับ (มีจริงเท่าไหร่)
- รายการที่นับ ≠ ระบบ ถูกแฟล็กเป็นความคลาดเคลื่อน
ยืนยันและนำการตรวจนับไปใช้
- ตรวจสอบรายการความคลาดเคลื่อนทั้งหมด และป้อนเหตุผลทุกรายการที่นับ ≠ ระบบ — การยืนยันถูกปฏิเสธตราบใดที่ยังมีรายการคลาดเคลื่อนที่ไม่มีเหตุผล
- ยืนยันการตรวจนับ นี่จะตรึงแผ่นนับ สต็อกยังไม่เปลี่ยน
- นำไปใช้การตรวจนับที่ยืนยันแล้ว ตอนนี้เท่านั้นที่การเคลื่อนไหวปรับปรุงถูกเขียน (แหล่งที่มา
stocktake) และสต็อกถูกปรับเป็นยอดที่นับ
สถานะ: ร่าง → กำลังนับ → ยืนยันแล้ว → นำไปใช้แล้ว (หรือเปิดใหม่)
เปิดตรวจนับใหม่
พบข้อผิดพลาดหลังยืนยัน?
- ส่งคำขอเปิดใหม่ (พร้อมเหตุผล)
- Admin คนอื่นอนุมัติในศูนย์อนุมัติ
- ระบบสร้างเวอร์ชันตรวจนับฉบับร่างใหม่โดยตั้งต้นจากสต็อกปัจจุบัน เวอร์ชันที่นำไปใช้แล้วคงเดิม
- นับ ยืนยัน และนำเวอร์ชันใหม่ไปใช้
เคล็ดลับ
- นับเป็นประจำ — รายการหมุนเร็วทุกสัปดาห์ สต็อกคงที่ทุกเดือน
- อย่าเดาตอนรับเข้า — ป้อนจำนวนจริงที่รับ ข้อมูลเข้าขยะ = ตรวจนับขยะ
- เชื่อมโยงบริการประหยัดเวลา — เชื่อมครั้งเดียว ไม่ต้องคิดเรื่องหักสิ้นเปลืองอีก
- เกณฑ์สต็อกต่ำ — ตั้งที่ระดับ "ถึงเวลาสั่งใหม่" ไม่ใช่ "หมดแล้ว"