1. Tổng quan — Rác vào, rác ra
Có một câu nói nổi tiếng trong giới công nghệ: "Garbage in, garbage out" — rác vào, rác ra. Dù ERP đắt tiền đến đâu, nếu dữ liệu đưa vào bị bẩn, sai, trùng lặp, thì mọi báo cáo xuất ra cũng sai theo.
Việt Solution học bài học này theo cách đắt nhất. Khi bắt đầu chuyển dữ liệu từ Excel sang ERP, ban dự án tưởng chỉ việc "copy-paste" là xong. Nhưng khi import 120 hồ sơ khách hàng vào ERP và bấm "Tổng kê khai tháng", báo cáo hiện ra 3 khách hàng không tồn tại, 8 khách hàng bị trùng lặp, và 15 tờ khai ghi sai số tiền. Lý do: dữ liệu Excel gốc đã sai từ đầu — mã số thuế nhập nhầm chữ, tên khách hàng gõ tắt mỗi người một kiểu, số dư đầu kỳ ghi thiếu.
Bài này kể chi tiết cách Việt Solution đi từ tình trạng "dữ liệu rác" sang "dữ liệu sạch đủ dùng cho ERP" — và những sai lầm đáng tiền đã mắc phải trên đường đi.
2. Thách thức — Năm năm dữ liệu nằm rải rác
2.1 Dữ liệu nằm ở đâu?
Trước ERP, dữ liệu của Việt Solution nằm rải rác ở 5 nơi khác nhau:
| Nguồn dữ liệu | Số lượng file | Tình trạng |
|---|---|---|
| Excel khách hàng (mỗi kế toán viên 1 file) | 12 file | Cấu trúc khác nhau |
| Excel kê khai thuế theo tháng | 60 file (5 năm) | Định dạng không đồng nhất |
| Google Drive (chứng từ scan) | 1.200 folder | Đặt tên tùy tiện |
| Email (giao tiếp với khách) | Hộp thư 18 người | Không thể tìm kiếm chung |
| Sổ tay giấy (ghi chú) | Không đếm được | Kiến thức trong đầu người |
Mỗi nguồn có cấu trúc khác nhau, định dạng khác nhau, và — tệ nhất — thông tin xung đột nhau. Cùng một khách hàng, file của kế toán viên A ghi địa chỉ ở Quận 1, file của kế toán viên B ghi ở Bình Thạnh. Không biết cái nào đúng.
2.2 Bốn loại "bẩn" trong dữ liệu
Khi bắt đầu rà soát, ban dự án phân loại lỗi dữ liệu thành 4 nhóm:
Lỗi trùng lặp (Duplicate): Cùng một khách hàng xuất hiện nhiều lần với tên/mã khác nhau. Ví dụ: "Cty TNHH ABC", "CTY ABC", "abc co ltd" — 3 dòng, 1 khách hàng. Đếm được 38 trường hợp trùng lặp trong danh sách 120 khách hàng.
Lỗi thiếu (Missing): Dữ liệu bắt buộc bị bỏ trống. Ví dụ: mã số thuế của 22 khách hàng không có trong file Excel — người lập quên điền hoặc khách chưa cung cấp. Khi ERP nhập, báo lỗi vì đây là trường bắt buộc.
Lỗi sai định dạng (Format): Dữ liệu có nhưng sai định dạng. Ví dụ: ngày lập hóa đơn có người ghi "15/03/2023", có người ghi "2023-03-15", có người ghi "15-3-23". ERP không hiểu được 3 định dạng khác nhau.
Lỗi mâu thuẫn (Conflict): Cùng một thông tin nhưng giá trị khác nhau ở các nguồn. Ví dụ: số dư công nợ của khách hàng X ở file kế toán ghi 15 triệu, nhưng ở file thuế ghi 12 triệu. Không biết số nào đúng.
2.3 Tại sao dữ liệu bẩn lại nguy hiểm cho kế toán thuế
Trong ngành dịch vụ kế toán thuế, dữ liệu sai không chỉ phiền toái — nó phạm luật. Một số ví dụ:
- Mã số thuế sai: Tờ khai nộp lên cơ quan thuế bị từ chối, phải làm lại, trễ deadline
- Số tiền sai: Kê khai thuế GTGT sai → khách hàng bị truy thu, công ty chịu trách nhiệm bồi thường
- Chứng từ mất: Khi cơ quan thuế kiểm tra, không xuất trình được → phạt
- Lịch sử không rõ ràng: Không chứng minh được ai nộp khi nào → tranh chấp nội bộ
Trong năm 2023, Việt Solution ghi nhận 3 lần bị cơ quan thuế yêu cầu làm lại tờ khai vì dữ liệu bẩn — mỗi lần tiêu tốn 8-12 giờ và gây mất uy tín.
3. Giải pháp — Quy trình làm sạch dữ liệu 4 tuần
Việt Solution dành 4 tuần chỉ để làm sạch dữ liệu trước khi đưa vào ERP. Đây là giai đoạn ít hào hứng nhất nhưng quyết định成败 của toàn bộ dự án.
Tuần 1: Thu thập và tổng hợp
Bước đầu tiên là gom tất cả dữ liệu về một chỗ. Sinh viên thực tập chịu trách nhiệm:
- Thu thập 12 file Excel khách hàng từ 12 kế toán viên
- Thu thập 60 file kê khai thuế 5 năm
- Trích xuất danh sách folder Google Drive
- Tổng hợp thành một bảng master duy nhất (Excel tạm thời)
Kết quả tuần 1: một file Excel gồm 340 dòng khách hàng (thực tế chỉ có 120 khách hàng thật — phần còn lại là trùng lặp), với 45 cột thông tin khác nhau (vì mỗi file cũ có cấu trúc khác nhau).
Tuần 2: Gộp trùng lặp
Đây là tuần tốn công nhất. Cần so sánh từng dòng để xác định trùng lặp — không thể tự động hoàn toàn vì tên khách hàng viết khác nhau.
Quy trình gộp:
- Sắp xếp theo mã số thuế (nếu có) — cùng MST = chắc chắn trùng
- Với khách không có MST, so sánh theo tên + địa chỉ — giống nhau = có thể trùng, cần kiểm tra thêm
- Khi xác định trùng, gộp thông tin: lấy giá trị mới nhất, bổ sung thông tin thiếu từ dòng cũ
Kết quả tuần 2: từ 340 dòng giảm còn 125 khách hàng (120 thật + 5 khách đã ngừng dịch vụ nhưng chưa xóa). Nghĩa là 215 dòng (63%) là trùng lặp — con số cho thấy tình trạng bẩn nghiêm trọng thế nào.
Tuần 3: Bổ sung thông tin thiếu và sửa định dạng
125 khách hàng còn lại vẫn còn nhiều thiếu sót. Tuần 3 tập trung vào:
- Mã số thuế: 22 khách hàng thiếu — gọi điện xin, tìm trên website cơ quan thuế, một số phải tự vào trang masothue.com tra cứu
- Địa chỉ chuẩn: Chuyển tất cả về định dạng thống nhất (số nhà, đường, phường, quận, thành phố)
- Thông tin liên hệ: Điện thoại, email, người liên hệ — bổ sung từ email cũ, gọi xác nhận
- Lịch kê khai: Xác định từng khách hàng phải kê khai gì, khi nào (theo loại hình doanh nghiệp)
Định dạng chuẩn được thống nhất:
Tên khách hàng: VIẾT HOA toàn bộ
Mã số thuế: 10 chữ số, không dấu gạch
Địa chỉ: Số nhà + Đường + Phường + Quận + TP
Điện thoại: 10 chữ số, bắt đầu bằng 0
Ngày lập: DD/MM/YYYY (ví dụ: 15/03/2023)
Số tiền: Số nguyên, không dấu chấm/phẩy
Tuần 4: Kiểm tra chéo và import thử
Trước khi đưa vào ERP thật, ban dự án import vào môi trường thử nghiệm (test environment) — bản sao của ERP nhưng không phải bản thật. Mục tiêu: phát hiện lỗi cuối cùng trước khi vào "thật".
Quá trình kiểm tra chéo:
- Kiểm tra tổng: Tổng số tiền kê khai trên ERP phải khớp với tổng trên Excel gốc (cho phép chênh ±1%)
- Kiểm tra ngẫu nhiên: Chọn 20 khách hàng ngẫu nhiên, kiểm tra toàn bộ thông tin
- Kiểm tra lịch sử: Chọn 5 khách hàng, kiểm tra lịch sử kê khai 5 năm có đầy đủ không
Phát hiện thêm 17 lỗi nhỏ (số tiền lệch vài nghìn, ngày sai 1-2 ngày) — sửa hết trước khi import thật. Kết quả cuối: 120 khách hàng với dữ liệu 98% chính xác (2% là thông tin không thể xác minh, chấp nhận).
4. Quy tắc dữ liệu chuẩn — Hạ tầng cho tương lai
Sau khi làm sạch, Việt Solution thiết lập quy tắc dữ liệu chuẩn để dữ liệu không bị bẩn trở lại.
4.1 Mỗi khách hàng — Một hồ sơ — Một mã
Trước ERP, mỗi kế toán viên tự đặt mã khách hàng theo ý mình. Kết quả: cùng một khách hàng có 3 mã khác nhau ở 3 người. Sau ERP, áp dụng nguyên tắc: mỗi khách hàng chỉ có một hồ sơ duy nhất, một mã duy nhất. Khi tạo khách hàng mới, hệ thống tự kiểm tra trùng lặp theo mã số thuế và tên.
Cấu trúc mã khách hàng:
[Khách doanh nghiệp] DV-2024-001
[Khách cá nhân] CN-2024-001
Trong đó DV = Doanh nghiệp, CN = Cá nhân, 2024 = năm tạo, 001 = số thứ tự. Mã có ý nghĩa — nhìn vào mã biết loại khách và năm tiếp nhận.
4.2 Người tạo — Người chịu trách nhiệm
Trước ERP, ai cũng có thể thêm khách hàng mới vào file Excel chung, không ai kiểm tra. Kết quả: dữ liệu bẩn. Sau ERP, chỉ kế toán trưởng có quyền tạo khách hàng mới, và phải điền đủ thông tin bắt buộc. Nguyên tắc: người tạo dữ liệu phải chịu trách nhiệm về chất lượng dữ liệu.
4.3 Kiểm kê dữ liệu định kỳ
Giống như kiểm kê kho hàng, Việt Solution tổ chức kiểm kê dữ liệu hàng quý:
- Kiểm tra 20 khách hàng ngẫu nhiên — thông tin còn đúng không
- Kiểm tra khách hàng không hoạt động trên 6 tháng — có nên đánh dấu "không còn dịch vụ" không
- Kiểm tra lịch kê khai — có thiếu tháng nào không
Kiểm kê hàng quý giúp phát hiện lỗi sớm, trước khi tích tụ thành "núi rác" như trước đây.
5. Sai lầm lớn nhất — Vội vàng
Sai lầm đắt giá nhất của Việt Solution trong phần dữ liệu là vội vàng. Ban đầu, ban dự án muốn rút ngắn xuống 2 tuần thay vì 4 tuần "để sớm go-live". Kết quả: sau 2 tuần, dữ liệu import vào ERP thật và báo cáo tháng đầu tiên sai hoàn toàn — tổng thuế GTGT kê khai lệch 180 triệu so với thực tế.
Lý do: một cột trong Excel gốc ("số tiền chưa thuế") thực chất là "số tiền đã thuế" — nhầm lẫn do tiêu đề cột không rõ ràng. Khi import, ERP hiểu đúng như tiêu đề ghi, nhưng nội dung lại sai. Phải rollback toàn bộ, làm lại từ tuần 2.
Bài học rút ra: đừng cắt ngắn giai đoạn làm sạch dữ liệu. 4 tuần ban đầu tưởng dài, nhưng nếu rollback 1 lần thì mất thêm 2 tuần nữa — tổng cộng 6 tuần, còn hơn làm kỹ ngay từ đầu.
6. Kết quả — Từ "rác" đến "vàng"
| Chỉ số | Trước ERP | Sau ERP (3 tháng) |
|---|---|---|
| Số dòng dữ liệu khách hàng | 340 (nhiều trùng) | 120 (sạch, duy nhất) |
| Tỷ lệ trùng lặp | 63% | 0% |
| Tỷ lệ thiếu mã số thuế | 18% | 0% |
| Thời gian tìm 1 khách hàng | 5-10 phút | 10 giây |
| Độ chính xác báo cáo tháng | ~75% | 98% |
| Số lần bị cơ quan thuế yêu cầu làm lại | 3 lần/năm | 0 lần/năm đầu tiên |
Tác động cụ thể
- Tìm kiếm nhanh hơn: Trước đây tìm thông tin khách hàng phải mở 3-4 file Excel, mất 5-10 phút. Giờ gõ mã vào ERP, 10 giây có đủ thông tin
- Báo cáo chính xác: Tổng kê khai tháng không còn lệch 180 triệu như tháng đầu. Sai số dưới 2%
- Không bị cơ quan thuế phạt: Dữ liệu sạch, tờ khai chính xác, không bị yêu cầu làm lại
- Kiến thức được số hóa: Thông tin không còn trong đầu từng người — lưu trong ERP, ai cũng truy cập được
7. Bài học rút ra
7.1 Dành cho công ty dịch vụ kế toán thuế
- Dữ liệu sạch là điều kiện tiên quyết: Đừng bắt đầu ERP khi dữ liệu còn bẩn. Dành đủ thời gian (3-4 tuần cho 100-150 khách hàng) để làm sạch. ERP chạy trên dữ liệu bẩn chỉ tạo ra "rác tự động" nhanh hơn
- Trùng lặp là lỗi phổ biến nhất: Trong ngành dịch vụ kế toán, 50-60% dòng dữ liệu trùng lặp là bình thường nếu chưa chuẩn hóa. Đừng ngạc nhiên — hãy chuẩn bị xử lý
- Thiết lập quy tắc chuẩn ngay từ đầu: Khi dữ liệu đã sạch, phải giữ sạch. Quy tắc "mỗi khách hàng một mã", "người tạo chịu trách nhiệm", "kiểm kê định kỳ" là ba quy tắc tối thiểu
- Kiểm tra trên môi trường thử nghiệm trước khi vào thật: Đừng import thẳng vào ERP production. Hãy import vào bản test, kiểm tra, sửa, rồi mới chuyển sang thật. Tránh rollback tốn kém
7.2 Lời khuyên từ Giám đốc Việt Solution
"Khi nhà cung cấp nói 'chuyển dữ liệu 1 tuần là xong', tôi suýt tin. May mà kế toán trưởng của tôi — người đã sống với dữ liệu 5 năm — nói thẳng: 'Không thể. Dữ liệu bẩn quá, phải làm sạch trước'. Tôi nghe cô ấy, và đó là quyết định đúng thứ hai sau việc chọn ERP. 4 tuần làm sạch dữ liệu là 4 tuần nhàm chán nhất — không có gì thú vị để kể. Nhưng nếu bỏ qua, cả ERP và công ty đều gãy. Bài học: dữ liệu là nền móng. Nền móng yếu, nhà đẹp đến mấy cũng sụp."
8. Kết luận
Trong mọi dự án ERP, giai đoạn dữ liệu thường bị coi nhẹ — vì nó không hào hứng, không có demo đẹp, không có công nghệ mới. Nhưng nó là nền móng của toàn bộ hệ thống. ERP chạy trên dữ liệu bẩn thì tốt nhất cũng chỉ là "Excel tự động hóa" — nhanh hơn nhưng sai giống cũ.
Câu chuyện của Việt Solution cho thấy: làm sạch dữ liệu là công việc tốn công nhưng không thể bỏ qua. 4 tuần đầu tư cho dữ liệu sạch đã trả giá bằng 3 năm vận hành êm ái, báo cáo chính xác, và không một lần bị cơ quan thuế phạt.
Bài tiếp theo (Bài 6) sẽ chuyển sang giai đoạn kỹ thuật tiếp theo — testing và đảm bảo chất lượng: làm sao kiểm tra ERP thật sự chạy đúng trước khi đưa vào vận hành chính thức.
Nguyên tắc vàng: "Một dòng dữ liệu sai có thể làm hỏng một tờ khai thuế, dẫn đến phạt, dẫn đến mất khách hàng. Trong ngành dịch vụ kế toán thuế, dữ liệu sạch không phải là 'tốt có' — đó là điều kiện sống còn. Hãy đầu tư cho dữ liệu ngay từ đầu, đừng đợi đến khi sai mới sửa."