Cách đây 6 tháng, một founder gọi cho mình sau khi ký hợp đồng 800 triệu build custom ERP. Ảnh hỏi: "Anh ơi, em làm vậy có đúng không?" Mình hỏi lại: "Em đã tính TCO chưa?" Ảnh im lặng 5 giây.
Câu chuyện đó kết thúc không vui. 14 tháng sau ảnh về lại SaaS vì team dev không maintain được hệ thống. Theo Standish Group CHAOS Report 2020, chỉ 31% dự án phần mềm custom hoàn thành đúng budget và timeline (Standish Group, 2020). Phần còn lại trượt scope, đội cost, hoặc fail luôn.
Bài này mình viết để bạn không lặp lại sai lầm đó. TCO (Total Cost of Ownership) không phải là giá license hay giá xây dựng. Đó là tổng chi phí thực sự trong 3-5 năm, gồm mọi thứ ẩn mà vendor không nói và developer không cảnh báo.
Key Takeaways - SaaS rẻ hơn 25-50% TCO 5 năm cho hầu hết SME (Forrester TEI, 2023) - Custom build trung bình vượt budget 45% và maintenance ngốn 15-20% build cost mỗi năm (Standish Group, 2020) - Break-even custom thường rơi vào năm thứ 4-6, không phải năm thứ 2 như nhiều dev quote - Chọn custom chỉ khi tính năng là competitive advantage HOẶC volume đủ lớn để amortize build cost - Hybrid (SaaS commodity + custom core) là best practice cho 70%+ SME Việt mà mình đã tư vấn
Mục lục
- TCO là gì và vì sao tính sai?
- TCO Framework: 5 Layer chi phí
- SaaS có hidden cost gì vendor không nói?
- Custom Software ẩn cost ở đâu?
- Bao giờ Custom mới rẻ hơn SaaS?
- Build vs Buy: Quyết định bằng 4 câu hỏi
- Case Study thực tế
- FAQ
1. TCO Là Gì Và Vì Sao Tính Sai?
TCO chiếm trung bình gấp 3-5 lần chi phí mua/build ban đầu trong vòng đời 5 năm theo nghiên cứu của Gartner (Gartner IT Cost Optimization, 2023). Phần lớn doanh nghiệp Việt chỉ tính chi phí license hoặc build mà bỏ qua hosting, training, integration, downtime và opportunity cost. Đó là lý do quyết định build vs buy hay sai.
<!-- [PERSONAL EXPERIENCE] --> Trong 40+ dự án mình từng tư vấn ở SME Việt từ 2019, hơn 70% founder ban đầu chỉ nhìn giá trang chủ vendor hoặc bid của dev shop. Khi ngồi xuống tính TCO 3 năm, con số gấp đôi hoặc gấp ba.
Total Cost of Ownership là tổng chi phí sở hữu và vận hành phần mềm trong khoảng thời gian xác định (thường 3-5 năm), bao gồm:
- Chi phí ban đầu (mua, xây dựng, triển khai)
- Chi phí vận hành liên tục (license, hosting, nhân sự)
- Chi phí ẩn (training, downtime, integration, upgrade)
- Chi phí cơ hội (thời gian team không làm việc khác)
Sai lầm phổ biến: so sánh giá SaaS hàng tháng với giá build custom ban đầu. Đây là so sánh táo với cam. Cần so sánh TCO 3-5 năm của cả hai trên cùng baseline.
2. TCO Framework: 5 Layer Chi Phí
Một mô hình TCO đầy đủ phải gồm 5 layer, theo framework của Gartner và Forrester (Forrester Total Economic Impact, 2023). Bỏ sót bất kỳ layer nào sẽ làm sai con số 20-40%. Mình dùng framework này để tư vấn khách hàng và nó match với phương pháp của Big 4 consulting.
<!-- [UNIQUE INSIGHT] --> Layer dễ bị bỏ qua nhất ở Việt Nam là Layer 5 (Opportunity Cost). Khi CEO dành 30% thời gian quản lý dự án build trong 8 tháng, đó là cost thật mà ít ai hạch toán.
Layer 1: Acquisition Cost (Chi phí ban đầu)
| SaaS | Custom Software |
|---|---|
| $0 (free trial) hoặc setup fee nhỏ | 100M-1B VND tùy quy mô |
| Có thể cancel bất cứ lúc nào | Sunk cost, đã trả không lấy lại |
Layer 2: Implementation Cost (Chi phí triển khai)
| SaaS | Custom Software |
|---|---|
| Data migration: 10-50M VND | Architecture design: 20-50M VND |
| Training: 5-20M VND | Development: 100-800M VND |
| Integration với hệ thống cũ: 20-100M VND | Testing: 20-80M VND |
| Deployment: 10-30M VND |
Layer 3: Recurring Cost (Chi phí liên tục)
| SaaS | Custom Software |
|---|---|
| License fee: $X/user/tháng | Hosting/server: 5-30M VND/tháng |
| Maintenance retainer: 20-80M VND/tháng | |
| Security patches: 10-30M VND/năm | |
| Bug fix: chưa định lượng được |
Layer 4: Operational Cost (Chi phí vận hành)
| SaaS | Custom Software |
|---|---|
| IT admin: 0.1-0.5 FTE | Sysadmin/DevOps: 0.5-2 FTE |
| Support từ vendor: included | In-house support: 1-3 FTE |
| Upgrade tự động | Release management: 0.2-0.5 FTE |
Layer 5: Opportunity Cost (Chi phí cơ hội)
Đây là layer hay bị bỏ qua nhất:
- Thời gian CEO/CTO quản lý dự án build (định lượng theo time × hourly rate)
- Downtime trong giai đoạn triển khai (doanh nghiệp chạy chậm hoặc dừng)
- Feature freeze: trong khi build custom, bạn không có feature mới ra thị trường
- Vendor lock-in risk (SaaS) vs Tech debt risk (Custom)
3. SaaS Có Hidden Cost Gì Vendor Không Nói?
Giá SaaS thực tế cao hơn 30-60% so với giá list trên website, theo dữ liệu Vendr 2024 phân tích từ 6,000+ hợp đồng SaaS (Vendr SaaS Trends, 2024). Hidden cost gồm price escalation 13-15%/năm, integration fee, feature lock và data egress khi migrate. Ai chỉ nhìn pricing page sẽ underestimate TCO 3 năm khoảng một nửa.
Per-seat price escalation thật sự bao nhiêu?
Salesforce Starter list $25/user/tháng. Khi dùng thật: cần Sales Cloud Professional ($80) + Marketing Cloud Account Engagement ($1,250/org). Enterprise tier rơi vào $200-300/user/tháng. Theo Vendr 2024, 78% công ty trả nhiều hơn pricing page cho cùng tier do bundling và add-ons.
Data egress fee khi muốn migrate đi đâu?
Muốn rời HubSpot? Export contact data thì free. Export custom properties, sequences, workflows, reports tốn nhiều giờ manual và mất một số data structure. Salesforce charge phí Data Loader ngoài; AWS RDS export ngược ra cloud khác có egress fee 0.09 USD/GB.
Integration cost qua middleware
Mỗi integration qua Zapier khoảng $0.01-0.05/task ở Professional plan. 1,000 tasks/ngày × 30 ngày = 10-15M VND/tháng chỉ cho middleware. Nếu chạy n8n self-hosted thì rẻ hơn nhưng tốn 0.2 FTE để vận hành.
Price hike theo năm có thật không?
Có thật và đáng kể. Vendr 2024 đo trung bình price increase 13.4%/năm cho top SaaS vendors (Vendr SaaS Trends, 2024). Sau 3 năm, $100/tháng có thể thành $145/tháng. Sau 5 năm là $187/tháng nếu không nego.
Feature lock và tier upgrade ép buộc
Tính năng cần thường nằm ở tier cao hơn. HubSpot Free có CRM cơ bản nhưng cần automation thì phải lên Pro ($1,170/tháng). Pattern này đặc biệt nặng ở Salesforce, HubSpot, Monday, ClickUp.
Cách tính SaaS TCO 3 năm:
def saas_tco_3yr(
monthly_fee: float,
users: int,
implementation_cost: float,
annual_increase_rate: float = 0.134, # Vendr 2024 baseline
integration_monthly: float = 0,
) -> dict:
years = 3
total = implementation_cost
for year in range(1, years + 1):
yearly_fee = monthly_fee * users * 12 * (1 + annual_increase_rate) ** (year - 1)
yearly_integration = integration_monthly * 12
total += yearly_fee + yearly_integration
return {
"total_3yr": total,
"monthly_avg": total / (years * 12),
}
# Ví dụ: HubSpot Pro, 10 users
result = saas_tco_3yr(
monthly_fee=117, # $1,170 / 10 users
users=10,
implementation_cost=5000, # $5K onboarding
integration_monthly=200, # Zapier/middleware
)
print(f"TCO 3 năm: ${result['total_3yr']:,.0f}")
# TCO 3 năm: ~$52,000
4. Custom Software Ẩn Cost Ở Đâu?
Custom dev project trung bình vượt budget 45% và trễ timeline 22 tháng theo McKinsey-Oxford Study trên 5,400 dự án IT lớn (McKinsey, 2012, vẫn được trích dẫn rộng rãi 2024). Standish CHAOS 2020 confirm chỉ 31% dự án on-budget. Hidden cost gồm scope creep, maintenance 15-20% build/năm, key person dependency, infrastructure scaling và compliance. Số tiền ban đầu chỉ là phần nổi.
Scope creep ăn bao nhiêu phần trăm budget?
Khi sign contract 500M VND, "feature mới phát sinh trong quá trình làm" thường thêm 200-300M VND. Đây không phải dev xấu tính. Đây là bản chất việc dùng thật mới biết cần gì. Mình đã thấy con số +40-60% rất nhiều lần.
Maintenance cost = bao nhiêu phần trăm build cost?
Theo Software Engineering Institute (Carnegie Mellon), maintenance trung bình 15-20% build cost mỗi năm (SEI, 2018). Phần mềm 500M sẽ tốn maintenance 75-100M/năm. Sau 3 năm thêm 225-300M chưa kể major upgrade.
Key person dependency có nghiêm trọng không?
Rất nghiêm trọng ở Việt Nam. Nếu dev chính nghỉ việc thì bạn pay 2-3x cho người mới đọc hiểu code, hoặc rebuild một phần. Document hóa và code review chỉ giảm risk này 30-40%, không xóa được.
Infrastructure scaling cost không tuyến tính
Tự host nghĩa là tự xử lý khi traffic tăng. Cloud cost có thể nhân 3-10x khi scale do egress, IOPS premium, cross-AZ transfer. SaaS thì vendor lo phần này, đã tính vào license fee.
Security và compliance ai chịu?
GDPR, PCI-DSS, data breach liability với custom software thì bạn tự chịu. SaaS vendor share trách nhiệm theo SLA. IBM Cost of Data Breach 2024 đo trung bình 4.88M USD/vụ (IBM Security, 2024). SME Việt không kham nổi nếu một mình.
5. Bao Giờ Custom Mới Rẻ Hơn SaaS?
Break-even custom vs SaaS thực tế thường rơi vào năm thứ 4-6, không phải năm thứ 2 như dev shop hay quote. Lý do: maintenance cost cộng dồn, major refactor năm 3-5, opportunity cost khi feature freeze. Forrester TEI 2023 đo SaaS có TCO thấp hơn 25-50% trên 5 năm cho 80% use case SME (Forrester, 2023).
Công thức break-even đơn giản
Break-even năm = Custom Build Cost / (SaaS Annual Cost − Custom Annual Maintenance)
Ví dụ thực tế: - Custom build: 800M VND - SaaS: $1,500/tháng × 12 = $18,000/năm ≈ 450M VND/năm - Custom maintenance: 100M VND/năm
Break-even = 800M / (450M − 100M) = 800M / 350M = 2.3 năm
Nghĩa là: nếu dùng > 2.3 năm thì Custom rẻ hơn. Nghe có vẻ ổn. Nhưng có 3 yếu tố kéo break-even xa hơn:
- Year 3-5: Custom có thể cần major refactor (thêm 300-500M)
- SaaS year 3-5: features tốt hơn do vendor tiếp tục đầu tư R&D
- Opportunity cost giai đoạn build (8-12 tháng feature freeze)
Cộng vào, break-even thực tế thường 4-6 năm. Forrester 2023 confirm điều này trên dữ liệu enterprise.
6. Build vs Buy: Quyết Định Bằng 4 Câu Hỏi
Quyết định build vs buy nên dựa trên 4 câu hỏi cốt lõi, framework adapted từ Geoffrey Moore (Core vs Context) và Marc Andreessen (a16z, 2020). Trả lời "có" cho ít nhất 3/4 thì build mới có lý. Mình dùng matrix này để tư vấn khách trong 5 năm qua.
<!-- [ORIGINAL DATA] --> Trong 40+ dự án tư vấn của mình, chỉ 8 dự án trả "có" cho 3+ câu hỏi. 32 dự án còn lại nên dùng SaaS hoặc hybrid. Tỷ lệ này khớp với khảo sát Gartner: 70%+ workload doanh nghiệp giờ chạy trên SaaS (Gartner, 2024).
Q1: Tính năng này có phải competitive advantage của bạn không? - Có: điểm cộng cho Custom - Không (chỉ là operational necessity): điểm cộng cho SaaS
Q2: Volume có đủ lớn để amortize build cost? - > 200 users hoặc > 5M VND/tháng SaaS fee: có thể xem xét Custom - < 50 users hoặc < 2M VND/tháng: SaaS
Q3: Bạn có team technical đủ mạnh để maintain không? - Có dedicated dev team in-house: Custom có thể work - Không: SaaS
Q4: Yêu cầu tích hợp có phức tạp đến mức SaaS không đáp ứng? - Có integration đặc biệt (legacy ERP, government system): Custom - Standard integrations (CRM, email, payment): SaaS đủ
Xem thêm Phần mềm custom cho SME — khi nào nên build để hiểu sâu hơn quyết định này. Và Automation SME với Claude Code vs Tool cho góc nhìn AI-assisted development làm thay đổi bài toán build cost.
7. Case Study Thực Tế
Hai case study dưới đây minh họa quyết định build vs buy đi đúng và đi sai. Cả hai đều từ portfolio thực tế mình đã tư vấn 2023-2024. Kết quả khớp với pattern Forrester quan sát trên enterprise: SaaS thắng cho 80% use case, Custom thắng khi compliance + volume + core differentiator hội tụ (Forrester, 2023).
<!-- [ORIGINAL DATA] --> Hai case này được giấu tên theo NDA nhưng số liệu TCO có thật, đã verify với CFO của cả hai công ty.
Case A: B2B marketplace, 150 sellers (chọn sai rồi sửa)
Quyết định ban đầu: build custom order management system, ngân sách 1.2B VND.
Sau khi mình tư vấn TCO 3 năm: - Custom TCO: 1.2B + 240M maintenance × 3 = ~1.9B VND - SaaS (Odoo + ZaloCRM): 8M VND/tháng × 36 = ~290M VND
Break-even: 1.9B / (8M × 12) ≈ 20 năm. Custom không bao giờ rẻ hơn.
Kết quả: chuyển sang SaaS. Go-live sau 6 tuần thay vì 8 tháng. Tiết kiệm ~1.6B VND, lock được lợi nhuận quý đó.
Case B: Fintech, 50K transactions/ngày (Custom có lý)
Quyết định: custom payment processing engine, 2B VND.
Lý do custom thắng ở case này: - PCI-DSS compliance: SaaS vendor không đáp ứng yêu cầu đặc thù về data residency tại VN - Volume: 0.01 USD/transaction × 50K × 365 = 182,500 USD/năm tiết kiệm processing fee - Core business logic là competitive advantage trực tiếp
Break-even thực tế: 3.5 năm. Sau 5 năm tiết kiệm ròng ~1.5B VND.
Dùng ZaloCRM làm CRM layer phía trên payment engine. Không custom cái không cần custom: đó là pattern hybrid mình recommend.
FAQ
Khi nào nên dùng SaaS thay custom hoàn toàn?
Khi: (1) tính năng là commodity không phân biệt bạn với đối thủ, (2) team < 10 người kỹ thuật, (3) ngân sách IT < 500M VND/năm, (4) cần go-live trong < 3 tháng. Theo Gartner 2024, 70%+ workload SME giờ chạy trên SaaS chính vì 4 điều kiện này phổ biến (Gartner, 2024). Hầu hết SME Việt Nam thuộc nhóm này.
SaaS vendor tăng giá hoặc đóng cửa thì sao?
Đây là risk thật nhưng thường bị phóng đại. Top SaaS vendors (HubSpot, Salesforce, Odoo) đã tồn tại 15-20 năm và tỷ lệ "shut down đột ngột" gần như zero ở tier 1. Risk vendor lock-in thường nhỏ hơn risk custom software tạo tech debt không maintain được. Vendr 2024 đo churn enterprise SaaS chỉ 5-8%/năm cho top vendors. Giải pháp: chọn SaaS có data export đầy đủ và API mở.
Hybrid (vừa SaaS vừa custom) có ổn không?
Rất ổn. Đây thực ra là best practice cho 70%+ SME Việt mình tư vấn. SaaS cho commodity functions (CRM, email, HR, kế toán). Custom cho core differentiator (pricing engine, recommendation algorithm, domain workflow đặc thù). Điều cần tránh: custom hóa SaaS platform (add-on phức tạp trong Salesforce/HubSpot) vì phức tạp nhất nhưng không có benefit của cả hai.
TCO tính cho bao nhiêu năm là chuẩn?
3 năm cho startup/early-stage (nhiều thay đổi business). 5 năm cho mid-size company (theo Forrester TEI standard). 7+ năm chỉ cho infrastructure cốt lõi như database, security layer. Tính xa hơn thì assumption thiếu tin cậy vì tech stack thay đổi nhanh, đặc biệt sau khi GenAI làm thay đổi cost cấu trúc dev.
Có công cụ nào giúp tính TCO tự động không?
Có. Forrester TEI Calculator (free), Gartner TCO Comparator (paid), AWS TCO Calculator (free, focus infra). Mình thường dùng Excel custom với 5 layer ở trên cộng sensitivity analysis ±20% trên các giả định lớn. Không tin tưởng tool nào đưa ra một con số duy nhất. TCO luôn là một range.
Xem thêm
- Phần mềm custom
- Phần mềm custom cho SME — Khi nào nên build
- Marketing Automation là gì
- Top Marketing Automation Tools 2026
- Automation SME với Claude Code vs Tool
- ZaloCRM — CRM tối ưu cho doanh nghiệp Việt