/* ============================================================ AI-X — Dữ liệu (đặc tả v3.0) 5 nhóm · 19 ngành (§3.2) · hub mẫu Thi công nội thất (§8) · kịch bản ROI 500 tỷ (§9). Nội dung theo đặc tả. ============================================================ */ window.AIX = { /* ---- 5 nhóm / 19 ngành (§3.2) ---- */ /* ---- Cấu trúc liên kết (ai-x-cau-truc-lien-ket.md) ---- */ urls: { home: "/", giaiPhap: "/giai-phap", chuanDoan: "/chan-doan-nhanh", chuyenSau: "/danh-gia-doanh-nghiep", caNhan: "/danh-gia-ca-nhan", demo: "/demo", roi: "/roi-erp", slides: "/slides", careers: "/careers", lienHe: "/contactus", becomeInstructor: "/become-instructor", privacy: "/privacy", terms: "/terms", roadmap: "/lo-trinh-trien-khai/quy-trinh-5-buoc", groups: { "xay-dung": "/giai-phap/xay-dung", "logistics": "/giai-phap/logistics", "thuong-mai": "/giai-phap/thuong-mai", "dich-vu": "/giai-phap/dich-vu", "san-xuat": "/giai-phap/san-xuat" }, industries: { "thi-cong-noi-that": "/giai-phap/xay-dung/thi-cong-noi-that", "ban-vat-lieu-xay-dung": "/giai-phap/xay-dung/ban-vat-lieu-xay-dung", "tong-thau-xay-dung": "/giai-phap/xay-dung/tong-thau-xay-dung", "dich-vu-xay-dung": "/giai-phap/xay-dung/dich-vu-xay-dung", "van-tai-container": "/giai-phap/logistics/van-tai-container", "thue-kho": "/giai-phap/logistics/thue-kho", "logistics-forwarder": "/giai-phap/logistics/logistics-forwarder", "phan-phoi": "/giai-phap/thuong-mai/phan-phoi", "ban-le-tmdt-thoi-trang": "/giai-phap/thuong-mai/ban-le-tmdt-thoi-trang", "ban-le-noi-that": "/giai-phap/thuong-mai/ban-le-noi-that", "chuoi-ban-le-fmcg": "/giai-phap/thuong-mai/chuoi-ban-le-fmcg", "dich-vu-tu-van-trien-khai": "/giai-phap/dich-vu/dich-vu-tu-van-trien-khai", "dich-vu-phap-ly": "/giai-phap/dich-vu/dich-vu-phap-ly", "dich-vu-ke-toan-thue": "/giai-phap/dich-vu/dich-vu-ke-toan-thue", "dao-tao-cung-ung-nhan-luc": "/giai-phap/dich-vu/dao-tao-cung-ung-nhan-luc", "san-xuat-thuc-pham-do-uong": "/giai-phap/san-xuat/san-xuat-thuc-pham-do-uong", "san-xuat-bao-bi": "/giai-phap/san-xuat/san-xuat-bao-bi", "san-xuat-co-khi": "/giai-phap/san-xuat/san-xuat-co-khi", "san-xuat-may-mac": "/giai-phap/san-xuat/san-xuat-may-mac" } }, groups: [ { slug: "xay-dung", name: "Xây dựng & Nội thất", featured: true, problems: ["Vượt dự toán", "Thất thoát vật tư", "Không rõ lãi từng công trình"], industries: [ { slug: "ban-vat-lieu-xay-dung", name: "Bán vật liệu xây dựng", hasHub: false, probs: ["Công nợ đại lý quá hạn", "Tồn kho lệch giữa các kho", "Giá bán, chiết khấu không nhất quán", "Hàng trả về, đổi trả khó đối soát"] }, { slug: "tong-thau-xay-dung", name: "Tổng thầu", hasHub: false, probs: ["Vượt dự toán", "Trả thầu phụ vượt nghiệm thu", "Chậm tiến độ do nhiều gói thầu", "Công nợ, dòng tiền tạm ứng lệch"] }, { slug: "thi-cong-noi-that", name: "Thi công nội thất", hasHub: true, probs: ["Vượt dự toán", "Phát sinh không thu được tiền", "Thất thoát vật tư", "Không rõ lãi từng công trình", "Nghiệm thu, thu tiền chậm"] }, { slug: "dich-vu-xay-dung", name: "Dịch vụ xây dựng", hasHub: false, probs: ["Việc xong chưa xuất hóa đơn", "Không đo được năng suất đội thợ", "Chi phí vật tư đi kèm không chốt được", "Lịch điều phối thợ thiếu"] } ] }, { slug: "logistics", name: "Logistics", featured: false, problems: ["Xe chạy rỗng", "Đối soát cước chậm"], industries: [ { slug: "van-tai-container", name: "Vận tải container", hasHub: false, probs: ["Xe chạy rỗng", "Chi phí nhiên liệu khó kiểm soát", "Đối soát cước, phí bến bãi chậm", "Công nợ khách vận tải"] }, { slug: "thue-kho", name: "Thuê kho", hasHub: false, probs: ["Tồn khách lệch sổ", "Thu phí dịch vụ trễ", "Khó tính chi phí theo khách hàng", "Hợp đồng, gia hạn thiếu theo dõi"] }, { slug: "logistics-forwarder", name: "Forwarder", hasHub: false, probs: ["Đối soát cước chậm", "Công nợ hãng tàu", "Nhiều lô hàng, nhiều bên thiếu trạng thái", "Phí dịch vụ khó tính đúng", "Chứng từ vận đơn thất lạc"] } ] }, { slug: "thuong-mai", name: "Thương mại", featured: false, problems: ["Hàng tồn ứ đọng", "Công nợ quá hạn"], industries: [ { slug: "phan-phoi", name: "Phân phối", hasHub: false, probs: ["Giá bán lệch giữa kênh", "Công nợ đại lý quá hạn", "Hàng tồn ứ đọng", "Khuyến mại, chiết khấu khó đối soát"] }, { slug: "ban-le-tmdt-thoi-trang", name: "Bán lẻ thời trang", hasHub: false, probs: ["Tồn cuối mùa", "Không rõ lãi theo bộ sưu tập", "Biến thể size, màu nhầm lẫn", "Hàng trả, đổi giữa cửa hàng"] }, { slug: "ban-le-noi-that", name: "Bán lẻ nội thất", hasHub: false, probs: ["Giao lắp trễ hẹn", "Không rõ phí lắp đặt trong lãi đơn", "Tồn kho trưng bày, giữ chỗ lộn xộn", "Báo giá biến thể dễ nhầm", "Bảo hành, khiếu nại khó theo dõi"] }, { slug: "chuoi-ban-le-fmcg", name: "Chuỗi FMCG", hasHub: false, probs: ["Hàng cận hạn", "Đối soát giữa cửa hàng và kho", "Giá, khuyến mãi không đồng nhất", "Kiểm kê lệch", "Công nợ nhà cung cấp"] } ] }, { slug: "dich-vu", name: "Dịch vụ chuyên nghiệp", featured: false, problems: ["Giờ công không billable", "Theo dõi hạn công việc"], industries: [ { slug: "dich-vu-tu-van-trien-khai", name: "Dịch vụ dự án", hasHub: false, probs: ["Chi phí dự án vượt phí thu", "Công nợ theo mốc", "Nguồn lực phân bổ thiếu", "Giờ công dự án không đối soát"] }, { slug: "dich-vu-phap-ly", name: "Pháp lý", hasHub: false, probs: ["Trễ hạn vụ việc", "Giờ công chưa đối soát", "Phiên bản tài liệu lộn xộn", "Thu phí dịch vụ chậm", "Dữ liệu khách, vụ việc rời rạc"] }, { slug: "dich-vu-ke-toan-thue", name: "Kế toán thuế", hasHub: false, probs: ["Chờ chứng từ khách", "Quên hạn kê khai", "Hồ sơ khách thiếu thống nhất", "Soát xét thiếu dấu vết", "Khó biết chi phí theo khách"] }, { slug: "dao-tao-cung-ung-nhan-luc", name: "Đào tạo & nhân lực", hasHub: false, probs: ["Lớp lấp đầy thấp", "Đối soát học phí chậm", "Lịch, giảng viên trùng", "Lead tuyển sinh rời rạc"] } ] }, { slug: "san-xuat", name: "Sản xuất", featured: false, problems: ["Lệnh thiếu vật tư", "Giá thành không khớp định mức"], industries: [ { slug: "san-xuat-thuc-pham-do-uong", name: "Thực phẩm & đồ uống", hasHub: false, probs: ["Hàng gần hết hạn", "Truy xuất lô chậm", "Định mức nguyên liệu lệch", "Lệnh sản xuất thiếu kế hoạch"] }, { slug: "san-xuat-bao-bi", name: "Bao bì", hasHub: false, probs: ["Chạy khuôn trùng lịch", "Giao trễ đơn gia công", "Giá thành theo đơn chưa chuẩn", "Tồn thành phẩm, bán thành phẩm lệch"] }, { slug: "san-xuat-co-khi", name: "Cơ khí / gỗ", hasHub: false, probs: ["Phế phẩm cao", "Định mức vật tư không chuẩn", "Tiến độ gia công nhiều công đoạn khó bám", "Giá thành không khớp", "Năng lực máy, tổ thiếu kế hoạch"] }, { slug: "san-xuat-may-mac", name: "May mặc", hasHub: false, probs: ["Cắt vải dư không kiểm soát", "Đơn giao trễ mùa", "Chất lượng, đơn hàng lệch", "Tồn vải, phụ liệu không khớp"] } ] } ], /* ---- Link ngành: hub nếu hasHub, ngược lại trang nhóm ---------- */ hubUrl: function (i, g) { if (window.AIX.urls && window.AIX.urls.industries[i.slug]) return window.AIX.urls.industries[i.slug]; if (window.AIX.urls && window.AIX.urls.groups[g.slug]) return window.AIX.urls.groups[g.slug]; return "/giai-phap"; }, crossLinks: { "ban-vat-lieu-xay-dung": ["thuong-mai"], "ban-le-noi-that": ["xay-dung"] }, /* ---- Kịch bản ROI theo nhóm (đặc tả §9.10) ---- xay-dung tái dùng hub.roi (500 tỷ · 16 tỷ). Các nhóm còn lại là kịch bản mẫu với giả định minh bạch; kiểm tổng = base bằng script. */ roiScenarios: { "xay-dung": { group: "Xây dựng & Nội thất", sample: "Thi công nội thất", sampleSlug: "thi-cong-noi-that", baseRevenue: 500, budget: 25.5, revenueOptions: [100, 300, 500, 1000], items: [], /* đổ từ hub.roi lúc load (site.js) */ structure: { cash: 13.42, wc: 1.51, cap: 1.05 }, assumptions: [ ["Doanh thu, giá trị nghiệm thu", "500 tỷ/năm", "= lựa chọn"], ["Mua hàng và thầu phụ", "325 tỷ/năm", "65% doanh thu"], ["Vật tư qua kho công trường", "195 tỷ/năm", "60% giá trị mua hàng"], ["Phát sinh đủ điều kiện thu hồi", "10 tỷ/năm", "2% doanh thu"], ["Nhân sự gián tiếp", "45 người, ~104.000đ/giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC)", "11%/năm", "cố định"], ["DSO hiện tại", "75 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "25,5 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ] }, "logistics": { group: "Logistics", sample: "Vận tải container", sampleSlug: "van-tai-container", baseRevenue: 80, budget: 4.0, revenueOptions: [40, 80, 150, 300], items: [ { n: 1, scale: "revenue", name: "Giảm xe chạy rỗng", type: "cash", before: "28% chuyến", after: "22% chuyến", improv: "Giảm 6 điểm %", formula: "6% × 48 tỷ chi phí vận hành × 30% tiết kiệm/chuyến", value: 0.86 }, { n: 2, scale: "headcount", name: "Rút ngắn đối soát cước", type: "cap", before: "5 ngày/kỳ", after: "2 ngày/kỳ", improv: "Giảm 60%", formula: "3 ngày × 12 người × 8 giờ × 48 tuần × 104.000đ", value: 0.14 }, { n: 3, scale: "revenue", name: "Rút ngắn chu kỳ thu tiền", type: "wc", before: "DSO 55 ngày", after: "DSO 45 ngày", improv: "Giảm 18%", formula: "10 ngày × (80 tỷ / 365) × 11%", value: 0.24 }, { n: 4, scale: "revenue", name: "Kiểm soát phụ phí phát sinh", type: "cash", before: "0,5% chi phí", after: "Có phê duyệt", improv: "Loăng 0,5 điểm %", formula: "0,5% × 48 tỷ chi phí vận hành", value: 0.24 }, { n: 5, scale: "revenue", name: "Tối ưu tuyến và tải chuyến", type: "cash", before: "Tải bình quân", after: "+5% tải", improv: "Tăng 5%", formula: "5% × 48 tỷ chi phí × 8% tiết kiệm", value: 0.19 }, { n: 6, scale: "revenue", name: "Giảm sai rate khi báo giá", type: "cash", before: "0,4% doanh thu", after: "0% doanh thu", improv: "Loăng 0,4 điểm %", formula: "0,4% × 80 tỷ", value: 0.32 }, { n: 7, scale: "headcount", name: "Giảm giờ đối chiếu thủ công", type: "cap", before: "3 giờ/người/tuần", after: "1 giờ/người/tuần", improv: "Giảm 67%", formula: "2 giờ × 12 người × 48 tuần × 104.000đ", value: 0.12 }, { n: 8, scale: "fixed", name: "Giảm tranh chấp phụ phí", type: "cash", before: "2 vụ/năm", after: "1 vụ/năm", improv: "Giảm 50%", formula: "1 vụ × 60 triệu chi phí xử lý", value: 0.06 }, { n: 9, scale: "revenue", name: "Giảm lãng phí nhiên liệu", type: "cash", before: "2% nhiên liệu", after: "1,2% nhiên liệu", improv: "Giảm 0,8 điểm %", formula: "0,8% × 20 tỷ nhiên liệu", value: 0.16 }, { n: 10, scale: "revenue", name: "Báo giá nhanh, chốt nhiều hơn", type: "cash", before: "Doanh thu nền", after: "+2% doanh thu", improv: "Tăng 2%", formula: "2% × 80 tỷ × 15% biên gộp", value: 0.27 } ], structure: { cash: 2.10, wc: 0.24, cap: 0.26 }, assumptions: [ ["Doanh thu vận tải", "80 tỷ/năm", "= lựa chọn"], ["Chi phí vận hành", "48 tỷ/năm", "60% doanh thu"], ["Chi phí nhiên liệu", "20 tỷ/năm", "25% doanh thu"], ["Nhân sự gián tiếp", "12 người, ~104.000đ/giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC)", "11%/năm", "cố định"], ["DSO hiện tại", "55 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "4 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ] }, "thuong-mai": { group: "Thương mại", sample: "Phân phối", sampleSlug: "phan-phoi", baseRevenue: 150, budget: 4.5, revenueOptions: [75, 150, 300, 600], items: [ { n: 1, scale: "revenue", name: "Giảm tồn kho ứ đọng", type: "wc", before: "20 tỷ", after: "18,4 tỷ", improv: "Giảm 8%", formula: "1,6 tỷ × 11% chi phí vốn", value: 0.18 }, { n: 2, scale: "revenue", name: "Giá và chiết khấu nhất quán", type: "cash", before: "0,5% doanh thu", after: "0,2% doanh thu", improv: "Giảm 0,3 điểm %", formula: "0,3% × 150 tỷ", value: 0.45 }, { n: 3, scale: "revenue", name: "Rút ngắn chu kỳ thu tiền", type: "wc", before: "DSO 50 ngày", after: "DSO 40 ngày", improv: "Giảm 20%", formula: "10 ngày × (150 tỷ / 365) × 11%", value: 0.45 }, { n: 4, scale: "revenue", name: "Phục hồi doanh thu hụt hàng", type: "cash", before: "Đáp ứng 92%", after: "Đáp ứng 96%", improv: "Tăng 4 điểm %", formula: "2% × 150 tỷ × 15% lãi gộp", value: 0.45 }, { n: 5, scale: "revenue", name: "Giảm hủy hàng cận hạn", type: "cash", before: "0,1% giá vốn", after: "Gần bằng 0", improv: "Giảm 0,1 điểm %", formula: "0,1% × 60 tỷ hàng hạn dùng × 70% giá vốn", value: 0.04 }, { n: 6, scale: "revenue", name: "Giảm hàng trả về", type: "cash", before: "4% doanh thu", after: "3,5% doanh thu", improv: "Giảm 0,5 điểm %", formula: "0,5% × 150 tỷ × 40% chi phí xử lý", value: 0.30 }, { n: 7, scale: "revenue", name: "Dự báo mua chính xác hơn", type: "cash", before: "Sai số 18%", after: "Sai số 14%", improv: "Giảm 4 điểm %", formula: "4 điểm % × 90 tỷ đầu vào × 15% chi phí tồn", value: 0.54 }, { n: 8, scale: "headcount", name: "Chốt đơn mỗi ngày nhanh hơn", type: "cap", before: "2 ngày", after: "0,5 ngày", improv: "Giảm 75%", formula: "1,5 ngày × 12 kỳ × 2 NV × 8 giờ × 150.000đ", value: 0.04 }, { n: 9, scale: "revenue", name: "Khuyến mại không trùng lặp", type: "cash", before: "0,3% doanh thu", after: "0,1% doanh thu", improv: "Giảm 0,2 điểm %", formula: "0,2% × 150 tỷ", value: 0.30 }, { n: 10, scale: "revenue", name: "Hạn chế nợ xấu đại lý", type: "cash", before: "0,15% doanh thu", after: "Có cảnh báo hạn mức", improv: "Giảm 0,15 điểm %", formula: "0,15% × 150 tỷ", value: 0.23 } ], structure: { cash: 2.31, wc: 0.63, cap: 0.04 }, assumptions: [ ["Doanh thu", "150 tỷ/năm", "= lựa chọn"], ["Đầu vào mua hàng", "90 tỷ/năm", "60% doanh thu"], ["Hàng có hạn dùng", "60 tỷ/năm", "40% doanh thu"], ["Nhân sự gián tiếp", "10 người, ~150.000đ/giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC)", "11%/năm", "cố định"], ["DSO hiện tại", "50 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "4,5 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ] }, "dich-vu": { group: "Dịch vụ chuyên nghiệp", sample: "Kế toán thuế", sampleSlug: "dich-vu-ke-toan-thue", baseRevenue: 12, budget: 1.5, revenueOptions: [6, 12, 25, 50], items: [ { n: 1, scale: "headcount", name: "Tăng giờ tính phí", type: "cap", before: "58% giờ", after: "63% giờ", improv: "Tăng 5 điểm %", formula: "5% × 20.000 giờ × 300.000đ", value: 0.30 }, { n: 2, scale: "fixed", name: "Giảm hồ sơ trễ hạn", type: "cash", before: "4 vụ/năm", after: "1 vụ/năm", improv: "Giảm 75%", formula: "3 vụ × 15 triệu hỗ trợ khách", value: 0.05 }, { n: 3, scale: "revenue", name: "Rút ngắn thu phí", type: "wc", before: "DSO 45 ngày", after: "DSO 35 ngày", improv: "Giảm 22%", formula: "10 ngày × (12 tỷ / 365) × 11%", value: 0.04 }, { n: 4, scale: "fixed", name: "Gộp công cụ rời rạc", type: "cash", before: "4 công cụ", after: "1 nền tảng", improv: "Gộp 4", formula: "4 × 12 triệu phí/năm", value: 0.05 }, { n: 5, scale: "headcount", name: "Giảm tìm kiếm chứng từ", type: "cap", before: "2 giờ/tuần", after: "1 giờ/tuần", improv: "Giảm 50%", formula: "1 giờ × 12 người × 48 tuần × 150.000đ", value: 0.09 }, { n: 6, scale: "revenue", name: "Tăng công suất phục vụ", type: "cash", before: "60 khách", after: "64 khách", improv: "Tăng 4 khách", formula: "4 khách × 50 triệu phí/năm", value: 0.20 }, { n: 7, scale: "fixed", name: "Giảm kỳ kê khai phải sửa", type: "cash", before: "12 kỳ", after: "4 kỳ", improv: "Giảm 8 kỳ", formula: "8 kỳ × 3 triệu xử lý lại", value: 0.03 }, { n: 8, scale: "headcount", name: "Phân công theo năng lực", type: "cash", before: "Làm thêm 30%", after: "Giảm 30% làm thêm", improv: "Giảm 30%", formula: "30% × 12 người × 48 tuần × 5 giờ × 150.000đ", value: 0.13 }, { n: 9, scale: "headcount", name: "Tự động đối soát giờ công", type: "cap", before: "2 ngày/tháng", after: "0,5 ngày/tháng", improv: "Giảm 75%", formula: "1,5 ngày × 12 kỳ × 2 NV × 8 giờ × 200.000đ", value: 0.05 }, { n: 10, scale: "headcount", name: "Báo cáo quản trị nhanh", type: "cap", before: "5 ngày/quý", after: "1 ngày/quý", improv: "Giảm 4 ngày", formula: "4 ngày × 4 quý × 2 NV × 8 giờ × 200.000đ", value: 0.05 } ], structure: { cash: 0.41, wc: 0.04, cap: 0.54 }, assumptions: [ ["Doanh thu phí dịch vụ", "12 tỷ/năm", "= lựa chọn"], ["Khách hàng đang phục vụ", "60 khách", "tỷ lệ theo doanh thu"], ["Nhân sự chuyên môn", "12 người, ~300.000đ/giờ tính phí", "tỷ lệ theo doanh thu"], ["Giờ ghi nhận/năm", "20.000 giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC)", "11%/năm", "cố định"], ["DSO hiện tại", "45 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "1,5 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ] }, "san-xuat": { group: "Sản xuất", sample: "Bao bì", sampleSlug: "san-xuat-bao-bi", baseRevenue: 120, budget: 4.5, revenueOptions: [60, 120, 250, 500], items: [ { n: 1, scale: "revenue", name: "Giảm mua dư vật tư", type: "cash", before: "3% mua ngoài", after: "1,5% mua ngoài", improv: "Giảm 1,5 điểm %", formula: "1,5% × 55 tỷ mua ngoài", value: 0.83 }, { n: 2, scale: "revenue", name: "Giảm lệnh chờ vật tư", type: "cash", before: "15% lệnh", after: "8% lệnh", improv: "Giảm 7 điểm %", formula: "7% × 600 lệnh × 10 triệu ảnh hưởng", value: 0.42 }, { n: 3, scale: "revenue", name: "Giảm làm lại do chất lượng", type: "cash", before: "1,2% giá vốn", after: "0,8% giá vốn", improv: "Giảm 0,4 điểm %", formula: "0,4% × 75 tỷ giá vốn", value: 0.30 }, { n: 4, scale: "revenue", name: "Giảm dừng chuyền chờ thông tin", type: "cash", before: "20 giờ/năm", after: "10 giờ/năm", improv: "Giảm 50%", formula: "10 giờ × 4 tổ × 1 triệu/giờ", value: 0.04 }, { n: 5, scale: "revenue", name: "Rút ngắn chu kỳ thu tiền", type: "wc", before: "DSO 48 ngày", after: "DSO 40 ngày", improv: "Giảm 17%", formula: "8 ngày × (120 tỷ / 365) × 11%", value: 0.29 }, { n: 6, scale: "headcount", name: "Chốt giá thành nhanh", type: "cap", before: "10 ngày/kỳ", after: "4 ngày/kỳ", improv: "Giảm 6 ngày", formula: "6 ngày × 12 kỳ × 2 NV × 8 giờ × 200.000đ", value: 0.23 }, { n: 7, scale: "revenue", name: "Giảm phế phẩm", type: "cash", before: "2,5% giá vốn", after: "2% giá vốn", improv: "Giảm 0,5 điểm %", formula: "0,5% × 75 tỷ giá vốn", value: 0.38 }, { n: 8, scale: "revenue", name: "Giảm điều phối khẩn", type: "cash", before: "40 lần/năm", after: "15 lần/năm", improv: "Giảm 25 lần", formula: "25 lần × 10 triệu chi phí phát sinh", value: 0.25 }, { n: 9, scale: "revenue", name: "Giảm tồn bán thành phẩm", type: "wc", before: "10 tỷ", after: "9 tỷ", improv: "Giảm 10%", formula: "1 tỷ × 11% chi phí vốn", value: 0.11 }, { n: 10, scale: "revenue", name: "Giao hàng đúng hẹn", type: "cash", before: "85% đúng hẹn", after: "92% đúng hẹn", improv: "Tăng 7 điểm %", formula: "7% × 120 tỷ × 1,5% phạt/giảm giá", value: 0.13 } ], structure: { cash: 2.35, wc: 0.40, cap: 0.23 }, assumptions: [ ["Doanh thu", "120 tỷ/năm", "= lựa chọn"], ["Giá vốn sản xuất", "75 tỷ/năm", "62% doanh thu"], ["Mua ngoài vật tư", "55 tỷ/năm", "46% doanh thu"], ["Lệnh sản xuất", "600 lệnh/năm", "tỷ lệ theo doanh thu"], ["Nhân sự gián tiếp", "8 người, ~200.000đ/giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC)", "11%/năm", "cố định"], ["DSO hiện tại", "48 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "4,5 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ] } }, /* slug ngành -> slug nhóm */ groupOfIndustry: function (slug) { for (var i = 0; i < this.groups.length; i++) { var g = this.groups[i]; for (var k = 0; k < g.industries.length; k++) if (g.industries[k].slug === slug) return g.slug; } return null; }, /* ---- Hub mẫu: Thi công nội thất (§8) ---- */ hub: { slug: "thi-cong-noi-that", eyebrow: "Hub ngành · Thiết kế và thi công nội thất", heroTitle: "Hợp đồng ký có lãi, quyết toán lại lỗ?", heroLead: "BOQ đổi theo thiết kế, phát sinh làm trước duyệt sau, vật tư xuất không theo hạng mục. Chọn vấn đề của bạn để chẩn đoán nguyên nhân gốc.", chips: ["Vượt dự toán", "Phát sinh không thu được tiền", "Thất thoát vật tư", "Trễ bàn giao", "Không rõ lãi từng công trình", "Thu tiền chậm"], summary: { problems: 6, steps: 8, kpis: 6, tools: 7, roles: 3 }, sameGroup: "Tổng thầu · Dịch vụ xây dựng", problems: [ { id: "vuot-du-toan", t: "Vượt dự toán", symptom: "Quyết toán mới biết vượt, không chỉ ra được hạng mục nào.", cause: "BOQ báo giá không nối với dự toán thi công, không cập nhật khi đổi thiết kế.", roots: ["Quy trình", "Dữ liệu"] }, { id: "phat-sinh", t: "Phát sinh không thu được tiền", symptom: "Làm thêm theo yêu cầu chủ nhà, đến lúc thanh toán thì bị từ chối.", cause: "Không có phiếu phát sinh được khách duyệt giá trước khi làm.", roots: ["Kiểm soát & KPI", "Quy trình"] }, { id: "that-thoat-vat-tu", t: "Thất thoát vật tư", symptom: "Vật tư dư, thiếu lẫn lộn giữa công trình, kho không khớp sổ.", cause: "Xuất kho theo yêu cầu miệng, không định mức theo hạng mục.", roots: ["Kiểm soát & KPI", "Hệ thống"] }, { id: "tre-tien-do", t: "Trễ bàn giao", symptom: "Đồ gỗ từ xưởng về muộn, đội lắp đặt chờ việc.", cause: "Xưởng và công trường không dùng chung một kế hoạch.", roots: ["Quy trình", "Vai trò & con người"] }, { id: "lai-lo-cong-trinh", t: "Không rõ lãi từng công trình", symptom: "Công ty có lãi nhưng không biết công trình nào đang lỗ.", cause: "Chi phí vật tư, nhân công, thầu phụ không gắn mã công trình.", roots: ["Dữ liệu", "Hệ thống"] }, { id: "thu-tien-cham", t: "Nghiệm thu, thu tiền chậm", symptom: "Bàn giao xong nhiều tuần vẫn chưa thu đợt cuối.", cause: "Hồ sơ nghiệm thu thiếu, đợt thanh toán không bám tiến độ.", roots: ["Quy trình", "Tổ chức & chính sách"] } ], process: [ { n: "01", module: "CRM", name: "Tiếp nhận, tư vấn", ctl: "Nguồn khách, tỷ lệ chốt", ai: "Tóm tắt nhu cầu từ buổi khảo sát" }, { n: "02", module: "Project", name: "Thiết kế", ctl: "Số vòng sửa, phiên bản bản vẽ", ai: "Đối chiếu bản vẽ với BOQ" }, { n: "03", module: "Sales", name: "Báo giá, BOQ", ctl: "Biên lợi nhuận dự kiến", ai: "Gợi ý đơn giá theo lịch sử" }, { n: "04", module: "Sales, Accounting", name: "Hợp đồng, tạm ứng", ctl: "Đợt thanh toán theo mốc", ai: "Soát điều khoản thanh toán" }, { n: "05", module: "Purchase, MRP", name: "Mua hàng, gia công", ctl: "Vật tư theo định mức hạng mục", ai: "Đề xuất mua theo tiến độ" }, { n: "06", module: "Project, Inventory", name: "Thi công", ctl: "Tiến độ, xuất vật tư", ai: "Cảnh báo xuất vượt định mức" }, { n: "07", module: "Project, Sales", name: "Nghiệm thu, phát sinh", ctl: "Phiếu phát sinh được duyệt", ai: "Lập hồ sơ nghiệm thu từ nhật ký" }, { n: "08", module: "Accounting, Helpdesk", name: "Quyết toán, bảo hành", ctl: "Lãi lỗ thực tế theo công trình", ai: "So dự toán với thực tế" } ], kpis: [ { name: "Biên lợi nhuận gộp theo công trình", formula: "(Doanh thu nghiệm thu − Chi phí thực tế) / Doanh thu nghiệm thu", owner: "BOD, Kế toán", freq: "Hàng tháng" }, { name: "Tỷ lệ vượt dự toán", formula: "(Chi phí thực tế − Dự toán) / Dự toán, theo hạng mục", owner: "PM", freq: "Hàng tuần" }, { name: "Tỷ lệ phát sinh được duyệt giá", formula: "Giá trị phát sinh được khách duyệt / Tổng giá trị phát sinh", owner: "PM, Kinh doanh", freq: "Theo công trình" }, { name: "Hao hụt vật tư", formula: "(Vật tư xuất − Định mức) / Định mức, theo hạng mục", owner: "Kho, PM", freq: "Hàng tuần" }, { name: "Tỷ lệ bàn giao đúng hạn", formula: "Số công trình bàn giao đúng hạn / Tổng số công trình bàn giao", owner: "BOD, PM", freq: "Hàng tháng" }, { name: "Số ngày thu tiền sau nghiệm thu", formula: "Ngày thu tiền − Ngày ký biên bản nghiệm thu, bình quân", owner: "Kế toán", freq: "Hàng tháng" } ], roi: { title: "Doanh nghiệp 500 tỷ doanh thu: khoảng 16 tỷ lợi ích mỗi năm", lead: "Ước tính từ 10 nguồn lợi ích, mỗi nguồn có số trước và sau ERP, công thức và giả định rõ ràng.", stats: [ { v: "16 tỷ", l: "lợi ích/năm" }, { v: "2 tỷ", l: "ngân sách ERP (2 giai đoạn)" }, { v: "~1,5 tháng", l: "hoàn vốn" }, { v: "13,4 tỷ", l: "là tiền mặt tiết kiệm" } ], bars: [ { l: "Chậm tiến độ", v: "4,0 tỷ", pct: 100 }, { l: "Vượt ngân sách", v: "2,5 tỷ", pct: 63 }, { l: "Thi công lại", v: "2,25 tỷ", pct: 56 }, { l: "Thu hồi phát sinh", v: "2,0 tỷ", pct: 50 }, { l: "Rút ngắn thu tiền", v: "1,5 tỷ", pct: 38 } ], rest: { l: "5 nguồn còn lại", v: "3,75 tỷ" }, /* §9.4 — items để trang ROI */ items: [ { n: 1, scale: "revenue", name: "Giảm vượt ngân sách dự án", type: "cash", before: "1,2% doanh thu", after: "0,7% doanh thu", improv: "Giảm 0,5 điểm %", formula: "(1,2% − 0,7%) × 500 tỷ", value: 2.5 }, { n: 2, scale: "headcount", name: "Rút ngắn lập BOQ và ngân sách", type: "cap", before: "15 ngày/hồ sơ", after: "10 ngày/hồ sơ", improv: "Giảm 33%", formula: "5 ngày × 8 giờ × 100 hồ sơ × 150.000đ", value: 0.6 }, { n: 3, scale: "revenue", name: "Giảm thất thoát trong mua hàng", type: "cash", before: "1% giá trị mua", after: "0,54% giá trị mua", improv: "Giảm 0,46 điểm %", formula: "(1% − 0,54%) × 325 tỷ", value: 1.5 }, { n: 4, scale: "revenue", name: "Giảm hao hụt vật tư công trường", type: "cash", before: "2% giá trị vật tư", after: "1,5% giá trị vật tư", improv: "Giảm 0,5 điểm %", formula: "(2% − 1,5%) × 195 tỷ", value: 0.98 }, { n: 5, scale: "revenue", name: "Rút ngắn chu kỳ thu tiền", type: "wc", before: "DSO 75 ngày", after: "DSO 65 ngày", improv: "Giảm 13%", formula: "10 ngày × (500 tỷ / 365) × 11%", value: 1.5 }, { n: 6, scale: "revenue", name: "Tăng thu hồi giá trị phát sinh", type: "cash", before: "Thu hồi 60%", after: "Thu hồi 80%", improv: "Tăng 20 điểm %", formula: "(80% − 60%) × 10 tỷ", value: 2.0 }, { n: 7, scale: "headcount", name: "Giảm đối chiếu dữ liệu thủ công", type: "cap", before: "3 giờ/người/tuần", after: "1 giờ/người/tuần", improv: "Giảm 67%", formula: "2 giờ × 45 người × 48 tuần × 104.000đ", value: 0.45 }, { n: 8, scale: "fixed", name: "Giảm tranh chấp và khiếu nại", type: "cash", before: "2 vụ/năm", after: "1 vụ/năm", improv: "Giảm 50%", formula: "1 vụ × 200 triệu", value: 0.2 }, { n: 9, scale: "revenue", name: "Giảm chi phí thi công lại", type: "cash", before: "1% doanh thu", after: "0,55% doanh thu", improv: "Giảm 0,45 điểm %", formula: "(1% − 0,55%) × 500 tỷ", value: 2.25 }, { n: 10, scale: "revenue", name: "Giảm tổn thất do chậm tiến độ", type: "cash", before: "1,5% doanh thu", after: "0,7% doanh thu", improv: "Giảm 0,8 điểm %", formula: "(1,5% − 0,7%) × 500 tỷ", value: 4.0 } ], total: 16.0, structure: { cash: 13.42, wc: 1.51, cap: 1.05 }, assumptions: [ ["Doanh thu, giá trị nghiệm thu", "500 tỷ/năm", "= lựa chọn"], ["Số dự án mỗi năm", "~18 dự án, bình quân ~28 tỷ", "Doanh thu / 28"], ["Mua hàng và thầu phụ", "325 tỷ/năm", "65% doanh thu"], ["Vật tư qua kho công trường", "195 tỷ/năm", "60% giá trị mua hàng"], ["Phát sinh đủ điều kiện thu hồi", "10 tỷ/năm", "2% doanh thu"], ["Nhân sự gián tiếp", "45 người, ~104.000đ/giờ", "tỷ lệ theo doanh thu"], ["Chi phí vốn (WACC, lãi vay)", "11%/năm", "cố định"], ["DSO hiện tại", "75 ngày", "cố định"], ["Ngân sách chương trình 3 năm", "4,5 tỷ — bản quyền + triển khai + hạ tầng + đào tạo + nhân sự nội bộ", "= lựa chọn"] ], deepText: "Đánh giá chi tiết đo baseline (vượt ngân sách, hao hụt, DSO, tỷ lệ thu hồi phát sinh) và dựng business case cho BOD phê duyệt." }, tools: [ { n: "01", name: "Chẩn đoán", tier: "free", out: "Root cause chính và vấn đề ưu tiên cho công trình của bạn", wide: false }, { n: "02", name: "Blueprint", tier: "deep", out: "Quy trình BOQ → dự toán → đề nghị vật tư → phát sinh", wide: false }, { n: "03", name: "KPI", tier: "deep", out: "6 KPI ở phần trên, chỉnh theo quy mô và dữ liệu hiện có", wide: false }, { n: "04", name: "Dashboard", tier: "impl", out: "Biểu đồ cột “Lãi gộp theo công trình (minh họa)”, cột lỗ tô cam", wide: false }, { n: "05", name: "AI Controller", tier: "impl", out: "", wide: false, alert: "Cảnh báo: vật tư xuất vượt định mức hạng mục tủ bếp, công trình [MÃ]" }, { n: "06", name: "Roadmap", tier: "deep", out: "3 giai đoạn: kiểm soát chi phí → phát sinh, nghiệm thu → dự báo", wide: false }, { n: "07", name: "Đo lường & Cải tiến", tier: "impl", out: "So sánh KPI trước và sau theo quý, chọn vấn đề cải tiến tiếp theo", wide: true } ], aiWorkers: [ { name: "AI QS", what: "Bóc khối lượng, đối chiếu BOQ với bản vẽ và dự toán", status: "dev" }, { name: "AI Buyer", what: "Đề xuất mua theo tiến độ, so giá nhà cung cấp", status: "dev" }, { name: "AI Accountant", what: "Đối soát chi phí theo công trình, nhắc thu theo đợt", status: "dev" } ], learning: [ { role: "BOD", title: "Khung ra quyết định", courses: ["01.00 Tổng quan 4 mô hình kinh doanh nội thất", "Kế toán quản trị theo công trình"] }, { role: "PM / BA", title: "Kiểm soát dự án", courses: ["Dự toán", "Thi công", "Nghiệm thu"] }, { role: "Key User", title: "Nghiệp vụ chuyên sâu", courses: ["Mua hàng", "Kế toán", "Thiết kế"] } ], deepModules: "Dự toán, Thi công, Nghiệm thu", demo: { desc: "Demo công trình mẫu: BOQ, phát sinh, xuất vật tư theo hạng mục, lãi lỗ theo công trình." }, case: { title: "Case mẫu", ctx: "[BỐI CẢNH]", problem: "[VẤN ĐỀ]", solution: "[GIẢI PHÁP]", result: "[KẾT QUẢ]" }, faqs: [ { q: "Odoo quản lý BOQ và dự toán thế nào?", a: "Dùng Project và kế toán quản trị theo mã công trình làm nền. BOQ, dự toán thường cần tùy biến theo cách công ty báo giá." }, { q: "Có quản lý được xưởng gia công đồ gỗ không?", a: "Có, qua phân hệ Manufacturing. Lệnh sản xuất gắn với công trình và hạng mục." }, { q: "Phát sinh được ghi nhận ra sao?", a: "Mỗi phát sinh là một phiếu, khách duyệt giá trước khi làm, rồi đưa vào đợt thanh toán gần nhất." }, { q: "Bao lâu thì chạy được?", a: "[THỜI GIAN TRIỂN KHAI THEO GÓI]. Roadmap trong đánh giá chi tiết chia theo giai đoạn." } ], related: [ { group: "Xây dựng & Nội thất", name: "Tổng thầu", cross: false }, { group: "Xây dựng & Nội thất", name: "Dịch vụ xây dựng", cross: false }, { group: "Xây dựng & Nội thất", name: "Bán vật liệu xây dựng", cross: false }, { group: "Thương mại", name: "Bán lẻ nội thất", cross: true } ], ctaTitle: "Công trình nào đang lỗ mà bạn chưa biết?", ctaLead: "12 câu dành riêng cho thi công nội thất." } };