Migration từ Excel sang ERP qua 8 bước: (1) Audit hiện trạng Excel, (2) Data cleaning, (3) Mapping schema, (4) Build import tool, (5) Test với staging data, (6) Migration thực, (7) Validation, (8) Rollback plan. Tổng thời gian: 2-6 tuần tuỳ scope. Quan trọng nhất: backup Excel cũ + validation post-migration.
Chuyển dữ liệu là giai đoạn rủi ro cao nhất khi thay hệ thống: file Excel cũ thường trùng lặp, thiếu trường, mỗi người nhập một kiểu, nên nhiều dự án hỏng đúng ở bước này. Hướng dẫn viết theo cách ALODEV làm khi đưa khách hàng rời Excel sang hệ thống mới.
Làm từng bước.
- 01
Audit hiện trạng Excel - biết bạn đang có gì
3-5 ngàyTrước khi migration, list ra toàn bộ Excel files đang dùng. Tìm hidden Excel - file cá nhân nhân viên, file backup, file template. Đa số dự án fail vì miss data ở giai đoạn này.
- List tất cả Excel files in use: tên + chủ sở hữu + tần suất update
- Identify single source of truth (SSOT) - file nào là chính, file nào là copy
- Document cấu trúc mỗi file: column names + data types + business rules
- Find duplicate / conflict data giữa các file
- Note all manual formulas + macros - cần migrate logic này sang ERP
Kết quả: Document audit 5-15 trang: list files + structure + dependencies
- 02
Data cleaning trước migration
1-2 tuầnExcel cũ thường có data dirty: format không đồng nhất, missing values, typos, duplicates. Clean trước khi migration - rẻ hơn rất nhiều so với clean trong ERP sau go-live.
- Standardize format: ngày tháng (dd/mm/yyyy), số (decimal comma vs dot), encoding (UTF-8)
- Fill missing values hoặc mark explicit 'N/A'
- Dedupe records - merge duplicates hợp lý
- Fix typos in master data (tên KH, NCC, SKU) - Levenshtein distance để detect
- Validate business rules: tổng inv = sum(line items), công nợ >= 0
Kết quả: Excel cleaned + audit log của thay đổi
- 03
Mapping Excel → ERP schema
3-5 ngàyExcel: flat tables. ERP: relational tables với foreign keys. Mapping logic là điểm thường sai. Cần PM + IT + business user cùng review mapping.
- Map mỗi Excel column → ERP table field
- Identify entities cần tách: customers, products, orders, line_items
- Define foreign keys: order.customer_id → customers.id
- Handle data Excel không có nhưng ERP yêu cầu (e.g., created_at, updated_by)
- Document mapping spec - Excel column → ERP field + transformation logic
Kết quả: Mapping document - input cho dev viết import tool
- 04
Build import tool - script tự động
1-2 tuầnĐừng import bằng tay từng record. Vendor build script Python/Node.js đọc Excel → transform theo mapping → insert vào ERP DB. Repeatable + dễ debug khi sai.
- Vendor viết import script với logging chi tiết
- Script idempotent - chạy lại nhiều lần không create duplicate
- Error handling - log records fail vào file riêng để review thủ công
- Progress reporting - biết đang import bao nhiêu % và tốc độ
- Dry-run mode - test logic mà không insert vào DB thật
Kết quả: Import script + documentation cách chạy
- 05
Test với staging environment
3-5 ngàyChạy import trên staging DB (clone production). Test với 100% data. Không bao giờ test với 'sample' rồi run production - sample không cover edge cases.
- Setup staging DB identical với production
- Run import full data lên staging
- Spot-check 100+ records random - match với Excel gốc
- Test queries phổ biến: tìm KH, tính công nợ, báo cáo doanh thu
- Performance test: query trên data thật chạy có nhanh không
Kết quả: Staging environment với data migrated + test report
- 06
Migration thực - execution day
1 ngày (weekend recommended)Chạy migration trên production. Lên kế hoạch cuối tuần để không impact operations. Có rollback plan rõ ràng nếu fail.
- Backup Excel files + ERP DB trước khi chạy
- Freeze data update trong cửa sổ migration (announce trước 1 tuần)
- Run import script trên production - supervise live
- Validate: row count khớp giữa Excel và ERP
- Smoke test: login admin, check 10-20 records, run 5 reports
Kết quả: Production ERP có full data + backup snapshot
- 07
Validation post-migration
1 tuầnMigration không 'done' khi import xong. Need 1 tuần parallel run - nhân viên dùng cả ERP và Excel cũ, so sánh số liệu cuối ngày để catch discrepancy.
- Parallel run: ERP + Excel cùng 1 tuần
- Daily reconciliation: kiểm tra tổng các con số match nhau
- Validate critical reports: balance sheet, kho tồn, công nợ
- User acceptance: nhân viên thật dùng ERP cho task hằng ngày - feedback
- Fix discrepancy phát hiện ra (thường có 1-3% records cần fix)
Kết quả: Validation report - issues + resolution
- 08
Sunset Excel + rollback plan
1-2 tuầnSau validation OK, formally sunset Excel - không cho update Excel cũ nữa. Có rollback plan: nếu ERP fail trong 30 ngày đầu, có thể quay lại Excel.
- Archive Excel files với metadata (last update, owner)
- Communicate sunset date - sau X ngày Excel cũ read-only
- Document rollback procedure: nếu cần quay lại Excel, các bước
- Train nhân viên dùng ERP 100% - không fall back Excel
- 30 ngày post-migration: review issues + iterate
Kết quả: Excel sunset + rollback procedure documented
Checklist tổng hợp.
- 01
Trước migration
- Audit toàn bộ Excel files in use
- Backup Excel files (cloud + local)
- Document data cấu trúc + business rules
- Identify data dirty cần clean trước
- Mapping spec Excel → ERP schema
- Build import script với dry-run mode
- 02
Trong migration
- Run trên staging trước với full data
- Backup ERP DB trước import production
- Freeze data updates trong cửa sổ migration
- Supervise live + có rollback ready
- Validate row count khớp
- Smoke test 10-20 records
- 03
Sau migration
- Parallel run 1 tuần - ERP + Excel
- Daily reconciliation critical numbers
- User acceptance testing thực tế
- Fix discrepancy (~1-3% records)
- Sunset Excel formal date
- Rollback procedure documented
- Excel cũ không có business rule rõ. Excel cho phép data invalid (tổng inv không match line items, công nợ âm). ERP enforce rules → migration fail. Phải clean trước.
- Multiple Excel sources với data conflict. Kế toán có Excel khác sale có Excel khác. Tổng phải khớp nhưng thực tế lệch 5-10%. Phải reconcile trước khi migration.
- Skip staging - test thẳng production. Đặc biệt fatal. Sai 1 import có thể corrupt data 5 năm. ALWAYS test staging với full data trước.
- Không backup Excel cũ trước migration. Excel cũ có thể chứa data + business logic mà ERP chưa cover. Phải giữ ít nhất 12 tháng sau go-live.
- Skip parallel run. Migration thành công không có nghĩa data đúng 100%. Cần parallel run 1 tuần để catch edge cases. Nhiều dự án bug data phát hiện sau 3 tháng = quá muộn.
- Migration đợt lớn vs đợt nhỏ. Data <50k records: big bang 1 đêm OK. Data >50k records: chia thành 2-3 đợt theo thời gian (cũ → mới) để giảm risk.
- Audit log mọi thao tác migration. Mỗi record import được log: from Excel row X → to ERP record Y. Khi có issue, trace back được nguồn gốc.
- User training trước go-live. Nhân viên dùng Excel 5-10 năm - chuyển sang ERP cần 2-4 tuần adaptation. Train trước khi migration, không phải sau.
- Keep super user nội bộ. 1-2 nhân viên trở thành 'super user' - hiểu cả Excel cũ + ERP mới. Họ là cầu nối khi đội còn lại confused.
Công cụ gợi ý.
- Excel import templateFormat chuẩn để nhân viên clean data trước khi gửi cho dev
- Migration checklist PDFPrint-friendly checklist 30 mục cho ngày migration
- Reconciliation Excel templateSo sánh side-by-side ERP vs Excel cũ post-migration
Câu hỏi thường gặp.
Migration mất bao lâu cho doanh nghiệp 50 nhân viên?
Tuỳ phức tạp + data volume. Doanh nghiệp 50 nhân viên với data 5 năm thường 2-4 tuần migration: 1 tuần audit + clean, 1 tuần build tool + staging test, vài ngày execution + 1 tuần parallel run. Cố gắng rút <1 tuần thường skip steps → fail.
Có nên migration data quá khứ hay chỉ data hiện tại?
Tuỳ business need. Bắt buộc migrate: master data (KH, NCC, sản phẩm), số dư công nợ hiện tại, kho hiện tại. Optional: lịch sử transaction quá khứ (>1 năm) - có thể archive trong Excel + import on-demand khi cần.
Khi nào nên hire chuyên gia migration thay vì tự làm?
Hire khi: (1) Data >100k records, (2) Multiple Excel sources cần reconcile, (3) Custom business logic phức tạp, (4) Critical data (kế toán, hợp đồng). Tự làm khi: data <10k records, structure simple, có IT nội bộ biết coding.
Migration fail - làm sao recover?
Có 2 layer protection: (1) Backup ERP DB trước migration → restore DB snapshot, (2) Excel files cũ vẫn nguyên → fall back. Critical: TEST rollback procedure TRƯỚC khi go-live, không phải lần đầu khi panic.
Sau migration data có 1-3% sai - bình thường không?
Bình thường. Đa số do: Excel cũ có records ambigous (KH có 2 ID khác nhau, sản phẩm format không chuẩn). 1-3% manual review + fix sau go-live OK. Quan trọng: identify + fix trong parallel run week, không để 6 tháng sau mới phát hiện.
Hướng dẫn khác:
Trường hợp cụ thể
có gì khác?
Mô tả bài toán, ALODEV tư vấn đúng nghiệp vụ, miễn phí.