- 24
- มีนาคม
Data Migration — ย้ายข้อมูลเข้า ERP อย่างไรไม่ให้พัง
จากประสบการณ์ของทีม Grand Linux Solution ที่ Implement ระบบ ERP ให้กับหน่วยงานภาครัฐและเอกชนมากว่า 10 ปี พบว่า Data Migration คือปัญหาอันดับ 1 ที่ทำให้โปรเจกต์ ERP ล่าช้าหรือล้มเหลว ไม่ใช่เพราะเทคนิคยาก แต่เพราะหลายองค์กรประเมินปริมาณงานต่ำเกินไป ข้อมูลเก่ากระจัดกระจาย รูปแบบไม่ตรงกัน และไม่มีแผนทดสอบที่ชัดเจน บทความนี้รวบรวม 5 ขั้นตอนสำคัญ พร้อม Checklist 15 ข้อ และข้อผิดพลาดที่พบบ่อย 7 ข้อ เพื่อให้ทีม Implement วางแผนได้อย่างมั่นใจ
ทำไม Data Migration เป็นปัญหา #1 ของทุกโครงการ ERP
จากการสำรวจของ Panorama Consulting พบว่ากว่า 60% ของโปรเจกต์ ERP ที่ล่าช้า มีสาเหตุหลักมาจากปัญหา Data Migration สาเหตุที่พบบ่อยมีดังนี้:
- ข้อมูลกระจัดกระจาย — อยู่ใน ไฟล์ Excel หลายเวอร์ชัน ฐานข้อมูลเก่า ระบบ Legacy หลายตัว หรือแม้แต่กระดาษ
- ไม่มีเจ้าของข้อมูล — ไม่มีใครรับผิดชอบว่าข้อมูลไหนถูกต้อง ข้อมูลไหนเป็นเวอร์ชันล่าสุด
- ประเมินปริมาณงานต่ำ — คิดว่า "แค่ Copy ข้อมูลจากระบบเก่าเข้าระบบใหม่" แต่ความจริงต้อง Clean, Map, Transform, Validate
- ไม่มีแผนทดสอบ — ทำ Migration ครั้งเดียวแล้ว Go-Live เลย ไม่เคยทดสอบก่อน
- ไม่มี Rollback Plan — ถ้า Migration ผิดพลาด ไม่มีแผนย้อนกลับ
5 ขั้นตอน Data Migration ที่ต้องทำ
ขั้นตอนที่ 1: วางแผน (Planning)
การวางแผนที่ดีคือรากฐานของ Data Migration ที่สำเร็จ ต้องตอบคำถามเหล่านี้ให้ได้:
- สำรวจข้อมูลเดิม: ข้อมูลอยู่ที่ไหนบ้าง? ระบบอะไรบ้าง? กี่ฐานข้อมูล? มีกี่รูปแบบ?
- กำหนดขอบเขต: ข้อมูลอะไรต้อง Migrate? ข้อมูลอะไรเริ่มใหม่? ข้อมูลย้อนหลังกี่ปี?
- เลือกวิธี Migration:
| วิธี | Big Bang | Phased |
|---|---|---|
| รายละเอียด | ย้ายข้อมูลทั้งหมดในครั้งเดียว | ย้ายทีละโมดูล / ทีละ Phase |
| ข้อดี | เสร็จเร็ว, ไม่ต้อง Maintain ระบบเก่านาน | ความเสี่ยงต่ำ, แก้ปัญหาได้ทีละส่วน |
| ข้อเสีย | ความเสี่ยงสูง, ถ้าพลาดกระทบทั้งระบบ | ใช้เวลานาน, ต้อง Maintain 2 ระบบคู่กัน |
| เหมาะกับ | องค์กรขนาดเล็ก-กลาง, ข้อมูลไม่ซับซ้อน | องค์กรขนาดใหญ่, หลายสาขา |
ขั้นตอนที่ 2: Data Cleansing (ทำความสะอาดข้อมูล)
ข้อมูลเก่ามักมีปัญหาเหล่านี้ ต้องทำความสะอาดก่อน Migrate:
- ข้อมูลซ้ำ (Duplicates): ผู้ขายรายเดียวกันแต่ถูกบันทึก 3 ครั้งด้วยชื่อต่างกัน เช่น "บริษัท ABC จำกัด" กับ "บ.ABC จก." — ต้องรวมเป็นรายการเดียว
- ข้อมูลไม่ครบ (Incomplete): รหัสไปรษณีย์ว่าง เลขประจำตัวผู้เสียภาษีไม่มี ที่อยู่ไม่ครบ — ต้องหาข้อมูลมาเติมให้ครบ
- รูปแบบไม่ตรง (Inconsistent Format): วันที่บางแถวเป็น DD/MM/YYYY บางแถวเป็น YYYY-MM-DD เบอร์โทรบางแถวมี "-" บางแถวไม่มี — ต้อง Standardize
- ข้อมูลเก่าที่ไม่ใช้ (Obsolete Data): ผู้ขายที่เลิกกิจการแล้ว พนักงานที่ลาออกไป 10 ปี สินค้าที่เลิกขายแล้ว — พิจารณาว่าจะ Migrate หรือไม่
ขั้นตอนที่ 3: Data Mapping (จับคู่ข้อมูล)
Data Mapping คือการจับคู่ field จากระบบเก่าไปยัง field ในระบบใหม่ ต้องทำอย่างละเอียดเพราะโครงสร้างข้อมูลมักไม่ตรงกัน:
| ระบบเก่า (Source) | ระบบใหม่ ERP (Target) | หมายเหตุ |
|---|---|---|
| vendor_name | supplier_name | เปลี่ยนชื่อ field |
| addr1 + addr2 | full_address | รวม 2 field เป็น 1 |
| tax_id (13 หลัก) | tax_identification_number | Validate format |
| item_type (text) | item_category_id (number) | ต้อง Map ค่า text เป็น ID |
| ไม่มี | cost_center_code | field ใหม่ ต้องกำหนดค่า |
เรื่อง ผังบัญชี (Chart of Accounts) เป็นส่วนที่ต้องทำ Mapping อย่างละเอียดเป็นพิเศษ เพราะกระทบกับรายงานการเงินทั้งหมด
ขั้นตอนที่ 4: ทดสอบ (Testing)
ต้องทดสอบ Migration อย่างน้อย 3 รอบ ก่อน Go-Live จริง:
- รอบที่ 1 — Proof of Concept: ทดสอบกับข้อมูลตัวอย่างชุดเล็ก (100-500 รายการ) เพื่อดูว่า Script และ Mapping ทำงานถูกต้อง
- รอบที่ 2 — Full Test Migration: ทดสอบกับข้อมูลจริงทั้งหมดใน Test Environment ตรวจสอบจำนวนรายการ ยอดเงิน ยอดคงเหลือ
- รอบที่ 3 — Dress Rehearsal: จำลองการ Migrate จริงตาม Timeline ที่วางไว้ วัดเวลาที่ใช้ ทดสอบ Cutover Plan ทั้งหมด
Validation Checklist หลังทดสอบแต่ละรอบ:
- จำนวน Record ต้นทาง = จำนวน Record ปลายทาง?
- ยอดเงินรวมตรงกัน? (ทศนิยม 2 ตำแหน่ง)
- ยอดคงเหลือพัสดุตรงกัน?
- ข้อมูล Master Data ครบถ้วน? (ผู้ขาย ลูกค้า สินค้า พนักงาน)
- รายงานการเงินออกมาถูกต้อง?
- สิทธิ์ผู้ใช้งานถูกต้อง?
ขั้นตอนที่ 5: Go-Live
เมื่อทดสอบผ่านแล้ว เตรียมตัวสำหรับ Go-Live จริง:
- Cutoff Date: กำหนดวันที่หยุดบันทึกข้อมูลในระบบเก่า ปกติจะเป็นวันสิ้นเดือน หรือวันสิ้นไตรมาส เพื่อให้ยอดยกมาสะอาด
- Parallel Run: ใช้ระบบเก่าและระบบใหม่คู่กัน 2-4 สัปดาห์ เพื่อเปรียบเทียบผลลัพธ์ อ่านเพิ่มเติมเรื่อง Checklist เตรียมตัวก่อนเริ่มโปรเจกต์ ERP
- Rollback Plan: ถ้าพบปัญหาร้ายแรง (ข้อมูลผิดเกิน 5% หรือระบบทำงานไม่ได้) ต้องมีแผนย้อนกลับไปใช้ระบบเก่าได้ภายใน 24 ชั่วโมง
- Data Freeze: ช่วง Migration ห้ามบันทึกข้อมูลใหม่ในระบบเก่า มิฉะนั้นข้อมูลจะไม่ตรงกัน
ประเภทข้อมูลที่ต้อง Migrate
| ประเภทข้อมูล | ตัวอย่าง | ความยาก | ต้อง Migrate? |
|---|---|---|---|
| Master Data | ผังบัญชี, ผู้ขาย, ลูกค้า, สินค้า, พนักงาน | ปานกลาง | ต้อง Migrate เสมอ |
| ยอดยกมา (Opening Balance) | ยอดบัญชี, ยอดพัสดุ, ยอดลูกหนี้/เจ้าหนี้ | สูง | ต้อง Migrate เสมอ |
| Transaction Data | ใบสั่งซื้อ, ใบแจ้งหนี้, ใบเบิก | สูงมาก | พิจารณาเป็นกรณี |
| Historical Data | รายงานย้อนหลัง, ข้อมูลสถิติ | ปานกลาง | เก็บไว้ระบบเก่า / BI |
| เอกสารแนบ | ไฟล์สัญญา, รูปภาพ, PDF | ต่ำ | พิจารณาเป็นกรณี |
Checklist 15 ข้อ ก่อน Go-Live
| # | รายการตรวจสอบ |
|---|---|
| 1 | สำรวจแหล่งข้อมูลทั้งหมดแล้ว (ระบบเก่า, Excel, กระดาษ) |
| 2 | กำหนดขอบเขตข้อมูลที่จะ Migrate ชัดเจน |
| 3 | ทำ Data Cleansing เสร็จแล้ว (ลบซ้ำ, เติมข้อมูลขาด, Standardize) |
| 4 | ทำ Data Mapping ครบทุก field |
| 5 | ทดสอบ Migration อย่างน้อย 3 รอบ |
| 6 | จำนวน Record ต้นทาง = ปลายทาง (ตรวจสอบทุกตาราง) |
| 7 | ยอดเงินรวมตรงกัน (ทศนิยม 2 ตำแหน่ง) |
| 8 | ยอดคงเหลือพัสดุ/สินค้าตรงกัน |
| 9 | ผังบัญชีในระบบใหม่ครบถ้วนและถูกต้อง |
| 10 | กำหนด Cutoff Date แล้ว |
| 11 | มีแผน Parallel Run (ระยะเวลา, เกณฑ์เปรียบเทียบ) |
| 12 | มี Rollback Plan (แผนย้อนกลับภายใน 24 ชม.) |
| 13 | ทีมผู้ใช้งานได้รับการอบรมแล้ว |
| 14 | Backup ข้อมูลระบบเก่าเรียบร้อย |
| 15 | ผู้บริหาร Sign-off อนุมัติ Go-Live |
ข้อผิดพลาดที่พบบ่อย 7 ข้อ + วิธีป้องกัน
| # | ข้อผิดพลาด | วิธีป้องกัน |
|---|---|---|
| 1 | ไม่ทำ Data Cleansing — ย้ายข้อมูลสกปรกเข้าระบบใหม่ | ทำ Cleansing ก่อน Migrate เสมอ ("Garbage In, Garbage Out") |
| 2 | ทดสอบแค่ครั้งเดียว แล้ว Go-Live เลย | ทดสอบอย่างน้อย 3 รอบ (POC, Full Test, Dress Rehearsal) |
| 3 | ไม่มี Data Freeze ก่อน Go-Live — คนยังบันทึกข้อมูลในระบบเก่า | กำหนด Cutoff Date ชัดเจน และสื่อสารให้ทุกคนทราบ |
| 4 | ไม่ตรวจสอบยอดเงินหลัง Migrate | Reconcile ทุกยอดเงินระหว่างระบบเก่ากับระบบใหม่ |
| 5 | ไม่มี Rollback Plan | เตรียม Rollback Plan + Backup ระบบเก่าก่อน Migrate |
| 6 | ให้ IT ทำคนเดียว — ไม่มี Business Owner ตรวจสอบ | ให้ Key User ของแต่ละฝ่าย Validate ข้อมูลของตัวเอง |
| 7 | ประเมินเวลาต่ำ — คิดว่าทำเสร็จใน 1 สัปดาห์ | วางแผน 4-8 สัปดาห์ สำหรับ Data Migration ทั้งกระบวนการ |
การ Implement ระบบ ERP ที่สำเร็จ ต้องให้ความสำคัญกับ Data Migration ตั้งแต่เริ่มต้นโปรเจกต์ ไม่ใช่รอจนถึงก่อน Go-Live แล้วค่อยเริ่มทำ องค์กรที่วางแผน Data Migration อย่างเป็นระบบ จะลดความเสี่ยงของโปรเจกต์ล่าช้าได้อย่างมาก
"ข้อมูลที่ดีคือรากฐานของระบบ ERP ที่ดี — ถ้าข้อมูลไม่สะอาด ระบบดีแค่ไหนก็ไม่มีความหมาย"
บทความที่เกี่ยวข้องจากศูนย์ความรู้
- Checklist เตรียมตัวก่อนเริ่มโปรเจกต์ ERP ทีม Implement
- Change Management — ทำอย่างไรให้คนในองค์กรยอมใช้ระบบใหม่ ทีม Implement
- การเชื่อมต่อ ERP กับระบบอื่น — API, Integration, และสิ่งที่ต้องรู้ ทีม Implement
- องค์กรพร้อมทำ ERP หรือยัง? 10 คำถามที่ต้องตอบ ผู้บริหาร
- ผังบัญชี Chart of Accounts คืออะไร?
- ความเสี่ยงจากการใช้ Excel ในองค์กร

