Web Development

Chi phí phát triển module Odoo tùy chỉnh: Cách ước tính

Tìm hiểu chi phí phát triển module Odoo tùy chỉnh theo độ phức tạp, nền tảng được phép chạy mã Python, Studio và chi phí nâng cấp hằng năm.

Ảnh đại diện Long Nguyen

Long Nguyen

Lập trình viên Fullstack · Kỹ sư AI · Nhà nghiên cứu

• • 4 phút đọc •

Câu trả lời ngắn: số giờ nhân đơn giá, cộng ba chi phí định kỳ

Odoo không có bảng giá cố định cho module tùy chỉnh. Báo giá được tính bằng số giờ thực hiện × đơn giá theo giờ, và hóa đơn cho phần phát triển chỉ là một phần trong tổng chi phí bạn phải trả trong ba năm.

  • Chi phí xây dựng: phân tích, lập trình, kiểm thử, nghiệm thu người dùng và triển khai. Khoản này gần như hoàn toàn phụ thuộc vào phạm vi công việc, không phải bản thân Odoo.
  • Nền tảng lưu trữ được phép chạy mã của bạn: Odoo Online không thể chạy module Python, vì vậy module tùy chỉnh có thể buộc bạn thay đổi nền tảng.
  • Gói cấp phép: gói cho phép sử dụng mã tùy chỉnh và lựa chọn nền tảng lưu trữ, tính theo người dùng mỗi tháng và thay đổi tùy quốc gia.
  • Chi phí chuyển phiên bản: mỗi phiên bản chính mới của Odoo yêu cầu module được kiểm thử lại và thường phải điều chỉnh; dịch vụ nâng cấp của Odoo không bao gồm công việc này.

Các phần dưới đây đưa ra con số và nguyên tắc ra quyết định cho từng khoản, giúp bạn kiểm tra tính hợp lý của báo giá trước khi ký.

Chi phí module Odoo tùy chỉnh theo độ phức tạp

Hãy định giá module theo số giờ, sau đó nhân với đơn giá. Các mức dưới đây là quy tắc ước lượng để trao đổi với lập trình viên. Đây không phải báo giá hay dữ liệu thị trường, đồng thời giả định rằng bạn đã có đặc tả bằng văn bản và lập trình viên đã quen với ORM, giao diện và mô hình bảo mật của Odoo.

Mức Phạm vi điển hình Số giờ lập trình Yếu tố làm tăng chi phí
1. Điều chỉnh nhỏ Thêm trường, kế thừa giao diện, thay đổi bố cục báo cáo PDF, một tác vụ tự động 8–24 Bố cục in tùy chỉnh, nhiều ngôn ngữ
2. Một quy trình đơn lẻ Model mới, giao diện, nhóm quyền và quy tắc bản ghi, một vài tác vụ tự động, một hoặc hai báo cáo 40–100 Phê duyệt nhiều bước, mẫu email, vai trò người dùng
3. Mở rộng liên ứng dụng Thay đổi trong quy trình bán hàng, mua hàng, kho hoặc kế toán, wizard, script di chuyển dữ liệu 100–250 Ghi đè phương thức lõi, nhiều trường hợp ngoại lệ, dữ liệu hiện có không sạch
4. Tích hợp hệ thống bên ngoài Đồng bộ hai chiều với sàn thương mại điện tử, đơn vị vận chuyển, hệ thống thanh toán hoặc hệ thống khác thông qua API 80–300 Tài liệu API kém, giới hạn tần suất, cơ chế thử lại, đối soát, webhook
5. Logic kế toán hoặc tuân thủ Quy tắc thuế, bản địa hóa, logic hạch toán đa công ty 200–500+ Dấu vết kiểm toán, phê duyệt pháp lý, quy định theo khu vực

Số giờ lập trình không phải toàn bộ dự án. Theo kinh nghiệm, hãy cộng thêm 40–60% cho phân tích, kiểm thử, nghiệm thu người dùng, triển khai và tài liệu. Bỏ qua các hạng mục này không làm công việc biến mất; chúng chỉ chuyển sang cho đội ngũ của bạn xử lý sau khi hệ thống vận hành.

Ví dụ tính toán

Một quy trình phê duyệt đơn mua hàng với hai cấp phê duyệt, quy tắc bản ghi, thông báo email và một báo cáo PDF thuộc mức 2. Giả sử cần 60 giờ lập trình, tương đương khoảng 90 giờ khi tính cả phân tích, kiểm thử và triển khai. Các mức giá dưới đây chỉ nhằm minh họa cách tính.

Đơn giá minh họa 90 giờ
30 USD mỗi giờ 2.700 USD
60 USD mỗi giờ 5.400 USD
100 USD mỗi giờ 9.000 USD

Khoảng cách giữa các mức giá lớn hơn nhiều so với khác biệt trong phần mã nguồn. Hãy hỏi đơn giá đó bao gồm những gì: ai kiểm tra mã, ai kiểm thử và ai hỗ trợ khi hệ thống gặp lỗi.

Đơn giá theo giờ hay giá trọn gói: ai chịu rủi ro?

Cùng một khối lượng 90 giờ có thể được bán theo ba cách. Mô hình tính giá sẽ quyết định ai phải trả thêm khi phạm vi công việc thực tế khác với dự kiến.

Mô hình Phù hợp khi Ai chịu rủi ro Cần lưu ý
Giá cố định Đặc tả đã rõ ràng và ổn định Lập trình viên, nên giá thường đã bao gồm phần dự phòng Mọi thay đổi đều trở thành yêu cầu thay đổi
Tính theo thời gian và vật tư Yêu cầu còn thay đổi hoặc giai đoạn tìm hiểu chưa hoàn tất Bạn Không có mức trần; hãy yêu cầu giới hạn chi phí hằng tháng và báo cáo số giờ hằng tuần
Giá cố định theo giai đoạn Phạm vi lớn hoặc chưa rõ ràng Chia sẻ: trả phí cho giai đoạn tìm hiểu, sau đó xây dựng theo giá cố định Đảm bảo đầu ra của giai đoạn tìm hiểu là đặc tả thuộc quyền sở hữu của bạn

Với module tùy chỉnh đầu tiên, một giai đoạn tìm hiểu ngắn có trả phí, sau đó là phần xây dựng theo giá cố định, thường là cách tiết kiệm nhất để xác định nhu cầu thực tế của bạn.

Module tùy chỉnh có thể chạy ở đâu: Odoo Online, Odoo.sh hay tự lưu trữ?

Đây là bẫy chi phí khiến nhiều người mua bất ngờ nhất. Module có mã Python không thể cài đặt trên Odoo Online. Nếu dự án cần module như vậy, quyết định về nền tảng phải được đưa ra trước và sẽ làm thay đổi hóa đơn hằng tháng.

Nơi chạy Module Python tùy chỉnh Chi phí ngoài phát triển Điểm cần lưu ý
Odoo Online Không được phép Chỉ có phí thuê bao Chỉ giới hạn ở Studio và các ứng dụng tiêu chuẩn
Odoo.sh Được phép Gói cấp phép cho phép dùng mã tùy chỉnh, cộng thêm phí lưu trữ Odoo.sh tính riêng Việc triển khai tuân theo quy trình làm việc với nhánh Git, nên lập trình viên cần làm việc theo cách này
Enterprise tự lưu trữ Được phép Giấy phép, máy chủ riêng, sao lưu và cập nhật bản vá Bạn tự chịu trách nhiệm về bảo mật và thời gian hoạt động
Community tự lưu trữ Được phép Không có phí cấp phép; chỉ có chi phí máy chủ và vận hành Không có Studio, và nâng cấp là một dự án di chuyển thay vì yêu cầu dịch vụ

Giá theo người dùng của các gói trả phí thay đổi theo quốc gia, kỳ thanh toán và chương trình khuyến mãi trong năm đầu. Hãy xem mức giá áp dụng cho chính mình trên trang giá của Odoo thay vì tin vào một con số trong bài viết, kể cả bài viết này. Đồng thời, hãy xác nhận trên trang đó gói nào tại khu vực của bạn cho phép dùng mã tùy chỉnh và Odoo.sh vào thời điểm mua.

Studio, OCA, kho ứng dụng hay mã tùy chỉnh: chọn phương án tiết kiệm nhất nhưng vẫn đáp ứng nhu cầu

Trước khi trả tiền cho việc lập trình, hãy lần lượt xem danh sách dưới đây. Mỗi bước không chỉ tốn nhiều chi phí xây dựng hơn mà còn tốn nhiều chi phí duy trì hơn.

  1. Cấu hình. Thiết lập, tác vụ tự động và trường tiêu chuẩn. Chi phí: số giờ của chuyên gia tư vấn, không có mã cần bảo trì.
  2. Odoo Studio. Trường, giao diện và các tác vụ tự động đơn giản theo hướng low-code. Khả năng sử dụng phụ thuộc vào gói; các thay đổi bằng Studio tránh được vấn đề chuyển phiên bản nêu dưới đây vì dịch vụ nâng cấp của Odoo xử lý mã được viết bên ngoài Studio theo cách khác.
  3. Module OCA. Odoo Community Association phát hành các module cộng đồng trên GitHub. Hãy kiểm tra giấy phép và xem có nhánh dành cho phiên bản Odoo của bạn hay không trước khi phụ thuộc vào module đó.
  4. Module trả phí trên kho ứng dụng. Bạn mua giấy phép và phụ thuộc vào tác giả trong việc cập nhật. Hãy kiểm tra lịch sử cập nhật cho phiên bản mình đang sử dụng.
  5. Module tùy chỉnh. Phù hợp khi quy trình đặc thù với doanh nghiệp của bạn và không phương án nào ở trên đáp ứng được. Đây là lựa chọn duy nhất trong đó bạn tự chịu chi phí chuyển phiên bản.

Mã tùy chỉnh không phải lựa chọn sai, nhưng nên là phương án cuối cùng thay vì lựa chọn đầu tiên. Nếu bạn đã có danh sách yêu cầu và muốn được ước tính theo số giờ, hãy xem dịch vụ phát triển module Odoo tùy chỉnh tại Netalith.

Khoản chi phí thường bị bỏ qua trong báo giá: chuyển module theo từng phiên bản Odoo

Odoo phát hành một phiên bản chính mới mỗi năm. Tài liệu nâng cấp của Odoo nêu rằng cơ sở dữ liệu có module tùy chỉnh không thể nâng cấp cho đến khi có phiên bản của các module đó dành cho bản phát hành mục tiêu. Điều khoản cấp độ dịch vụ của Odoo cũng loại trừ các module được viết nội bộ hoặc bởi bên thứ ba, bao gồm cả đối tác Odoo, trừ khi có hợp đồng bảo trì bao phủ phần việc này. Việc nâng cấp các ứng dụng tiêu chuẩn trên Enterprise là trách nhiệm của Odoo. Module của bạn là trách nhiệm của bạn.

Điều đó khiến việc chuyển phiên bản trở thành một khoản chi phí định kỳ, và quy mô chi phí phụ thuộc vào cách module được viết:

  • Dễ chuyển phiên bản: module bổ sung model và giao diện riêng, đồng thời mở rộng chức năng lõi bằng cơ chế kế thừa.
  • Tốn kém khi chuyển phiên bản: module ghi đè các phương thức lõi trong bán hàng, kho hoặc kế toán, vì đó chính là những phương thức Odoo thay đổi giữa các phiên bản.
  • Trường hợp tệ nhất: sao chép mã lõi. Mã này sẽ âm thầm tụt hậu sau mỗi bản sửa lỗi Odoo phát hành.

Hãy đưa chi phí chuyển phiên bản thành một dòng riêng trong báo giá. Theo giả định ban đầu, hãy dự trù khoảng 10–15% chi phí xây dựng mỗi năm cho module chỉ ghi đè nhẹ các thành phần lõi, sau đó thay thế ước tính này bằng con số thực tế sau lần chuyển phiên bản đầu tiên.

Nên xây dựng trên phiên bản Odoo nào vào tháng 10 năm 2026?

Odoo cung cấp ba năm hỗ trợ tiêu chuẩn cho mỗi phiên bản chính. Theo bảng hỗ trợ của Odoo, Odoo 20 ra mắt vào , còn các phiên bản cũ hơn sẽ kết thúc hỗ trợ như sau:

Phiên bản Phát hành Kết thúc hỗ trợ tiêu chuẩn
Odoo 20.0 Tháng 9 năm 2026 Tháng 9 năm 2029 (dự kiến)
Odoo 19.0 Tháng 9 năm 2025 Tháng 9 năm 2028 (dự kiến)
Odoo 18.0 Tháng 10 năm 2024 Tháng 9 năm 2027 (dự kiến)
Odoo 17.0 Tháng 11 năm 2023 Tháng 9 năm 2026

Xét về chi phí, vấn đề khá đơn giản. Nếu xây dựng module trên phiên bản sắp hết hỗ trợ, bạn có thể phải trả chi phí chuyển phiên bản gần như ngay lập tức. Xây dựng trên phiên bản mới nhất mang lại thời gian sử dụng dài nhất, nhưng chỉ khi mọi module bên thứ ba mà bạn phụ thuộc đã có bản phát hành tương thích. Các module cộng đồng thường chậm vài tháng mới hỗ trợ bản phát hành mới, vì vậy hãy xác nhận từng phụ thuộc trước khi chọn phiên bản.

Cách giảm chi phí mà không cắt giảm chất lượng

  • Viết đặc tả dưới dạng tiêu chí nghiệm thu. Ví dụ: khi đơn mua hàng vượt một mức nhất định được xác nhận, đơn sẽ chuyển đến người phê duyệt và người mua nhận được email. Đặc tả mơ hồ là nguồn gốc của các yêu cầu thay đổi.
  • Mở rộng, đừng ghi đè. Với từng tính năng, hãy yêu cầu lập trình viên giải thích liệu tính năng đó kế thừa hay thay thế hành vi tiêu chuẩn. Việc thay thế mới là nguyên nhân khiến chuyển phiên bản tốn kém.
  • Tách phần tích hợp khỏi bản phát hành đầu tiên. Đưa module quy trình vào vận hành trước, sau đó thêm đồng bộ API khi model dữ liệu đã được kiểm chứng.
  • Lưu mã nguồn trong kho của chính bạn. Điều này bảo vệ bạn nếu lập trình viên không thể tiếp tục hỗ trợ, đồng thời giúp bất kỳ ai cũng có thể báo giá việc chuyển phiên bản sau này.
  • Yêu cầu kiểm thử tự động cho các quy tắc nghiệp vụ. Đây là cơ sở giúp lập trình viên tiếp theo chuyển module sang phiên bản mới mà không phải phỏng đoán.

Tám câu hỏi cần đặt ra trước khi chấp nhận báo giá module Odoo

  1. Báo giá có tách riêng theo từng yêu cầu hay chỉ đưa ra một khoản tổng?
  2. Báo giá áp dụng cho phiên bản, edition và nền tảng lưu trữ Odoo nào?
  3. Module kế thừa hành vi tiêu chuẩn hay ghi đè các phương thức lõi?
  4. Chi phí đã bao gồm phân tích, kiểm thử, nghiệm thu và triển khai chưa?
  5. Ai sở hữu mã nguồn, mã được lưu trong kho nào và theo giấy phép nào?
  6. Đã bao gồm kiểm thử tự động cho các quy tắc nghiệp vụ chưa?
  7. Chính sách bảo hành sửa lỗi bao gồm những gì và kéo dài bao lâu?
  8. Chi phí chuyển sang phiên bản Odoo tiếp theo đã được báo giá hoặc ít nhất ước tính chưa?

Một nhà cung cấp trả lời rõ ràng cả tám câu hỏi có lẽ đã thực sự suy nghĩ kỹ về dự án của bạn. Nếu muốn có thêm một báo giá để đối chiếu với danh sách yêu cầu của mình, bạn có thể yêu cầu báo giá miễn phí từ Netalith.

CÂU HỎI THƯỜNG GẶP

Câu hỏi thường gặp

Chi phí phát triển một module Odoo tùy chỉnh là bao nhiêu?

Chi phí được tính bằng số giờ nhân với đơn giá theo giờ. Một điều chỉnh nhỏ như thêm trường hoặc thay đổi báo cáo thường mất khoảng 8–24 giờ lập trình; module cho một quy trình đơn lẻ khoảng 40–100 giờ; mở rộng liên ứng dụng 100–250 giờ; còn tích hợp hệ thống bên ngoài 80–300 giờ. Hãy cộng thêm khoảng 40–60% cho phân tích, kiểm thử, nghiệm thu và triển khai, sau đó nhân với đơn giá của lập trình viên. Đây là khoảng ước tính để lập kế hoạch, không phải báo giá.

Tôi có thể cài module tùy chỉnh trên Odoo Online không?

Không, nếu module có mã Python. Odoo Online không cho phép module Python tùy chỉnh, vì vậy bạn sẽ phải dùng Studio hoặc chuyển sang Odoo.sh hay hệ thống tự lưu trữ, từ đó làm thay đổi chi phí lưu trữ và cấp phép.

Dịch vụ nâng cấp Enterprise của Odoo có nâng cấp module tùy chỉnh của tôi không?

Không. Dịch vụ nâng cấp của Odoo bao phủ các ứng dụng tiêu chuẩn. Module tùy chỉnh do doanh nghiệp tự viết hoặc do bên thứ ba, bao gồm cả đối tác Odoo, đều bị loại trừ trừ khi có hợp đồng bảo trì bao phủ phần việc này. Ngoài ra, cơ sở dữ liệu có module tùy chỉnh không thể nâng cấp cho đến khi có phiên bản của module đó dành cho phiên bản Odoo mục tiêu.

Odoo Studio có rẻ hơn module tùy chỉnh không?

Với các trường, giao diện và tác vụ tự động đơn giản thì thường có, vì không có mã nguồn cần chuyển phiên bản. Studio gắn với một gói trả phí và không thể xử lý logic nghiệp vụ phức tạp hoặc tích hợp sâu; đó là lúc module tùy chỉnh trở thành công cụ phù hợp hơn.

Nên chọn giá cố định hay đơn giá theo giờ cho module Odoo?

Hãy chọn giá cố định khi đặc tả đã rõ ràng và ổn định; chọn mô hình tính theo thời gian và vật tư khi yêu cầu có thể thay đổi. Với module đầu tiên, một giai đoạn tìm hiểu ngắn có trả phí, sau đó xây dựng theo giá cố định, giúp chia sẻ rủi ro và mang lại cho bạn một bản đặc tả thuộc quyền sở hữu của mình.

Mỗi năm nên dự trù bao nhiêu chi phí để duy trì module Odoo tùy chỉnh?

Hãy tách chi phí chuyển phiên bản thành một dòng riêng. Giả định ban đầu hợp lý là 10–15% chi phí xây dựng mỗi năm đối với module chỉ ghi đè nhẹ các thành phần lõi, sau đó thay bằng con số thực tế sau lần chuyển phiên bản đầu tiên. Module ghi đè các phương thức lõi trong bán hàng, kho hoặc kế toán sẽ tốn nhiều chi phí chuyển phiên bản hơn.

Cập nhật cùng Netalith

Nhận kiến thức công nghệ, cập nhật sản phẩm và ưu đãi đặc biệt qua email.