#faq#ic#stock#stock-count#adjust
ตรวจนับสต็อกแล้วปรับยอดยังไง (ตรวจนับ 76 → ปรับปรุงเพิ่ม 66 / ลด 68)
ตอบสั้น: เอกสาร "ตรวจนับสินค้า" (76) บันทึกเฉพาะจำนวนที่นับได้ ยังไม่เปลี่ยนสต็อก ต้องออกเอกสาร "ปรับปรุงสต็อก (เพิ่ม)" 66 หรือ "(ลด)" 68 ถึงจะเปลี่ยนยอด ทำได้ 2 ทาง คือคีย์เอง (66 ดึงรายการจาก 76 ได้) หรือใช้เมนู "ปรับปรุงสต็อกสินค้า/วัตถุดิบอัตโนมัติ" (ไม่แยก lot) หรือ "... อัตโนมัติ (สินค้า Lot)" ให้ระบบหาผลต่างแล้วสร้าง 66/68 ให้ ทั้งสองเอกสารคิดมูลค่าที่ต้นทุนถัวเฉลี่ย
รายละเอียด
ขั้นตอนตามเมนู
- "ขอตรวจนับสินค้า" (
menu_ic_request_stk_count, 276) ทำหรือไม่ทำก็ได้ - "ตรวจนับสินค้า" (
menu_ic_stk_count, 76) ดึงรายการจาก 276/128 ได้ ราคาในกริดแสดงเป็นic_inventory.average_cost(ถ้าไม่ได้ตั้ง option ให้แสดงราคาขาย) เอกสาร 76 ไม่อยู่ในชุดtrans_flagที่นับเป็นสต็อก จึงไม่เปลี่ยนยอด - "ปรับปรุงสต็อกสินค้า/วัตถุดิบ (เพิ่ม)" (
menu_ic_stk_adjust, 66) ดึงจาก 76 ได้ และ "(ลด)" (menu_ic_stk_adjust_subtract, 68)
มูลค่าของเอกสารปรับปรุง (ดู ต้นทุนสินค้าคิดแบบไหน ถัวเฉลี่ยเคลื่อนที่คำนวณยังไง)
- 66 ที่มีจำนวนและ
inquiry_typeไม่ใช่ 1: รับเข้าที่ต้นทุนเฉลี่ยปัจจุบัน ไม่ใช่ราคาที่พิมพ์ - 66 ที่จำนวนติดลบ: นับเป็นการจ่ายออก
- 68: จ่ายออกที่ต้นทุนเฉลี่ย ถ้าจำนวนเป็น 0 จะตัดเฉพาะมูลค่าตาม
sum_amount
ปรับอัตโนมัติจากเอกสารตรวจนับ (LotAutoRun)
- เลือกเอกสาร 76 ได้หลายใบ ระบบรวมจำนวนที่นับต่อ (สินค้า, คลัง, ที่เก็บ, lot) เทียบกับยอดในระบบ ณ วันที่ของเอกสารตรวจนับใบล่าสุด
- นับได้มากกว่ายอด → 66, นับได้น้อยกว่า → 68 (เลขที่ลงท้าย "-N"), lot ที่ไม่มีในระบบ → เพิ่มเท่าจำนวนที่นับ
- ยอดในระบบของสินค้า คลัง และที่เก็บที่นับไว้ แต่ไม่มีใครนับ lot นั้น → ปรับลดเป็น 0
- เอกสาร 76 ที่มีเอกสารปรับปรุงที่ยังใช้งานอยู่แล้วจะถูกปฏิเสธ ป้องกันการปรับซ้ำ
- เมนู
menu_ic_stk_adjust_autoใช้ฟังก์ชันเดียวกันแต่ส่งignoreLotจึงเทียบเฉพาะต่อสินค้า คลัง และที่เก็บ ส่วนmenu_ic_stk_adjust_lot_autoแยกตาม lot StockNotCountedRunสร้าง 66/68 เพื่อปรับยอดสินค้าที่ไม่อยู่ในเอกสารนับให้เป็น 0 และเมนู "ปรับปรุงมูลค่าสินค้า Lot คงค้าง" (LotAmountSave) สำหรับล้างมูลค่าของ lot ที่จำนวนเป็น 0 แล้ว
GL: GL มาตรฐานของ 66 คือ Dr สินค้าคงเหลือ / Cr 5110 ส่วน 68 กลับด้าน (ดู เอกสารสต็อกพิเศษ: ยอดยกมา ปรับปรุง Lot และตรวจนับ (Opening Stock, Lot Adjust, Stock Count))
ข้อควรระวัง
- เอกสารที่เครื่องมือปรับอัตโนมัติสร้างขึ้น เรียก
saveTransTxโดยตรง จึงไม่ผ่านการตรวจงวดบัญชีและการตรวจห้ามติดลบ - ยอดราย lot ในเครื่องมือนี้อ่านจาก
ic_trans_detail_lotแต่การบันทึกเอกสารปกติผ่านเว็บไม่ได้เขียนตารางนี้ (เขียนเฉพาะยอดยกมา 54 และเอกสารที่เครื่องมือนี้สร้าง) ยอดของ lot จากเอกสารซื้อจึงไปตกอยู่ในแถว "ไม่มี lot" และผลต่างราย lot อาจผิด แม้ผลรวมต่อที่เก็บจะถูก ถ้าไม่ต้องการแยกตาม lot ให้ใช้เมนูแบบไม่แยก lot - ยอดราย lot จาก
ic_trans_detail_lotรวมด้วยqtyตรงๆ ไม่ได้คูณอัตราส่วนหน่วย ขณะที่ยอดต่อที่เก็บคูณอัตราส่วนแล้ว ถ้าหน่วยมีอัตราส่วนไม่เท่ากับ 1 ผลจะเพี้ยน - GL ของ 66 ใช้ยอดหัวเอกสาร ขณะที่มูลค่าสต็อกใช้ต้นทุนเฉลี่ย ทั้งสองจึงอาจไม่เท่ากัน (
service.go:2153)
ดูเพิ่ม
- ตรวจนับสินค้า (Stock Count)
- ปรับปรุงสต็อกสินค้า/วัตถุดิบ (เพิ่ม) (Stock Adjustment In)
- ปรับปรุงสต็อกสินค้า/วัตถุดิบ (ลด) (Stock Adjustment Out)
- ปรับปรุงสต็อกอัตโนมัติจากใบตรวจนับ และปรับมูลค่า Lot คงค้าง (StockAutoAdjustLotScreen, LotAmountAdjustScreen)
- สินค้ามี Serial / LOT / วันหมดอายุ ระบบตรวจอะไรให้บ้างตอนบันทึก
- ทำไมสต็อกติดลบได้ และตั้งห้ามติดลบที่ไหน
ที่มาในโค้ด
frontend/account/tabs/transMenuMap.ts:1133เมนูตรวจนับ 76frontend/account/tabs/transMenuMap.ts:1149เมนูปรับปรุงเพิ่ม 66 ดึงจาก 76 (ลด 68 อยู่ที่:1163)backend/internal/application/process/stock_rebuild.go:18ชุด flag ที่นับเป็นสต็อก (ไม่มี 76)backend/internal/application/process/trans_grid.go:484กริดตรวจนับแสดงต้นทุนเฉลี่ยbackend/internal/application/process/service.go:26866 ที่มีจำนวนรับเข้าที่ต้นทุนเฉลี่ยbackend/internal/application/process/stock_lot.go:617LotAutoRunปฏิเสธเอกสารที่ปรับแล้วbackend/internal/application/process/stock_lot.go:215บันทึกผ่านsaveTransTxโดยตรงfrontend/account/tabs/screenRegistry.tsx:470เมนูแบบไม่แยก lot ส่งmode="normal"(ignoreLot)