การปรับสต็อก/COGS ด้วยสต็อกติดลบ
ในส่วนนี้ เราจะดูว่าสต็อกติดลบทำให้เกิดการปรับสต็อกอย่างไร ผู้ใช้หลายคนบันทึกรายการสต็อกติดลบในระบบ ตัวอย่างเช่น พวกเขาสร้าง Delivery Note โดยไม่มีสต็อกในระบบโดยเปิดใช้งาน 'allow negative stock' ใน Stock Settings พวกเขาทำเช่นนี้เพราะต้องส่งวัสดุให้ลูกค้าพร้อมใบรับส่งสินค้า เพื่อแก้ไขสต็อกติดลบ พวกเขาจึงบันทึกรายการ Purchase Receipt หรือรายการ Stock Entry รับวัสมุตัล ผู้ใช้ส่วนใหญ่บันทึกรายการซื้อหลังจากวันที่ Delivery Note ซึ่งทำให้เกิดรายการปรับสต็อก เพื่อทำความเข้าใจกรณีนี้ ลองดูตัวอย่างด้านล่าง
สมมติว่ามีสินค้า 'Testing Item Stock Adj' ที่ไม่มีสต็อก ตอนนี้ผู้ใช้ได้สร้าง Delivery Note แล้ว แต่ขณะสร้าง Delivery Note ผู้ใช้ได้รับข้อผิดพลาดว่า Valuation Rate เป็นฟิลด์บังคับ ดังนั้นผู้ใช้จึงตั้งค่าสุ่มเป็น 100 ในฟิลด์ Valuation Rate สำหรับสินค้า 'Testing Item Stock Adj'

Delivery Note

เนื่องจากไม่มีสต็อก ระบบจึงใช้ Valuation Rate เป็น 100 และบันทึกสต็อกในมือดังนี้

ตอนนี้ เนื่องจากสต็อกเป็นลบ เราจึงต้องบันทึกรายการซื้อเพื่อปรับให้ถูกต้อง ดังนั้นเราจะสร้างรายการ Purchase Receipt ด้วยอัตราซื้อ 300

ตอนนี้รายการ Purchase Receipt ถูกสร้างขึ้นแล้ว แต่สร้างหลังจาก Delivery Note (ตรวจสอบวันที่ลงบัญชีและเวลาลงบัญชีของทั้งสองรายการ) Delivery Note มี Valuation Rate เป็น 100 และ Purchase Receipt ควรมี Valuation Rate เป็น 300 (ตามต้นทุนการซื้อ) เนื่องจากสต็อกเป็นลบ ระบบจึงใช้ Valuation Rate เป็น 100 (ตามรายการก่อนหน้าซึ่งคือ Delivery Note) สำหรับรายการ Purchase Receipt หากระบบใช้ Valuation Rate เป็น 300 ปริมาณคงเหลือสต็อกจะเป็นศูนย์ แต่มูลค่าคงเหลือสต็อกจะเป็น 200 ซึ่งไม่ถูกต้อง ดังนั้นระบบจึงใช้ Valuation Rate เป็น 100 และผลต่าง 200 ถูกบันทึกในบัญชีค่าใช้จ่ายสต็อก (Stock Adjustment/COGS) ดังนี้:

วิธีแก้ไขปัญหา
ไม่ใช้คุณสมบัติสต็อกติดลบ หรือบันทึกรายการซื้อ (ย้อนหลัง) ก่อนรายการส่งสินค้า ระบบจะแก้ไข Valuation Rate ของ Delivery Note และจะไม่ต้องมีรายการปรับสต็อกสำหรับ Purchase Receipt

เมื่อ Submit รายการซื้อย้อนหลังข้างต้น ระบบจะสร้างรายการ Reposting ที่จะแก้ไข Valuation Rate ของ Delivery Note หลังจาก Reposting Valuation Rate ของ Delivery Note เปลี่ยนจาก 100 เป็น 300 และดังนั้น 'Stock In Hand' จึงเปลี่ยนเป็น 300
