Bỏ qua menu, vào nội dung chính

← Tin tức · Case study

12/03/2026 · 8 phút đọc

Case study: Doanh nghiệp 200 người migration ERP cũ sang mới — 18 tháng

Doanh nghiệp sản xuất 200 người dùng ERP custom 10 năm tuổi, debt tech nặng, performance kém. Migrate sang ERP mới (custom Next.js + NestJS) trong 18 tháng. Bài học: data migration là phần khó nhất, không phải build.

Case studyERPMigration

Bối cảnh + tại sao migrate

Cty M dùng ERP custom build 2015 (PHP 5.6 + MySQL). 10 năm sau:

  • PHP 5.6 end-of-life 2018, không patch security.
  • Performance load 8-15s — slow.
  • Crash 2-3 lần/tháng, không recover graceful.
  • Vendor build cũ đã dissolution — không support được.
  • Không tích hợp được với hệ thống mới (e-commerce, accounting cloud).

Decision: rebuild thay vì refactor

Đánh giá: refactor PHP 5.6 → PHP 8 + Symfony cost 1.5 tỷ + 12 tháng nhưng giữ data model cũ (đã không tốt). Rebuild Next.js + NestJS cost 2.2 tỷ + 18 tháng nhưng modernize toàn bộ. Quyết: rebuild — debt cũ quá nặng.

Phase 1: Build mới (tháng 1-12)

Build parallel song song với ERP cũ chạy:

  • Tháng 1-3: design DB mới + architecture. Audit ERP cũ chi tiết.
  • Tháng 4-9: build 8 module chính. Mỗi module 2 sprint.
  • Tháng 10-12: tích hợp + UAT internal team.

Phase 2: Data migration (tháng 13-15) — khó nhất

10 năm data: ~50GB, 200 table cũ, mapping sang 80 table mới.

4 lần migration test fail trước thành công:

  • Lần 1: data corruption do encoding khác (latin1 vs utf8mb4) — phát hiện 1000+ tên KH bị garbled.
  • Lần 2: relation lost do foreign key cũ inconsistent — mất 5% đơn hàng.
  • Lần 3: timezone mismatch — ngày tháng lệch 7 giờ.
  • Lần 4: performance — migration mất 36 giờ, không acceptable cho downtime window.
  • Lần 5: thành công sau optimize + dry-run 4 lần.

Phase 3: Parallel run + cutover (tháng 16-18)

Cả 2 ERP chạy song song 3 tháng:

  • Tháng 16: 20% transactions trên ERP mới + 80% cũ. Reconcile hằng ngày.
  • Tháng 17: 60% trên mới + 40% cũ.
  • Tháng 18: 100% mới, ERP cũ chỉ read-only archive.

Chi phí + ROI

  • Build: 1.4 tỷ.
  • Data migration: 500tr (4 lần fail tốn nhiều).
  • Parallel run + training: 300tr.
  • Total: 2.2 tỷ.
  • Saving: performance gain → productivity +12% (đo lường), downtime giảm từ 40h/năm xuống 6h, sai sót giảm 70%.
  • ROI: payback 22 tháng.

Bài học

  • Migration là risk cao nhất, không phải build.
  • Plan dry-run migration 4-6 lần trước go-live.
  • Parallel run 2-3 tháng — không cutover overnight.
  • Champion 1 person knows old + new ERP rất quan trọng.
  • Document data mapping kỹ — auditor cần khi sai số xảy ra.

Lưu ý đặc thù VN: migration data sang ERP mới phải đảm bảo character set UTF-8 cho dấu tiếng Việt (latin1 vs utf8mb4 là nguồn lỗi hàng đầu), timezone GMT+7 cho mọi timestamp, format số ngày tháng dd/mm/yyyy.

Doanh nghiệp đang plan migrate ERP cũ? Alodev tham vấn miễn phí 60 phút. /lien-he

Cần tư vấn?

Founder phản hồi
trong 24 giờ.