การย้ายระบบเป็นช่วงที่เสี่ยงที่สุดของโครงการ ERP เพราะถ้าข้อมูลตั้งต้นผิด ทุกอย่างที่ตามมาก็ผิดหมด บทความนี้สรุปวิธีที่เราใช้กับลูกค้าจริงเพื่อให้ช่วงเปลี่ยนผ่านราบรื่น
เลือกวันตัดยอดให้ถูก
วันตัดยอด (cut-off date) คือวันที่คุณหยุดใช้ระบบเก่าและเริ่มใช้ Odoo อย่างเป็นทางการ หลักการเลือกคือ
- เลือก วันแรกของเดือน เพราะทำให้กระทบยอดง่ายที่สุด
- เลี่ยงเดือนที่ทีมบัญชียุ่งที่สุด เช่น ช่วงปิดงบปี
- เลี่ยงช่วงฤดูขายสูงสุดของธุรกิจคุณ
- ให้เวลาทีมทดสอบระบบอย่างน้อย 2–4 สัปดาห์ก่อนถึงวันนั้น
ข้อมูลที่ต้องย้ายมีอะไรบ้าง
ข้อมูลหลัก (Master Data)
- ลูกค้าและผู้ขาย ชื่อตามหนังสือรับรอง ที่อยู่ เลขประจำตัวผู้เสียภาษี สาขา เงื่อนไขการชำระเงิน
- สินค้าและบริการ รหัส ชื่อ หมวด หน่วยนับ ราคาขาย ต้นทุนมาตรฐาน บาร์โค้ด
- พนักงานและผู้ใช้ระบบ พร้อมสิทธิ์การเข้าถึง
- ผังบัญชี ที่ตกลงกับผู้สอบบัญชีแล้ว
ยอดคงเหลือ ณ วันตัดยอด
- สต๊อกคงเหลือ พร้อมต้นทุนต่อหน่วยและตำแหน่งจัดเก็บ
- ลูกหนี้คงค้าง แยกเป็นรายใบแจ้งหนี้ ไม่ใช่ยอดรวมต่อราย
- เจ้าหนี้คงค้าง แยกเป็นรายใบเช่นกัน
- ยอดยกมาทางบัญชี ทุกบัญชีในผังบัญชี
- ใบสั่งขายและใบสั่งซื้อที่ยังค้างส่ง ที่ต้องทำต่อในระบบใหม่
การแยกลูกหนี้เป็นรายใบสำคัญมาก เพราะเมื่อลูกค้าโอนเงินมาชำระบางใบ คุณต้องตัดได้ถูกใบ ไม่งั้นรายงานอายุลูกหนี้จะใช้ไม่ได้เลย
สิ่งที่ไม่ต้องย้าย
การย้ายที่ดีคือย้ายน้อยแต่ถูก ของกลุ่มนี้ปล่อยไว้ในระบบเดิมได้
| ไม่ต้องย้าย | เพราะอะไร |
|---|---|
| รายการขายและซื้อย้อนหลังทั้งหมด | ใช้เวลามหาศาล ได้ประโยชน์น้อย เก็บระบบเก่าไว้อ่านแทน |
| เอกสารที่ปิดจบแล้ว | ไม่กระทบยอดคงเหลือ ณ วันตัดยอด |
| ลูกค้าที่ไม่ได้ซื้อเกิน 2–3 ปี | ยกไปก็รกฐานข้อมูล ค่อยสร้างใหม่ตอนกลับมาซื้อ |
| สินค้าที่เลิกขายแล้ว | ถือโอกาสตัดออก ถ้ายังมีสต๊อกค้างค่อยยกเฉพาะตัวนั้น |
| ประวัติการเคลื่อนไหวสต๊อก | ยกแค่ยอดคงเหลือกับต้นทุน ณ วันตัดยอดพอ |
ข้อยกเว้น ถ้าธุรกิจคุณต้องอ้างอิงประวัติบ่อย เช่น งานรับประกันหรืองานบริการที่ต้องดูว่าลูกค้าเคยซื้อรุ่นไหน ให้ยกเฉพาะข้อมูลที่ใช้อ้างอิงจริง ไม่ใช่ยกทั้งหมด
กับดักของข้อมูลไทยใน Excel
ส่วนนี้คือจุดที่เสียเวลามากที่สุดจริง ๆ และแทบไม่มีคู่มือภาษาอังกฤษเล่มไหนเตือน
เลขประจำตัวผู้เสียภาษี 13 หลัก Excel มองเป็นตัวเลขแล้วตัดศูนย์นำหน้าทิ้ง หรือแปลงเป็น 1.05E+12 ต้องตั้งคอลัมน์เป็น Text ก่อน วางข้อมูล และห้ามเปิดไฟล์ CSV ด้วย Excel เพื่อตรวจ เพราะมันจะแปลงให้อีกรอบตอนเปิด ให้เปิดด้วยโปรแกรมอ่านข้อความแทน
ปี พ.ศ. ปนกับ ค.ศ. ไฟล์เก่ามักมีทั้งสองแบบปนกัน 01/05/2568 กับ 01/05/2025 อยู่ในคอลัมน์เดียวกัน ต้องแปลงให้เป็น YYYY-MM-DD แบบ ค.ศ. ทั้งหมดก่อน และตรวจว่าไม่มีปีที่ดูแปลก เช่น 2568 ที่ถูกตีความเป็น ค.ศ.
วันสลับเดือน 03/09/2026 เป็นวันที่ 3 กันยายน หรือ 9 มีนาคม ขึ้นกับ locale ของเครื่องที่เปิด แปลงเป็น YYYY-MM-DD แล้วปัญหานี้หายไปทั้งหมด
encoding ไฟล์จากโปรแกรมบัญชีไทยรุ่นเก่ามักเป็น TIS-620 หรือ Windows-874 ถ้านำเข้าตรง ๆ ภาษาไทยจะกลายเป็นตัวประหลาด ต้องแปลงเป็น UTF-8 ก่อน และถ้า Excel ทำให้เพี้ยน ให้ระบุ encoding ตอนนำเข้าไฟล์แทนการดับเบิลคลิก
ชื่อบริษัทเขียนหลายแบบ บจก. สยามพลาสติก บริษัท สยามพลาสติก จำกัด Siam Plastic Co.,Ltd. มักเป็นรายเดียวกัน ถ้าไม่รวมก่อน คุณจะได้ลูกค้าซ้ำสามรายที่ยอดลูกหนี้กระจายกัน วิธีที่เร็วที่สุดคือเรียงตามเลขผู้เสียภาษีแทนการเรียงตามชื่อ
ช่องว่างท้ายข้อความ ติดมาจากการคัดลอกเสมอ และทำให้ สยามพลาสติก กับ สยามพลาสติก กลายเป็นคนละรายในสายตาระบบ ใช้ฟังก์ชันตัดช่องว่างกับทุกคอลัมน์ข้อความก่อนเสมอ
สระและวรรณยุกต์ที่พิมพ์คนละลำดับ ภาษาไทยพิมพ์สลับลำดับได้โดยหน้าตาเหมือนกันแต่ระบบมองเป็นคนละคำ เจอบ่อยในไฟล์ที่หลายคนช่วยกันคีย์ ถ้าค้นหาแล้วไม่เจอทั้งที่ตาเห็นว่ามี ให้สงสัยข้อนี้
เตรียมไฟล์อย่างไรให้นำเข้าผ่านฉลุย
Odoo นำเข้าข้อมูลผ่านไฟล์ CSV หรือ Excel ได้ในตัว แต่จะราบรื่นถ้าคุณทำตามนี้
- หนึ่งแถวคือหนึ่งเรคคอร์ด อย่ารวมเซลล์หรือใส่หัวข้อคั่นกลาง
- ทำคอลัมน์รหัสอ้างอิงภายนอก (External ID) เพื่อให้นำเข้าซ้ำแล้วอัปเดตทับได้โดยไม่สร้างข้อมูลซ้ำ
- ตรวจค่าซ้ำ โดยเฉพาะรหัสสินค้าและชื่อลูกค้าที่มักเขียนหลายแบบ
- ทำให้หน่วยนับเป็นมาตรฐาน และตั้งอัตราแปลงหน่วยให้ครบ
- จัดรูปแบบวันที่เป็น YYYY-MM-DD เพื่อเลี่ยงปัญหาวันสลับเดือน
- ตรวจตัวอักษรพิเศษ และช่องว่างท้ายข้อความที่มักติดมาจากการคัดลอก
External ID คืออะไร และทำไมต้องมี
นี่คือคอลัมน์ที่คนข้ามบ่อยที่สุดแล้วมาเสียใจทีหลัง
External ID คือรหัสอ้างอิงที่คุณตั้งเองให้แต่ละเรคคอร์ด เช่น cust_1042 หรือ prod_SP-0087 เมื่อนำเข้าไฟล์ที่มีคอลัมน์นี้ Odoo จะจำว่ารหัสนี้ผูกกับเรคคอร์ดไหน ทำให้
- นำเข้าซ้ำได้โดยอัปเดตทับ ไม่สร้างข้อมูลซ้ำ ซึ่งสำคัญมากเพราะคุณจะนำเข้าหลายรอบแน่นอน
- อ้างถึงกันข้ามไฟล์ได้ เช่น ไฟล์สินค้าอ้างถึงหมวดสินค้าด้วย External ID ของหมวด
- แก้แล้วนำเข้าใหม่ได้ โดยไม่ต้องลบของเดิมทิ้ง
ถ้าไม่มี External ID ทุกครั้งที่นำเข้าซ้ำคุณจะได้ข้อมูลชุดใหม่ทับซ้อนของเดิม แล้วต้องมานั่งลบทีละรายการ ซึ่งเป็นงานที่กินเวลาที่สุดในบรรดาความผิดพลาดทั้งหมด
แนะนำให้ใช้รหัสจากระบบเดิมเป็นฐาน เช่น ถ้าโปรแกรมบัญชีเดิมมีรหัสลูกค้า C-1042 ก็ใช้ cust_C-1042 ไปเลย จะได้ตามรอยกลับได้ตอนตรวจ
ลำดับการนำเข้าสำคัญกว่าที่คิด
ข้อมูลใน ERP อ้างอิงกันเป็นลูกโซ่ ถ้านำเข้าผิดลำดับจะติดขัดทันที เพราะของที่อ้างถึงยังไม่มีอยู่ ลำดับที่ใช้ได้จริงคือ
| ลำดับ | นำเข้าอะไร | ต้องมีอะไรก่อน |
|---|---|---|
| 1 | ผังบัญชี | – |
| 2 | ภาษีและ Fiscal Position | ผังบัญชี |
| 3 | หมวดสินค้า · หน่วยนับ · คลัง | – |
| 4 | ลูกค้าและผู้ขาย | – |
| 5 | สินค้าและบริการ | หมวด · หน่วยนับ · ภาษี |
| 6 | รายการราคาและส่วนลด | สินค้า · ลูกค้า |
| 7 | ยอดสต๊อกคงเหลือ | สินค้า · คลัง |
| 8 | ลูกหนี้-เจ้าหนี้คงค้าง รายใบ | คู่ค้า · ผังบัญชี |
| 9 | ยอดยกมาทางบัญชี | ทุกอย่างข้างบน |
| 10 | ใบสั่งขาย-ซื้อที่ยังค้าง | สินค้า · คู่ค้า · ราคา |
ข้อ 9 ต้องอยู่ท้ายสุดเสมอ เพราะการนำเข้าสต๊อกและลูกหนี้ในข้อ 7–8 สร้างรายการบัญชีขึ้นเองด้วย ถ้าเปิดยอดยกมาก่อนแล้วค่อยนำเข้าสองข้อนั้น ยอดจะซ้ำซ้อนทันที
เปิดยอดยกมาให้บัญชีตรวจผ่าน
ยอดยกมาคือจุดที่ผิดแล้วเจ็บที่สุด เพราะกระทบงบการเงินทั้งปี วิธีที่ปลอดภัยคือ
- นำเข้าสต๊อกและลูกหนี้-เจ้าหนี้ก่อน ระบบจะลงบัญชีให้อัตโนมัติในบัญชีพักที่กำหนดไว้
- เปิดรายการยอดยกมาสำหรับบัญชีที่เหลือทั้งหมด โดยใช้บัญชีพักตัวเดียวกันเป็นคู่บัญชี
- ยอดคงเหลือของบัญชีพักต้องเป็นศูนย์ เมื่อทุกอย่างเข้าครบ ถ้าไม่เป็นศูนย์แปลว่ามีอะไรตกหล่นหรือซ้ำ
- ให้ฝ่ายบัญชีเทียบงบทดลองของระบบใหม่กับระบบเก่า ณ วันตัดยอด ทุกบรรทัด
ข้อ 3 คือกลไกตรวจสอบตัวเองที่ดีที่สุด และเป็นเหตุผลที่ควรใช้บัญชีพักตัวเดียวสำหรับการเปิดยอดทั้งหมด อย่ากระจายไปหลายบัญชี
ทดลองนำเข้าก่อนของจริงเสมอ
ขั้นตอนที่เราใช้คือ
- นำเข้าในระบบทดสอบ ที่เป็นสำเนาของระบบจริง
- ตรวจตัวอย่าง สุ่มมา 20–30 รายการเทียบกับต้นทาง
- กระทบยอดรวม เช่น มูลค่าสต๊อกรวม ยอดลูกหนี้รวม ต้องตรงกับระบบเก่า
- ให้เจ้าของข้อมูลเซ็นรับ ฝ่ายคลังรับรองสต๊อก ฝ่ายบัญชีรับรองยอดยกมา
- ล้างระบบทดสอบแล้วนำเข้าจริง ด้วยไฟล์ชุดที่ผ่านการตรวจแล้วเท่านั้น
ข้อผิดพลาดที่แพงที่สุดคือการนำเข้าจริงหลายรอบด้วยไฟล์คนละเวอร์ชัน จนไม่รู้ว่าข้อมูลไหนถูก ให้ตั้งกติกาว่ามีไฟล์ชุดเดียวที่เป็นของจริง เก็บในที่เดียว และคนแก้ได้คนเดียว
เช็กลิสต์กระทบยอดก่อนรับของ
ทุกข้อต้องมีคนเซ็นรับ ไม่ใช่แค่ติ๊ก
- จำนวนลูกค้าและผู้ขายในระบบใหม่ตรงกับที่ตั้งใจย้าย (ไม่ใช่ตรงกับระบบเก่า เพราะเราตัดของไม่ใช้ออกแล้ว)
- จำนวนสินค้าตรง และไม่มีรหัสซ้ำ
- มูลค่าสต๊อกรวมตรงกับรายงานระบบเก่า ณ วันตัดยอด
- จำนวนชิ้นคงเหลือของสินค้าตัวอย่าง 20 รายการตรงกับการนับจริง
- ยอดลูกหนี้รวมตรง และรายงานอายุลูกหนี้แยกตามใบได้ถูกต้อง
- ยอดเจ้าหนี้รวมตรง
- งบทดลองตรงทุกบรรทัด และบัญชีพักเป็นศูนย์
- เลขประจำตัวผู้เสียภาษีของคู่ค้าครบและถูกรูปแบบ 13 หลัก
- ทดลองออกใบกำกับภาษีจริงหนึ่งใบ แล้วให้บัญชีตรวจว่าข้อมูลครบตามประกาศ
รับมือช่วงเปลี่ยนผ่าน
อย่าใช้สองระบบคู่กันนาน เพราะทีมจะกลับไปใช้ของเก่าเมื่อเจอปัญหา ระยะที่เหมาะสมคือไม่เกิน 2–4 สัปดาห์ และควรกำหนดชัดว่าเอกสารประเภทใดออกจากระบบไหน
เตรียมทีมประกบในสัปดาห์แรก ควรมีคนที่ตอบคำถามได้ทันทีอยู่หน้างาน เพราะคำถามส่วนใหญ่เป็นเรื่องเล็กที่ถ้าไม่มีคนตอบ พนักงานจะหยุดใช้ระบบ
สื่อสารให้ทั้งบริษัทรู้ล่วงหน้า ว่าวันไหนเปลี่ยน ใครติดต่อได้ และช่วงแรกอาจช้ากว่าปกติ การตั้งความคาดหวังลดแรงต้านได้มาก
แผนสำรองถ้าเกิดปัญหาใหญ่
ต้องตกลงกันก่อนวัน Go-Live ไม่ใช่ตอนเกิดเรื่อง
| สถานการณ์ | เกณฑ์ตัดสิน | ทำอะไร |
|---|---|---|
| ยอดยกมาผิดบางบัญชี | แก้ได้ใน 1 วัน | แก้ในระบบใหม่ ไม่ต้องถอย |
| สต๊อกผิดเป็นวงกว้าง | เกิน 10% ของรายการ | หยุดออกเอกสาร แก้ให้จบก่อนเดินต่อ |
| ออกใบกำกับภาษีไม่ได้ | กระทบการขายทันที | กลับไปออกด้วยระบบเดิมชั่วคราว แล้วบันทึกย้อนหลัง |
| ระบบล่มหรือช้าจนใช้ไม่ได้ | เกิน 4 ชั่วโมง | กลับระบบเดิมเต็มรูปแบบ นัดวันใหม่ |
ต้องมีสำเนาฐานข้อมูลก่อนนำเข้าจริงเสมอ เพื่อให้ถอยกลับได้ในไม่กี่นาที และต้องทดสอบการกู้คืนจริงหนึ่งครั้งก่อน ไม่ใช่แค่มีไฟล์ backup กองไว้
เก็บระบบเก่าไว้อ่านอย่างเดียว
หลัง Go-Live อย่าเพิ่งลบระบบเดิม ให้เก็บไว้ในโหมดอ่านอย่างเดียวอย่างน้อยหนึ่งรอบปีบัญชี เผื่อต้องอ้างอิงเอกสารเก่าหรือถูกตรวจสอบย้อนหลัง และควรสำรองฐานข้อมูลเก็บไว้ในที่ปลอดภัยตามระยะเวลาที่กฎหมายกำหนด
สรุป
การย้ายข้อมูลที่ดีคือการย้าย น้อยแต่ถูก ไม่ใช่ย้ายทุกอย่าง เลือกวันตัดยอดที่เหมาะ ทำความสะอาดข้อมูลก่อน ทดลองนำเข้าในระบบทดสอบ และให้เจ้าของข้อมูลเซ็นรับก่อนของจริง เท่านี้ความเสี่ยงจะลดลงมาก
สามอย่างที่ทำเองได้ทันทีและช่วยประหยัดงบมากที่สุด คือ รวมคู่ค้าที่ซ้ำโดยเรียงตามเลขผู้เสียภาษี ตัดสินค้าที่เลิกขายออก และ แปลงวันที่ทุกคอลัมน์เป็น YYYY-MM-DD สามข้อนี้ใช้เวลาไม่กี่วันแต่ตัดปัญหาที่กินเวลาที่สุดของโครงการออกไปได้เกือบหมด
อยากได้เทมเพลตไฟล์นำเข้าและแผนวันตัดยอดที่เหมาะกับธุรกิจคุณ? ติดต่อทีมงานได้เลย
ถ้าคุณข้ามจาก Excel ไปโปรแกรมบัญชีออนไลน์แล้วและกำลังสงสัยว่าควรไปต่อที่ ERP เมื่อไร อ่าน โปรแกรมบัญชีออนไลน์ กับ ERP ต่างกันยังไง ซึ่งมีทั้งสัญญาณว่าถึงเวลาย้ายและสัญญาณว่ายังไม่ควรย้าย
คำถามที่พบบ่อย
ต้องย้ายข้อมูลย้อนหลังกี่ปี?
ส่วนใหญ่ไม่จำเป็นต้องย้ายรายการย้อนหลังทั้งหมด แนะนำให้ย้ายข้อมูลหลักและยอดคงเหลือ ณ วันตัดยอด ส่วนประวัติเก่าเก็บไว้ในระบบเดิมหรือไฟล์สำรองสำหรับอ้างอิง เพราะการย้ายประวัติทั้งหมดใช้เวลามากแต่ได้ประโยชน์น้อย
ทำไมเลขประจำตัวผู้เสียภาษีเพี้ยนตอนนำเข้า?
เพราะ Excel มองเลข 13 หลักเป็นตัวเลขแล้วตัดศูนย์นำหน้าทิ้ง หรือแปลงเป็นรูปแบบวิทยาศาสตร์เช่น 1.05E+12 วิธีแก้คือตั้งคอลัมน์นั้นเป็น Text ก่อนวางข้อมูล และตอนบันทึกเป็น CSV ให้ตรวจซ้ำด้วยการเปิดไฟล์ด้วยโปรแกรมอ่านข้อความ ไม่ใช่เปิดด้วย Excel เพราะ Excel จะแปลงให้อีกรอบตอนเปิด
ถ้าข้อมูลเดิมสกปรกมากควรทำอย่างไร?
ให้ถือโอกาสนี้ทำความสะอาด อย่ายกความยุ่งเหยิงเดิมเข้าระบบใหม่ เริ่มจากรวมรายการซ้ำ กำหนดรหัสสินค้าใหม่ให้เป็นระบบ และตัดสินค้าที่เลิกขายแล้วออก ปกติใช้เวลา 1–3 สัปดาห์แต่คุ้มมาก