BOOK 10/25เมนูและสต็อก
แก้ไขเมนู
จัดการเมนูทั้งหมดของร้าน — ชื่อ/ราคา/รูป/สูตร (BOM), โครงสร้างกลุ่ม→หมวด→เมนู, สถานีครัว/บาร์ + ตัวเลือกพิเศษ (modifier), และวิเคราะห์ต้นทุนอาหาร — ทำที่หน้า “จัดการเมนู” ซึ่งแบ่งเป็น 4 แท็บ: ✏️ แก้ไขเมนู, 🗂️ โครงสร้าง, 🏭 สถานี + ตัวเลือก, 🧮 ต้นทุน BOM · ต้องมีสิทธิ์ menu.edit จึงจะเข้าหน้านี้ได้ (แท็บ 🧮 ต้นทุน BOM ต้องมีสิทธิ์ cost.view เพิ่มอีกสิทธิ์หนึ่ง)
✏️ แก้ไขเมนู — เพิ่ม/แก้ไขรายละเอียดเมนู
เพิ่มเมนูแบบด่วน
กด “➕ เพิ่มเมนูด่วน” เพื่อเปิดฟอร์ม กรอกชื่อเมนู (ไทย) เป็นอย่างน้อย (ราคา/ชื่อ EN/ชื่อพม่า/กลุ่ม-หมวด/สถานีไม่บังคับ — ถ้าไม่เลือกหมวด ระบบจะใส่ให้อัตโนมัติเป็นหมวดแรกที่มีอยู่)
กด “➕ เพิ่มเมนู” — เพิ่มเสร็จแล้วคลิกชื่อเมนูจากรายการด้านล่างเพื่อเพิ่มรูป/สูตร/ช่วงเวลาขายต่อได้ทันที

เปิดภาพเต็ม เพิ่มเมนูอย่างละเอียด (ครบทุกช่องในหน้าต่างเดียว)
กด “🧾 เพิ่มเมนูอย่างละเอียด” — ขั้นตอนที่ 1 กรอกข้อมูลเริ่มต้น (ชื่อไทย/EN/พม่า, ราคา, กลุ่ม/หมวด, สถานี) แล้วกด “ถัดไป → กรอกรายละเอียด”
ขั้นตอนที่ 2: ระบบสร้างเมนูจริงแล้วเปิดตัวแก้ไขแบบเต็ม (รูป/สูตร BOM/เครื่องพิมพ์/พร้อมขาย/ช่วงเวลาขาย) ในหน้าต่างเดียวกันทันที ไม่ต้องปิดแล้วเปิดใหม่

เปิดภาพเต็ม ค้นหา + กรองรายการเมนู
ใช้ช่อง “🔍 ค้นหาชื่อเมนู” และตัวกรอง “กลุ่มทั้งหมด / หมวดทั้งหมด” ด้านซ้าย — เลือกกลุ่มก่อนจะทำให้ตัวกรองหมวดเหลือเฉพาะหมวดในกลุ่มนั้น
ติ๊ก “เลือกทั้งหมด” เพื่อเลือกทุกเมนูที่กรองไว้ในคราวเดียว สำหรับใช้กับแถบแก้ไขพร้อมกันด้านล่าง

เปิดภาพเต็ม แก้ไขรายละเอียดเมนู (คลิกจากรายการ)
คลิกชื่อเมนูจากรายการซ้ายเพื่อเปิดตัวแก้ไข (บนจอกว้างเปิดเป็นการ์ดด้านขวา, บนมือถือ/แท็บเล็ตเปิดเป็นป็อปอัป) — แก้ชื่อไทย, ราคา, กลุ่ม/หมวด, สถานี (จอ KDS), เครื่องพิมพ์เฉพาะเมนูนี้ (ว่าง = สืบทอดจากหมวด/กลุ่ม/โซน)
กด “🌐 แปลอัตโนมัติ” เพื่อเติมชื่อ EN/พม่าจากชื่อไทยด้วย Gemini AI — ระบบเตือนไว้ชัดเจนว่าอาจคลาดเคลื่อน ต้องตรวจทานก่อนบันทึกเสมอ
กดสวิตช์ “พร้อมขาย/ปิดการขาย” และ “⚡ เมนูสั่งบ่อย” (โชว์เป็นปุ่มลัดใน popup โต๊ะ) ได้จากหน้านี้โดยตรง
กด “💾 บันทึก” เพื่อบันทึกฟิลด์พื้นฐานทั้งหมด

เปิดภาพเต็ม ตั้งช่วงเวลา/วันที่ที่เมนูขายได้
⏰ ช่วงเวลาขาย: กรอกเวลาเริ่ม-สิ้นสุด (เว้นว่างทั้งคู่ = ขายได้ตลอด) — ตั้งข้ามเที่ยงคืนได้ เช่น 20:00–02:00
📅 ช่วงวันที่ขาย: จำกัดว่าขายได้เฉพาะช่วงปฏิทินไหน (เว้นว่าง = ไม่จำกัด, ใส่ฝั่งเดียวก็ได้ เช่น ใส่แค่ “ถึง” เพื่อหยุดขายหลังวันนั้น)
🗓️ วันขาย: แตะเลือกวันในสัปดาห์ที่ขายได้ — ไม่เลือกวันไหนเลยหมายถึง “ขายได้ทุกวัน” ไม่ใช่ปิดขาย และถ้าตั้งทั้งช่วงวันที่และวันในสัปดาห์พร้อมกัน เมนูจะขายได้ก็ต่อเมื่อเข้าเงื่อนไขทั้งสองอย่าง (AND)

เปิดภาพเต็ม อัปโหลดรูปเมนู
ในตัวแก้ไข กด “📷 เปลี่ยนรูป” แล้วเลือกไฟล์ jpg/png — แนะนำสัดส่วน 1:1 เพื่อให้แสดงผลสวยในทุกจอ

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

เปิดภาพเต็ม แปลชื่อเมนูอัตโนมัติแบบกลุ่ม (bulk translate)
ปุ่ม “🌐 แปลชื่อเมนู…” เหนือรายการ: ถ้าไม่ได้เลือกเมนูไว้ ปุ่มจะแปลทุกเมนูที่ยังไม่มีชื่อ EN/พม่า ทั้งร้าน; ถ้าเลือกเมนูไว้ ปุ่มจะเปลี่ยนเป็น “แปลชื่อเมนูตามที่เลือก” และแปลเฉพาะรายการที่ติ๊กไว้
ต้องตั้งค่า GEMINI_API_KEY ไว้ก่อน — ถ้ายังไม่ได้ตั้งค่า ระบบจะแจ้งเตือนแทนที่จะแปลเงียบๆ

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

เปิดภาพเต็ม ลบวัตถุดิบออกจากสูตร + บันทึก
กด ✕ ท้ายแถวเพื่อลบวัตถุดิบนั้นออกจากสูตร
กด “💾 บันทึก Recipe” เพื่อบันทึกสูตรทั้งหมด — ต้นทุนวัตถุดิบ (ต้นทุน), ราคาขาย, และ % กำไรขั้นต้นจะคำนวณและแสดงให้เห็นทันทีที่ตัวแก้ไขเมนูนี้เอง — ตัวเลขต้นทุนและ % กำไรเห็นเฉพาะผู้มีสิทธิ์ cost.view (ไม่มีสิทธิ์จะเห็นเป็น •••) ดู “ต้นทุนต่อเมนู ต้องมีสิทธิ์ cost.view” ด้านล่าง

เปิดภาพเต็ม
🗂️ โครงสร้าง — กลุ่ม (Group) → หมวด (Category) → เมนู (Item)
เพิ่มกลุ่มและหมวด
ใช้การ์ด “➕ เพิ่มกลุ่ม (Group)” ด้านล่างของแท็บ กรอกชื่อกลุ่ม เช่น อาหาร, เครื่องดื่ม แล้วกด ➕
ใช้การ์ด “➕ เพิ่มหมวด (Category)” กรอกชื่อหมวด เลือกกลุ่มที่จะสังกัด (หรือปล่อยว่าง = ไม่มีกลุ่ม) แล้วกด ➕

เปิดภาพเต็ม ตั้งสีไฮไลท์กลุ่ม + เครื่องพิมพ์ราย กลุ่ม/หมวด/เมนู
แตะช่องสีข้างชื่อกลุ่มเพื่อตั้งสีไฮไลท์ (ใช้เน้นปุ่ม hotcue และแยกสีในจอครัว/บาร์) กด ⨯ เพื่อล้างสี
เลือกเครื่องพิมพ์ที่ระดับกลุ่ม/หมวด/เมนูแยกกันได้ — ลำดับการสืบทอด: เมนู > หมวด > กลุ่ม > ค่าเริ่มต้นของโซน — ตั้งที่ระดับสูงแล้วเมนูย่อยที่ไม่ได้ตั้งเองจะสืบทอดค่านั้นอัตโนมัติ

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

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

เปิดภาพเต็ม
🏭 สถานี + ตัวเลือกพิเศษ (Modifiers)
จัดการสถานีทำงาน (Stations)
เพิ่มสถานีใหม่ (เช่น ซาลาด, กาแฟ) ในฟอร์มด้านบนของการ์ด “สถานีทำงาน” — สถานีคือจอครัว/บาร์ที่ออร์เดอร์ของเมนูนั้นจะไปโผล่ ไม่ใช่การตั้งเครื่องพิมพ์ (ตั้งเครื่องพิมพ์ทำที่หน้า “ตั้งค่าเครื่องพิมพ์” แยกต่างหาก)
แก้ชื่อสถานีด้วย ✏️ หรือลบด้วย 🗑 — ปุ่มลบจะถูกปิด (กดไม่ได้) ถ้ายังมีเมนูใช้สถานีนั้นอยู่ ระบบโชว์จำนวนเมนูที่ผูกอยู่ให้ดูก่อนตัดสินใจ

เปิดภาพเต็ม เพิ่มตัวเลือกพิเศษ (Modifier) พื้นฐาน
กรอกชื่อ (ไทย) เช่น เผ็ดน้อย, เผ็ดมาก, เพิ่มชีส และราคาพิเศษ (฿) ถ้ามี — กด 🌐 เพื่อแปล EN/พม่าอัตโนมัติจากชื่อไทย
ติ๊กสถานีที่ใช้ตัวเลือกนี้ได้ (เว้นว่าง = ใช้ได้ทุกสถานี) แล้วกด “+ เพิ่ม Modifier”

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

เปิดภาพเต็ม แก้ไข / ลบ / แปลกลุ่ม modifier พร้อมกัน
กด ✏️ ที่แถว modifier เพื่อเปิดหน้าต่างแก้ไข (ฟิลด์เดียวกับตอนเพิ่ม) กด 🗑 เพื่อลบ (ต้องยืนยันก่อนทุกครั้ง — ลบแล้วกู้คืนไม่ได้)
ติ๊กเลือกหลาย modifier พร้อมกันแล้วกด “🌐 แปลที่เลือก (N)” เพื่อแปล EN/พม่าให้ครบทีเดียว — ระบบเติมเฉพาะภาษาที่ยังว่างเท่านั้น ไม่ทับชื่อที่กรอกไว้แล้ว

เปิดภาพเต็ม
🧮 ต้นทุน BOM ภาพรวม (ต้องมีสิทธิ์ cost.view)
ภาพรวมต้นทุนทั้งร้าน
แถบการ์ดด้านบนสรุป: จำนวนเมนูทั้งหมด, food cost เฉลี่ยทั้งร้าน, จำนวนเมนูต้นทุนสูง (food cost > 40% ของราคาขาย), จำนวนเมนูที่ยังไม่ตั้งสูตรเลย, และจำนวน modifier ที่ต้นทุนกินมากกว่า 70% ของราคาพิเศษที่บวก
คลิกการ์ด “ยังไม่ตั้งสูตร” ตอนเปิดโหมดแก้สูตร เพื่อกรองรายการด้านล่างให้เหลือเฉพาะเมนูที่ยังไม่มีสูตรเลย (worklist)

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

เปิดภาพเต็ม แก้สูตรจากหน้าต้นทุน BOM (โหมดแก้สูตร)
ถ้ามีสิทธิ์ menu.edit ด้วย จะเห็นสวิตช์ “🛠️ โหมดแก้สูตร” มุมขวาบน (ค่าเริ่มต้นปิด) — เปิดแล้วแก้สูตรเมนูหรือสูตรของ modifier ได้ตรงจากหน้านี้เลย ไม่ต้องสลับไปแท็บแก้ไขเมนู
ในโหมดแก้สูตร มีปุ่ม “คัดลอกสูตรจากเมนูอื่น” ให้เลือกเมนูต้นแบบที่มีสูตรอยู่แล้ว เพื่อคัดลอกมาแก้ต่อแทนการพิมพ์ใหม่ทั้งหมด (ถ้ามีสูตรเดิมอยู่แล้วระบบจะถามยืนยันก่อนทับ)

เปิดภาพเต็ม แทนวัตถุดิบทุกสูตรพร้อมกัน (A → B)
ในโหมดแก้สูตร เลื่อนไปที่การ์ด “🔁 แทนวัตถุดิบทุกสูตร (A → B)” เลือกวัตถุดิบต้นทาง-ปลายทาง แล้วกด “🔍 ตรวจสอบ (dry-run)” ก่อนเสมอ — ระบบไม่ให้แทนที่ตรงๆ โดยไม่ตรวจสอบก่อน
ผลตรวจสอบแบ่งเป็น “จะแทนที่ได้” (หน่วยเข้ากันได้) กับ “หน่วยไม่ตรง — ต้องแก้มือ” (สูตรที่ใช้หน่วยตัดที่ไม่มีอยู่ในวัตถุดิบปลายทาง) กด “✅ ยืนยันแทนที่” เพื่อทำเฉพาะรายการที่ปลอดภัย ส่วนรายการหน่วยไม่ตรงต้องไปแก้เองทีละสูตร

เปิดภาพเต็ม ของเตรียม (prep item) — ต้นทุนคำนวณสดเทียบกับต้นทุนที่บันทึกไว้
ถ้าร้านมีวัตถุดิบที่เป็น “ของเตรียม” (มีสูตรของตัวเอง เช่น น้ำจิ้ม/ซอสที่ทำเอง) จะมีตารางเทียบ “ทุนตามสูตร (คำนวณสด จากราคาวัตถุดิบตอนนี้)” กับ “ทุนที่บันทึกไว้ (ถัวเฉลี่ยตอนทำ batch ล่าสุดที่หน้าคลังสต็อก)”
ถ้าต่างกันเกิน 15% จะมีป้าย “⚠️ ต่าง >15%” เตือนว่าน่าจะถึงเวลาทำ batch ใหม่เพื่ออัปเดตต้นทุนที่บันทึกไว้ให้ตรงราคาวัตถุดิบปัจจุบัน

เปิดภาพเต็ม
จุดที่มักสับสน
ลบกลุ่ม/หมวดถูกกันไว้ แต่ลบเมนูไม่ถูกกัน
ลบ “กลุ่ม” ที่ยังมีหมวดอยู่ข้างในจะถูกระบบบล็อก (ขึ้นข้อความ “กลุ่มนี้ยังมีหมวดอยู่ — โปรดย้ายหรือลบหมวดก่อน”) และลบ “หมวด” ที่ยังมีเมนูอยู่ข้างในก็ถูกบล็อกเช่นกัน (“หมวดนี้ยังมีเมนูอยู่ — โปรดย้ายหรือลบเมนูก่อน”) — แต่ลบ “เมนู” รายการเดียวไม่มีการกันไว้เลยนอกจากป็อปอัปยืนยันฝั่งเบราว์เซอร์ ลบแล้วกู้คืนไม่ได้ ต้องระวังเป็นพิเศษเวลาลบเมนูทีละตัวหรือลบหลายตัวพร้อมกัน (bulk delete)
ลบสถานีถูกกันตรงข้ามกับลบกลุ่ม/หมวด
สถานี (Station) ลบไม่ได้ถ้ายังมีเมนูผูกอยู่ (ปุ่ม 🗑 จะกดไม่ได้ พร้อมโชว์จำนวนเมนู) — asymmetric กับพฤติกรรมลบเมนูด้านบนที่ปล่อยให้ลบได้เสมอ
ชื่อเมนูซ้ำกันได้ ระบบไม่เช็คให้
เพิ่ม/แก้ชื่อเมนูให้ซ้ำกับเมนูที่มีอยู่แล้วได้ทั้งเมนูด่วนและเมนูอย่างละเอียด ไม่มีข้อความเตือนหรือบล็อกใดๆ — ถ้าจะกันซ้ำต้องเช็คเองก่อนเพิ่ม (เช่นค้นหาชื่อในช่องค้นหาก่อน)
หน่วยตัดสต็อกที่ไม่ตรงกับวัตถุดิบจะถูกบล็อกตอนเพิ่มแถวสูตร
ถ้าเลือกหน่วยที่ไม่ใช่หน่วยหลักและไม่ใช่หน่วยตัดที่กำหนดไว้ของวัตถุดิบนั้น ระบบจะไม่ยอมให้กด “➕ เพิ่ม” และขึ้นข้อความ “หน่วย … ไม่ตรงกับวัตถุดิบ …” พร้อมบอกหน่วยที่ใช้ได้จริง — กันบั๊ก “ตัดสต็อกผิดหน่วยเงียบๆ (×1)” ที่เคยเกิดมาก่อน
บันทึกเมนู 1 ครั้ง จริงๆ คือ 2 คำขอแยกกัน
ปุ่ม “💾 บันทึก” ในแท็บแก้ไขเมนูจะยิง 2 คำขอเรียงกัน: คำขอแรกบันทึกชื่อไทย/ราคา/หมวด/สถานี/ช่วงเวลาขายฯลฯ คำขอที่สองบันทึกชื่อ EN/พม่าแยกต่างหาก — ถ้าคำขอที่สองล้มเหลว (เช่นเน็ตหลุดกลางคัน) ชื่อไทยและราคาจะถูกบันทึกไปแล้ว แต่ชื่อ EN/พม่าจะไม่ถูกบันทึก ระบบจะขึ้นข้อความ “บันทึกชื่อภาษาอื่นล้มเหลว” ให้กดบันทึกซ้ำอีกครั้ง
ต้นทุนต่อเมนู ต้องมีสิทธิ์ cost.view
ในตัวแก้ไขที่แท็บ “✏️ แก้ไขเมนู” และในแผงแก้ไขของแท็บ “🗂️ โครงสร้าง” ผู้ที่มีแค่สิทธิ์ menu.edit ยังแก้สูตรได้ตามปกติ แต่ตัวเลขต้นทุน (ต่อวัตถุดิบ ต่อบรรทัด และรวมทั้งเมนู) จะแสดงเป็น ••• และไม่เห็น % กำไร — ราคาขายยังเห็นตามปกติ ส่วนแท็บ “🧮 ต้นทุน BOM” (ภาพรวมทั้งร้าน + breakdown รายวัตถุดิบ) ไม่แสดงเลยถ้าไม่มี cost.view
เข้าแท็บ 🧮 ต้นทุน BOM ผ่านลิงก์ตรง (?tab=bom) โดยไม่มีสิทธิ์ — เด้งกลับเงียบๆ
ถ้าเปิดลิงก์ /admin/menu?tab=bom โดยบัญชีที่ไม่มีสิทธิ์ cost.view หน้าจะไม่ขึ้นข้อความปฏิเสธสิทธิ์ แต่จะเด้งกลับไปแสดงแท็บ “✏️ แก้ไขเมนู” แทนเงียบๆ (เพราะแท็บนั้นเป็นแท็บเดียวที่มีสิทธิ์เข้าถึงแน่ๆ)
ขอบเขต modifier: exclude ชนะทุกอย่าง, เมนู/หมวด/กลุ่มรวมกันชนะสถานี
ลำดับการตัดสินว่า modifier ใช้กับเมนูไหนได้: (1) ถ้าเมนูอยู่ใน “🚫 ไม่รวมกับเมนูดังต่อไปนี้” — ใช้ไม่ได้เด็ดขาด ชนะทุกเงื่อนไข แม้ตั้งรวมทั้งหมวด/กลุ่มไว้ก็ตาม (2) ถ้าไม่ได้ยกเว้น และตั้งขอบเขต “เฉพาะเมนู/หมวด/กลุ่ม” ไว้อย่างใดอย่างหนึ่ง (รวมกันแบบ “หรือ” ไม่ใช่ “และ”) — ขอบเขตนี้ใช้แทนตัวกรองสถานีทั้งหมด ไม่ใช่กรองซ้อนกัน (3) ถ้าไม่ได้ตั้งขอบเขตอะไรเลยทั้ง 3 แบบ — กลับไปใช้ตัวกรองสถานีตามปกติ
ช่วงเวลา/วันที่/วันขาย ทำงานแบบ “และ” ไม่ใช่ “หรือ”
ถ้าตั้งทั้งช่วงเวลาขาย, ช่วงวันที่ขาย, และวันขายในสัปดาห์พร้อมกัน เมนูจะปรากฏให้สั่งได้ก็ต่อเมื่อเข้าเงื่อนไขครบทุกอย่าง (AND) ไม่ใช่แค่ข้อใดข้อหนึ่ง — และการไม่เลือกวันในสัปดาห์เลยสักวัน ไม่ได้แปลว่าปิดขาย แต่แปลว่าขายได้ทุกวัน (ค่าเริ่มต้น)
แทนวัตถุดิบ A→B ต้องตรวจสอบ (dry-run) ก่อนเสมอ
หน้าต้นทุน BOM ไม่มีทางกดแทนที่วัตถุดิบข้ามทุกสูตรได้ทันที ต้องกด “🔍 ตรวจสอบ (dry-run)” ก่อนเพื่อดูว่าสูตรไหนแทนได้ปลอดภัย (หน่วยเข้ากันได้) กับสูตรไหนต้องแก้มือ (หน่วยไม่ตรง) — กดยืนยันแทนที่ได้เฉพาะกลุ่มที่ปลอดภัยเท่านั้น