Tình huống minh họa: Cuối mỗi tháng, CEO một công ty thi công nội thất nhận báo cáo doanh thu 6,8 tỷ đồng với lãi gộp đạt mục tiêu. Nhưng khi hỏi "công trình nào đang lãi, công trình nào đang lỗ", phòng kế toán chưa trả lời được ngay, vì chi phí từng công trình còn rải rác giữa đơn mua, hóa đơn và công nợ.
Trả lời ngắn: Lãi ở cấp công ty không cho biết từng công trình có lãi hay không. Muốn biết sớm, mỗi công trình cần được theo dõi bốn con số: Budget, Actual Cost, Committed Cost và EAC (dự báo tổng chi phí khi hoàn thành). Biên lợi nhuận dự báo = (Doanh thu − EAC) ÷ Doanh thu, cập nhật hằng tuần thay vì cuối tháng.
Bài viết này dành cho ai?
CEO, CFO và Giám đốc dự án của doanh nghiệp thi công nội thất đang chạy nhiều công trình cùng lúc, nơi BOQ, mua hàng, tiến độ và kế toán do các bộ phận khác nhau quản lý. Những người cần biết biên lợi nhuận thật của từng công trình để quyết định nhận thêm loại dự án nào.
Điều gì đang xảy ra?
- Báo cáo hằng tháng chỉ có doanh thu và lãi gộp ở cấp công ty, không tách theo công trình.
- Chi phí từng công trình nằm ở ba nơi: PO đã phát, hóa đơn đã về và công nợ chưa thanh toán.
- Vật tư mua chung được phân bổ thủ công cuối tháng, quy tắc có thể khác nhau giữa các kỳ.
- Hóa đơn xuất theo milestone hợp đồng, không gắn với phần trăm khối lượng đã thi công.
- Không có dự báo chi phí còn phải chi (ETC) cho công trình đang thi công.
Điều doanh nghiệp thực sự muốn đạt được
Chức năng: biết biên lợi nhuận từng công trình đang ở đâu, để can thiệp khi còn đổi được nhà cung cấp, thầu phụ hoặc tiến độ. Quản trị: một định nghĩa thống nhất cho lợi nhuận công trình để mọi người tranh luận trên cùng bộ số. Tổ chức: rõ ai cập nhật Actual, ai cập nhật ETC và ai chịu trách nhiệm khi biên lợi nhuận xuống dưới ngưỡng.
Điều gì đang cản trở?
| Lớp cản trở | Biểu hiện | Hệ quả |
|---|---|---|
| Dữ liệu | Chi phí không gắn mã công trình; PO chưa có hóa đơn không xuất hiện trong báo cáo | Không ghép được một chỉ số lãi/lỗ theo công trình |
| Quy trình | Chi phí chung phân bổ thủ công, không có quy tắc cố định | Biên lợi nhuận mỗi kỳ một khác, không so sánh được |
| Kiểm soát | Không có ETC/EAC cho công trình đang thi công | Công trình lỗ chỉ lộ ra khi gần nghiệm thu |
| Tổ chức | Mỗi bộ phận chỉ thấy một phần chi phí của mình | Không ai nhìn thấy bức tranh tổng cùng lúc |
| Công cụ | Báo cáo cấp công ty là file tĩnh, xuất theo tháng | Không tách được theo công trình, không cập nhật kịp |
Điểm nhìn cốt lõi: CEO không thiếu báo cáo lãi/lỗ. Báo cáo đến khi phần lớn chi phí đã được cam kết, và nó gộp các công trình lại nên che mất công trình đang lỗ. Quyết định danh mục vì thế bị đẩy sai hướng, như tiếp tục nhận loại công trình đang lỗ hoặc chào giá mới dựa trên biên lợi nhuận trung bình sai lệch.

Tác động tới doanh nghiệp
| Chiều tác động | Điều gì xảy ra khi không biết lãi/lỗ từng công trình |
|---|---|
| Cost | Chi phí vượt chỉ lộ sau khi không còn đổi được nhà cung cấp hoặc thầu phụ |
| Margin | Công trình lỗ được công trình lãi bù nên không ai thấy để xử lý |
| Cash Flow | Xuất hóa đơn nhanh hơn tiến độ làm doanh thu hiển thị đẹp hơn thực tế |
| Progress | Khó biết nên dồn nhân sự giỏi và nguồn lực vào công trình nào |
| Risk | Ký thêm hợp đồng cùng loại với công trình đang lỗ; chào giá dựa trên biên trung bình sai lệch |
Nguyên nhân gốc
Chi phí không gắn mã công trình hoặc mã hạng mục ↓ Chỉ nhìn Actual Cost, không cộng Committed Cost ↓ Doanh thu ghi theo lịch hóa đơn, không theo phần trăm khối lượng hoàn thành ↓ Không có ETC/EAC cho công trình đang thi công ↓ Báo cáo cập nhật theo tháng, gộp toàn công ty ↓ Công trình lỗ chỉ lộ ra khi đã nghiệm thu, không còn đòn điều chỉnh
Framework quản trị
BASELINE — ngân sách chi phí từ BOQ, theo từng công trình ↓ COMMITMENT — chi phí đã cam kết qua PO hoặc hợp đồng thầu phụ, chưa có hóa đơn ↓ ACTUAL — chi phí đã ghi nhận từ hóa đơn và phiếu nhập ↓ FORECAST — EAC = Actual + Committed chưa ghi nhận + ETC ↓ VARIANCE — EAC − Budget và biên lợi nhuận dự báo so với ngưỡng ↓ ACTION — đàm phán lại, đổi nhà cung cấp, điều chỉnh tiến độ, báo giá lại phát sinh
Định nghĩa: ETC (Estimate to Complete) là chi phí ước tính còn phải chi cho phần việc chưa được cam kết. EAC (Estimate at Completion) là dự báo tổng chi phí khi công trình hoàn thành. Công thức: EAC = Actual Cost + Committed Cost chưa ghi nhận + ETC; Forecast Gross Margin = (Doanh thu − EAC) ÷ Doanh thu. Tránh tính hai lần: phần Committed đã có hóa đơn đã nằm trong Actual.
Hợp nhất doanh thu, chi phí đã cam kết và dự báo EAC theo từng mã công trình để phát hiện công trình lỗ khi vẫn còn thời gian đàm phán và điều chỉnh.
Khám phá EcoCons → Xem gói Base →Quy trình đề xuất (To-Be)
| Bước | Người phụ trách | Điều kiện vào | Điểm kiểm soát |
|---|---|---|---|
| Lập Budget từ BOQ theo từng công trình khi khởi công | QS | Hợp đồng và BOQ đã duyệt | Budget được duyệt và khóa |
| Bắt buộc mã công trình trên mọi PR/PO/hóa đơn | Mua hàng, Kế toán | Bảng mã đã chốt | Không nhập được khi thiếu mã |
| Phân bổ chi phí dùng chung theo quy tắc cố định | Kế toán trưởng | Đã xác định chi phí dùng chung | Quy tắc ghi trong chính sách, không đổi theo kỳ |
| Cập nhật Actual và Committed hằng tuần | Kế toán dự án | Dữ liệu chủ đã sạch | Báo cáo tuần theo từng công trình |
| PM cập nhật ETC theo phần trăm hoàn thành | PM | Khối lượng đã đối chiếu BOQ | ETC có ngày cập nhật và người xác nhận |
| Họp review margin 30 phút mỗi tuần | CEO/CFO, PM, QS | Báo cáo tuần đã có | Công trình dưới ngưỡng có hành động và người chịu trách nhiệm |

Ví dụ minh họa — số liệu giả định
| Công trình | Doanh thu hợp đồng | Biên lãi gộp dự báo | Lãi gộp |
|---|---|---|---|
| Showroom | 3,5 tỷ | 18% | 0,630 tỷ |
| Văn phòng | 5,2 tỷ | 12% | 0,624 tỷ |
| Căn hộ mẫu | 2,4 tỷ | −6% | −0,144 tỷ |
| Cả công ty | 11,1 tỷ | 10,0% | 1,110 tỷ |
Với căn hộ mẫu, ở tuần thứ 10 trên 16 tuần thi công, bốn con số cho thấy vấn đề ngay cả khi Actual Cost và Committed Cost vẫn chưa vượt ngân sách.
| Chỉ tiêu (căn hộ mẫu) | Giá trị | % Budget |
|---|---|---|
| Budget chi phí | 1,92 tỷ | 100% |
| Actual Cost | 1,10 tỷ | 57% |
| Committed Cost chưa ghi nhận | 0,62 tỷ | — |
| Actual + Committed | 1,72 tỷ | 90% |
| ETC (phần chưa cam kết) | 0,82 tỷ | — |
| EAC | 2,54 tỷ | 132% |
| Forecast Gross Profit | 2,40 − 2,54 = −0,14 tỷ | — |
| Forecast Gross Margin | −5,8% (xấp xỉ −6%) | — |
Tự kiểm tra: 3,5 × 18% = 0,630; 5,2 × 12% = 0,624; 2,4 × (−6%) = −0,144; tổng lãi 0,630 + 0,624 − 0,144 = 1,110 tỷ trên doanh thu 3,5 + 5,2 + 2,4 = 11,1 tỷ, tức 1,110 ÷ 11,1 = 10,0%. Với căn hộ mẫu: 1,10 + 0,62 + 0,82 = 2,54; 2,40 − 2,54 = −0,14; −0,14 ÷ 2,40 = −5,8%. Cộng Committed vào Actual chỉ đạt 1,72 tỷ, tức 90% Budget, nên chưa thấy vượt. Chỉ khi có ETC và EAC mới thấy dự báo lỗ lúc công trình còn khoảng 6 tuần, khi vẫn còn đàm phán được phần chưa cam kết.
EcoCons hỗ trợ ở đâu?
| Yêu cầu | Năng lực | Mức đáp ứng |
|---|---|---|
| Quản lý công trình và hạng mục theo WBS | Bộ mô-đun dự án | Tiêu chuẩn |
| Gắn mã công trình cho chi phí | Mã phân tích trên dòng đơn mua và hóa đơn | Tiêu chuẩn + cấu hình |
| Hóa đơn theo milestone hợp đồng | Đơn hàng bán và hóa đơn | Tiêu chuẩn + cấu hình |
| Bắt buộc mã công trình trước khi lưu | Ràng buộc nhập liệu | Mở rộng (AI-X) |
| Committed Cost theo công trình khi PO duyệt | Tổng hợp đơn mua chưa hóa đơn theo công trình | Mở rộng (AI-X) |
| ETC/EAC và báo cáo lãi/lỗ theo công trình | Báo cáo tùy biến và bảng điều khiển | Đề xuất thiết kế |
AI / Automation hỗ trợ ở đâu?
AI có giá trị ở hai điểm có thực. Thứ nhất, cảnh báo chi phí mới ghi nhận thiếu mã công trình hoặc phân bổ lệch quy tắc. Thứ hai, cảnh báo đơn mua lớn chưa có ETC tương ứng. Đầu vào gồm hóa đơn, đơn mua, chấm công và khối lượng hoàn thành; AI đưa danh sách cần rà; kế toán dự án hoặc PM xác nhận. Điểm quyết định của AI nằm ở bước phát hiện bất thường. AI không tự điều chỉnh ETC, không tự phân bổ chi phí và không tự kết luận một công trình đã lỗ.
KPI ban điều hành cần theo dõi
| KPI | Công thức | Tần suất | Chủ sở hữu | Hành động khi lệch |
|---|---|---|---|---|
| Forecast Gross Margin | (Doanh thu − EAC) ÷ Doanh thu | Tuần | CFO | Công trình dưới ngưỡng thì họp xử lý |
| Cost Variance | EAC − Budget | Tuần | PM | Đàm phán lại phần chưa cam kết |
| Committed % Budget | (Actual + Committed) ÷ Budget | Tuần | QS | Dừng PO mới nếu sát Budget |
| Billing so với % hoàn thành | % hóa đơn đã xuất − % khối lượng hoàn thành | Tuần | Kế toán dự án | Phát hiện doanh thu ghi trước tiến độ |
| Chi phí chưa gắn mã công trình | Số tiền và số dòng theo công trình | Tuần | Kế toán trưởng | Sửa trước khi chốt số tuần |
| Chu kỳ cập nhật P&L | Số ngày từ giao dịch đến báo cáo công trình | Tháng | CFO | Rút ngắn dần chu kỳ |

Câu hỏi thường gặp
Vì sao báo cáo lãi gộp cấp công ty không đủ để điều hành?
Báo cáo cấp công ty là con số cộng gộp doanh thu và chi phí của mọi công trình. Một công trình lỗ hoàn toàn có thể bị che bởi các công trình lãi tốt, nên chỉ số tổng vẫn đạt mục tiêu. Muốn điều hành, doanh nghiệp phải tách được lãi/lỗ theo từng công trình, vì quyết định dồn nguồn lực và chào giá chỉ đúng khi dựa trên biên lợi nhuận thật của từng công trình.
Committed Cost là gì và vì sao phải cộng vào?
Committed Cost là chi phí đã cam kết qua đơn mua hoặc hợp đồng thầu phụ nhưng chưa có hóa đơn, nên chưa xuất hiện trong sổ kế toán. Nếu chỉ nhìn Actual Cost, doanh nghiệp tưởng ngân sách còn dư trong khi phần lớn tiền đã bị ràng buộc. Cộng Committed vào giúp thấy ngân sách còn lại thật, và là bước rẻ nhất để tăng kiểm soát chi phí.
ETC và EAC khác nhau thế nào?
ETC (Estimate to Complete) là chi phí ước tính còn phải chi cho phần việc chưa được cam kết, do PM hoặc QS cập nhật theo phần trăm hoàn thành. EAC (Estimate at Completion) là dự báo tổng chi phí khi công trình hoàn thành, tính bằng Actual Cost cộng Committed chưa ghi nhận cộng ETC. ETC là một thành phần đầu vào, EAC là kết quả dùng để tính biên lợi nhuận dự báo.
Nên bắt đầu theo dõi lãi/lỗ từ chỉ số nào?
Nên bắt đầu từ biên lợi nhuận dự báo theo công trình và chênh lệch giữa EAC và Budget, vì đây là hai chỉ số chỉ ra nguy cơ lỗ sớm nhất. Sau đó bổ sung Committed % Budget và mức lệch giữa hóa đơn đã xuất với phần trăm khối lượng hoàn thành. Nguyên tắc là chọn ít chỉ số nhưng mỗi chỉ số phải có công thức rõ và nguồn dữ liệu đáng tin.
Chi phí dùng chung cho nhiều công trình nên phân bổ thế nào?
Nên phân bổ theo một quy tắc cố định ghi trong chính sách kế toán, ví dụ theo doanh thu hợp đồng hoặc theo giờ công trực tiếp, và giữ nguyên quy tắc đó qua các kỳ. Điều quan trọng là quy tắc không đổi tùy theo người lập báo cáo, nếu không biên lợi nhuận công trình sẽ thay đổi giả tạo giữa các tháng.
Có cần AI cho việc tính lãi/lỗ theo công trình?
Không bắt buộc. Với phần lớn doanh nghiệp nội thất, mã công trình thống nhất và bộ báo cáo Budget, Actual, Committed, EAC đã tạo ra phần lớn giá trị. AI chỉ nên thêm khi số công trình và số giao dịch đủ lớn để việc rà thiếu mã và phân bổ lệch trở nên quá tải. Khi đó AI hữu ích ở việc phát hiện bất thường.
Checklist: doanh nghiệp của bạn có vấn đề này không?
Đọc kết quả: 0–2 ô = kiểm soát lãi/lỗ theo công trình tốt; 3–5 ô = cần chuẩn hóa mã và ETC/EAC; 6–8 ô = nên dựng báo cáo lãi/lỗ theo công trình trước khi mở rộng quy mô.
Kết luận
"Công ty có lãi" và "mọi công trình đều có lãi" là hai điều khác nhau, và khoảng cách giữa chúng là nơi lợi nhuận âm thầm rò rỉ. Doanh nghiệp không cần chờ đầu tư hệ thống mới để bắt đầu: gắn mã công trình cho mọi chi phí, theo dõi Committed Cost song song với Actual Cost và rút ngắn chu kỳ cập nhật P&L là những việc làm được ngay. Khi bốn con số Budget, Actual, Committed và EAC được nhìn cùng lúc, công trình lỗ lộ ra khi vẫn còn thời gian để xử lý.