BOOK 13/25เมนูและสต็อก
วัตถุดิบคงคลัง
จัดการข้อมูลตั้งต้น (master data) ของวัตถุดิบทั้งร้าน — รายชื่อวัตถุดิบ หน่วยนับ ผู้ขายพร้อมเงื่อนไขการค้า จุดสั่งซื้อ (ROP) และสูตรของเตรียม หน้านี้ต่างจาก “เช็คสต็อก” ที่นับของจริงเทียบระบบ และต่างจาก “รับของ/แผนสั่งของ” ที่บันทึกการรับเข้าคลังกับคำนวณว่าต้องสั่งอะไรวันนี้
รายการวัตถุดิบ (เพิ่ม/แก้ไข/ลบ)
เปิดหน้าคลังวัตถุดิบ
ตารางหลักแสดงวัตถุดิบทั้งหมดพร้อมหน่วยหลัก, Supplier, หน่วยตัด (ถ้ามี), ตัวเลขแปลงหน่วย, คงเหลือ และจุดสั่งซื้อ — ค้นหาได้จากชื่อ/Supplier/หน่วยด้านบนตาราง
กรอง “ประเภท” แบ่งเป็นของซื้อ/ของเตรียม/ทั้งหมด และสลับหน่วยที่ใช้แสดงคอลัมน์ “คงเหลือ” ได้ (หน่วยหลักหรือหน่วยตัด) — สองอันนี้เป็นแค่ตัวกรอง/มุมมองการแสดงผล ไม่กระทบข้อมูลจริง

เปิดภาพเต็ม เพิ่มวัตถุดิบใหม่
ต้องกรอกชื่อ (ไทย) และหน่วยนับก่อนเสมอ ฟิลด์อื่น (ชื่อ EN/MY, ต้นทุน/หน่วย, สต็อกเริ่มต้น, Supplier, หน่วยตัด+ตัวเลขแปลงหน่วย, จุดสั่งซื้อ) เป็นตัวเลือกเพิ่มเติมทั้งหมด — กดปุ่ม “แปลด้วย AI” เพื่อให้ระบบแปลชื่อไทยเป็น EN/พม่าให้อัตโนมัติจากชื่อที่กรอกไว้
ถ้าตั้งหน่วยตัด (หน่วยที่ใช้ในสูตรอาหาร เช่น ขวด/ชิ้น ต่างจากหน่วยหลักที่รับเข้า เช่น ลัง) ต้องกรอกตัวเลขแปลงหน่วย “1 หน่วยหลัก = ? หน่วยตัด” คู่กันเสมอ ไม่งั้นระบบจะเตือนและไม่ให้บันทึก

เปิดภาพเต็ม แก้ไขวัตถุดิบทีละรายการ
กด “แก้ไข” ที่แถวนั้นเพื่อเปิดโหมดแก้ไขแบบ inline — แก้ได้ทุกฟิลด์รวมถึงชื่อหลัก (rename แล้วทุกเมนูที่ผูก ID นี้ได้ชื่อใหม่ทันที เพราะอ้างอิงด้วย id ไม่ใช่ชื่อ)
ถ้าเปลี่ยนหน่วยนับ (หน่วยหลัก) ระบบจะเตือนก่อนบันทึกเสมอว่าเป็นการเปลี่ยน “ป้าย” เท่านั้น ตัวเลขสต็อก/ต้นทุน/สูตรอาหารจะไม่ถูกแปลงให้อัตโนมัติ — ต้องตรวจตัวเลขเองหลังเปลี่ยน
กด “ลบ” เพื่อลบวัตถุดิบรายการนั้นทิ้งถาวร

เปิดภาพเต็ม แก้ไขหลายรายการพร้อมกัน (bulk)
ติ๊กเลือกได้หลายแถว (หรือ “เลือกทั้งหมด” ตามที่กรองอยู่) แถบเครื่องมือจะโผล่มาด้านบนให้ตั้งค่าพร้อมกันได้ 4 อย่าง: Supplier, หน่วยตัด+ตัวเลขแปลงหน่วย, จุดสั่งซื้อ และแปลภาษา EN/MY ด้วย AI
ลบพร้อมกันหลายรายการได้เช่นกัน (ปุ่มสีแดงมุมขวา) — ยืนยันก่อนทุกครั้งเพราะลบแล้วกู้คืนไม่ได้

เปิดภาพเต็ม
หน่วยนับ (master list ของหน่วยที่ใช้ได้ทั้งร้าน)
เพิ่ม/แก้ไข/ลบหน่วยนับ
แท็บ “จัดการหน่วย” เก็บรายชื่อหน่วยนับกลางที่ใช้เป็นได้ทั้ง “หน่วยหลัก” (รับเข้า) และ “หน่วยตัด” (ในสูตร) ของวัตถุดิบทุกตัวในร้าน — เพิ่มชื่อใหม่แล้วมันจะไปโผล่ในทุก dropdown เลือกหน่วยทันที
ลบหน่วยที่ยังมีวัตถุดิบใช้อยู่ (ไม่ว่าจะเป็นหน่วยหลักหรือหน่วยตัด) ทำไม่ได้ — ระบบจะบล็อกและบอกชื่อวัตถุดิบที่ยังใช้อยู่ ต้องไปเปลี่ยนหน่วยของวัตถุดิบเหล่านั้นก่อนถึงจะลบหน่วยนี้ได้

เปิดภาพเต็ม
Supplier (ผู้ขาย) และเงื่อนไขการค้า
เพิ่ม/แก้ไข/ลบ Supplier
กรอกชื่อ (บังคับ), เบอร์โทร, ผู้ติดต่อ, หมายเหตุ (ไม่บังคับ) — ตารางแสดงจำนวนวัตถุดิบที่ผูก Supplier รายนั้นไว้ด้วย
ลบ Supplier ที่มีวัตถุดิบผูกอยู่ได้เลยโดยไม่ถูกบล็อก — วัตถุดิบที่เคยผูกไว้จะแค่กลายเป็น “ไม่ระบุ Supplier” ไม่ได้ถูกลบหรือหยุดขายไปด้วย

เปิดภาพเต็ม เงื่อนไขการค้า (ราคา/MOQ/lead time/วันที่สั่งได้)
เลือก Supplier ด้านบนก่อน แล้วเลือกวัตถุดิบเพื่อกรอกราคาต่อหน่วย, MOQ (สั่งขั้นต่ำ), lead time (จำนวนวันกว่าของจะมาถึง) และติ๊กวันที่สั่งได้ (จันทร์-อาทิตย์) — ทุกฟิลด์ไม่บังคับ เว้นว่างได้ถ้ายังไม่รู้
ข้อมูลชุดนี้เป็นแหล่งเดียวที่หน้า “แผนสั่งของ” (โมดูล “รับของ”) ใช้คำนวณว่าวัตถุดิบไหนใกล้หมดก่อนของมาถึง (lead time) และควรสั่งเมื่อไหร่ — ถ้าไม่กรอกไว้ วัตถุดิบนั้นจะไปโผล่ในตาราง “ยังไม่ได้กรอกเงื่อนไขการค้า” ของหน้าแผนสั่งของแทน

เปิดภาพเต็ม
ของเตรียม (prep item) — สูตรและทำ batch
ตั้ง/แก้สูตรของเตรียม
กดปุ่ม “🧪 สูตร” ที่แถววัตถุดิบใดก็ได้เพื่อเปิดตัวแก้สูตร (ตัวเดียวกับที่ใช้แก้สูตรเมนู/BOM) แล้วเพิ่มวัตถุดิบอื่นเป็น “ส่วนประกอบ” พร้อมจำนวนต่อ 1 batch
สถานะ “ของซื้อ” หรือ “ของเตรียม” ไม่ใช่ค่าที่ตั้งแยกเอง — ระบบดูจากว่ามีส่วนประกอบในสูตรหรือเปล่า (มี ≥ 1 บรรทัด = ของเตรียมทันที, ลบส่วนประกอบจนว่าง = กลับเป็นของซื้อทันที) ไม่ต้องไปหาสวิตช์เปิด/ปิดที่ไหน

เปิดภาพเต็ม ทำ batch (ผลิตของเตรียม)
กด “🏭 ทำ batch” (โผล่เฉพาะรายการที่มีสูตรแล้ว) กรอกจำนวน batch ที่จะทำ ระบบจะตัดสต็อกส่วนประกอบทุกตัวตามสูตร ×จำนวน batch แล้วเพิ่มสต็อกของตัวมันเองเข้าไป
ถ้าส่วนประกอบตัวไหนมีไม่พอ ระบบจะบล็อกทันทีและบอกว่าขาดอะไรเท่าไหร่ ก่อนตัดสต็อกอะไรเลย — ตรงนี้ตั้งใจให้ต่างจากตอน “ปิดบิลขายเมนู” ซึ่งจะขายได้เสมอแม้วัตถุดิบไม่พอ (แค่ตัดสต็อกติดลบ ไม่บล็อกการขาย)

เปิดภาพเต็ม
จุดที่มักสับสน
ลบวัตถุดิบที่ยังมีสูตรอาหารอ้างอิงอยู่ — ระบบไม่เตือนและไม่บล็อกให้เลย
กด “ลบ” วัตถุดิบได้เสมอแม้จะมีเมนูหรือสูตรของเตรียมอ้างอิง id นั้นอยู่ ไม่มีการเช็คก่อนลบ ผลที่ตามมาต่างกันตามจุดที่อ้างอิง: ถ้าเป็นสูตรของเตรียม (“ทำ batch”) ระบบจะข้ามบรรทัดนั้นพร้อมแจ้งเตือนให้เห็น แต่ถ้าเป็นสูตรเมนูที่ใช้ตอนขาย (BOM) การตัดสต็อกของบรรทัดนั้นจะถูก “ข้ามแบบเงียบ” ไม่มีข้อความแจ้งเตือนใดๆ ทั้งสิ้น — ก่อนลบวัตถุดิบ ควรเช็คที่หน้าจัดการเมนู/สูตรก่อนว่ายังมีใครใช้อยู่ไหม
เปลี่ยนชื่อหน่วยนับ 2 ทาง ให้ผลต่างกัน — ทางหนึ่งเตือน ทางหนึ่งไม่เตือนและไม่แปลงชื่อให้เลย
แก้ไขวัตถุดิบทีละรายการแล้วเปลี่ยน “หน่วยหลัก” ของแถวนั้น ระบบจะเตือนก่อนเสมอว่าเป็นการเปลี่ยนป้ายเท่านั้น (ตัวเลขสต็อก/ต้นทุน/สูตรไม่ถูกแปลงให้) แต่ถ้าไปเปลี่ยนชื่อหน่วยที่แท็บ “จัดการหน่วย” โดยตรง (ปุ่ม ✏️ เปลี่ยนชื่อ) จะไม่มีคำเตือนใดๆ เลย และที่สำคัญกว่านั้น — วัตถุดิบทุกตัวที่เคยใช้ชื่อหน่วยเดิมอยู่จะไม่ถูกเปลี่ยนชื่อตามไปด้วย (ระบบจับคู่หน่วยของวัตถุดิบด้วยชื่อ ไม่ใช่ id) ทำให้วัตถุดิบเหล่านั้นกลายเป็น “ใช้หน่วยที่ไม่อยู่ใน master list” ทันที (เห็นป้าย “(ไม่อยู่ใน master list)” ในดรอปดาวน์เลือกหน่วยของแถวนั้น) — ถ้าจะเปลี่ยนชื่อหน่วยที่มีวัตถุดิบใช้อยู่แล้ว ต้องไปแก้ชื่อหน่วยที่วัตถุดิบแต่ละตัวเองด้วยตนเองหลังจากนั้น
ตั้งหน่วยตัดโดยไม่กรอกตัวเลขแปลงหน่วย = บันทึกไม่ได้
หน่วยตัด (หน่วยที่ใช้ตัดสต็อกในสูตรอาหาร เช่น “ขวด” เมื่อหน่วยหลักคือ “ลัง”) ต้องมาคู่กับ “1 หน่วยหลัก = ? หน่วยตัด” เสมอ ทั้งตอนเพิ่มวัตถุดิบใหม่และตอนแก้ไข — ถ้ากรอกหน่วยตัดแต่ปล่อยตัวเลขแปลงหน่วยว่างหรือเป็น 0 ระบบจะเตือนและไม่ยอมบันทึกให้
ลบหน่วยนับกับลบ Supplier ทำงานต่างกัน — อย่าคาดหวังพฤติกรรมเดียวกัน
ลบหน่วยนับที่ยังมีวัตถุดิบใช้อยู่ (เป็นหน่วยหลักหรือหน่วยตัดก็ตาม) ระบบจะบล็อกทันที ไม่ให้ลบจนกว่าจะย้ายวัตถุดิบเหล่านั้นไปใช้หน่วยอื่นก่อน แต่ลบ Supplier ที่มีวัตถุดิบผูกอยู่กลับลบได้ทันทีโดยไม่บล็อก — วัตถุดิบนั้นจะแค่กลายเป็น “ไม่ระบุ Supplier” เฉยๆ
จุดสั่งซื้อ (ROP) ที่ตั้งไว้ที่นี่เป็นแค่เกณฑ์คงที่ ไม่ใช่ตัวเลขที่คำนวณจากยอดขายจริง
ตัวเลข “จุดสั่งซื้อ” ต่อวัตถุดิบในหน้านี้แค่ทำให้ขึ้นไอคอน ⚠️ เมื่อสต็อกต่ำกว่าที่ตั้งไว้ (ในตารางนี้และหน้าเช็คสต็อก) เป็นตัวเลขคงที่ที่ต้องตั้งเอง ไม่เกี่ยวกับยอดขายย้อนหลังเลย — ถ้าต้องการตัวเลขที่คำนวณจากยอดขายจริง + lead time ของผู้ขาย ให้ดูที่หน้า “แผนสั่งของ” ในโมดูล “รับของ” แทน (ใช้ข้อมูลคนละชุดกัน) — ถ้าไม่เคยตั้งจุดสั่งซื้อไว้เลย ระบบจะใช้ค่าเริ่มต้น 30 (หน่วยหลัก) ให้อัตโนมัติ ไม่ใช่ว่าปล่อยว่างแล้วจะไม่มีการเตือนเลย
ตัวกรอง “ของซื้อ/ของเตรียม” เป็นแค่มุมมองที่คำนวณสด ไม่ใช่ค่าที่บันทึกไว้
ปุ่มกรอง “ของซื้อ / ของเตรียม” เหนือตารางไม่ได้อ่านจากฟิลด์ที่บันทึกแยกไว้ — ระบบเช็คสดทุกครั้งว่าวัตถุดิบนั้นมีสูตรของเตรียม (จากขั้นตอน “ตั้ง/แก้สูตรของเตรียม”) อยู่หรือเปล่า ดังนั้นถ้าเพิ่ง “ลบส่วนประกอบออกจนสูตรว่าง” วัตถุดิบตัวนั้นจะเด้งจากกลุ่ม “ของเตรียม” ไปกลุ่ม “ของซื้อ” ทันทีโดยไม่ต้องกดบันทึกอะไรเพิ่ม