Tình huống minh họa: Một job đã giao xong và báo cáo đang thể hiện lãi 50 triệu đồng. Khi vận hành gửi thêm xác nhận chi phí chưa có hóa đơn, CFO thấy còn 22 triệu đồng cần tính vào dự báo. Quyết định giảm giá cho booking tiếp theo vì vậy cần được xem lại.
Trả lời ngắn: Lãi gộp dự báo theo job là doanh thu dịch vụ dự kiến trừ tổng chi phí trực tiếp dự kiến của job. Tổng chi phí gồm chi phí thực tế đã ghi nhận, cam kết chưa nằm trong thực tế và chi phí còn phải thực hiện chưa được cam kết. Tách ba phần này giúp tránh bỏ sót hoặc tính trùng chi phí khi đánh giá lợi nhuận.
Bài này dành cho ai?
CFO, kế toán quản trị, trưởng vận hành của forwarder hoặc doanh nghiệp vận tải container theo dõi theo job/chuyến; quy mô từ vài chục job/tháng trở lên, khi báo cáo lãi lỗ đang dựa trên chi phí "đã có hóa đơn".
Điều gì đang xảy ra?
- Báo cáo job chỉ lấy chi phí đã hạch toán → chưa phản ánh cam kết còn mở.
- Chi phí mua dịch vụ (xe thuê ngoài, phí cảng, phụ phí) được xác nhận qua email, không vào dữ liệu quản trị.
- Phụ phí phát sinh chưa gắn người chủ trì xử lý và thời hạn.
- Biên lãi gộp hiển thị cao hơn thực tế dự kiến, ảnh hưởng quyết định giá và nhận đơn.
(Đây là các quan sát từ tình huống biên tập, cần kiểm chứng với dữ liệu thực tế của doanh nghiệp.)
Doanh nghiệp muốn đạt điều gì?
- Chức năng: tập hợp doanh thu và đủ chi phí cùng một job.
- Quản trị: thấy biên lãi gộp dự báo trước khi đóng job và khi chi phí thay đổi.
- Phối hợp tổ chức: sales, ops, kế toán dùng chung một trạng thái chi phí của job.
Điều gì đang cản trở?
| Loại | Rào cản |
|---|---|
| Dữ liệu | Thiếu mã job trên dòng chi phí; chi phí nằm rải trong email/file |
| Quy trình | Chưa bàn giao cam kết mua dịch vụ thành bản ghi quản trị |
| Kiểm soát | Chưa kiểm tra chi phí còn thiếu ở điểm "đóng job" |
| Tổ chức | Chưa rõ ai xác nhận ETC/chi phí còn phải thực hiện |
| Công cụ | Nguồn dữ liệu (tài chính, vận hành) chưa liên thông |
Insight
Lợi nhuận hiển thị phụ thuộc vào thời điểm và phạm vi ghi nhận chi phí. Không thiếu dữ liệu chi phí — thiếu một quy ước thống nhất về thời điểm và phạm vi ghi nhận.
Tác động
| Loại | Tác động |
|---|---|
| Cost | Chi phí thiếu làm dự báo thấp hơn thực tế |
| Margin | Biên lãi gộp dự báo sai, có thể chốt giá dưới chi phí thật |
| Cash Flow | Chưa thấy nghĩa vụ thanh toán sắp đến theo kỳ |
| Progress | Đóng job khi hồ sơ chưa hoàn chỉnh, khó thu hồi hồ sơ sau |
| Risk | Quyết định giá/đấu thầu dựa trên số liệu chưa đủ |
Nguyên nhân gốc
Chưa thống nhất mã job và trạng thái chi phí → Cam kết mua dịch vụ không được bàn giao vào dữ liệu quản trị → Báo cáo bỏ sót chi phí đến muộn → Biên lợi nhuận bị đánh giá sai
Framework quản trị (5 bước)
1. Gắn job — Mọi dòng chi phí, doanh thu đều có mã job hợp lệ 2. Ghi cam kết — Mua dịch vụ tạo bản ghi cam kết với nhà cung cấp 3. Đối soát — Hóa đơn về, đối chiếu cam kết, loại trùng 4. Dự báo — Actual + Committed + ETC thành EAC 5. Duyệt đóng — Đủ hồ sơ và rà soát chi phí còn thiếu mới đóng job
Quy trình To-Be (đề xuất)
| Bước | Chủ trì | Điều kiện ra | Điểm kiểm soát |
|---|---|---|---|
| Mở job | Sales/CS | Có khách, mã job, dịch vụ, phạm vi giá | Không mở trùng; xác định người phụ trách |
| Chấp thuận giá | Pricing/người duyệt | Có phiên bản, hiệu lực, phụ phí, điều kiện | Bàn giao đúng bản khách đã chấp thuận |
| Mua dịch vụ | Ops/mua hàng | Cam kết có job, nhà cung cấp, số tiền | Xét quyền duyệt và khả năng thu lại phụ phí |
| Thực hiện | Ops | Mốc và ngoại lệ cập nhật | Mỗi ngoại lệ có người xử lý và hạn |
| Đối soát | Kế toán + ops | Hóa đơn khớp dịch vụ, cam kết giảm tương ứng | Không tính cam kết và thực tế hai lần |
| Đóng job | Người có thẩm quyền | Đủ hồ sơ, rà soát chi phí còn thiếu | Lưu quyết định và quy tắc mở lại |
Ví dụ minh họa
Ví dụ minh họa — số liệu giả định, không phải thống kê. Đơn vị triệu đồng; cùng cơ sở tiền tệ, không gồm VAT và khoản thu hộ/chi hộ. Doanh thu 200 được giả định đủ cơ sở đưa vào dự báo; không phải kết luận về ghi nhận doanh thu kế toán.
| Thành phần | Giá trị | Quy tắc tránh trùng |
|---|---|---|
| Doanh thu dịch vụ dự kiến | 200 | Không cộng khoản thu hộ vào ví dụ này |
| Actual: chi phí thực tế đã ghi nhận | 150 | Theo phạm vi kế toán quản trị đã thống nhất |
| Committed còn mở | 12 | Chỉ phần chưa nằm trong Actual |
| ETC chưa cam kết | 10 | Phần còn phải làm, chưa ở hai dòng trên |
| EAC: tổng chi phí trực tiếp dự báo | 172 | 150 + 12 + 10 |
| Lãi gộp dự báo | 28 | 200 − 172 |
| Biên lãi gộp dự báo | 14% | 28 ÷ 200 × 100 |
Nếu chỉ lấy Actual: lãi hiển thị = 200 − 150 = 50; biên = 25%. Chênh lệch so với dự báo đủ chi phí là 22 triệu và 11 điểm phần trăm, không phải 11%.
EAC = Actual + Committed còn mở + ETC chưa cam kết Lãi gộp dự báo = Doanh thu dịch vụ dự kiến − EAC Biên lãi gộp dự báo = Lãi gộp dự báo ÷ Doanh thu dịch vụ dự kiến × 100%
Đây là định nghĩa quản trị dùng trong bài, cần thống nhất với doanh nghiệp. Không gọi lãi gộp là lợi nhuận ròng (chưa phân bổ chi phí quản lý, tài chính, thuế). Doanh thu bằng 0 thì tỷ lệ không xác định. Đa tiền tệ cần nguồn tỷ giá và cách xử lý chênh lệch nhất quán.
Odoo hỗ trợ ở đâu?
| Yêu cầu | Năng lực/thiết kế | Mức đáp ứng | Bằng chứng hiện có và giới hạn |
|---|---|---|---|
| Theo dõi doanh thu/chi phí theo phân tích | Analytic accounting | Standard ở phạm vi tài liệu Odoo 19 | Mô tả năng lực nền; chưa xác minh edition/module/cấu hình hệ thống mục tiêu |
| Lợi nhuận theo job | Quy ước job + gán analytic phù hợp | Standard + cấu hình, dự kiến | Hỗ trợ cơ sở phân tích; mapping job cụ thể chưa thử nghiệm |
| EAC, cam kết theo job | Đồng bộ actual/committed/ETC với quy tắc khử trùng | Đề xuất | Bài toán thiết kế; analytic tự nó chưa chứng minh đáp ứng toàn bộ |
| Sổ shipment, đóng job, POD | Mô hình logistics riêng và tích hợp | Đề xuất | Chưa có demo, module hoặc nghiệm thu; không gọi là có sẵn |
AI/Automation nếu hữu ích
| Use case đề xuất | Dữ liệu vào | Đầu ra | Kiểm soát và người duyệt | Đo thử nghiệm |
|---|---|---|---|---|
| Phát hiện chi phí bất thường | Chi phí chuẩn hóa có mã job, tuyến, loại | Danh sách nghi vấn kèm lý do | Kế toán/ops xác nhận; không tự từ chối thanh toán | Tỷ lệ cảnh báo hữu ích; tỷ lệ bỏ sót |
| Đọc chứng từ/POD | File được phép dùng, mã job | Trường trích xuất và vị trí nguồn | CS kiểm tra mã job, ngày, số tiền | Độ đúng từng trường; thời gian rà soát |
Luồng đề xuất: Dữ liệu có quyền truy cập → chuẩn hóa và kiểm tra mã job → quy tắc hoặc AI → dẫn nguồn và mức tin cậy → người phụ trách xác nhận → ghi ERP và lưu lịch sử → đo sai lệch, phản hồi. AI không tự duyệt giá, thanh toán hay phát hành chứng từ.
KPI điều hành
| KPI | Công thức/định nghĩa | Tần suất đề xuất | Chủ sở hữu | Hành động |
|---|---|---|---|---|
| Biên lãi gộp dự báo job | (Doanh thu dự kiến − EAC) / Doanh thu dự kiến | Khi chi phí thay đổi | CFO + ops | Rà chi phí hoặc phạm vi dịch vụ |
| Chi phí có mã job | Dòng chi phí có mã job hợp lệ / tổng dòng chi phí thuộc phạm vi | Hằng ngày | Kế toán | Xử lý dòng chưa gắn hoặc gắn sai |
| Đủ POD đúng hạn | Job cần POD đã nhận POD hợp lệ / tổng job đến hạn | Hằng ngày | CS/ops | Phân công thu hồi hồ sơ thiếu |
| Thời gian chờ lập hóa đơn | Ngày lập hóa đơn − ngày đủ điều kiện lập hóa đơn | Hằng tuần | Kế toán AR | Xử lý nút thắt hồ sơ/phê duyệt |
Ngưỡng do doanh nghiệp tự đặt. Ghi rõ kỳ, dữ liệu bị loại, xử lý hủy/hoãn và mẫu số bằng 0. "Được chấp thuận thu lại" khác "đã thu tiền".
FAQ
Lãi gộp dự báo khác lợi nhuận ròng thế nào?
Lãi gộp dự báo chỉ gồm doanh thu và chi phí trực tiếp của job; chưa phân bổ chi phí quản lý, tài chính, thuế nên không gọi là lợi nhuận ròng.
Khi nào nên cập nhật ETC?
Khi có bằng chứng về công việc còn lại và chi phí sẽ phát sinh; người phụ trách xác nhận và ghi thời điểm cập nhật.
Chi phí thu hộ (tiền trả hộ khách) có tính vào job không?
Không cộng khoản thu hộ/chi hộ vào doanh thu dịch vụ để tránh làm sai biên; cần tách dòng.
Có bắt buộc dùng AI không?
Không. Phần lớn vấn đề giải quyết bằng quy ước job, ghi cam kết và đối soát; AI chỉ bổ sung khi có dữ liệu và người duyệt.
Checklist tự kiểm tra
□ Mọi chi phí trực tiếp đều gắn đúng job. □ Doanh thu dịch vụ được tách khỏi khoản thu hộ trong báo cáo đang dùng. □ Cam kết chưa có hóa đơn được theo dõi. □ Phần cam kết đã vào Actual được loại khỏi cam kết còn mở. □ ETC có người xác nhận và thời điểm cập nhật. □ Dữ liệu đa tiền tệ có quy tắc quy đổi thống nhất. □ Job có điều kiện đóng và quy tắc mở lại. □ Khi biên lợi nhuận lệch, có người chịu trách nhiệm xử lý.
Thang gợi ý: 0–3 ô = rà dữ liệu và trách nhiệm trước; 4–6 ô = ưu tiên điểm bàn giao còn thiếu; 7–8 ô = kiểm chứng bằng mẫu job thực tế.
Kết luận
Lãi lỗ theo shipment chỉ đáng tin khi chi phí được ghi nhận theo đủ ba trạng thái: thực tế, cam kết còn mở và còn phải thực hiện. Bắt đầu bằng việc thống nhất mã job và quy tắc ghi cam kết với nhóm vận hành, rồi xây dựng báo cáo EAC trước khi đóng job bất kỳ.