Sheet 7 · Business Workflows & Automation Engine

Quy trình hệ thống

Hệ thống quy trình nghiệp vụ số hoá toàn diện của CTC Smart Tech ERP — mô hình hoá theo chuẩn diagram-design kết hợp logic thật từ source code frontend-next/src/erp/**sync-server.

Tài liệu đầy đủ: Xem bộ tài liệu quy trình chuyên sâu có bảng đặc tả chi tiết 12 pha, SLAs, định mức và phân tích ngoại lệ tại trang Workflows Brief.
Mở Workflows Brief ↗

1. Sơ đồ tổng thể liên phòng ban — 12 pha

Sơ đồ tổng thể liên phòng ban CTC ERP — 12 phaQuy trình 4 lane qua 12 pha từ tiếp nhận Lead đến đóng hồ sơ 1 TIẾP NHẬN 2 BÁO GIÁ 3 KÝ HĐ 4 PHÂN CÔNG 5 BÓC TÁCH 6 TẠM ỨNG 7 SPRINT 8 REVIEW 9 KIỂM SOÁT 10 QUYẾT TOÁN 11 HOÁ ĐƠN 12 ĐÓNG HỒ SƠ SALES / BIZ QUẢN LÝ / BOD KỸ THUẬT / DELIVERY KẾ TOÁN / TÀI CHÍNH SAL Nhận Lead / RFQ HubSpot · Zalo · Web CRM Contact LD SAL Lập Báo giá Bóc tách chi phí & Scope Pricing BG-* LD QT SAL Ký Hợp đồng dealStage: won · 100% Project Init QT HD MGR Phân công PM & Lead PCCV theo chuyên môn Board Phân công HD AS ENG Bóc tách WBS & Task Điểm nghẽn — rõ việc Tasks CTC-* AS TK ACC Thu cọc & Tạm ứng Lập kế hoạch dòng tiền Finance / Bank HD TU ENG Thực thi Sprint & Focus Kanban · gp: · viec: Focus Mode TK DL ENG Review & Nghiệm thu Comment ghim · @mention Review Layer DL RV MGR Duyệt phát sinh & NCC Kiểm soát HĐ > 5tr Vendors AP RV PS ACC Quyết toán Dự án Đối soát thực thu/chi Settlement P&L PS ST ACC Xuất Hoá đơn GTGT Hoá đơn điện tử & AR Invoices CTC-* ST IV SAL CSKH & Đóng hồ sơ Hoa hồng · Lưu thư viện Library & Skill IV CL LEGEND bước focal (accent) XXchip OUT (xanh) = sản phẩm bước XXchip IN = đầu vào nhận trigger / đối chiếu (nét đứt) PAYLOAD LD Phiếu Lead / Yêu cầu giải pháp QT Báo giá BG-* kèm Scope/Proposal HD Hợp đồng dịch vụ & Hồ sơ đối tác AS Lệnh phân công phụ trách dự án TK Danh mục Deliverables & Task CTC-* TU Chứng từ thu cọc / Tạm ứng đợt 1 DL Sản phẩm bàn giao / Feature code RV Biên bản review & Thread nghiệm thu PS Phát sinh đã duyệt & Chi phí NCC ST Bảng đối soát quyết toán dự án IV Hoá đơn GTGT CTC-INV-* & Xác nhận thu đủ CL Hồ sơ đóng & Báo cáo hoa hồng/thuế VIẾT TẮT WBS Work Breakdown Structure (cơ cấu bóc tách việc) OCR Optical Character Recognition (quét ảnh hoá đơn) AR Accounts Receivable (công nợ phải thu) AP Accounts Payable (công nợ phải trả) NCC Nhà cung cấp / Đối tác triển khai SSE Server-Sent Events (kênh realtime /api/events) RBAC Role-Based Access Control (phân quyền module) P&L Profit & Loss (báo cáo lãi lỗ dự án)
Luồng tổng thể: 4 làn (Sales · Quản lý/BOD · Kỹ thuật/Delivery · Kế toán/Tài chính) qua 12 pha từ tiếp nhận Lead đến đóng hồ sơ. Điểm cốt lõi Pha 5 (Focal): Bóc tách WBS & Task CTC-* chi tiết để đảm bảo tiến độ và ngân sách.

2. Quy trình Bán hàng & Quản lý Deal (7 giai đoạn phễu)

Quy trình Bán hàng & Quản lý Deal — 10 bướcPipeline 7 giai đoạn từ tiếp nhận Lead đến ký kết và mở rộng 1 THU THẬP 2 SÀNG LỌC 3 TƯ VẤN 4 KHẢO SÁT 5 BÁO GIÁ 6 THƯƠNG LƯỢNG 7 KÝ HĐ 8 BÀN GIAO 9 ĐỒNG HÀNH 10 UPSELL MKT / LEAD GEN SALES LEAD SOLUTION ARCHITECT KHÁCH HÀNG / ĐỐI TÁC MKT Thu thập Lead HubSpot · Zalo OA · Web Lead Ingest API LD SAL Sàng lọc & Phân loại Gắn tag nganh: / gp: CRM Contacts LD CT SAL Tư vấn & Pitching Giới thiệu case study Library Boards CT DM SOL Khảo sát Kỹ thuật Lập One-pager & Kiến trúc Docs / Specs DM OP SAL Lập Báo giá & Proposal Tính Costing & Margin Pricing BG-* OP QT CUS Thương lượng & Chốt Focal: Điểm chuyển Won Deal Stage 80% QT OK SAL Ký HĐ & Nhận cọc Khởi tạo Project chính thức Project dealValue OK HD SAL Bàn giao cho Delivery Kickoff nội bộ & Scope WBS Handover HD HB SAL Đồng hành Nghiệm thu Tham gia các mốc Demo Review Layer HB AC SAL CSKH & Chào gói mới Gia hạn Retainer / AI Mail / Zalo CRM AC UP LEGEND bước focal (accent) XXchip OUT (xanh) = sản phẩm bước XXchip IN = đầu vào nhận trigger / đối chiếu (nét đứt) PAYLOAD LD Thông tin Lead mới từ các nguồn CT Hồ sơ Contact chuẩn hoá kèm tag DM Tài liệu Demo & Yêu cầu giải pháp OP One-pager kiến trúc & Bóc tách sơ bộ QT Báo giá BG-* chính thức gửi khách OK Xác nhận chốt hợp tác từ đối tác HD Hợp đồng đã ký & Deal Won 100% HB Biên bản bàn giao giao dịch cho Dev/PM AC Biên bản nghiệm thu từng giai đoạn UP Cơ hội mở rộng / Hợp đồng bổ sung VIẾT TẮT WBS Work Breakdown Structure (cơ cấu bóc tách việc) OCR Optical Character Recognition (quét ảnh hoá đơn) AR Accounts Receivable (công nợ phải thu) AP Accounts Payable (công nợ phải trả) NCC Nhà cung cấp / Đối tác triển khai SSE Server-Sent Events (kênh realtime /api/events) RBAC Role-Based Access Control (phân quyền module) P&L Profit & Loss (báo cáo lãi lỗ dự án)
Nguồn: Project.dealStage (7 giá trị lead→contact→demo→proposal→negotiation→won/lost), phễu kéo-thả trong projects/nexa. Điểm chốt deal Bước 6 (Focal): Chuyển dealStage: won, ghi nhận dealValue và chuyển giao sang Delivery Team.

3. Quy trình Kỹ thuật, Triển khai & Review

Quy trình Kỹ thuật, Triển khai & Vận hành — 10 bướcQuy trình thực thi công việc, review đa tầng và tự động hoá 1 KHỞI TẠO 2 BÓC TÁCH 3 PHÂN BỔ 4 KẾ HOẠCH 5 THỰC THI 6 REVIEW 7 TỰ ĐỘNG 8 DEMO UAT 9 NGHIỆM THU 10 ĐÓNG GÓI PROJECT MANAGER TECH / DEV TEAM REVIEW / QA LAYER STAKEHOLDER / CLIENT PM Tiếp nhận Dự án Khởi tạo Project status: planning Projects Module PJ PM Bóc tách WBS thành Task Sinh mã tự tăng CTC-* Tasks Kanban PJ TS PM Gắn Tag & Phân quyền gp: / nganh: / viec: Tag Manager TS TG DEV Lập Kế hoạch Sprint Thiết lập Due Date & Priority Calendar / Focus TG SP DEV Thực thi Công việc Focal: Focus mode & Code Kanban Board SP CD REV Review & Ghim Comment @mention · pin toạ độ Review Layer CD CM DEV Tích hợp Tự động hoá Triggers → Telegram/GWS Workflow Canvas CM WF STK Demo UAT với Khách Kiểm thử thực tế tính năng Staging Site WF DM PM Nghiệm thu Hạng mục Chuyển status: acceptance Projects Acceptance DM AC PM Đóng gói Kỹ năng & Doc Lưu trữ Skill & Library Skills Module AC SK LEGEND bước focal (accent) XXchip OUT (xanh) = sản phẩm bước XXchip IN = đầu vào nhận trigger / đối chiếu (nét đứt) PAYLOAD PJ Hồ sơ dự án khởi tạo trong hệ thống TS Danh mục Deliverables & Task CTC-* TG Ma trận Tag giải pháp và loại lao động SP Kế hoạch Sprint và mốc hoàn thành CD Feature code & Sản phẩm triển khai CM Thread review ghim theo trường/toạ độ WF Workflow tự động gửi thông báo relay DM Biên bản demo và phản hồi từ stakeholder AC Xác nhận nghiệm thu deliverable hoàn thành SK Quy trình chuẩn hoá đóng gói vào Kỹ năng VIẾT TẮT WBS Work Breakdown Structure (cơ cấu bóc tách việc) OCR Optical Character Recognition (quét ảnh hoá đơn) AR Accounts Receivable (công nợ phải thu) AP Accounts Payable (công nợ phải trả) NCC Nhà cung cấp / Đối tác triển khai SSE Server-Sent Events (kênh realtime /api/events) RBAC Role-Based Access Control (phân quyền module) P&L Profit & Loss (báo cáo lãi lỗ dự án)
Nguồn: TaskStatus 4 trạng thái (todo→in_progress→review→done); tự động set/clear completedAt theo status; Review layer (comment ghim theo pin.cid, @mention qua MentionTextarea, MentionBell SSE); Focus mode đếm focusedMin.

4. Quy trình Kế toán, Tài chính & Công nợ

Quy trình Kế toán, Tài chính & Công nợ — 10 bướcKiểm soát dòng tiền thu-chi, xuất hoá đơn, NCC và tính toán hoa hồng 1 THIẾT LẬP 2 NHẮC CỌC 3 XUẤT HĐ 4 DUYỆT CHI 5 ĐỐI SOÁT 6 ĐỊNH KỲ 7 LÃI LỖ 8 HOA HỒNG 9 BÁO CÁO 10 ĐÓNG SỔ KẾ TOÁN DOANH THU KẾ TOÁN CHI PHÍ KẾ TOÁN TRƯỞNG / CFO BAN GIÁM ĐỐI / BOD AR Thiết lập Mốc Hợp đồng Theo dõi tiến độ thanh toán Invoices Draft MS AR Theo dõi Thu Cọc Thông báo nhắc hạn tự động Calendar Deadline MS CQ AR Xuất Hoá đơn GTGT Quét OCR · Line-items Invoices CTC-* CQ IV AP Quản lý Hợp đồng NCC Kiểm tra cam kết vs đã trả Vendors Module IV VD CFO Đối soát Thu/Chi & AR Focal: Cảnh báo quá hạn Finance Cashflow VD CF AP Sinh Giao dịch Định kỳ Tự động chạy ngày N hàng tháng Recurrences Engine CF RC CFO Nghiệm thu Chi & Lãi Lỗ Bóc tách chi phí theo Project Project P&L RC PL AR Tính Hoa hồng & Thuế Lương + % deal + Thuế 2026 Income Module PL IC BOD Phê duyệt Báo cáo Tháng Xem Dashboard KPI tỷ trọng Dashboard Analytics IC RP CFO Đóng sổ Kỳ Kế toán Lưu trữ chứng từ & Backup System Log / S3 RP CL LEGEND bước focal (accent) XXchip OUT (xanh) = sản phẩm bước XXchip IN = đầu vào nhận trigger / đối chiếu (nét đứt) PAYLOAD MS Lịch các mốc thanh toán theo hợp đồng CQ Chứng từ tiền về tài khoản Techcombank IV Hoá đơn GTGT điện tử CTC-INV-* VD Hợp đồng NCC và đề nghị chi đã kiểm CF Báo cáo dòng tiền thực tế 13 tuần RC Giao dịch định kỳ tự sinh (Tool/License...) PL Báo cáo Lãi/Lỗ và Biên lợi nhuận dự án IC Bảng tính thu nhập, hoa hồng và thuế TNCN RP Báo cáo tài chính tháng được BOD duyệt CL Sổ kế toán kỳ báo cáo đã khoá chốt VIẾT TẮT WBS Work Breakdown Structure (cơ cấu bóc tách việc) OCR Optical Character Recognition (quét ảnh hoá đơn) AR Accounts Receivable (công nợ phải thu) AP Accounts Payable (công nợ phải trả) NCC Nhà cung cấp / Đối tác triển khai SSE Server-Sent Events (kênh realtime /api/events) RBAC Role-Based Access Control (phân quyền module) P&L Profit & Loss (báo cáo lãi lỗ dự án)
Nguồn: InvoiceStatus 5 trạng thái (draft→sent→paid→overdue→cancelled); tích hợp OCR scan ảnh hoá đơn; quản trị công nợ nhà cung cấp (Vendors AP) kiểm soát cam kết vs đã trả; duyệt chi BOD cho các khoản > 5.000.000đ; tính hoa hồng & thuế TNCN 2026.

5. Quy trình Tự động hoá (Workflow Engine)

Trigger Điều kiện Hành động chưa chạy trùng POST /api/me/relay/telegram POST /api/me/relay/gwswhitelist domain Ghi workflow_runsresult=success/error status_changediff qua store subscribe daily_scanquét mỗi 30 phút So field trước/sau Chống lặp: run-key+ tag wf:id:key create_task notify set_field send_telegramqua relay cá nhân send_gwswebhook GWS
Nguồn: Engine chạy client-side, 2 loại trigger (status_change diff qua store subscribe, daily_scan mỗi 30 phút), chống lặp bằng run-key + tag wf:<id>:<key> + so giá trị; 5 loại action gồm 3 nội bộ (create_task/notify/set_field) và 2 relay ra ngoài (send_telegram qua /api/me/relay/telegram, send_gws qua /api/me/relay/gws — chỉ nhận domain whitelist); mỗi lần chạy ghi 1 dòng vào workflow_runs.

Chi tiết cơ chế kích hoạt & Thực thi Actions của Workflow Engine

Thành phần EngineLoại / Phân loạiMô tả hoạt động & Quy tắc xử lý
Trigger: status_change Realtime Diff Bắt thay đổi trạng thái trong store trên 3 đối tượng (task.status, project.dealStage, invoice.status). Diff giữa snapshot trước và sau, bắt được cả thao tác tại chỗ lẫn cập nhật đến từ SSE của đồng nghiệp.
Trigger: daily_scan Scheduled (30 phút) Quét tự động khi mở app và lặp lại mỗi 30 phút. Hỗ trợ 4 kiểu quét: invoice_due (quét hạn hoá đơn theo mảng offsets ngày), task_overdue (việc quá hạn), stuck_in_status (đứng yên quá N ngày), stale_stage (deal ngâm lâu).
Bộ lọc Điều kiện Logic AND phẳng Lọc theo trường dữ liệu với 3 toán tử: eq (bằng), neq (khác), has (kiểm tra phần tử trong mảng tag).
Action: create_task Nội bộ (Internal) Tự động sinh Task mới; hỗ trợ biến template {name}{entity}; tự động tính hạn dueInDays; gán assignee mặc định theo đối tượng gốc; gắn tag ẩn chống lặp wf:<id>:<key>:a<i>.
Action: notify / set_field Nội bộ (Internal) notify: Bắn thông báo toast realtime và notification bell; set_field: Cập nhật giá trị trường dữ liệu (tự so sánh giá trị cũ để bỏ qua nếu đã đúng).
Action: send_telegram / send_gws Relay ra ngoài (External) Chuyển tiếp qua server relay (/api/me/relay/*), thay thế placeholder {name}/{entity}, bảo mật token và kiểm tra whitelist domain nghiêm ngặt.
Chống lặp 3 lớp Concurrency Guard Lớp 1: Fired-key deduplication trong user_data · Lớp 2: Quét tag ẩn trong store trước khi tạo task · Lớp 3: State value check trước khi set.

5b. Trợ lý ngoài gọi vào ERP — luồng duy nhất được phép (03/09/2026)

Chiều đúng là trợ lý gọi VÀO ERP, song song với giao diện web. ERP không đẻ tiến trình mô hình nào. Đây là luồng thay thế cho tính năng "Dựng bằng AI" đã gỡ.

Người dùng ──► Giao diện web ERP ──┐
                                    ├──► ERP (ứng dụng độc lập, có API + phân quyền)
Người dùng ──► Trợ lý trong        │
               workspace / bot ────┘
               (cầm khoá API của chính người đó)

Các bước

#BướcChi tiết & ràng buộc
1Trợ lý nạp khoáKhoá nằm trong .env của workspace người đó (ERP_API_KEY). Bẫy thực tế: mỗi lệnh shell là một tiến trình riêng — nạp khoá ở lệnh này rồi dùng biến ở lệnh sau là khoá rỗng, ERP trả "khoá dịch vụ không hợp lệ". Mọi lời gọi phải tự nạp khoá trong cùng một lệnh.
2Xác nhận danh tínhPOST /api/agent/whoami → trả về người mà khoá đại diện. Nếu không phải người đang nhắn thì phải dừng: mọi thứ tạo ra sẽ nằm trong tài khoản người kia và người đang nhắn sẽ không thấy.
3Nạp chỉ dẫn + ngữ cảnhPOST /api/agent/context → trả system (chỉ dẫn nạp vào system prompt), context (dữ liệu đã lọc hai tầng đúng quyền người đó), actions (bảng hành động máy đọc được, để nạp làm định nghĩa tool), keySkills (kỹ năng phát hành cho chính khoá này).
4Gọi hành độngPOST /api/agent/action với action + arg. Allowlist 9 hành động, gọi tên ngoài danh sách là 400 kèm danh sách hợp lệ: viec · tim · help · them · xong · trangthai · han · tao_ky_nang · tao_quy_trinh. Không có hành động xoá nào tồn tại — người dùng nhắn "xoá hết dữ liệu" thì trợ lý muốn gọi cũng không có gì để gọi.
5ERP ghi và trả lờiBản ghi mới thuộc về chủ khoá, luôn ở trạng thái nháp/tắt. revisions.actor_idrevisions.source='api-key' ghi lại ai làm và qua đường nào. Nhật ký [agent] ghi tên hành động, người thực hiện và kết quả — không ghi tham số và không ghi khoá.

Vì sao ERP không tự chạy CLI mô hình

Ngoại lệ từng tồn tại sáng 03/09 và bị gỡ cùng ngày. Tính năng "Dựng bằng AI" chạy claude -p / agy -p bằng tài khoản thuê bao trên máy chủ. Ba lý do gỡ, mỗi lý do đủ để cấm:
  1. Thực thi mã tuỳ ý. /api/ai-draft cho mọi tài khoản đăng nhập gõ 2000 ký tự tự do (30 lượt/giờ), nối thẳng vào dòng lệnh chạy dưới unix user erp — cùng máy với cơ sở dữ liệu của cả bốn khách hàng. Nhánh agy buộc phải --dangerously-skip-permissions nên mọi công cụ mở; nhánh claude dùng deny-list nên công cụ mới của CLI mặc định lọt. Chốt "thư mục làm việc là thư mục tạm rỗng" không phải biện pháp bảo mật: đường dẫn tuyệt đối không quan tâm tiến trình đang đứng ở đâu.
  2. Sinh hàng loạt phiên rác. Mỗi lời gọi headless đẻ một phiên CLI có thư mục và trạng thái tích luỹ. ERP phục vụ nhiều người, nhiều tenant, chạy nền liên tục.
  3. Vòng lặp kiến trúc. Phiên CLI cầm khoá gọi ngược vào ERP → ERP lại gọi CLI. Hai hệ thống cùng giữ một trách nhiệm, không nơi nào là nguồn sự thật.

6. Yêu cầu Phát triển → Duyệt → Phát hành Kỹ năng & Quy trình

Từ chối Đồng ý Member tạo Yêu cầu phát triểnkind=workflow|skill, status=new Mô tả @tag người liên quan Admin xem /requests status=reviewing Quyết định status=rejected+ review_note status=approved+ review_note Phát triển Workflow/Skill thậttarget_id trỏ bản ghi status=released+ released_version Timeline hiển thịgửi → duyệt → phát hành
Nguồn: Bảng dev_requests, 5 trạng thái new→reviewing→approved/rejected→released; endpoint /api/requests/review ADMIN-ONLY; sửa nội dung yêu cầu chỉ được phép khi còn status='new'; timeline hiển thị trên panel trang /requests.

Chi tiết Vòng đời Quản trị Kỹ năng (SOP) & Yêu cầu Phát triển

Giai đoạn / BướcVai trò thực hiệnNội dung nghiệp vụ & Ràng buộc toàn vẹn
1. Đề xuất yêu cầu (Submit) Mọi nhân sự Gửi yêu cầu tạo mới hoặc sửa đổi qua /requests; chọn kind (workflow hoặc skill); nhập tiêu đề và mô tả có @mention; nếu là sửa đổi thì liên kết targetId. Trạng thái khởi tạo: new.
2. Chỉnh sửa yêu cầu Người gửi Người gửi chỉ được phép sửa tiêu đề/nội dung khi yêu cầu đang ở trạng thái new. Khi đã chuyển sang reviewing, quyền sửa bị khoá.
3. Đánh giá & Duyệt (Review) Admin / BOD Admin tiếp nhận, chuyển sang reviewing, thẩm định tính khả thi và tiêu chuẩn hoá của SOP/Workflow; quyết định approved hoặc rejected kèm reviewNote.
4. Triển khai & Phát hành Admin / Dev Lead Sau khi cấu hình hoàn thiện Kỹ năng/Workflow, Admin chuyển trạng thái sang released, gắn số hiệu phiên bản releasedVersion (ví dụ: v1.2); hệ thống tự động lưu snapshot vào lịch sử 20 phiên bản của Skill / 10 phiên bản của Workflow.
5. Phổ biến & Tái sử dụng Toàn thể nhân sự Kỹ năng sau khi phát hành (published=true) xuất hiện trên danh bạ Kỹ năng chung; nhân sự có thể tra cứu, nhập checklist vào công việc thực tế hoặc nhân bản (Duplicate) thành cẩm nang cá nhân.