โมดูล "โรงงาน" เป็นปลั๊กอินแยก
วัตถุดิบ สูตรการผลิต ใบสั่งผลิต ประวัติสต๊อก และนับสต๊อก ต้องเปิดใช้งานปลั๊กอิน "โรงงาน" ก่อนจึงจะเห็นแท็บเหล่านี้ในเมนู — ร้านที่ไม่ได้ผลิตอะไรเอง (แค่ซื้อมาขายไป) เปิดใช้แค่ "จัดซื้อ" อย่างเดียวได้เช่นกัน
วัตถุดิบ
ทะเบียนวัตถุดิบที่ใช้ผลิตสินค้า ต่างจาก "เมนู / สินค้า" ซึ่งเป็นสินค้าสำเร็จที่ขายให้ลูกค้า แต่ละวัตถุดิบมีระดับสต็อกปัจจุบัน วันที่นับล่าสุด และใครเป็นคนนับ — ถ้านับล่าสุดเกิน 30 วัน แถวจะขึ้นสีเหลืองเตือน
สต็อกติดลบได้ และเป็นเรื่องปกติ
ระบบไม่บังคับให้สต็อกเป็นศูนย์เป็นอย่างน้อย — ถ้าขายเกินสต็อกที่มี ตัวเลขจะติดลบจริง แสดงเป็น "ติดลบ — ขายเกินสต็อก" พร้อมลิงก์ไปดูรายการที่ทำให้ติดลบ เลขติดลบที่เห็นจริงดีกว่าเลขศูนย์ที่โกหก
ต้นทุนเฉลี่ยต่อหน่วยจะแสดงเฉพาะคนที่ถือสิทธิ์ factory.costs — ถ้าไม่มีสิทธิ์นี้ ช่องต้นทุนจะว่างเปล่าไปเลย ไม่ใช่ขึ้น "฿0" หรือ "฿—" ปลอม ๆ
สูตรการผลิต
สูตร/ส่วนผสมของสินค้าที่ผลิต บอกว่าสินค้าหนึ่งชิ้นใช้วัตถุดิบอะไรบ้างและปริมาณเท่าไร แต่ละสูตรมีสถานะ ใช้งานอยู่ / แบบร่าง / เก็บเข้าคลัง และมีเวอร์ชันของตัวเอง — แก้สูตรที่ใช้งานอยู่จะสร้างเวอร์ชันใหม่ ไม่เขียนทับของเดิม เพื่อให้ใบสั่งผลิตเก่ายังอ้างอิงสูตรที่ใช้ตอนนั้นได้ถูกต้อง
ใบสั่งผลิต
สั่งผลิตสินค้าจริงตามสูตรที่ตั้งไว้ — เมื่อผลิตเสร็จ ระบบตัดวัตถุดิบออกจากสต็อกให้อัตโนมัติตามสูตร ถ้าวัตถุดิบไม่พอ ระบบจะบอกรายการที่ขาด (short_material) พร้อมลิงก์ไปหน้า "รับวัตถุดิบเข้า" ไม่ใช่แค่ขึ้น "ทำไม่สำเร็จ" เฉย ๆ
ส่วนต่างจากสูตร — ถ้าผลิตจริงใช้วัตถุดิบมากหรือน้อยกว่าสูตรกำหนด ระบบจะบันทึกส่วนต่างนั้นไว้ เรียกว่า "ส่วนต่างจากสูตร" ไม่ใช่ "ของเสีย" เพราะสูตรเองก็อาจผิดพอ ๆ กับที่คนทำงานผิดได้
ประวัติสต๊อก
บันทึกการเข้า-ออกของสต็อกวัตถุดิบและสินค้าทั้งร้านตามลำดับเวลา ใช้ตรวจย้อนหลังว่าอะไรเข้า-ออกเมื่อไร ใครเป็นคนบันทึก — ทุกแถวมีชื่อคนบันทึกกำกับเสมอ เพราะร้านยังไม่มีเครื่องชั่ง/สแกนเนอร์อัตโนมัติ ตัวเลขทุกตัวมาจากคนพิมพ์เข้าเอง
นับสต๊อก
นับสต็อกจริงเทียบกับตัวเลขในระบบ แล้วปรับยอดให้ตรงเมื่อของขาดหรือเกิน — ถ้าปรับยอดโดยไม่ระบุเหตุผล ระบบจะไม่ให้บันทึก (variance_reason_required) ต้องกรอกเหตุผลของส่วนต่างเสมอ
จัดซื้อ
ขอซื้อ อนุมัติ และสั่งซื้อของเข้าร้าน ต่างจาก "ใบเบิกพนักงาน" ซึ่งเป็นการเบิกคืนค่าใช้จ่ายส่วนตัวของพนักงาน — เส้นทางเต็ม คือ ขอซื้อ → อนุมัติ → ออกใบสั่งซื้อ → รับของเข้าคลัง → ตั้งหนี้ค้างจ่าย
ทำทีละขั้น
- ขอซื้อ — พนักงานคนไหนก็สร้างใบขอซื้อได้ ระบุรายการและจำนวน
- อนุมัติ — คนที่ถือสิทธิ์ purchase.approve อนุมัติหรือปฏิเสธ กติกาว่ายอดเท่าไรต้องใช้สิทธิ์อะไรตั้งได้เองที่ "กติกาการอนุมัติ" (ไม่ตั้งเลย = ทุกยอดต้องใช้ purchase.approve เป็นค่าเริ่มต้น)
- ออกใบสั่งซื้อ — คนที่ถือ purchase.order ออกใบสั่งซื้อถึงผู้ขายที่เลือกจากสมุดผู้ขาย
- รับของเข้าคลัง — คนที่ถือ purchase.receive ยืนยันว่าของมาถึงจริง แล้วรับของเข้าไปเป็นทรัพย์สินหรือวัตถุดิบตามที่สั่งไว้
- ตั้งหนี้/บันทึกการจ่าย — คนที่ถือ purchase.payables จัดการต่อที่ "หนี้ค้างจ่าย"
สามสิทธิ์นี้เจ้าของร้านต้องมอบเองทุกคน ระบบไม่ให้ใครถืออัตโนมัติ
purchase.approve, purchase.order, purchase.payables ไม่มีบทบาทไหนถือให้อัตโนมัติเลยแม้แต่ "ผู้จัดการ" — มีแต่เจ้าของร้าน (สิทธิ์เต็ม *) ที่ผ่านได้เสมอ ต้องไปมอบสิทธิ์เหล่านี้ให้พนักงานที่หน้า "บทบาทและสิทธิ์" เอง ไม่งั้นทุกขั้นจะค้างรอเจ้าของร้านคนเดียว
ผู้ขาย
สมุดรายชื่อผู้ขาย/ซัพพลายเออร์ที่ร้านสั่งซื้อของด้วย — ใช้เลือกตอนออกใบสั่งซื้อ และเป็นที่ผูกยอดหนี้ค้างจ่ายรายเจ้า
หนี้ค้างจ่าย
ยอดที่ร้านยังค้างชำระให้ผู้ขาย ต่อเนื่องจากใบสั่งซื้อที่รับของแล้ว — ต้องมีสิทธิ์ purchase.payables จึงจะบันทึกการจ่ายเงินหรือปิดยอดหนี้ได้ ตัวเลขในหน้านี้ผูกกับใบสั่งซื้อจริงเสมอ ไม่ใช่ยอดที่พิมพ์เข้าเองแยกต่างหาก