{{ getHeaderMeta(viewMode).title }}
{{ getHeaderMeta(viewMode).subtitle }}
Báo Cáo Tổng Quan Doanh Nghiệp
Quyền truy cập bị giới hạn
Bạn không có quyền xem thông tin Kế hoạch Tài chính (P&L).
Xu Hướng Doanh Thu, Chi Phí & Lợi Nhuận Ròng
Cơ Cấu Doanh Thu & Chi Phí Thực Tế
Quyền truy cập bị giới hạn
Tài khoản của bạn không có quyền xem báo cáo phân tích xu hướng tài chính.
Kế Hoạch & Mục Tiêu Chiến Lược
Tiến Độ Theo Nhãn Phòng Ban
Quyền truy cập bị giới hạn
Tài khoản của bạn không có quyền xem thông tin Kế hoạch chiến lược và mục tiêu doanh nghiệp.
Hiệu Suất & Xếp Hạng KPI Nhân Sự
Quyền truy cập bị giới hạn
Tài khoản của bạn không có quyền xem thông tin Đánh giá KPI Nhân Sự.
Chỉ Số Vận Hành Công Việc Sự Vụ
Quyền truy cập bị giới hạn
Tài khoản của bạn không có quyền xem Chỉ số vận hành công việc sự vụ.
Dự án
Xem chi tiết →Kinh doanh (CRM)
Xem chi tiết →Quy trình vận hành
Xem chi tiết →Phễu Bán Hàng
Nguồn Khách Hàng
Hiệu Suất Nhân Viên
HỆ THỐNG HOẠCH ĐỊNH CHIẾN LƯỢC
{{ apBulkEditMode ? 'Chỉnh sửa kế hoạch hành động' : 'Khai báo kế hoạch hành động mới' }}
{{ apBulkEditMode ? 'Cập nhật chi tiết hành động của bạn' : 'Thiết lập nhanh danh sách hành động cần thực hiện (Hệ thống tự động liên kết mục tiêu tương ứng)' }}
Bản Đồ Chiến Lược
Cấu hình thẻ hiển thị
Thêm Hàng Loạt Khách Hàng
{{currentSupplier.SupplierID ? 'Sửa' : 'Thêm'}} Nhà Cung Cấp
Thêm Hàng Loạt Nhà Cung Cấp
Chưa cấu hình Link báo cáo Looker Studio.
Người đang sở hữu
{{transferUsersList.length}}{{ selectedTeamUser.name }}
{{selectedTeamUser.username}} • {{transferAssetsList.length}} Deals
Vui lòng chọn nhân viên sở hữu bên trái
Quản lý hiệu quả danh mục cơ hội
Quản Lý Phòng Ban
{{teamsList.length}} Phòng ban đang hoạt động
{{selectedTeamDetail.TeamName}}
Chi tiết phòng ban & Thành viên
Khóa KHKD - Năm {{bpSelectedYear}}
Chọn tháng cần khóa để bảo vệ dữ liệu KHKD
Khóa Chỉ số KPI - Năm {{masterYearFilter}}
Chọn tháng cần khóa để bảo vệ dữ liệu Chỉ tiêu & Thực đạt KPI
I. Mục tiêu KPI tổng thể
Bảng tổng hợp chỉ tiêu Target theo từng tháng
II. Theo dõi tỷ lệ đạt mục tiêu chiến lược
Tỷ lệ đạt mục tiêu theo tháng ({{bpSelectedYear}})
Xu hướng tỷ lệ đạt — {{selectedObjForChart}} — Tất cả mục tiêu
Tỷ lệ đạt của mục tiêu
Tỷ trọng theo số lượng KPI
III. Theo dõi tỷ lệ đạt các chỉ số KPI then chốt
Chi tiết Target / Thực đạt / Tỷ lệ đạt theo từng tháng ({{bpSelectedYear}})
Tỷ lệ đạt (trung bình) — {{selectedKPIForS3}}
Tỷ lệ đạt theo thời gian — {{selectedKPIForS3}}
Khóa KPI - Năm {{hrKpiSelectedYear}}
Chọn tháng cần khóa để bảo vệ dữ liệu KPI
Đối chiếu KPI tổng thể
{{hrKpiCrossRefModal.kpiName}} - Năm {{hrKpiCrossRefModal.hrKpiRow ? hrKpiCrossRefModal.hrKpiRow.Year : ''}}
Kế hoạch kinh doanh (BP) - Tổng hợp
KPI Nhân viên đang thiết lập
I. Mục tiêu KPI chi tiết theo nhân viên
Bảng tổng hợp chỉ tiêu Target theo từng tháng — Năm {{hrKpiSelectedYear}}
II. Số lượng KPI theo bộ phận & nhân viên
Phân bổ chỉ số KPI theo từng bộ phận và nhân viên — Năm {{hrKpiSelectedYear}}
KPI theo bộ phận
Tỷ trọng KPI theo bộ phận
KPI theo nhân viên
III. Tỷ lệ đạt KPI bộ phận & nhân sự theo tháng
Phân tích tỷ lệ hoàn thành chỉ tiêu KPI — Năm {{hrKpiSelectedYear}}
Tỷ lệ đạt KPI theo bộ phận
Tỷ lệ đạt KPI của nhân sự
Tỷ lệ đạt theo nhân viên
Tỷ lệ đạt theo tháng
Tỷ lệ đạt KPI tổng thể
Tỷ lệ đạt KPI của nhân sự
Tháng / Tỷ lệ đạt KPI của nhân sự
IV. Bảng KPI chi tiết nhân viên
Chi tiết Target / Thực đạt / Tỷ lệ đạt theo từng tháng — Năm {{hrKpiSelectedYear}}
Quản Lý Nhân Sự
{{usersList.length}} Tài khoản đang tồn tại
Chi tiết công việc
{{cvsvKanbanEditRow.Title || 'Không tiêu đề'}}
Thông tin chi tiết
Danh mục dự án
{{ pjDetail.project.Name }}
| Dự án | Trạng thái | Tiến độ | Kết thúc | |
|---|---|---|---|---|
|
{{ p.Name }}({{ p.Code }})
|
{{ p.Status }} | {{ Number(p.Progress)||0 }}% |
{{ pjFmtDate(p.EndDate) }} | |
| {{ pjList.length ? 'Không có dự án khớp bộ lọc.' : 'Chưa có dự án. Bấm "Tạo dự án" để bắt đầu.' }} | ||||
| Đang tải… | ||||
Thành viên dự án
| STT | Thành viên | Vai trò | Phân bổ | |
|---|---|---|---|---|
| {{ i+1 }} | {{ pjInitials(mb.Username) }} {{ getUserName ? getUserName(mb.Username) : mb.Username }} |
{{ pjRoleLabel(mb.Role || 'Member') }} | {{ mb.Allocation ? mb.Allocation+'%' : '—' }} | |
| Chưa có thành viên. Bấm Thêm thành viên. | ||||
Nhà thầu & nhà cung cấp
| STT | Nhà thầu | Loại | Gói việc / Phạm vi | Liên hệ | Giá trị HĐ | Trạng thái | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ i+1 }} |
{{ ct.Name }}
({{ pjCtrItemsOf(ct.ID).length }} hạng mục)
{{ ct.Note }}
|
{{ ct.Type || 'Nhà thầu phụ' }} | {{ ct.Scope || '—' }} | {{ ct.ContactPerson || '—' }} {{ ct.Phone }} |
{{ ct.ContractValue ? pjMoney(ct.ContractValue) : '—' }} đã NT: {{ pjFmtMoney(pjCtrActualOf(ct.ID)) }} |
{{ ct.Status || 'Đang thực hiện' }} | |||||||||||||||||||||||
|
Hạng mục hợp đồng ({{ pjCtrItemsOf(ct.ID).length }})
|
|||||||||||||||||||||||||||||
| Chưa có nhà thầu. Bấm Thêm nhà thầu. | |||||||||||||||||||||||||||||
Mẫu dự án
Trường của DỰ ÁN
| STT | Tên trường | Kiểu | Lựa chọn | ||
|---|---|---|---|---|---|
| {{ i+1 }} | {{ f.Label }} | {{ pjFieldTypeLabel(f.Type) }} | {{ f.Options || '—' }} | ||
| Chưa có trường tùy chỉnh. Bấm Thêm trường. | |||||
Trường của CÔNG VIỆC (chuẩn quản lý dự án)
| STT | Tên trường | Kiểu | Lựa chọn | ||
|---|---|---|---|---|---|
| {{ i+1 }} | {{ f.Label }} | {{ pjFieldTypeLabel(f.Type) }} | {{ f.Options || '—' }} | ||
| Chưa có trường công việc. | |||||
Trường của HẠNG MỤC NHÀ THẦU (tùy biến)
| STT | Tên trường | Kiểu | Lựa chọn | ||
|---|---|---|---|---|---|
| {{ i+1 }} | {{ f.Label }} | {{ pjFieldTypeLabel(f.Type) }} | {{ f.Options || '—' }} | ||
| Chưa có trường tùy biến. Khung sẵn có đã đủ dùng cơ bản. | |||||
| Chỉ số | Ý nghĩa | Giá trị |
|---|---|---|
| {{ row.name }} | {{ row.desc }} | {{ pjEvmVal(row) }} |
| Tháng | DT lũy kế | Chi phí lũy kế | Chênh lệch |
|---|---|---|---|
| {{ pjFmtMonth(s.month) }} | {{ pjMoneyShort(s.planRevCum) }} | {{ pjMoneyShort(s.planCostCum) }} | {{ (s.planRevCum-s.planCostCum)>=0?'+':'' }}{{ pjMoneyShort(s.planRevCum-s.planCostCum) }} |
Định mức Chi phí & Doanh thu
| Hạng mục | Định mức | Thực tế | Chênh lệch | Mức dùng | Trạng thái |
|---|---|---|---|---|---|
| {{ n.label }}· {{ n.behavior }} | {{ pjMoneyShort(n.plan) }} | {{ pjMoneyShort(n.actual) }} | {{ n.variance>0?'+':'' }}{{ pjMoneyShort(n.variance) }} | {{ n.pct!=null?Math.round(n.pct*100)+'%':'—' }} |
{{ pjNormMeta(n.status).label }} |
| Hạng mục | Kế hoạch | Thực tế | Chênh lệch | Đạt | Trạng thái |
|---|---|---|---|---|---|
| {{ n.label }} | {{ pjMoneyShort(n.plan) }} | {{ pjMoneyShort(n.actual) }} | {{ n.variance>0?'+':'' }}{{ pjMoneyShort(n.variance) }} | {{ n.pct!=null?Math.round(n.pct*100)+'%':'—' }} |
{{ pjNormRevMeta(n.status).label }} |
Bảng P&L dự án
| STT | Khoản mục | Kế hoạch | Thực tế | Chênh lệch | % TH | |
|---|---|---|---|---|---|---|
| {{ grp.cat }} | ||||||
| {{ ln._stt }} | {{ ln.PnlLine }}· {{ ln.Note }} | {{ pjMoney(ln.Plan_Total) }} | {{ pjMoney(ln.Actual_Total) }} | {{ pjVar(ln.Actual_Total,ln.Plan_Total)>0?'+':'' }}{{ pjMoney(pjVar(ln.Actual_Total,ln.Plan_Total)) }} | {{ ln.Plan_Total ? Math.round((Number(ln.Actual_Total||0)/Number(ln.Plan_Total))*100)+'%' : '—' }} | |
| — chưa có khoản mục — | ||||||
| Cộng {{ grp.cat }} | {{ pjMoney(grp.plan) }} | {{ pjMoney(grp.act) }} | ||||
| LÃI GỘP (DT − CP trực tiếp) | {{ pjMoney(pjPnlView.gross.plan) }} | {{ pjMoney(pjPnlView.gross.act) }} | Biên KH {{ pjPnlView.gross.mp }}% · TT {{ pjPnlView.gross.ma }}% | |||
| LÃI RÒNG (sau CP gián tiếp) | {{ pjMoney(pjPnlView.net.plan) }} | {{ pjMoney(pjPnlView.net.act) }} | Biên KH {{ pjPnlView.net.mp }}% · TT {{ pjPnlView.net.ma }}% | |||
{{ pjTaskMode==='add' ? 'Thêm công việc' : 'Chi tiết công việc' }}
◆ {{ pjMsMode==='add' ? 'Thêm mốc' : 'Sửa mốc' }}
{{ pjPhaseMode==='add' ? 'Thêm giai đoạn' : 'Sửa giai đoạn' }}
Sửa hàng loạt
{{ pjMemMode==='add' ? 'Thêm thành viên' : 'Sửa thành viên' }}
{{ pjQuickRiskMode==='edit' ? 'Sửa rủi ro' : 'Thêm rủi ro' }}
{{ pjPnlMode==='add' ? 'Thêm khoản mục P&L' : 'Sửa khoản mục P&L' }}
{{ pjCtrMode==='add' ? 'Thêm nhà thầu' : 'Sửa nhà thầu' }}
{{ pjItemMode==='add' ? 'Thêm hạng mục hợp đồng' : 'Sửa hạng mục' }}
{{ pjFieldMode==='add' ? 'Thêm trường' : 'Sửa trường' }} · {{ pjFieldScope==='task' ? 'Công việc' : (pjFieldScope==='contractorItem' ? 'Hạng mục nhà thầu' : 'Dự án') }}
Sửa mẫu dự án
{{ pjForm.ProjectID ? 'Sửa dự án' : 'Tạo dự án mới' }}
Phân bổ trạng thái
Việc mở theo ưu tiên
Đến hạn 7 ngày tới
{{ card.desc }}
Cổng chưa nối tới bước nào.
Không có bước phía trước để trả về.
Phân bổ trạng thái
Hiệu suất theo phòng ban
Chi tiết theo nhân sự
Xếp theo khối lượng công việc — Năm {{apSelectedYear}}
Cấu Hình Hệ Thống
Quản lý thông tin chung, pipeline, trường dữ liệu và vị trí nhân sự
Thông Tin Chung
Pipeline (V1)
Quản Lý Vị Trí
Quản lý và đồng bộ danh mục chức danh nhân sự
Dọn Dẹp Lịch Sử Hoạt Động
Xóa activities cũ để giảm dung lượng Google Sheet
Hành động này không thể hoàn tác. Activities bị xóa sẽ không khôi phục được.
Dung Lượng Lưu Trữ Tệp Đính Kèm
Giới hạn để tệp đính kèm không làm đầy ổ đĩa máy chủ (VPS)
Ổ đĩa máy chủ: còn trống {{ stgFmtBytes(stgStats.disk.freeBytes) }} / {{ stgFmtBytes(stgStats.disk.totalBytes) }}
Tệp lớn hơn phải dùng LINK Google Drive.
0 = không giới hạn tổng (không khuyến nghị trên VPS).
Quản lý tệp đính kèm
Toàn bộ tệp lưu trên máy chủ theo từng phân hệ. Tải về, xóa, hoặc chuyển sang link Google Drive để giải phóng ổ đĩa.
Gắn link Google Drive
Dán link cho tệp {{ stgLinkFor.fileName }}. Tệp gốc trên máy chủ vẫn được giữ nguyên — muốn giải phóng ổ đĩa, sau đó bấm nút "Xóa tệp máy chủ (giữ link)".
Nhật Ký Hoạt Động Hệ Thống
Theo dõi, kiểm tra lịch sử thao tác của các tài khoản và phân hệ
Đang tải nhật ký hoạt động...
Không tìm thấy nhật ký hoạt động nào
Vui lòng thay đổi từ khóa hoặc bộ lọc để hiển thị nhiều hơn.
Trung Tâm A.I
Quản lý provider & model, chi phí/ngân sách, phân quyền và cấu hình trợ lý A.I
| {{ m.model }} | {{ m.requests }} lượt | {{ aiFmtCost(m.cost) }} |
| {{ u.username }} | {{ u.requests }} lượt | {{ aiFmtCost(u.cost) }} |
Đọc từ nhật ký thực (mỗi lượt chat ghi 1 dòng: token + chi phí theo model thực dùng). Model :free có chi phí $0.
Hạn mức tính theo tháng dương lịch, reset đầu tháng. Áp đồng thời 3 tầng — chặt nhất thắng. Vượt hạn mức Chặn → không gọi được A.I; bật Tự hạ model → tự chuyển model miễn phí thay vì chặn.
Chỉ tác động đến model có khả năng suy nghĩ (Gemini 2.5/3.x…). Token suy nghĩ bị tính phí như token trả lời — tắt sẽ giảm đáng kể chi phí cho câu hỏi đơn giản.
Chọn model dùng mặc định cho mọi lượt chat, và ghi đè riêng cho từng người dùng (VD: cấp quản lý dùng model mạnh, nhân viên dùng model miễn phí). Chỉ chọn được trong danh sách model của nhà cung cấp đang bật — kiểm soát chi phí. Người dùng vẫn có thể tự chọn model khác trong bộ đã duyệt ngay trong ô chat.
OpenRouter đã công khai giá nên hệ thống tự lấy đúng. OpenAI/Gemini không công khai → nhập giá ở đây để bảng Chi phí khớp hóa đơn thật (model mới cũng không cần sửa code). Bỏ trống = dùng ước lượng mặc định.
Tệp sẽ được cắt theo đề mục thành nhiều tài liệu nhỏ — vì A.I nạp nguyên văn tài liệu vào mỗi câu hỏi, để cả tệp lớn làm 1 tài liệu sẽ tốn token gấp nhiều lần và trả lời kém chính xác. Hỗ trợ Word (.docx); bản .doc cũ hãy lưu lại thành .docx.
Trợ lý A.I chỉ tư vấn cách dùng/nghiệp vụ theo tài liệu ở đây (truy hồi tự động theo câu hỏi, tìm không dấu vẫn ra). Chưa có tài liệu → A.I sẽ nói "chưa có thông tin" thay vì bịa. Viết mỗi tài liệu 1 chủ đề gọn, gắn đúng phân hệ để truy hồi chính xác.
Xem trước
Đây là những câu trợ lý không tìm thấy tài liệu để trả lời — gợi ý bạn nên viết doc gì (ưu tiên câu hỏi nhiều lần). Bấm Tạo tài liệu để soạn nhanh.
Người dùng bấm 👍/👎 dưới mỗi câu trả lời. Nhiều 👎 ở phân hệ nào ⇒ nên dạy thêm Cẩm nang cho phân hệ đó.
Nhóm theo module · người hỏi · phòng ban{{ aiLogSub==='action' ? ' · trạng thái' : '' }}. Tích chọn nhiều dòng rồi bấm Xóa. Hành động = đề xuất ghi (proposed→executed/rejected).
Bấm vào ô để đổi mức (Không → Chat → Thực thi). Quyền A.I ⊆ quyền gốc của vai trò: chỉ mở được Chat khi vai trò có quyền Xem, chỉ mở được Thực thi khi có quyền Ghi trên phân hệ đó — ô tự khoá nếu vượt.
| Phân hệ | {{ role.RoleName }} |
|---|---|
| {{ m.name }} live lộ trình |
ai_assistant) — chỉnh nơi nào cũng đồng bộ.
Base URL (đã tự điền theo loại — hầu như không cần đổi)
Đây là địa chỉ máy chủ API của nhà cung cấp — chọn Loại ở trên là tự điền đúng. Chỉ đổi nếu bạn dùng máy chủ riêng/proxy.
Free tier: giới hạn theo tài khoản/ngày dùng chung mọi model :free (~50 lượt/ngày, ~1000 nếu ví từng nạp ≥$10) — không theo từng model. Hết lượt → lỗi tạm thời, không tính tiền.
Chưa chọn model nào — chọn từ danh sách bên dưới.
Danh sách + điểm lấy trực tiếp từ nhà cung cấp (tự cập nhật). FREE = miễn phí · $vào/$ra/1 triệu token · IQ = trí tuệ tổng quát · 🛠 = điểm dùng tool (giao việc/đọc dữ liệu — càng cao càng tốt cho trợ lý) · = hỗ trợ tool. Điểm từ OpenRouter (artificial_analysis).
Quản Lý Quyền Hệ Thống
Quản lý vai trò và phân quyền truy cập theo module
{{ roleFormData.RoleID ? 'Sửa Vai Trò' : 'Tạo Vai Trò Mới' }}
Tên vai trò mặc định không thể thay đổi
Lịch Sử Thao Tác
Theo dõi hoạt động Thêm/Sửa/Xóa
Cấu hình trường tùy chỉnh
Thêm/sửa/xóa các trường nhập liệu cho Khách hàng, Cơ hội và Nhà cung cấp
Thêm trường mới
Cột dữ liệu được tạo tự động trong CSDL khi bản ghi đầu tiên chứa trường này được lưu.
Trường của {{(CRM_FIELD_ENTITIES.find(e=>e.key===crmCfgEntity)||{}).label}}
Sửa tên / bắt buộc / lựa chọn rồi bấm Lưu thay đổi. Đổi loại dữ liệu: xóa trường và tạo lại.
Giai đoạn Pipeline (cột trên Quy trình bán hàng)
Loại: Đang mở = cột thường; Thắng (Won) = tính vào doanh thu Dashboard; Thua (Lost) = deal thất bại. Cần ít nhất 1 giai đoạn "Thắng". Kéo thứ tự bằng nút ▲▼.
Sales Dashboard
Phân tích hiệu suất bán hàng
Doanh thu theo tháng (Won)
Số Deal theo giai đoạn
Top nhân viên (Doanh thu Won)
Xu hướng Deal tạo mới vs Won
Quản Trị Dòng Tiền
Ghi nhận mọi giao dịch thu/chi của doanh nghiệp
Ngày giờ sẽ tự động lấy theo thời điểm lưu
Tổng Dòng Thu & Tổng Dòng Chi Theo Ngày
Dòng Thu, Dòng Chi & Dòng Tiền Thuần Theo Tháng
Cơ Cấu Dòng Thu
Cơ Cấu Dòng Chi
Top 10 Khách Hàng (Dòng Thu Lớn Nhất)
Top 10 Nhà Cung Cấp (Dòng Chi Lớn Nhất)
Số Dư Quỹ Hiện Tại
Tổng Số Dư Cuối Kỳ
Chi Tiết Số Dư
Cơ Cấu Số Dư Các Quỹ
Lịch Sử Số Tiền Giao Dịch Vào / Ra ({{(ldFundBalances.find(f => f.FundID === ldSelectedFund) || {}).FundName}})
Đang xử lý chuyển quỹ...
Chuyển Quỹ Nội Bộ
Đang khóa tháng...
Khóa Sổ Thu Chi - Năm {{ledgerFilters.year}}
Chọn tháng cần khóa để bảo vệ dữ liệu Sổ Thu Chi
Đang khóa tháng...
Khóa Công Nợ - Năm {{debtFilters.year}}
Chọn tháng cần khóa để bảo vệ dữ liệu Công Nợ
Công Nợ
Dư Nợ Phải Thu Theo Khách Hàng {{dbDashboardMetrics.periodLabel}}
Dư Nợ Phải Trả Theo Nhà Cung Cấp {{dbDashboardMetrics.periodLabel}}
Cơ cấu dư nợ Phải Thu (Top 10)
⚠ Cơ cấu theo dư nợ cuối kỳ
Cơ cấu dư nợ Phải Trả (Top 10)
⚠ Cơ cấu theo dư nợ cuối kỳ
Phải Thu Quá Hạn Chi Tiết Thời điểm hiện tại
Phải Trả Quá Hạn Chi Tiết Thời điểm hiện tại
Đang xử lý thanh toán...
Ghi nhận thanh toán — {{debtPaymentDialog.contractNo}}
{{debtDetailModal.name}}
Cấn trừ Giao dịch cho: {{(debtLinkModal.debt || {}).ContractNo || '-'}}
Chọn các Giao dịch có thể cấn trừ (chưa gắn Mã hợp đồng) bên dưới để tự động hạch toán giảm nợ.
Điều chỉnh giá trị HĐ: {{(debtAdjustModal.debt || {}).ContractNo || '-'}}
| Danh mục | Tháng {{m}} | Tổng năm | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DỰ BÁO DÒNG THU | |||||||||||||
|
{{g.group}}
● Công nợ
|
|||||||||||||
| {{group.group}} |
{{formatCurrency(group.totals['m'+m] || 0)}}
|
{{formatCurrency(group.totalYear || 0)}} | |||||||||||
|
{{cat.category}}
|
{{formatCurrency(cat.plan['m'+m])}}
{{formatCompact(cat.actual['m'+m])}}
|
{{formatCurrency(cat.planTotal || 0)}}
TT:
{{formatCompact(cat.actualTotal)}}
{{Math.round(cat.actualTotal/cat.planTotal*100)}}%
|
|||||||||||
| TỔNG DÒNG THU DỰ KIẾN |
{{formatCurrency(cashplanSummary.revenue.plan['m'+m] || 0)}}
TT:
{{formatCompact(cashplanSummary.revenue.actual['m'+m])}}
|
{{formatCurrency(cashplanSummary.revenue.planTotal || 0)}}
TT:
{{formatCompact(cashplanSummary.revenue.actualTotal)}}
{{Math.round(cashplanSummary.revenue.actualTotal/cashplanSummary.revenue.planTotal*100)}}%
|
|||||||||||
| DỰ BÁO DÒNG CHI | |||||||||||||
|
{{g.group}}
{{g.costType==='fixed'?'CĐ':g.costType==='variable'?'BĐ':'HH'}}
● Công nợ
|
|||||||||||||
| {{group.group}} {{group.costType==='fixed'?'CĐ':'BĐ'}} |
{{formatCurrency(group.totals['m'+m] || 0)}}
|
{{formatCurrency(group.totalYear || 0)}} | |||||||||||
|
{{cat.category}}
|
{{formatCurrency(cat.plan['m'+m])}}
{{formatCompact(cat.actual['m'+m])}}
|
{{formatCurrency(cat.planTotal || 0)}}
TT:
{{formatCompact(cat.actualTotal)}}
{{Math.round(cat.actualTotal/cat.planTotal*100)}}%
|
|||||||||||
| TỔNG DÒNG CHI DỰ KIẾN |
{{formatCurrency(cashplanSummary.expense.plan['m'+m] || 0)}}
TT:
{{formatCompact(cashplanSummary.expense.actual['m'+m])}}
|
{{formatCurrency(cashplanSummary.expense.planTotal || 0)}}
TT:
{{formatCompact(cashplanSummary.expense.actualTotal)}}
{{Math.round(cashplanSummary.expense.actualTotal/cashplanSummary.expense.planTotal*100)}}%
|
|||||||||||
| DÒNG TIỀN THUẦN DỰ KIẾN |
{{formatCurrency(cashplanSummary.net.plan['m'+m] || 0)}}
{{formatCurrency(cashplanSummary.net.actual['m'+m] || 0)}}
|
{{formatCurrency(cashplanSummary.net.planTotal || 0)}}
TT: {{formatCompact(cashplanSummary.net.actualTotal || 0)}}
|
|||||||||||
| Danh mục | KH (T1-T{{cashplanRebalanceInfo.revenue.currentM}}) | Thực tế | Chênh lệch | Đề xuất/tháng | |
|---|---|---|---|---|---|
| {{item.category}} | {{formatCompact(item.pastPlan)}} | {{formatCompact(item.pastActual)}} | {{item.shortfall > 0 ? '-' : '+'}}{{formatCompact(Math.abs(item.shortfall))}} | +{{formatCompact(Math.round(item.shortfall / cashplanRebalanceInfo.revenue.remaining))}}/T — |
| Danh mục | KH (T1-T{{cashplanRebalanceInfo.expense.currentM}}) | Thực tế | Chênh lệch | Đề xuất/tháng | |
|---|---|---|---|---|---|
| {{item.category}} | {{formatCompact(item.pastPlan)}} | {{formatCompact(item.pastActual)}} | {{item.shortfall > 0 ? 'Dưới KH ' : 'Vượt KH '}}{{formatCompact(Math.abs(item.shortfall))}} | {{item.shortfall > 0 ? '-' : '+'}}{{formatCompact(Math.round(Math.abs(item.shortfall) / cashplanRebalanceInfo.expense.remaining))}}/T — |
Dự báo Thu (12 Tháng)
Tỷ trọng Thu T{{cashplanDashMonth}}Lũy kế năm
Dự báo Chi (12 Tháng)
Tỷ trọng Chi T{{cashplanDashMonth}}Lũy kế năm
Tỷ lệ hoàn thành dự báo thu
Tỷ lệ chi theo kế hoạch chi
Tổng Hợp Dòng Tiền (12 Tháng)
Xóa dữ liệu dòng tiền
Công nợ đến hạn ngày {{cfSelectedDay}}
| Loại | KH / NCC | Hợp đồng | Tổng | Còn lại |
|---|---|---|---|---|
| {{debt.Type==='receivable'?'Phải thu':'Phải trả'}} | {{debt.Type==='receivable' ? getCustomerName(debt.CustomerID) : getSupplierName(debt.SupplierID)}} | {{debt.ContractNo || '-'}} | {{formatCurrency(debt.TotalAmount)}} | {{formatCurrency(debt.remaining)}} |
|
Danh mục
|
Tháng {{m}} | Tổng năm | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{sec.label.toUpperCase()}} | |||||||||||||
|
{{item.category}}
|
%
{{ getPnlOldDisplay('plan', sec.key, item.category, item.labelId, m) }}
{{ getPnlNewDisplay('plan', sec.key, item.category, item.labelId, m) }}
{{formatCurrency(simHighlights['plan|'+sec.key+'|'+item.category+'|'+(item.labelId || 'global')+'|m'+m].oldVal)}}
{{formatCurrency(item.plan[m-1])}}
{{formatCurrency(item.plan[m-1])}}
{{getPnlVal('plan', sec.key, item.category, item.labelId, m)}}%
%
{{ getPnlOldDisplay('actual', sec.key, item.category, item.labelId, m) }}
{{ getPnlNewDisplay('actual', sec.key, item.category, item.labelId, m) }}
{{formatCurrency(item.actual[m-1])}}
{{getPnlVal('actual', sec.key, item.category, item.labelId, m)}}%
|
{{formatCurrency(item.planTotal)}}
{{formatCurrency(item.actualTotal)}}
{{Math.round(item.actualTotal/item.planTotal*100)}}%
|
|||||||||||
| Chưa có danh mục. Bấm + để thêm. | |||||||||||||
| TỔNG {{sec.label.toUpperCase()}} |
{{(pnlGrid[sec.key]?.planTotals[m-1] || 0) > 0 ? formatCurrency(pnlGrid[sec.key].planTotals[m-1]) : ''}}
Thực đạt: {{formatCurrency(pnlGrid[sec.key].actualTotals[m-1])}}
|
{{(pnlGrid[sec.key]?.planYearTotal || 0) > 0 ? formatCurrency(pnlGrid[sec.key].planYearTotal) : '0'}}
Thực đạt: {{formatCurrency(pnlGrid[sec.key].actualYearTotal)}}
|
|||||||||||
| LỢI NHUẬN GỘP |
{{(pnlSummary.months[m-1]?.gross.plan || 0) !== 0 ? formatCurrency(pnlSummary.months[m-1].gross.plan) : ''}}
Thực đạt: {{formatCurrency(pnlSummary.months[m-1].gross.actual)}}
|
{{formatCurrency(pnlSummary.totals.gross.plan)}}
Thực đạt: {{formatCurrency(pnlSummary.totals.gross.actual)}}
|
|||||||||||
| Tỷ suất LN gộp |
Kế hoạch:
{{(pnlSummary.months[m-1].gross.plan / pnlSummary.months[m-1].revenue.plan * 100).toFixed(1)}}%
Thực đạt: {{(pnlSummary.months[m-1].gross.actual / pnlSummary.months[m-1].revenue.actual * 100).toFixed(1)}}%
|
Kế hoạch: {{(pnlSummary.ratioTotals.gross.plan.num / pnlSummary.ratioTotals.gross.plan.den * 100).toFixed(1)}}%
Thực đạt: {{(pnlSummary.ratioTotals.gross.actual.num / pnlSummary.ratioTotals.gross.actual.den * 100).toFixed(1)}}%
{{((pnlSummary.ratioTotals.gross.actual.num / pnlSummary.ratioTotals.gross.actual.den) / (pnlSummary.ratioTotals.gross.plan.num / pnlSummary.ratioTotals.gross.plan.den) * 100).toFixed(0)}}% đạt KH
|
|||||||||||
| LN HOẠT ĐỘNG (EBIT) |
{{(pnlSummary.months[m-1]?.ebit.plan || 0) !== 0 ? formatCurrency(pnlSummary.months[m-1].ebit.plan) : ''}}
Thực đạt: {{formatCurrency(pnlSummary.months[m-1].ebit.actual)}}
|
{{formatCurrency(pnlSummary.totals.ebit.plan)}}
Thực đạt: {{formatCurrency(pnlSummary.totals.ebit.actual)}}
|
|||||||||||
| THU NHẬP TRƯỚC THUẾ (EBT) |
{{(pnlSummary.months[m-1]?.ebt.plan || 0) !== 0 ? formatCurrency(pnlSummary.months[m-1].ebt.plan) : ''}}
Thực đạt: {{formatCurrency(pnlSummary.months[m-1].ebt.actual)}}
|
{{formatCurrency(pnlSummary.totals.ebt.plan)}}
Thực đạt: {{formatCurrency(pnlSummary.totals.ebt.actual)}}
|
|||||||||||
| (-) Thuế TNDN ({{pnlTaxRate}}%)
Tính theo từng tháng riêng lẻ. Quyết toán thực tế có thể
khác.
|
{{(pnlSummary.months[m-1]?.tax.plan || 0) > 0 ? formatCurrency(pnlSummary.months[m-1].tax.plan) : ''}}
Thực đạt: {{formatCurrency(pnlSummary.months[m-1]?.tax.actual || 0)}}
|
{{pnlSummary.totals.tax.plan > 0 ? formatCurrency(pnlSummary.totals.tax.plan) : '0'}}
Thực đạt: {{formatCurrency(pnlSummary.totals.tax.actual || 0)}}
|
|||||||||||
| LỢI NHUẬN RÒNG |
{{(pnlSummary.months[m-1]?.net.plan || 0) !== 0 ? formatCurrency(pnlSummary.months[m-1].net.plan) : ''}}
Thực đạt: {{formatCurrency(pnlSummary.months[m-1].net.actual)}}
|
{{formatCurrency(pnlSummary.totals.net.plan)}}
Thực đạt: {{formatCurrency(pnlSummary.totals.net.actual)}}
Margin: {{(pnlSummary.ratioTotals.net.plan.num / pnlSummary.ratioTotals.net.plan.den * 100).toFixed(1)}}%
|
|||||||||||
| Tỷ suất LN ròng |
Kế hoạch: {{(pnlSummary.months[m-1].net.plan / pnlSummary.months[m-1].revenue.plan * 100).toFixed(1)}}%
Thực đạt: {{(pnlSummary.months[m-1].net.actual / pnlSummary.months[m-1].revenue.actual * 100).toFixed(1)}}%
|
Kế hoạch: {{(pnlSummary.ratioTotals.net.plan.num / pnlSummary.ratioTotals.net.plan.den * 100).toFixed(1)}}%
Thực đạt: {{(pnlSummary.ratioTotals.net.actual.num / pnlSummary.ratioTotals.net.actual.den * 100).toFixed(1)}}%
{{((pnlSummary.ratioTotals.net.actual.num / pnlSummary.ratioTotals.net.actual.den) / (pnlSummary.ratioTotals.net.plan.num / pnlSummary.ratioTotals.net.plan.den) * 100).toFixed(0)}}% đạt KH
|
|||||||||||
So sánh Doanh thu & Lợi nhuận Ròng
Xu hướng Kế hoạch & Thực tế hàng tháng (Cả năm)
Chỉ số Hiệu quả Lợi nhuận (% Biên LN)
Xu hướng Kế hoạch & Thực tế hàng tháng (Cả năm)
Cơ cấu 1 Đồng Doanh Thu Dự Báo (Theo tháng Kế hoạch)
{{ pnlDashRevChartMode === 'actual' ? 'Cơ cấu Doanh Thu Thực Tế' : 'Cơ cấu Doanh Thu Kế Hoạch' }}
Top 5 danh mục & phần còn lại (Lũy kế)
{{ pnlDashCogsChartMode === 'actual' ? 'Cơ cấu Giá Vốn Thực Tế' : 'Cơ cấu Giá Vốn Kế Hoạch' }}
Top 5 danh mục & phần còn lại (Lũy kế)
{{ pnlDashOpexChartMode === 'actual' ? 'Cơ cấu Chi Phí Hoạt Động Thực Tế (OPEX)' : 'Cơ cấu Chi Phí Hoạt Động Kế Hoạch (OPEX)' }}
Top 5 danh mục & phần còn lại (Lũy kế)
Phân Tích Hiệu Quả Theo Nhãn
Bảng đối soát hiệu quả và phân bổ tỷ trọng doanh thu, chi phí, lợi nhuận giữa các nhãn (Lũy kế các tháng đã chọn)
| Nhãn P&L | Doanh thu | Giá vốn (COGS) | Lợi nhuận gộp | Chi phí (OPEX) | Lợi nhuận ròng | % Hoàn thành KH (Thực tế / Kế hoạch Doanh thu) |
|---|---|---|---|---|---|---|
| {{ b.name }} |
{{ formatCurrency(b.revenue.plan) }}
({{(b.revenue.plan / (pnlDashMetrics.revenue.plan || 1) * 100).toFixed(1)}}%)
Thực đạt: {{ formatCurrency(b.revenue.actual) }}
({{(b.revenue.actual / (pnlDashMetrics.revenue.actual || 1) * 100).toFixed(1)}}%)
|
{{ formatCurrency(b.cogs.plan) }}
({{(b.cogs.plan / (pnlDashMetrics.cogs.plan || 1) * 100).toFixed(1)}}%)
Thực đạt: {{ formatCurrency(b.cogs.actual) }}
({{(b.cogs.actual / (pnlDashMetrics.cogs.actual || 1) * 100).toFixed(1)}}%)
|
{{ formatCurrency(b.gross.plan) }}
({{(b.gross.plan / (pnlDashMetrics.gross_profit.plan || 1) * 100).toFixed(1)}}%)
Thực đạt: {{ formatCurrency(b.gross.actual) }}
({{(b.gross.actual / (pnlDashMetrics.gross_profit.actual || 1) * 100).toFixed(1)}}%)
|
{{ formatCurrency(b.opex.plan) }}
({{(b.opex.plan / (pnlDashMetrics.opex.plan || 1) * 100).toFixed(1)}}%)
Thực đạt: {{ formatCurrency(b.opex.actual) }}
({{(b.opex.actual / (pnlDashMetrics.opex.actual || 1) * 100).toFixed(1)}}%)
|
{{ formatCurrency(b.net.plan) }}
({{(b.net.plan / (pnlDashMetrics.net_profit.plan || 1) * 100).toFixed(1)}}%)
Thực đạt: {{ formatCurrency(b.net.actual) }}
({{(b.net.actual / (pnlDashMetrics.net_profit.actual || 1) * 100).toFixed(1)}}%)
|
{{ b.revenue.plan > 0 ? ((b.revenue.actual / b.revenue.plan) * 100).toFixed(1) : 0 }}%
|
| TỔNG CỘNG |
{{ formatCurrency(pnlDashMetrics.revenue.plan) }}
(100.0%)
Thực đạt: {{ formatCurrency(pnlDashMetrics.revenue.actual) }}
(100.0%)
|
{{ formatCurrency(pnlDashMetrics.cogs.plan) }}
(100.0%)
Thực đạt: {{ formatCurrency(pnlDashMetrics.cogs.actual) }}
(100.0%)
|
{{ formatCurrency(pnlDashMetrics.gross_profit.plan) }}
(100.0%)
Thực đạt: {{ formatCurrency(pnlDashMetrics.gross_profit.actual) }}
(100.0%)
|
{{ formatCurrency(pnlDashMetrics.opex.plan) }}
(100.0%)
Thực đạt: {{ formatCurrency(pnlDashMetrics.opex.actual) }}
(100.0%)
|
{{ formatCurrency(pnlDashMetrics.net_profit.plan) }}
(100.0%)
Thực đạt: {{ formatCurrency(pnlDashMetrics.net_profit.actual) }}
(100.0%)
|
{{pnlDashMetrics.revenue.plan > 0 ? ((pnlDashMetrics.revenue.actual / pnlDashMetrics.revenue.plan) * 100).toFixed(1) : 0}}%
|
Cơ cấu Doanh Thu KH (Theo Nhãn)
Cơ cấu Doanh Thu TT (Theo Nhãn)
Cơ cấu LN Ròng KH (Theo Nhãn)
Cơ cấu LN Ròng TT (Theo Nhãn)
I. Tương Quan Doanh Thu Lũy Kế & Điểm Hòa Vốn
| Thời gian | Doanh số lũy kế | Mức hòa vốn | Chênh lệch |
|---|---|---|---|
| Tháng {{d.month}} | {{formatCompact(d.cumRevActual)}} | {{formatCompact(beAnalysis.breakEvenPoint)}} | {{d.bepActualDiff >= 0 ? '+' : ''}}{{formatCompact(d.bepActualDiff)}} |
Mức Độ Tương Quan & Điểm Giao Cắt
II. Chi Phí Cố Định (FC)
| Hạng mục chi phí cố định | Chi phí ước tính | Tỷ trọng |
|---|---|---|
| {{it.name}} | {{formatCurrency(it.value)}} | {{it.percent.toFixed(1)}}% |
| Không có dữ liệu định phí (FC). | ||
III. Chi Phí Biến Đổi (VC) Tại Mức Điểm Hòa Vốn
| Hạng mục chi phí biến đổi | CP tại điểm hòa vốn | Tỷ trọng |
|---|---|---|
| {{it.name}} | {{formatCurrency(it.valueAtBep)}} | {{it.percent.toFixed(1)}}% |
| Không có dữ liệu biến phí (VC). | ||
IV. Phân Tích Độ Nhạy (Định Phí) & Biểu Đồ Tuyến Tính Trực Quan
* Chạm (Click) vào từng tùy chọn Kịch bản Định phí (FC) để phân tích Điểm hòa vốn tương ứng trên Biểu đồ bên phải.
| Kịch bản Định phí (FC) | Điểm cân bằng mới & Biến động bù trừ |
|---|---|
|
-
{{s.label}}
Biến động bù trừ: {{s.diff > 0 ? '+' : ''}}{{s.diff === 0 ? '-' : formatCurrency(s.diff)}}
|
{{formatCurrency(s.bep)}}
|
Phân Tích Giao Cắt Tuyến Tính ({{beSensitivity.find(s => s.delta === selectedSensitivityDelta)?.label || 'Hiện tại'}})
V. So Sánh & Phân Tích Điểm Hòa Vốn Theo Nhãn
So sánh mốc doanh số hòa vốn dự kiến và khả năng sinh lời giữa các nhãn hoạt động trong kỳ
| Nhãn P&L | Doanh thu KH | Doanh thu TT | Định phí (FC) | Biến phí (VC) | Tỷ suất CM | Mốc Hòa Vốn | Biên an toàn (MOS) | Trạng thái |
|---|---|---|---|---|---|---|---|---|
| {{ lbl.name }} | {{ formatCurrency(lbl.revenuePlan) }} | {{ formatCurrency(lbl.revenueActual) }} | {{ formatCurrency(lbl.fixedCost) }} | {{ formatCurrency(lbl.variableCost) }} | {{ (lbl.cmRatio * 100).toFixed(1) }}% | {{ formatCurrency(lbl.bep) }} | {{ lbl.marginOfSafety.toFixed(1) }}% | Vượt hòa vốn Dưới hòa vốn |
| TỔNG CỘNG | {{ formatCurrency(beAnalysis.totalRevenue) }} | {{ formatCurrency(beAnalysis.actualRevenue) }} | {{ formatCurrency(beAnalysis.fixedCost) }} | {{ formatCurrency(beAnalysis.variableCost) }} | {{ (beAnalysis.cmRatio * 100).toFixed(1) }}% | {{ formatCurrency(beAnalysis.breakEvenPoint) }} | {{ beAnalysis.marginOfSafety.toFixed(1) }}% | Vượt hòa vốn Dưới hòa vốn |
So Sánh DT vs Mốc Hòa Vốn Theo Nhãn
Bảng Kịch Bản
{{simItems.length}} biến sốChưa có biến số nào
Thêm biến số để mô phỏng sự thay đổi của Doanh thu, Chi phí.
Phân Tích Điểm Hòa Vốn (BEP)
Lợi nhuận ròng: So sánh Giả định và kế hoạch gốc
ĐỘ LỆCH CỦA TỔNG LỢI NHUẬN RÒNG THEO NHÃN
Biến động P&L các tháng tác động
| Chỉ tiêu | Tháng {{ m }} | Tổng thay đổi |
|---|---|---|
| Doanh Thu Tổng doanh thu bán hàng và cung cấp dịch vụ. |
Kế hoạch:
{{formatCompact(pnlSummary?.months?.[m-1]?.revenue?.plan || 0)}}
Giả định:
{{formatCompact(simulatedPnlSummary.months[m-1].rev)}}
|
{{formatCompact(simAffectedMonths.reduce((sum, m) => sum + simulatedPnlSummary.months[m-1].rev - (pnlSummary?.months?.[m-1]?.revenue?.plan || 0), 0))}} |
| Lợi Nhuận Gộp Doanh thu thuần trừ đi Giá vốn hàng bán. |
Kế hoạch:
{{formatCompact(pnlSummary?.months?.[m-1]?.gross?.plan || 0)}}
Giả định:
{{formatCompact(simulatedPnlSummary.months[m-1].gross)}}
|
{{formatCompact(simAffectedMonths.reduce((sum, m) => sum + simulatedPnlSummary.months[m-1].gross - (pnlSummary?.months?.[m-1]?.gross?.plan || 0), 0))}} |
| Chi phí hoạt động (OPEX) Chi phí hoạt động (Operating Expenses). |
Kế hoạch:
{{formatCompact(pnlSummary?.months?.[m-1]?.opex?.plan || 0)}}
Giả định:
{{formatCompact(simulatedPnlSummary.months[m-1].opex)}}
|
{{formatCompact(simAffectedMonths.reduce((sum, m) => sum + simulatedPnlSummary.months[m-1].opex - (pnlSummary?.months?.[m-1]?.opex?.plan || 0), 0))}} |
| Lợi Nhuận Ròng Lợi nhuận ròng sau thuế (Net Profit). |
Kế hoạch:
{{formatCompact(pnlSummary?.months?.[m-1]?.net?.plan || 0)}}
Giả định:
{{formatCompact(simulatedPnlSummary.months[m-1].net)}}
|
{{formatCompact(simAffectedMonths.reduce((sum, m) => sum + simulatedPnlSummary.months[m-1].net - (pnlSummary?.months?.[m-1]?.net?.plan || 0), 0))}} |
Phân tích điểm hòa vốn (BEP) — {{ simLabelMetrics.name }}
Biến số tác động
{{simLabelMetrics.items.length}}Bảng P&L theo tháng — {{ simLabelMetrics.name }}
| Chỉ tiêu | T{{ m }} | Tổng |
|---|---|---|
| Doanh Thu |
Kế hoạch: {{ formatCompact(md.baseRev) }}
Thực đạt: {{ formatCompact(md.actualRev) }}
Giả định: {{ formatCompact(md.simRev) }}
Độ lệch: {{ (md.simRev - md.baseRev) > 0 ? '+' : '' }}{{ formatCompact(md.simRev - md.baseRev) }}
|
Kế hoạch: {{ formatCompact(simLabelMetrics.baseTotals.rev) }}
Thực đạt: {{ formatCompact(simLabelMetrics.actualTotals.rev) }}
Giả định: {{ formatCompact(simLabelMetrics.totals.rev) }}
Độ lệch: {{ (simLabelMetrics.totals.rev - simLabelMetrics.baseTotals.rev) > 0 ? '+' : '' }}{{ formatCompact(simLabelMetrics.totals.rev - simLabelMetrics.baseTotals.rev) }}
|
| OPEX |
Kế hoạch: {{ formatCompact(md.baseOpex) }}
Thực đạt: {{ formatCompact(md.actualOpex) }}
Giả định: {{ formatCompact(md.simOpex) }}
Độ lệch: {{ (md.simOpex - md.baseOpex) > 0 ? '+' : '' }}{{ formatCompact(md.simOpex - md.baseOpex) }}
|
Kế hoạch: {{ formatCompact(simLabelMetrics.baseTotals.opex) }}
Thực đạt: {{ formatCompact(simLabelMetrics.actualTotals.opex) }}
Giả định: {{ formatCompact(simLabelMetrics.totals.opex) }}
Độ lệch: {{ (simLabelMetrics.totals.opex - simLabelMetrics.baseTotals.opex) > 0 ? '+' : '' }}{{ formatCompact(simLabelMetrics.totals.opex - simLabelMetrics.baseTotals.opex) }}
|
| LN Ròng |
Kế hoạch: {{ formatCompact(md.baseNet) }}
Thực đạt: {{ formatCompact(md.actualNet) }}
Giả định: {{ formatCompact(md.simNet) }}
Độ lệch: {{ (md.simNet - md.baseNet) > 0 ? '+' : '' }}{{ formatCompact(md.simNet - md.baseNet) }}
|
Kế hoạch: {{ formatCompact(simLabelMetrics.baseTotals.net) }}
Thực đạt: {{ formatCompact(simLabelMetrics.actualTotals.net) }}
Giả định: {{ formatCompact(simLabelMetrics.totals.net) }}
Độ lệch: {{ (simLabelMetrics.totals.net - simLabelMetrics.baseTotals.net) > 0 ? '+' : '' }}{{ formatCompact(simLabelMetrics.totals.net - simLabelMetrics.baseTotals.net) }}
|
Đã ghi vào Kế hoạch!
Kịch bản mô phỏng đã được áp dụng. Tổng cộng {{simApplyCount}} ô dữ liệu đã được ghi đè trong bảng P&L.
Thêm danh mục — {{pnlBulkAddSection === 'revenue' ? 'Doanh Thu' : (pnlBulkAddSection === 'cogs' ? 'Giá Vốn' : 'Chi phí OPEX')}}
Cập nhật cấu hình hàng loạt
Nhân bản hàng loạt ({{pnlSelectedRows.length}} mục)
Cấu hình công thức
Xóa dữ liệu Dự Báo P&L
Xem trước kết quả nhập Excel P&L
| Phân loại | Danh mục | Chi nhánh | Kiểu | Trạng thái | Tổng năm hiện tại | Tổng năm Excel | Chênh lệch |
|---|---|---|---|---|---|---|---|
| {{ row.pnlLineName }} | {{ row.category }} | {{ row.labelName }} | {{ row.dataType === 'plan' ? 'Kế hoạch' : 'Thực tế' }} | Lỗi Thêm mới Cập nhật Không đổi | {{ row.inputModePlan === 'percent' ? (row.oldTotal.toFixed ? Number(row.oldTotal.toFixed(2)) : row.oldTotal) + '%' : formatCurrency(row.oldTotal) }} | {{ row.inputModePlan === 'percent' ? (row.newTotal.toFixed ? Number(row.newTotal.toFixed(2)) : row.newTotal) + '%' : formatCurrency(row.newTotal) }} | {{ row.newTotal - row.oldTotal > 0 ? '+' : '' }}{{ row.inputModePlan === 'percent' ? (Number((row.newTotal - row.oldTotal).toFixed(2))) + '%' : formatCurrency(row.newTotal - row.oldTotal) }} |
| Không tìm thấy dữ liệu thay đổi nào. | |||||||
Khởi Tạo KPI Tài Chính
Thiết lập tự động từ cấu trúc P&L hoặc tạo công thức tùy chỉnh linh hoạt
Nhóm Dữ Liệu P&L
{{ suggestedKpisGrouped[suggestedKpisActiveGroupIdx].label }}
Danh sách KPI Tài chính
Cấu hình chỉ số đơn lẻ
{{ kpiMappingActiveKpiName }}
Đồng bộ KPI sang Thư viện chỉ số
Cấu hình Nhãn Hoạch định Tài chính (P&L)
Thêm Nhãn Mới
Mã sẽ sinh: {{ pnlNewLabelPreviewId }}
| STT | Tên Nhãn / Chi nhánh | Mã Nhãn | Màu hiển thị | Thao tác |
|---|---|---|---|---|
| 1 | Chung (Global) Mặc định | global |
slate | Hệ thống |
| {{ idx + 2 }} | { lbl.name = v; }, $event.target.value)" placeholder="Tên nhãn..." :disabled="!canAccess('pnl_labels', 'edit')" class="bg-transparent border-b border-transparent hover:border-slate-350 focus:border-indigo-500 focus:outline-none py-0.5 px-1 font-bold text-slate-800 transition duration-150 w-full disabled:text-slate-400 disabled:cursor-not-allowed"> | {{ lbl.id }} |
|
|
| Chưa khai báo thêm nhãn tùy chỉnh nào. Nhập ở biểu mẫu phía trên để thêm! | ||||
Xem trước các thay đổi chưa lưu (P&L)
Dưới đây là danh sách toàn bộ các giá trị ô dữ liệu P&L đã thay đổi nhưng chưa được đồng bộ lên Google Sheets.
| STT | Phân loại | Danh mục | Nhãn / Chi nhánh | Kiểu | Tháng | Giá trị cũ | Giá trị mới | Chênh lệch | Thao tác |
|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ formatPnlSource(edit.pnlLine) }} | {{ edit.category }} | {{ pnlGetLabelName(edit.labelId) }} | {{ edit.dataType === 'plan' ? 'Kế hoạch' : 'Thực tế' }} | Tháng {{ edit.month }} | {{ getPnlOldDisplay(edit.dataType, edit.pnlLine, edit.category, edit.labelId, edit.month) }} | {{ getPnlNewDisplay(edit.dataType, edit.pnlLine, edit.category, edit.labelId, edit.month) }} | {{ Number(edit.newVal) - Number(edit.oldVal) > 0 ? '+' : '' }} {{ edit.dataType === 'actual' ? formatCompact(Number(edit.newVal) - Number(edit.oldVal)) : formatCurrency(Number(edit.newVal) - Number(edit.oldVal)) }} 0 | |
| Không tìm thấy thay đổi nào về số liệu ô. | |||||||||
| STT | Phân loại | Danh mục | Thuộc tính thay đổi | Giá trị cũ | Giá trị mới | Thao tác |
|---|---|---|---|---|---|---|
| {{ cidx + 1 }} | {{ formatPnlSource(catKey.split('|')[0]) }} | {{ catKey.split('|')[1] }} | Chi nhánh / Nhãn | {{ pnlGetLabelName(catKey.split('|')[2]) }} | {{ pnlGetLabelName(cfg.labelId) }} | |
| {{ cidx + 1 }} | {{ formatPnlSource(catKey.split('|')[0]) }} | {{ catKey.split('|')[1] }} | Hành vi chi phí | {{ getPnlCostBehavior(catKey.split('|')[0], catKey.split('|')[1], catKey.split('|')[2]) === 'fixed' ? 'Cố định' : 'Biến đổi' }} | {{ cfg.costBehavior === 'fixed' ? 'Cố định' : 'Biến đổi' }} | |
| {{ cidx + 1 }} | {{ formatPnlSource(catKey.split('|')[0]) }} | {{ catKey.split('|')[1] }} | Công thức Kế hoạch | {{ getPnlOriginalInputModePlanDisplay(catKey.split('|')[0], catKey.split('|')[1], catKey.split('|')[2]) }} | {{cfg.inputModePlan === 'percent' ? ('% Doanh thu' + (cfg.baseCategory ? ' (' + cfg.baseCategory + ')' : '')) : 'Nhập số'}} | |
| {{ cidx + 1 }} | {{ formatPnlSource(catKey.split('|')[0]) }} | {{ catKey.split('|')[1] }} | Công thức Thực đạt | {{ getPnlOriginalInputModeActualDisplay(catKey.split('|')[0], catKey.split('|')[1], catKey.split('|')[2]) }} | {{cfg.inputModeActual === 'percent' ? ('% Doanh thu' + (cfg.baseCategory ? ' (' + cfg.baseCategory + ')' : '')) : 'Nhập số'}} |
Dashboard KPI Tài chính
| KPI | Công thức đạt | Mục tiêu | Thực tế | Đạt | Trạng thái | Xu hướng | Thao tác | |
|---|---|---|---|---|---|---|---|---|
|
|
{{ row.profile.KPIName }}
{{ row.profile.Unit }} · {{ row.profile.DataSource }}
|
{{ row.profile.CalcMethod }} | {{ formatKpiValue(row.target, row.profile.Unit) }} | {{ formatKpiValue(row.actual, row.profile.Unit) }} | {{ row.achievement === null ? '--' : row.achievement.toFixed(1) + '%' }} | {{ row.status.label }} |
| KPI | T{{ m }} |
|---|---|
| {{ row.profile.KPIName }} | {{ getFinancialKpiDashboardAchievement(row.kpi, m) === null ? '--' : Math.round(getFinancialKpiDashboardAchievement(row.kpi, m)) + '%' }} |
Kết nối KPI
| KPI | Nguồn | Profile | Trạng thái | Thao tác | |
|---|---|---|---|---|---|
|
{{ row.profile && row.profile.KPIName || row.kpi.KPIName }}
{{ row.profile && row.profile.Unit || row.kpi.Unit || '--' }}
|
{{ row.profile && row.profile.DataSource || '--' }}
|
{{ row.ready ? 'Đã chuẩn hóa' : 'Cần profile tạm' }} | {{ row.connected ? 'Đã kết nối' : 'Chưa kết nối' }} |
|
{{ financialKpiDashboardSelectedRow.profile.KPIName }}
Profile KPI tài chính
Hoạch định tài chính
Định mức Chi phí & Ngân sách
Theo dõi ngân sách kế hoạch, chi phí thực tế và mức tiêu hao từ dữ liệu Dự báo P&L hiện hành.
Tổng ngân sách
{{ formatBudgetMoney(budgetMetrics.totalPlan) }}
{{ budgetSelectedRangeLabel }}
Thực tế đã chi
{{ formatBudgetMoney(budgetMetrics.totalActual) }}
Lấy trực tiếp từ P&L
Chênh lệch ngân sách
{{ formatBudgetMoney(budgetMetrics.variance) }}
Kế hoạch trừ thực tế
Tỷ lệ tiêu hao
{{ Math.round((budgetMetrics.spendRatio || 0) * 100) }}%
Phân tích Pareto
{{ budgetMetrics.paretoCount }}/{{ budgetMetrics.itemCount }}
Hạng mục tạo 80% chi phí
Biến động theo tháng
So sánh kế hoạch và thực tế theo dòng chi phí
Cơ cấu chi phí
Theo thực tế hoặc kế hoạch nếu chưa có thực tế
Bảng kiểm soát định mức
Các dòng chi phí đang được lọc theo {{ budgetSelectedRangeLabel }}
| Hạng mục | Nhãn | Kế hoạch | Thực tế | Còn lại | Tiêu hao | Trạng thái |
|---|---|---|---|---|---|---|
| Không có dữ liệu chi phí phù hợp cho kỳ lọc hiện tại. | ||||||
|
{{ row.name }}
|
{{ row.labelName }} | {{ formatBudgetMoney(row.plan) }} | {{ formatBudgetMoney(row.actual) }} | {{ formatBudgetMoney(row.variance) }} |
|
{{ row.status.label }} |
Nhóm quy trình
{{ bpmSelectedGroupId === 'all' ? 'Tất cả quy trình vận hành' : bpmGroups.find(g => g.GroupID === bpmSelectedGroupId)?.Name || 'Danh mục quy trình' }}
Xây dựng, lưu trữ và xuất bản quy trình vận hành chuẩn của doanh nghiệp
Chưa có quy trình nào
Bắt đầu trực quan hóa các quy trình vận hành SOP bằng công cụ vẽ sơ đồ tương tác thông minh của HCWPlan.
{{ proc.Name }}
{{ proc.Description || 'Không có mô tả cho quy trình này.' }}
| STT | Quy trình | Nhóm quy trình | Số bước | Người tạo | Cập nhật cuối | Thao tác |
|---|---|---|---|---|---|---|
| {{ index + 1 }} |
{{ proc.Name }}
{{ proc.Description || 'Không có mô tả cho quy trình này.' }}
|
{{ bpmGroups.find(g => g.GroupID === proc.GroupID)?.Name || 'N/A' }} | {{ proc.Steps ? JSON.parse(proc.Steps).length : 0 }} |
{{ String(proc.CreatedBy || 'A').charAt(0) }}
{{ proc.CreatedBy || 'admin' }}
|
{{ formatDateDisplay(proc.LastModified || proc.CreatedDate) }} |
|
{{ bpmSelectedProcess.Name }}
SLA quy trình: {{ bpmSelectedProcess.SLA || 'Chưa thiết lập' }}
Lịch làm việc
Hệ thống dùng lịch này để tính hạn chót và "quá hạn" — không tính ngoài giờ, cuối tuần, nghỉ lễ.
- {{ e.msg }}
- {{ w.msg }}
Không có lỗi hay cảnh báo nào.
{{ bpmGroupForm.GroupID ? 'Cập nhật nhóm quy trình' : 'Thêm nhóm quy trình mới' }}
{{ bpmProcessForm.ProcessID ? 'Cập nhật quy trình' : 'Thiết lập quy trình mới' }}
Nhóm công việc quy trình
{{ bpmCurrentProcessTaskGroups.length }} nhóm — Quy trình: {{ bpmSelectedProcess?.Name }}
Chưa có nhóm công việc nào
Bạn có thể tự động tạo các nhóm công việc dựa trên các bước có checklist của sơ đồ quy trình này
{{ bpmDeletingGroupId === 'batch' ? 'Xác nhận xóa hàng loạt?' : 'Xác nhận xóa nhóm việc?' }}
{{bpmDeletingGroupId === 'batch' ? 'Bạn có chắc chắn muốn xóa ' + bpmSelectedTaskGroupIds.length + ' nhóm công việc đã chọn? Các task CVSV đã import các nhóm này sẽ không bị ảnh hưởng.' : 'Bạn có chắc chắn muốn xóa nhóm này? Các task CVSV đã import nhóm này sẽ không bị ảnh hưởng.'}}
Thư viện công việc quy trình toàn cục
Tổng số quy trình có nhóm công việc: {{ bpmGroupedProcessTaskGroups.length }}
Không tìm thấy quy trình nào
Không có dữ liệu quy trình trùng khớp hoặc chưa có quy trình nào có nhóm công việc.
Công cụ sơ đồ
Sơ đồ liên kết 6 bước Chuỗi 6 bước lập kế hoạch & quản trị doanh nghiệp bài bản
Bản đồ chiến lượcLiên kết tài chính đến vận hành BPM Mô hình hóa liên kết nghiệp vụ toàn diện từ Hoạch định tài chính đến Quy trình BPM vận hành