คู่มือสั้น ๆ ครอบ 3 วิธีรับสินค้าเข้าสต๊อกใน Stax — ใช้ได้ทั้งร้านที่ ขายเป็นชิ้น, ขายเป็นลัง, หรือทั้งสองอย่าง · ทุกวิธีลงท้ายด้วย ล็อต FIFO ที่ระบบจะตัดเองเวลาขาย
“สต๊อก” ใน Stax = stock_batches (ล็อต) — รับครั้งเดียวคือ 1 ล็อต เก็บ วันที่รับ + ต้นทุนต่อชิ้น + วันหมดอายุ (ถ้ามี) · เวลาขาย ระบบจะเลือกล็อตที่ เก่าที่สุดก่อน (FIFO) หรือใกล้หมดอายุก่อน (FEFO ถ้าเปิด) · ตัวเลข กำไร ในรายงานคำนวณจากต้นทุนล็อตที่ถูกตัด ไม่ใช่ราคาตั้งสินค้า
ใช้เมื่อสินค้ามี SKU อยู่แล้ว · ใช้กรอกล็อตใหม่ ๆ ต่อ ๆ ไป
/stockLOT-260523-001)เหมาะกับสินค้าที่ ซื้อมาเป็นลัง แต่ขายได้ทั้งลังและแยกชิ้น · รวมขั้นตอน “สร้าง SKU ลัง + ตั้ง recipe + รับสต๊อกชิ้น” ให้อยู่ใน modal เดียว
/stock{SKU}-BOX และชื่อ “{name} (ลัง)” ให้
เหมาะกับร้านที่สั่งของจาก ซัพพลายเออร์เป็นรอบ · มีหลักฐาน (PO เลขที่)
+ ผูก supplier_id ทำให้ รายงาน “ต้นทุนตามซัพพลายเออร์” ใน /reports ทำงานได้
/purchase-orders/new/purchase-orders/[id] เมื่อของมาถึง → กด “รับเข้า”PO-YYMMDD-NNN-XXXX) เข้า FIFO pool ทันที
รหัสประจำล็อต — ระบบสุ่มให้ LOT-YYMMDD-NNN แต่แก้ได้
ใส่เป็น invoice number ของซัพพลายเออร์ก็ได้ · ใช้ค้นใน /stock + ใน FIFO breakdown ของบิล
ต้นทุนแฝง เช่น ค่าขนส่ง, แพ็คเกจ, ภาษี → รวมเข้าต้นทุน/หน่วยก่อนกรอก · กำไรในรายงาน ใช้ตัวนี้ หักจากราคาขาย → ใส่ผิดคือกำไรเพี้ยน
เปิด use_fefo = true ที่ /products → ระบบเลือกล็อต ใกล้หมดอายุก่อน
แทน FIFO · เหมาะกับนม/อาหาร/ยา
ขาย 10 ชิ้น · ล็อต A เหลือ 6, ล็อต B เหลือ 50 → ตัด A 6 + B 4 · ต้นทุนบิลคำนวณตามที่ตัดจริง · ดูได้ที่ /orders/[id] → “FIFO breakdown”
/stock → ไปแถวล็อตนั้น → กดแก้ไข (ถ้า batch ยังไม่มีบิลตัดไป) ·
ถ้ามีบิลตัดไปแล้ว จะส่งผลย้อนหลังกับกำไรในรายงาน — แก้ได้แต่ต้องระวัง
floor(stock ชิ้น ÷ recipe.qty) ·
22 ชิ้น ÷ 30 = 0 ลัง · รับชิ้นเพิ่ม 8 = ลังกลับมา 1 ทันที