ปัญหาที่เจอเกือบทุกโรงงานและทุกคลังคือ ตัวเลขในระบบไม่ตรงกับของบนชั้น ซึ่งทำให้ขายของที่ไม่มี สั่งซื้อของที่มีอยู่แล้ว และปิดงบไม่ลง บทความนี้อธิบายวิธีตั้งค่า Odoo Inventory ให้แก้ปัญหานี้ได้จริง
Odoo คิดเรื่องสต๊อกอย่างไร
สิ่งที่ทำให้ Odoo ต่างจากโปรแกรมสต๊อกทั่วไปคือแนวคิด double-entry สำหรับสินค้า ทุกการเคลื่อนไหวต้องมีต้นทางและปลายทางเสมอ ของไม่ได้ “หายไป” แต่ถูกย้ายจากตำแหน่งหนึ่งไปอีกตำแหน่ง
- ซื้อของเข้า คือย้ายจาก “ผู้ขาย” ไป “คลัง”
- ขายของออก คือย้ายจาก “คลัง” ไป “ลูกค้า”
- ของเสีย คือย้ายจาก “คลัง” ไป “ตำแหน่งของเสีย”
- ปรับยอด คือย้ายระหว่างคลังกับ “ตำแหน่งปรับปรุงสต๊อก”
ผลคือคุณตามรอยได้เสมอว่าของหายไปไหน ซึ่งเป็นเครื่องมือสำคัญที่สุดในการทำให้สต๊อกตรง
สามตัวเลขที่ต้องแยกให้ออก
นี่คือสาเหตุอันดับหนึ่งที่ผู้ใช้ใหม่งงและโทรมาถามว่า “ระบบบอกว่ามีของ แต่ทำไมขายไม่ได้”
| ตัวเลข | หมายถึง | ใช้ตอนไหน |
|---|---|---|
| On Hand | มีอยู่จริงในคลังตอนนี้ | ตอนนับสต๊อก ตอนทำบัญชี |
| Reserved | ถูกจองไว้ให้เอกสารอื่นแล้ว | ดูว่าของผูกกับออร์เดอร์ไหน |
| Available | เอาไปใช้ได้จริง = On Hand − Reserved | ตอนรับออร์เดอร์ใหม่ |
| Forecasted | คาดว่าจะมีในอนาคต = Available + ของที่กำลังเข้า − ของที่ต้องส่ง | ตอนวางแผนสั่งซื้อ |
พนักงานขายต้องดู Forecasted ไม่ใช่ On Hand เพราะ On Hand บอกแค่ของที่มีตอนนี้ ไม่ได้บอกว่าถูกจองไปแล้วเท่าไรหรือมีของกำลังเข้ามาเมื่อไร การให้ทีมขายดูตัวเลขผิดตัวคือสาเหตุที่ทำให้รับออร์เดอร์แล้วส่งไม่ได้
ปัญหาที่ตามมาบ่อยคือของถูกจองค้าง เมื่อมีใบสั่งขายเก่าที่ลูกค้าเงียบไปแล้วแต่ไม่มีใครยกเลิก ของจะถูกจองค้างไว้เรื่อย ๆ ทำให้ Available ต่ำกว่าความจริง ควรตั้งรอบตรวจใบสั่งขายค้างเกิน 30 วันเป็นงานประจำเดือน
ออกแบบโครงสร้างคลังให้ถูกตั้งแต่ต้น
ก่อนคีย์ข้อมูลใด ๆ ควรตอบคำถามเหล่านี้ให้ได้
- มีกี่คลัง และแต่ละคลังมีหน้าที่อะไร
- ในแต่ละคลังแบ่งพื้นที่อย่างไร เช่น รับเข้า พร้อมขาย รอตรวจ ของเสีย
- ต้องแยกสินค้าฝากขายหรือสินค้าของลูกค้าออกจากสินค้าของบริษัทหรือไม่
- สินค้าตัวไหนต้องติดตาม Lot หรือ Serial
ข้อผิดพลาดที่พบบ่อยคือสร้างตำแหน่งจัดเก็บละเอียดเกินไปตั้งแต่วันแรก จนพนักงานคลังไม่อยากบันทึก ควรเริ่มจากโครงสร้างที่หยาบพอจะทำได้จริง แล้วค่อยละเอียดขึ้นเมื่อทีมชิน
เลือกวิธีรับ-ส่งของให้ตรงกับงานจริง
Odoo ให้เลือกจำนวนขั้นตอนได้
- รับของขั้นตอนเดียว ของเข้าคลังทันที เหมาะกับธุรกิจเล็กที่ไม่ต้องตรวจ
- รับของสองขั้นตอน รับเข้า แล้วค่อยเก็บเข้าที่ เหมาะกับคลังที่มีจุดตรวจรับ
- รับของสามขั้นตอน เพิ่มขั้นตรวจคุณภาพ เหมาะกับโรงงานหรือสินค้าที่ต้องตรวจก่อนใช้
ฝั่งส่งออกก็มีตั้งแต่หนึ่งถึงสามขั้นตอนเช่นกัน หลักการเลือกคือ ใช้ขั้นตอนน้อยที่สุดที่ยังควบคุมความเสี่ยงได้ ทุกขั้นตอนที่เพิ่มคือเวลาของพนักงานที่เพิ่มขึ้นจริง
Lot และ Serial ใช้เมื่อไร
Lot เหมาะกับสินค้าที่ผลิตเป็นรุ่น เช่น อาหาร เครื่องสำอาง เคมีภัณฑ์ ที่ต้องตามวันหมดอายุและเรียกคืนทั้งล็อตได้
Serial เหมาะกับสินค้าที่ต้องระบุชิ้นต่อชิ้น เช่น เครื่องจักร อุปกรณ์อิเล็กทรอนิกส์ที่มีการรับประกันรายเครื่อง
คำเตือนจากประสบการณ์คือ อย่าเปิด Lot/Serial กับสินค้าทุกตัวเพราะ “เผื่อไว้ก่อน” เพราะภาระงานบันทึกจะเพิ่มมหาศาลจนทีมเลิกใช้ ให้เปิดเฉพาะกลุ่มที่จำเป็นจริง
การนับสต๊อกที่ทำให้ตัวเลขตรง
การนับปีละครั้งไม่พอสำหรับธุรกิจที่หมุนเวียนเร็ว วิธีที่ได้ผลกว่าคือ Cycle Count หรือการนับหมุนเวียน
- แบ่งสินค้าเป็นกลุ่ม A/B/C ตามมูลค่าและความถี่ในการเคลื่อนไหว
- กลุ่ม A นับบ่อยที่สุด เช่น เดือนละครั้ง
- กลุ่ม C นับปีละครั้งก็พอ
- ตั้งความถี่ในระบบเพื่อให้ Odoo เตือนอัตโนมัติ
ที่สำคัญกว่าการนับคือ การหาสาเหตุ ทุกครั้งที่ยอดไม่ตรง ควรบันทึกเหตุผลไว้ เช่น รับของแล้วไม่บันทึก เบิกไปใช้แล้วไม่ตัด หรือหน่วยนับผิด เมื่อรวบรวมได้สักเดือนจะเห็นชัดว่าปัญหาจริงอยู่ตรงไหน
จุดสั่งซื้อและการเติมสินค้าอัตโนมัติ
Odoo มีเครื่องมือเติมสินค้าสองแบบหลัก
Reordering Rule กำหนดจุดต่ำสุดและสูงสุดต่อสินค้าต่อคลัง เมื่อของเหลือต่ำกว่าจุดต่ำสุด ระบบจะเสนอสร้างใบขอซื้อหรือใบสั่งผลิตให้
Make to Order สั่งซื้อหรือผลิตเมื่อมีคำสั่งขายเข้ามาเท่านั้น เหมาะกับสินค้าราคาสูงหรือสั่งทำพิเศษ
การตั้งจุดสั่งซื้อควรอิงข้อมูลจริง คือยอดใช้เฉลี่ยต่อวันคูณด้วยระยะเวลารอสินค้า บวกสต๊อกเผื่อความผันผวน ไม่ใช่กำหนดจากความรู้สึก
จัดกลุ่ม ABC อย่างไร
ทำครั้งเดียวแล้วทบทวนปีละครั้งก็พอ
| กลุ่ม | สัดส่วนรายการ | สัดส่วนมูลค่า | ความถี่นับที่แนะนำ |
|---|---|---|---|
| A | ราว 20% | ราว 80% | เดือนละครั้ง |
| B | ราว 30% | ราว 15% | ไตรมาสละครั้ง |
| C | ราว 50% | ราว 5% | ปีละครั้ง |
สัดส่วนนี้เป็นแนวโน้มทั่วไป ธุรกิจคุณอาจต่างออกไป วิธีทำคือเรียงสินค้าตามมูลค่าการเคลื่อนไหวต่อปี (จำนวนที่ขายหรือใช้ × ต้นทุนต่อหน่วย) จากมากไปน้อย แล้วลากเส้นแบ่งเอง
อย่าจัดกลุ่มตามราคาต่อชิ้นอย่างเดียว สินค้าราคาถูกที่ขายวันละพันชิ้นสำคัญกว่าสินค้าแพงที่ขายปีละครั้ง ต้องคูณด้วยความถี่เสมอ
ตั้งจุดสั่งซื้อจากตัวเลข ไม่ใช่จากความรู้สึก
สูตรที่ใช้ได้จริง
จุดสั่งซื้อ = (ยอดใช้เฉลี่ยต่อวัน × ระยะเวลารอของ) + สต๊อกเผื่อ
ตัวอย่างสินค้า A
| ตัวแปร | ค่า |
|---|---|
| ยอดขายเฉลี่ย | 40 ชิ้น/วัน |
| ระยะเวลารอของจากผู้ขาย | 12 วัน |
| ความต้องการช่วงรอของ | 40 × 12 = 480 ชิ้น |
| สต๊อกเผื่อ (ราว 30% ของช่วงรอ) | 145 ชิ้น |
| จุดสั่งซื้อ | 625 ชิ้น |
| ปริมาณสั่งต่อครั้ง | ตามขั้นต่ำของผู้ขายหรือรอบการสั่ง |
ระยะเวลารอของต้องใช้ตัวเลขจริง ไม่ใช่ที่ผู้ขายสัญญา ให้ดูย้อนหลัง 6 เดือนว่าจากวันสั่งถึงวันของเข้าคลังจริงใช้กี่วัน แล้วใช้ค่าที่ช้าที่สุดในบรรดานั้น ไม่ใช่ค่าเฉลี่ย เพราะสต๊อกขาดหนึ่งครั้งเสียหายมากกว่าถือของเกินเล็กน้อย
สต๊อกเผื่อควรมากขึ้นเมื่อ ผู้ขายส่งไม่ตรงเวลาบ่อย ยอดขายผันผวนสูง หรือของขาดแล้วเสียลูกค้าถาวร และควรน้อยลงเมื่อของหมดอายุเร็วหรือต้นทุนสูงมาก
ต้นทุนสินค้าและการเชื่อมกับบัญชี
ตั้งค่าที่ต้องตัดสินใจร่วมกับฝ่ายบัญชีคือ
- วิธีคิดต้นทุน Standard, Average หรือ FIFO
- การลงบัญชีสินค้าคงเหลือ แบบต่อเนื่อง (Perpetual) หรือแบบเป็นงวด (Periodic)
- ต้นทุนแฝง (Landed Cost) สำหรับธุรกิจนำเข้า ที่ต้องกระจายค่าขนส่ง ภาษีนำเข้า และค่าดำเนินการเข้าไปในต้นทุนสินค้า
เทียบสามวิธีคิดต้นทุน
| Standard | Average (AVCO) | FIFO | |
|---|---|---|---|
| ต้นทุนต่อหน่วย | ตั้งไว้คงที่ ทบทวนเป็นรอบ | เฉลี่ยใหม่ทุกครั้งที่รับของ | ตัดของที่เข้าก่อนออกก่อน |
| เห็นผลต่างราคาซื้อ | เห็นชัด เป็นบัญชีผลต่าง | ไม่เห็น กลืนไปในค่าเฉลี่ย | ไม่เห็นโดยตรง |
| งานดูแล | ต้องทบทวนราคาสม่ำเสมอ | ต่ำ | ปานกลาง |
| เหมาะกับ | โรงงานที่ต้นทุนนิ่ง | ธุรกิจซื้อมาขายไปทั่วไป | สินค้าหมดอายุ ราคาผันผวน |
| ธุรกิจไทยใช้บ่อยแค่ไหน | น้อย | มากที่สุด | ปานกลาง |
เลือกแล้วห้ามเปลี่ยนกลางปี เพราะกระทบงบการเงินและผู้สอบบัญชีจะทักแน่นอน ให้ตกลงกันตั้งแต่ก่อนเริ่มโครงการ และถ้าจำเป็นต้องเปลี่ยนจริงให้ทำที่ต้นรอบบัญชีพร้อมเอกสารอธิบายเหตุผล
สำหรับธุรกิจนำเข้าในไทย เรื่อง Landed Cost มีผลกับกำไรต่อสินค้ามาก ถ้าไม่ทำ ต้นทุนที่เห็นจะต่ำกว่าความจริงและทำให้ตั้งราคาผิด
สาเหตุที่พบบ่อยที่สุดที่ทำให้สต๊อกไม่ตรง
- บันทึกย้อนหลังหลายวัน ทำให้ลำดับเหตุการณ์เพี้ยน
- หน่วยนับไม่สอดคล้อง เช่น ซื้อเป็นลัง ขายเป็นชิ้น แต่ไม่ตั้งค่าการแปลงหน่วย
- ของเสียหรือตัวอย่างแจกลูกค้าไม่ถูกบันทึก
- มีคลังเงา เช่น ของอยู่ในรถส่งของแต่ระบบยังนับเป็นในคลัง
- สิทธิ์การแก้ไขกว้างเกินไป จนใครก็ปรับยอดได้โดยไม่ต้องอนุมัติ
ทั้งห้าข้อแก้ได้ด้วยการออกแบบกระบวนการและสิทธิ์ผู้ใช้ ไม่ใช่ด้วยการเพิ่มฟีเจอร์
คลังเงาที่ธุรกิจไทยมีโดยไม่รู้ตัว
ข้อ 4 คุ้มค่าที่จะขยาย เพราะเป็นสาเหตุที่หายากที่สุดเวลาไล่หา ของพวกนี้ยังเป็นของบริษัทและต้องอยู่ในงบ แต่ไม่ได้อยู่ในคลังจริง
| คลังเงา | เกิดกับใคร | ตั้งใน Odoo อย่างไร |
|---|---|---|
| ของบนรถส่งของ | ทุกธุรกิจที่ส่งเอง | ตั้งตำแหน่งระหว่างทาง แล้วใช้ส่งของสองขั้นตอน |
| ของฝากขายที่ร้านค้า | ค้าปลีก เครื่องสำอาง อาหาร | ตั้งคลังฝากขายแยกตามร้าน |
| วัตถุดิบที่ผู้รับจ้างผลิต | โรงงานที่ส่งงานออก | คลังเสมือนของผู้รับจ้าง |
| ของที่ลูกค้ายืมไปทดลอง | เครื่องจักร อุปกรณ์ | ตำแหน่งของยืม พร้อมกำหนดวันคืน |
| ของรอเคลม | ทุกธุรกิจ | ตำแหน่งรอตรวจ แยกจากพร้อมขาย |
ถ้าไม่ตั้งตำแหน่งพวกนี้ ของจะหายจากงบทันทีที่ออกจากคลัง ทำให้มูลค่าสินค้าคงเหลือต่ำกว่าความจริง ซึ่งผู้สอบบัญชีจะทัก และคุณจะสั่งของซ้ำเพราะระบบบอกว่าไม่มี
สิทธิ์การปรับยอด ต้องล็อกตั้งแต่วันแรก
ถ้าใครก็ปรับยอดสต๊อกได้โดยไม่ต้องอนุมัติ ตัวเลขจะไม่มีทางตรง เพราะทุกครั้งที่ไม่ตรงคนจะปรับให้ตรงแทนการหาสาเหตุ แล้วปัญหาต้นทางจะไม่เคยถูกแก้
- พนักงานคลังทั่วไป บันทึกการเคลื่อนไหวได้ แต่ปรับยอดไม่ได้
- หัวหน้าคลังปรับยอดได้ แต่ต้องระบุเหตุผลทุกครั้ง
- การปรับยอดเกินมูลค่าที่กำหนด ต้องผ่านการอนุมัติอีกชั้น
- ดูรายงานการปรับยอดทุกเดือน แยกตามเหตุผลและตามคน
ตัวชี้วัดคลังที่ควรดูทุกเดือน
| ตัวชี้วัด | วิธีคิด | เป้าที่ควรไปให้ถึง |
|---|---|---|
| ความแม่นของสต๊อก | รายการที่นับแล้วตรง ÷ รายการที่นับทั้งหมด | เกิน 95% แล้วค่อยขยับเป็น 98% |
| รอบหมุนสินค้า | ต้นทุนขาย ÷ มูลค่าสต๊อกเฉลี่ย | ยิ่งสูงยิ่งดี เทียบกับตัวเองเดือนก่อน |
| สินค้าค้างนาน | มูลค่าสินค้าที่ไม่เคลื่อนไหวเกิน 6 เดือน | ลดลงทุกไตรมาส |
| ครั้งที่ของขาดจนขายไม่ได้ | นับจากออร์เดอร์ที่ต้องเลื่อนส่ง | ลดลงต่อเนื่อง |
| อายุใบสั่งขายที่จองของค้าง | จำนวนใบที่ค้างเกิน 30 วัน | ใกล้ศูนย์ |
เริ่มจากตัวแรกตัวเดียวก็พอ ถ้าความแม่นของสต๊อกยังต่ำกว่า 90% ตัวชี้วัดอื่นแทบไม่มีความหมาย เพราะคำนวณจากตัวเลขที่เชื่อไม่ได้
เช็กลิสต์ก่อนเปิดใช้โมดูลคลัง
- โครงสร้างคลังและตำแหน่งจัดเก็บผ่านการเห็นชอบจากหัวหน้าคลัง
- ตั้งตำแหน่งสำหรับคลังเงาทุกแบบที่ธุรกิจคุณมี
- หน่วยนับและตัวแปลงหน่วยครบทุกสินค้า ทดสอบซื้อลังขายชิ้นแล้ว
- เลือกจำนวนขั้นตอนรับ-ส่งของที่ทีมทำได้จริง ไม่ใช่ที่ควบคุมดีที่สุด
- เปิด Lot/Serial เฉพาะกลุ่มที่จำเป็น ไม่ใช่ทุกตัว
- จัดกลุ่ม ABC และตั้งความถี่นับหมุนเวียนแล้ว
- จุดสั่งซื้อคำนวณจากข้อมูลจริงย้อนหลัง ไม่ใช่จากความรู้สึก
- วิธีคิดต้นทุนตกลงกับผู้สอบบัญชีแล้ว
- สิทธิ์การปรับยอดจำกัดและต้องระบุเหตุผล
- นับสต๊อกทั้งคลังหนึ่งครั้งก่อนเปิดใช้ เพื่อให้ยอดตั้งต้นถูกต้อง
ข้อสุดท้ายห้ามข้าม ถ้ายอดตั้งต้นผิด ทุกอย่างที่ตามมาผิดหมด และจะไล่หาสาเหตุไม่เจอเลย
สรุป
Odoo Inventory มีเครื่องมือครบสำหรับทำให้สต๊อกตรง แต่ผลลัพธ์ขึ้นกับการออกแบบโครงสร้างคลังและวินัยการบันทึกมากกว่าตัวซอฟต์แวร์ เริ่มจากโครงสร้างที่เรียบง่าย ตั้งการนับหมุนเวียน และไล่หาสาเหตุทุกครั้งที่ยอดไม่ตรง
ถ้าจะเลือกทำแค่สามอย่าง ให้เลือก นับสต๊อกให้ยอดตั้งต้นถูกก่อนเปิดใช้ ตั้งตำแหน่งสำหรับคลังเงาให้ครบ และ ล็อกสิทธิ์การปรับยอด สามข้อนี้อธิบายความต่างระหว่างคลังที่ตัวเลขตรงกับคลังที่ไม่เคยตรงได้เกือบทั้งหมด
ปรึกษาเรา ถ้าอยากให้ช่วยออกแบบโครงสร้างคลังและกระบวนการรับ-จ่ายของให้เหมาะกับธุรกิจคุณ หรืออ่านต่อเรื่อง Odoo Manufacturing สำหรับโรงงานไทย ซึ่งต่อยอดจากคลังที่แม่นแล้ว
คำถามที่พบบ่อย
Odoo รองรับหลายคลังและหลายสาขาไหม?
รองรับครับ คุณสร้างคลังได้ไม่จำกัด แต่ละคลังมีโครงสร้างตำแหน่งจัดเก็บย่อยของตัวเอง และตั้งกฎการเติมสินค้าระหว่างคลังได้ เช่น ให้สาขาดึงของจากคลังกลางอัตโนมัติเมื่อต่ำกว่าจุดสั่งซื้อ
ต้นทุนสินค้าใน Odoo คิดแบบไหนได้บ้าง?
รองรับทั้ง Standard Price, Average Cost (AVCO) และ FIFO โดยตั้งค่าแยกตามหมวดสินค้าได้ ธุรกิจไทยส่วนใหญ่ใช้ Average หรือ FIFO ควรตกลงกับผู้สอบบัญชีก่อนตั้งค่าเพราะเปลี่ยนภายหลังยุ่งยาก
ทำไมระบบบอกว่ามีของ แต่ขายไม่ได้?
เพราะ Odoo แยกจำนวนเป็นสามค่า คือ On Hand (มีจริงในคลัง) Reserved (ถูกจองไว้ให้ออร์เดอร์อื่นแล้ว) และ Available (เอาไปใช้ได้จริง = On Hand ลบ Reserved) ถ้าเห็นว่ามีของแต่ขายไม่ได้ แปลว่าของถูกจองไว้ให้ออร์เดอร์ก่อนหน้าหมดแล้ว ต้องไปดูว่าออร์เดอร์ที่จองไว้ยังจำเป็นอยู่ไหม
ควรนับสต๊อกบ่อยแค่ไหน?
การนับปีละครั้งไม่พอสำหรับธุรกิจที่หมุนเวียนเร็ว แนะนำนับหมุนเวียนโดยแบ่งสินค้าเป็น A/B/C ตามมูลค่า กลุ่ม A ซึ่งมักเป็นสินค้าราว 20% แต่กินมูลค่า 80% ให้นับเดือนละครั้ง กลุ่ม C นับปีละครั้งพอ วิธีนี้ใช้แรงคนน้อยกว่าการปิดคลังนับทั้งหมดมาก และได้ตัวเลขที่แม่นกว่าตลอดทั้งปี
ใช้บาร์โค้ดกับ Odoo ต้องซื้ออะไรเพิ่ม?
ใช้เครื่องสแกนบาร์โค้ดแบบ USB หรือบลูทูธทั่วไปได้เลย เพราะทำงานเหมือนแป้นพิมพ์ ส่วนแอปบาร์โค้ดบนมือถือที่ออกแบบมาเฉพาะอยู่ในชุด Enterprise หากใช้ Community สามารถใช้หน้าจอปกติร่วมกับเครื่องสแกนได้