Asia Business Builders — Merchant Banking CRM ABBMB — mô hình cho portco Case study

Case study · CRM cho đội đầu tư & quan hệ

Một CRM riêng, đo được từng bước, chạy thật sau bốn tuần

ABBMB đã làm xong phần lõi — và đóng gói lại để portco khác dựng nhanh hơn

Từ một kho dữ liệu PipelineDeals cũ và thói quen ghi chép rời rạc, ABBMB có một CRM Odoo Community 20 chạy trên hạ tầng của chính mình ở Singapore: danh bạ, công ty, biên bản gặp mặt, lịch sử deal, trợ lý AI đọc dữ liệu và kho dữ liệu BigQuery cập nhật mỗi đêm. Trang này kể lại đã làm gì, làm thế nào, còn gì trong kế hoạch, và portco của bạn sẽ bắt đầu từ đâu.

crm-abbmb · đang chạyprod
4 tuầntừ POC tới dữ liệu thật trên prod
~5.250công ty + liên hệ chuyển sang, 0 lỗi nghiêm trọng trong mẫu 100 bản ghi
3.374biên bản gặp mặt lịch sử, giữ nguyên văn bản gốc
03:30mỗi đêm một ảnh chụp toàn bộ CRM vào BigQuery

01 · Bài toán

Đội đầu tư không cần một phễu bán hàng

Phần lớn CRM trên thị trường xoay quanh lead và pipeline. Công việc của một đội merchant banking lại xoay quanh con người, công ty và những cuộc gặp: gặp ai, ở công ty nào, nói gì, việc gì cần theo tiếp. Đó là thứ ABBMB cần giữ lại cho dài hạn.


Dữ liệu cũ nằm ở một hệ thống ngừng dùng PipelineDeals

Khoảng 3.400 người, 1.900 công ty, 3.374 ghi chú gặp mặt và 128 deal. Ghi chú viết tự do, số điện thoại lẫn định dạng, công ty trùng tên. Không được mất một chữ.

Dữ liệu cá nhân của bên thứ ba PII

Tên, email, số điện thoại của đối tác. Phải nằm ở hạ tầng của ABBMB, có người chịu trách nhiệm, và pháp chế đồng ý từng luồng dữ liệu đi ra ngoài.

Chi phí thấp, không khoá vào nhà cung cấp

Odoo bản Community (mã nguồn mở), một máy chủ ảo nhỏ, không mua module thị trường. Hạ tầng tính bằng vài USD mỗi ngày.

Một người vận hành

Không có đội IT riêng. Mọi việc phải chạy lại được bằng script, có sổ tay vận hành, và có cảnh báo qua email khi hỏng.

02 · Đã chạy thật

Những gì người dùng đang dùng hôm nay

Tất cả mục dưới đây đang chạy trên production, có dữ liệu thật từ 12/10/2026 và 17 tài khoản cá nhân (6 Quản lý, 11 Nhân viên).


Hạng mụcNgười dùng nhận được gìTrạng thái
Danh bạ & công tyHồ sơ người và công ty, nhóm công ty (Company Group), người phụ trách phía ABB, gắn thẻ dữ liệu cần sửa✓
Biên bản gặp mặtMẫu 7 phần theo cách ABB vẫn ghi: ngày, người gặp, công ty, tóm tắt, việc tiếp theo, dữ liệu chính; giao việc theo dõi cho đồng nghiệp✓
Hàng chờ duyệtNgười mới hay thông tin liên hệ đổi đều vào Pending Review cho Quản lý — không có bản ghi nào tự sinh sau lưng người dùng✓
Lịch sử PipelineDeals3.374 ghi chú cũ giữ nguyên văn bản gốc, gắn đúng tác giả còn làm việc; 128 deal cũ ở chế độ chỉ đọc✓
Phân quyềnQuản lý · Nhân viên · Chỉ xem; nhân viên không xuất được dữ liệu; đăng nhập có xác thực hai lớp✓
Trợ lý AI đọc CRMClaude đọc CRM qua giao thức MCP với tài khoản chỉ xem riêng từng người; 8 công cụ chỉ đọc, không ghi được gì✓
Kho dữ liệu (DWH)Mỗi đêm một ảnh chụp đầy đủ 5 bảng vào Google BigQuery, tự kiểm số dòng, báo email khi lỗi✓
Sao lưu & giám sátBackup mỗi đêm ra kho lưu trữ, khôi phục thử trên bản sao, cảnh báo email khi backup, website hay DWH hỏng✓

Phạm vi có chủ ý không gồm pipeline, stage hay deal team. Đó là quyết định nghiệp vụ của ABBMB ở giai đoạn này, không phải giới hạn kỹ thuật — portco cần phễu bán hàng vẫn bật được module CRM chuẩn của Odoo.

03 · Cách làm

Đo được chứ không tự khen

Dự án chạy theo một bộ nguyên tắc rút ra từ một hệ thống dữ liệu khác của nhóm. Bốn nguyên tắc làm khác biệt lớn nhất:


Ngưỡng chốt trước khi đo

Mỗi mốc có tiêu chí ĐẠT viết ra và duyệt trước khi chạy. Kết quả không vừa ngưỡng thì dừng lại hỏi, không nới tiêu chí cho xanh. Một phép đo chỉ có giá trị khi cho kết quả khác nhau giữa cấu hình đúng và sai.

Cổng duyệt trước mọi thay đổi production

Lệnh ghi lên máy chủ thật được in ra, chủ dự án duyệt, rồi mới chạy. Đưa code lên prod đi qua kiểm tra tự động (121–123 bài test) rồi mới cần một dòng duyệt có mã commit.

Kiểm định độc lập sau mỗi giai đoạn

Một phiên làm việc riêng, chỉ đọc, kiểm lại kết quả. Kết luận giai đoạn 2: 46/52 tiêu chí ĐẠT; 6 tiêu chí chưa đạt được ghi rõ lý do và chủ dự án chấp nhận có ý thức.

Tổng dượt trên bản sao trước khi nạp thật

Toàn bộ quy trình nạp chạy trên bản sao của production trước (103/103 phép kiểm ĐẠT), rồi mới chạy trên prod với đúng bộ dữ liệu đã đóng băng — dấu vân tay (hash) của dữ liệu nạp ở hai lần trùng nhau.

Dữ liệu cũ được chuyển thế nào

Xuất thô6 file PipelineDeals, giữ ngoài repo, không bao giờ vào git
Làm sạchETL chạy trên máy cá nhân, không mạng; chuẩn hoá SĐT, tìm trùng
Cổng chất lượng22 cổng G01–G22: không mất chữ, không sai liên kết, không sai ngày
Duyệt mẫu100 bản ghi chọn ngẫu nhiên, 0 lỗi nghiêm trọng
Nạp prodTổng dượt trên bản sao → nạp thật → nạp lần 2 tạo 0 bản ghi mới

04 · Các mốc & con số

Từ ý tưởng tới dữ liệu thật

Mốc thời gian năm 2026, đo bằng ngày commit và checkpoint của từng giai đoạn.


NgàyGiai đoạnKết quả
19/09GĐ0 — POC trên máy cá nhânOdoo chạy song song với hệ thống dữ liệu đang có, bộ khung hạ tầng phiên bản đầu
20/09GĐ1 — Hạ tầng Google CloudMáy chủ Singapore, HTTPS, bí mật trong Secret Manager, backup, cảnh báo, sổ tay vận hành
24/09 → 30/09GĐ2 — Phạm vi, quyền, danh bạChốt không làm pipeline; module abb_deal; 3 vai trò; pháp chế duyệt 4 luồng dữ liệu cá nhân
03/10 → 06/10Lên Odoo 20Thử Odoo 20 trên POC, chuyển prod sang Odoo CE 20, dựng quy trình kiểm tra → duyệt → đưa lên
07/10 → 11/10ETL, nạp thử, tổng dượtLàm sạch dữ liệu, nạp thử, kiểm định độc lập, sửa bộ đo, tổng dượt trên bản sao prod
12/10Nạp dữ liệu thật70/70 phép kiểm ĐẠT; kết quả trùng tổng dượt
14/10Người dùng + trợ lý AI17 tài khoản; 2.544 ghi chú gắn đúng người viết; Claude đọc CRM chỉ đọc
15/10Khép GĐ2Kiểm định 46/52; bộ khung hạ tầng v2.0.0
16/10 → 18/10Kho dữ liệu BigQueryChạy tự động mỗi đêm, hai đêm liên tiếp ĐẠT, bộ khung v2.1.0
1.878công ty
3.373liên hệ
3.374biên bản gặp mặt lịch sử
17người dùng, mỗi người một tài khoản
~2,8 USDchi phí hạ tầng mỗi ngày (đo ở GĐ1)
≈ 0chi phí BigQuery năm đầu theo ước tính

05 · Lộ trình

Phần đã có trong kế hoạch nhưng chưa làm

Lõi CRM xong là nền. Các lớp tiếp theo đã có thiết kế và ước lượng; mỗi lớp là một giai đoạn riêng với ngưỡng ĐẠT riêng, và đều đứng ngoài Odoo để nâng cấp Odoo không làm vỡ chúng.

3AĐọc danh thiếp bằng AI — chụp ảnh, máy bóc tách, người duyệt
3BGhi âm cuộc họp → bản ghi → tóm tắt vào biên bản
4Tự ghi nhận email & lịch từ Microsoft 365, điểm quan hệ
5Tenant thứ hai dựng từ cùng bộ khung — bằng chứng bộ khung dùng lại được
6+Nhắc việc & bản tin, giám sát & audit, báo cáo BI trên kho dữ liệu

05 · Chi tiết từng lớp

Mỗi lớp giải quyết một việc người dùng thấy được

Thời gian là ước lượng trong kế hoạch gốc (làm bán thời gian, sai số khoảng ±35 %), chưa phải cam kết.


Kế tiếp · GĐ3A

Đọc danh thiếp

Nhân viên chụp danh thiếp; AI (Anthropic Claude, tài khoản riêng của ABB có giới hạn chi) bóc tên, chức danh, email, số điện thoại. Kết quả vào hàng Pending Review — không tự tạo liên hệ, vì bản ghi rác tự sinh là nguồn bẩn lớn nhất của mọi CRM.

Ước 1–1,5 tuần · pháp chế đã cho phép · đang chờ người dùng trả lời 3 câu: ai được xác nhận, giữ ảnh bao lâu, quét bằng điện thoại hay máy tính.

Sau · GĐ3B

Ghi âm → biên bản

Tải file ghi âm cuộc họp, nhận bản ghi có mốc thời gian và bản tóm tắt theo khung biên bản của ABB. Tóm tắt đổ vào phần mô tả, việc cần làm thành việc theo dõi, người dự họp thành danh sách tham dự — những chỗ đã chừa sẵn trong module.

Ước 4 tuần · điều kiện: 3A xong và thử trên 5 file ghi âm thật.

Sau · GĐ4

Email & lịch tự vào CRM

Một dịch vụ đọc Microsoft 365 (Graph API) ghi lại ai đã liên lạc với ai, khi nào và tính điểm quan hệ — không lưu nội dung thư. Ngưỡng đã viết sẵn: mọi tương tác trỏ tới một liên hệ có thật, 0 bản ghi chứa nội dung thư, mọi hộp thư đồng bộ thành công trong 24 giờ.

Ước 2–3 tuần · cần app registration và chính sách giới hạn truy cập phía Microsoft.

Sau · GĐ5

Tenant thứ hai

Dựng một CRM khác từ chính bộ khung hạ tầng, đọc dữ liệu riêng của đơn vị đó. Mục tiêu đo được: phần hạ tầng xong trong khoảng 4 giờ. Đây là chỗ một portco có thể đi trước.

Hạ tầng ≤ 4 giờ · phần dữ liệu tuỳ nguồn (kế hoạch gốc ước 5–7 tuần cho một nguồn khó).

Tuỳ chọn · GĐ6+

Các lớp bổ sung

Nhắc việc và bản tin định kỳ (quyết định CRM có được dùng hay không), giám sát & audit tập trung, đọc báo cáo tài chính có bước người duyệt — chọn lọc theo nhu cầu, chỉ sau khi các lớp trước chạy ổn ít nhất một tháng.

Nền đã có

Báo cáo BI trên kho dữ liệu

Kho BigQuery đã chạy mỗi đêm với hợp đồng dữ liệu có version và file nguồn cho dbt sinh sẵn. Phần mô hình báo cáo và công cụ BI (Looker Studio hay Power BI) chưa làm — là một quyết định riêng, kèm quyết định ai được đọc dữ liệu cá nhân.

06 · Cho portco

Portco của bạn bắt đầu từ đâu

Mọi phần dùng chung đã tách thành một bộ khung hạ tầng (odoo-gcp-base v2.1.0). Luật của bộ khung: nếu một dòng code phải biết CRM này bán cái gì, thì nó không thuộc bộ khung. Phần riêng của từng đơn vị nằm trong một file cấu hình tenant.


Bạn nhận được ngay

Máy chủ Odoo CE 20 + PostgreSQL trên Google Cloud, HTTPS, image ghim theo digest
Bí mật trong Secret Manager, chỉ nạp vào bộ nhớ tạm khi chạy
Backup mỗi đêm + khôi phục thử, cảnh báo email
Quy trình kiểm tra tự động → duyệt → đưa lên prod, có đường lùi
Ảnh chụp kho dữ liệu BigQuery mỗi đêm (tuỳ chọn)
Sổ tay vận hành: chạy/dừng, nâng cấp, sự cố, xoay khoá

Bạn cần chuẩn bị

Một người chủ CRM quyết phạm vi và duyệt lệnh
Tài khoản Google Cloud có billing, tên miền cho CRM
Bản xuất dữ liệu từ hệ thống cũ (nếu có) và một danh mục trường cần giữ
Ý kiến pháp chế cho từng luồng dữ liệu cá nhân (lưu ở nước ngoài, AI đọc, gửi sang dịch vụ khác)
Danh sách người dùng và vai trò
Quyết định nghiệp vụ: cần pipeline bán hàng hay chỉ quan hệ & gặp mặt

Lộ trình gợi ý cho một portco

BướcViệcĐầu ra đo được
1Chốt phạm vi + ngưỡng ĐẠT, pháp chế duyệt luồng dữ liệuMột trang kế hoạch đã duyệt, ngưỡng viết trước khi đo
2Dựng hạ tầng từ bộ khungCRM trống chạy HTTPS, backup + cảnh báo ĐẠT
3Module nghiệp vụ mỏng (kế thừa, không sửa lõi Odoo)Bộ test tự động có số bài ghim
4ETL dữ liệu cũ + cổng chất lượng + duyệt mẫu0 lỗi nghiêm trọng trong mẫu, tổng dượt trên bản sao ĐẠT
5Nạp thật, tạo người dùng, hướng dẫn một trangKiểm sau nạp ĐẠT, mỗi người một tài khoản
6Tuỳ chọn: trợ lý AI chỉ đọc, kho dữ liệu, các lớp 3A–6+Mỗi lớp một checkpoint riêng

07 · Nói thẳng

Những điều chưa đạt hoặc còn treo

Một case study chỉ có ích khi nói cả phần chưa xong. Đây là danh sách tính tới 18/10/2026.


Nghiệm thu với người dùng thật chưa đo. Hệ thống đã sẵn và tài khoản đã gửi; phép đo "người dùng tự làm được việc hằng ngày" được chủ dự án cho bỏ qua để go-live sớm, sửa dữ liệu chủ trong lúc dùng.
Diễn tập khôi phục do chính người vận hành tự làm theo sổ tay, không có trợ giúp, vẫn chưa làm (khôi phục kỹ thuật đã thử thành công trên bản sao).
Billing Google Cloud đang dùng gói dùng thử chung cho nhiều project; phải nâng cấp trước giữa tháng 12/2026.
Ai được đọc kho dữ liệu ngoài chủ dự án chưa quyết; dữ liệu cá nhân được giữ nguyên trong kho theo quyết định của pháp chế, nên mỗi người đọc thêm là một quyết định riêng.
Trợ lý AI chỉ chạy từ máy tính của người dùng; dùng từ ứng dụng web hay điện thoại khi máy tắt cần mở thêm một điểm truy cập — chưa quyết.

08 · Tóm lại

Lõi đã chạy, khung đã đóng gói, lộ trình đã có ngưỡng

ABBMB đi trước một vòng: dữ liệu thật trên prod, quy trình duyệt, kho dữ liệu, trợ lý AI chỉ đọc. Portco đi sau dùng lại được bộ khung và cách đo, chỉ cần lo phần nghiệp vụ riêng.

4 tuầnPOC → dữ liệu thật
≤ 4 giờmục tiêu dựng hạ tầng tenant mới
5 lớpđã thiết kế cho các giai đoạn sau
Bước tiếp theo

Muốn dựng cho portco của bạn?

Bắt đầu bằng một buổi chốt phạm vi: dữ liệu cũ nằm ở đâu, ai dùng, có cần pipeline không, và pháp chế nói gì về dữ liệu cá nhân. Kế hoạch và ngưỡng ĐẠT viết ra từ buổi đó — trước khi viết dòng code nào.