Trường Số PRD/09 Báo cáo
Trường Số · Yêu cầu sản phẩm · 09/2026

PRD 09 · Báo cáo và dashboard

Một dashboard điều hành tổng hợp tuyển sinh, học viên, lớp học, điểm danh và tài chính, có drill-down, một thư viện báo cáo chuẩn theo từng mô-đun, bản tổng hợp gửi định kỳ, và tính năng xuất dữ liệu. Mở rộng từ dashboard bán hàng và trang drill-down hiện có.

Xuất xứ / Prompt / Giới hạn
Trạng thái
Draft v1
Mô-đun phụ trách
Báo cáo
Backend
EXISTING 5 CRM dashboard endpoints, tuition stats, rollups · NEW cross-module aggregates
Giai đoạn
P1 dashboard điều hành · P2 thư viện báo cáo, bản tổng hợp gửi định kỳ
Phụ thuộc vào
tất cả mô-đun

Tài liệu do trợ lý AI soạn trong một phiên làm việc ngày 10/09/2026, theo yêu cầu gốc được trích nguyên văn ở trang mục lục; mục Thiết kế đề xuất được bổ sung ngày 16/09/2026. Đây là bản đề xuất để đội thảo luận, chưa phải quyết định của đội sản phẩm.

Nguồn

  • Nghiên cứu công khai về đối thủ cạnh tranh (PSE ONE, pse4.one), mã nguồn center-crm-frontend và đặc tả OpenAPI /v3 trên staging (182 endpoint), tính đến ngày 10/09/2026.
  • Nhãn existing / extend / new trong trang được xác định bằng cách đối chiếu với đặc tả /v3 trên staging tại thời điểm trên.

Giới hạn

  • Cần xác minh khi khảo sát trực tiếp trong ứng dụng, vì đăng nhập tự động vào sản phẩm tham chiếu chưa được cấp phép trong phiên soạn:
    • Danh sách báo cáo của đối thủ ("thống kê danh sách nhân sự / lớp / học sinh / buổi học còn lại / doanh số tư vấn / thu chi / công nợ / kho") và tập hợp cột của họ.
    • Họ có dashboard với biểu đồ hay chỉ có báo cáo dạng bảng.
    • Các định dạng xuất được cung cấp.

Thiết kế đề xuất

Bố cục chung là một dashboard điều hành bốn dòng ô theo Cloud theme, các trang chủ theo vai trò dùng lại cùng ô và bảng, và mọi số liệu đều là liên kết mở danh sách đã tạo ra số liệu đó.

1 · Dashboard điều hành

/dashboard · desktop

Dashboard điều hành
Thanh bộ lọc gồm chi nhánh, kỳ (tuần này, tháng này, tháng trước, quý này, tuỳ chỉnh) và công tắc so sánh với kỳ trước. Bốn dòng ô Tiền, Học viên, Lớp học, Tuyển sinh theo đúng bảng ở mục 3; mỗi ô có giá trị, mức thay đổi và liên kết drill-down, ô Công nợ quá hạn kèm biểu đồ mini theo tuổi nợ, ô Buổi chưa điểm danh và Sắp hết buổi mang chip trạng thái. Bên dưới là hai biểu đồ Thu theo ngày (cột thực thu, đường đã lập hoá đơn) và Học viên theo tháng, rồi bảng Theo chi nhánh với dòng Cầu Giấy đang được chọn để đổi bộ lọc chi nhánh (REP-01, REP-02).

2 · Trang chủ giáo vụ

/dashboard?role=academic_admin · desktop

Trang chủ giáo vụ
Năm ô tóm tắt buổi học hôm nay, học viên chờ xếp lớp, lớp gần đầy, lớp kết thúc trong 14 ngày và yêu cầu phụ huynh đang mở. Bảng buổi học hôm nay thể hiện các trạng thái đã điểm danh, chưa điểm danh, đang diễn ra và cần giáo viên dạy thay khi giáo viên xin nghỉ; cột phải liệt kê học viên đang chờ theo trình độ, lớp gần đầy hoặc sắp kết thúc, và yêu cầu từ phụ huynh (mục 4).

3 · Trang chủ kế toán

/dashboard?role=accountant · desktop

Trang chủ kế toán
Các ô Khoản thu hôm nay, chuyển khoản chưa đối soát, hoá đơn chờ duyệt, công nợ quá hạn và lỗi hoá đơn điện tử. Bảng chuyển khoản chưa đối soát hiển thị gợi ý khớp hoá đơn với ba trạng thái (khớp một hoá đơn, cần chọn, không khớp); cột phải là công nợ theo nhóm tuổi nợ, trạng thái chốt quỹ từng chi nhánh (đã chốt, chưa chốt, lệch quỹ) và hoá đơn chờ duyệt; lỗi phát hành hoá đơn điện tử được nêu trong khung cảnh báo (mục 4).

4 · Trang chủ giáo viên (di động)

/dashboard?role=teacher · mobile

Trang chủ giáo viên
Màn hình di động của giáo viên: băng cảnh báo buổi chưa điểm danh, buổi học hôm nay với trạng thái điểm danh, lịch trong tuần theo ngày, học viên cần lưu ý (vắng học, sắp hết buổi, đi muộn) và bài tập FLYER đến hạn lấy từ dữ liệu hiện có (mục 4).

5 · Thư viện báo cáo

/reports · desktop

Thư viện báo cáo
16 báo cáo chuẩn nhóm theo mô-đun đúng bảng ở mục 5; mỗi dòng ghi đơn vị dòng và bộ lọc, có nút Xuất Excel; chip Đã lưu bộ lọc thể hiện bộ lọc lưu theo từng người dùng trong view-configs. Thẻ Xuất gần đây cho thấy một lượt xuất 20.164 dòng chạy dưới dạng job và một job đang xử lý (REP-04).

6 · Báo cáo Nguồn khách và chuyển đổi

/reports/lead-sources · desktop

Nguồn khách và chuyển đổi
Trang báo cáo mẫu: thanh bộ lọc chi nhánh, kỳ, kênh và bộ lọc đã lưu; dòng tổng số liệu; bảng đủ các cột lead, học thử, kiểm tra xếp lớp, đã chuyển đổi, tỷ lệ, doanh thu từ chuyển đổi và dòng Tổng. Các số liệu là liên kết drill-down, tooltip cho thấy đích /crm/customers với cùng kỳ đang áp dụng (REP-01); phân trang 100 dòng, header cố định khi cuộn (mục 5).

7 · Cài đặt bản tổng hợp hằng tuần

/reports/digest · desktop

Bản tổng hợp hằng tuần
Cài đặt gửi: công tắc bật, ngày và giờ gửi (Thứ Hai 07:30), người nhận giới hạn ở chủ trung tâm và quản lý chi nhánh, phạm vi số liệu theo quyền và các phần nội dung. Cột phải xem trước email tuần trước theo từng chi nhánh kèm liên kết mở dashboard, và lịch sử gửi có một lần thất bại (REP-03, endpoint /v3/school/digest-settings).

1Mục đích

Câu hỏi của chủ trung tâm là "trung tâm đang hoạt động ra sao trong tháng này" và câu hỏi của quản lý chi nhánh là "hôm nay cần xử lý gì". Dashboard hiện có đã trả lời phần bán hàng (funnel, thắng/thua, nhân viên bán hàng xuất sắc, công việc hôm nay). PRD này bổ sung góc nhìn vận hành và tài chính, tuân theo cùng nguyên tắc drill-down: mọi số liệu đều liên kết đến danh sách đã tạo ra số liệu đó. Báo cáo là các danh sách có bộ lọc và tổng số liệu, có thể xuất ra; chưa có công cụ tự tạo báo cáo trong P1.

Trong phạm vi

Ngoài phạm vi

2Hiện trạng

WidgetEndpointGiữ lại
Việc tôi cần làm hôm nay: công việc quá hạn, đến hạn hôm nay, cuộc gọi đang chờ, sắp đóng, khách hàng nguộiGET /v3/crm/dashboard/sale-summary?periodcó, trang chủ tuyển sinh
Thẻ quản lý: giá trị pipeline, giao dịch đang mở, số lượng và giá trị đã thắng, đã thua, tỷ lệ chuyển đổi, giá trị giao dịch trung bình/manager-summarycó, phần tuyển sinh trong dashboard điều hành
Xu hướng thắng/thua, funnel, nhân viên bán hàng xuất sắc (ECharts)/won-lost-trend, /funnel, /top-salescó
Trang drill-down với bản đồ danh mục (overdue_tasks, due_today, pending_calls, closing_soon, cold_customers, pipeline_open, won_period, lost_period)endpoint danh sách customers và interactionscó; mẫu được mở rộng thêm
Số liệu học phí (tổng, đã thanh toán, chưa thanh toán, số lượng quá hạn)/school-finance/tuitions/statscó
Tổng hợp theo giáo viên (học viên, bài kiểm tra, tỷ lệ hoàn thành, tăng trưởng)/v3/teacher/viewer/rollup-teacherscó
Widget kế hoạch hôm nay/me/today-plancó; bổ sung thêm mục điểm danh và tài chính
Chế độ demo với dữ liệu giả khi trung tâm chưa có khách hàng nàoclientgiữ lại cho các trung tâm chưa có dữ liệu

3Dashboard điều hành

Route /dashboard dành cho owner và branch_manager; bộ lọc: chi nhánh (tất cả hoặc một chi nhánh), kỳ (tuần này, tháng này, tháng trước, quý này, tuỳ chỉnh), công tắc so sánh với kỳ trước. Bố cục: bốn dòng ô và biểu đồ; mỗi ô hiển thị giá trị, mức thay đổi so với kỳ trước, và một liên kết. Các widget tải độc lập với nhau.

DòngWidgetĐịnh nghĩaDrill-down
TiềnDoanh thu lập hoá đơnΣ tổng giá trị hoá đơn được tạo trong kỳ (không tính hoá đơn đã huỷ)/finance/tuition?created
Thực thuΣ các khoản thanh toán hợp lệ trong kỳ/finance/cashbook?type=in
Công nợ quá hạnΣ số tiền còn lại trên các hoá đơn đã quá hạn tại thời điểm cuối kỳ; biểu đồ mini theo tuổi nợ/finance/debt
Chi phíΣ các khoản chi đã được phê duyệt trong kỳ/finance/cashbook?type=out
Học viênHọc viên đang họcsố lượng học viên có trạng thái đang học tại thời điểm cuối kỳ; mức thay đổi/students?status=active
Nhập học mớilượt ghi danh đầu tiên bắt đầu trong kỳ/students?enrolled_from
Nghỉ họcsố học viên nghỉ học trong kỳ; tỷ lệ rời bỏ = số nghỉ học / số đang học tại đầu kỳ/students?status=withdrawn
Sắp hết buổi / hết hạnsố dư buổi ≤ 3 hoặc sắp hết hạn trong vòng 14 ngày/students?low_balance
Lớp họcTỷ lệ lấp đầyΣ số lượt ghi danh đang hoạt động / Σ sĩ số tối đa của các lớp đang hoạt động/classes?tab=active
Chuyên cầntỷ lệ chuyên cần trong kỳ; tỷ lệ đi muộn/attendance?tab=report
Buổi chưa điểm danhcác buổi học đã kết thúc hơn 2 giờ nhưng chưa có phiếu điểm danh/attendance?tab=unmarked
Tuyển sinhKhách mớisố lead được tạo trong kỳ, theo nguồn (biểu đồ cột chồng)/crm/customers?created
Chuyển đổisố lượt chuyển đổi / số lead được tạo; tỷ lệ từ học thử sang nhập học/crm/customers?status=won
Giá trị pipeline và funneltổng hợp quản lý và funnel hiện códrill-down hiện có
Biểu đồThu theo ngàythực thu theo ngày (cột) so với đã lập hoá đơn (đường), theo kỳ
Học viên theo thángđang học, mới, nghỉ học theo từng tháng, trong 12 tháng
BảngTheo chi nhánhmỗi dòng một chi nhánh: học viên, mới, nghỉ học, tỷ lệ lấp đầy, chuyên cần, đã lập hoá đơn, thực thu, quá hạnchọn dòng để đổi bộ lọc chi nhánh

Quy tắc biểu đồ (dataviz nội bộ): dùng màu tím thương hiệu cho chuỗi dữ liệu chính, màu xám cho dữ liệu so sánh, chỉ dùng màu trạng thái khi thể hiện ý nghĩa trạng thái; không dùng hiệu ứng 3D, không dùng biểu đồ tròn khi có hơn 5 phần; nhãn trục cỡ 11.5 px; tooltip hiển thị giá trị và mức thay đổi.

4Trang chủ theo vai trò

Vai tròNội dung trang chủ
Tuyển sinhCác thẻ bán hàng và kế hoạch hôm nay hiện có; cùng với Học thử tuần này, Gọi lại quá hạn.
Giáo vụBuổi học hôm nay kèm số lượng chưa điểm danh, học viên đang chờ theo trình độ, các lớp gần đầy sĩ số, các lớp kết thúc trong 14 ngày tới, yêu cầu từ phụ huynh đang mở, cần giáo viên dạy thay (buổi học có giáo viên xin nghỉ).
Kế toánKhoản thu hôm nay, giao dịch chuyển khoản chưa đối soát, hoá đơn đang chờ duyệt, quá hạn theo nhóm tuổi nợ, trạng thái chốt quỹ theo từng chi nhánh, lỗi phát hành hoá đơn điện tử.
Giáo viênBuổi học hôm nay, buổi học chưa điểm danh, lịch trong tuần, học viên cần lưu ý (vắng học, sắp hết buổi), bài tập FLYER đến hạn (dữ liệu hiện có).

5Thư viện báo cáo

Mô-đunBáo cáoDòngCột chínhBộ lọc
Tuyển sinhNguồn khách và chuyển đổinguồn × kỳlead, học thử, kiểm tra xếp lớp, đã chuyển đổi, tỷ lệ, doanh thu từ chuyển đổichi nhánh, kỳ, kênh
Tuyển sinhHiệu suất tư vấntư vấn viêncuộc gọi, thời gian gọi, lượt đặt học thử, chuyển đổi, giá trị đã thắngkỳ
Học viênDanh sách học viênhọc viêntoàn bộ các cột hồ sơ, trạng thái, lớp, số dư, công nợtrạng thái, lớp, trình độ, chi nhánh
Học viênNghỉ học và lý dolượt nghỉ họchọc viên, ngày, lý do, số tháng đã học, hoàn tiềnkỳ, chi nhánh
Học viênSắp hết hạnhọc viênsố dư, ngày hết hạn, lớp, người thanh toán, lần nhắc gần nhấtngưỡng
Lớp họcLấp đầy lớplớpsĩ số tối đa, đã ghi danh, đang chờ, % lấp đầy, số buổi còn lại, ngày kết thúcchi nhánh, trình độ
Lớp họcSử dụng phòngphòng × ngày trong tuầnsố giờ đã đặt / số giờ khả dụngchi nhánh, tuần
Điểm danhChuyên cần theo lớp / học viên / giáo viêntheo từng nhómđã điểm danh, có mặt, muộn, vắng, có phép, tỷ lệ, chưa điểm danhkỳ, chi nhánh
Tài chínhDoanh thu và thực thungày hoặc thángđã lập hoá đơn, đã thu theo phương thức, hoàn tiền, thực nhậnchi nhánh, kỳ
Tài chínhCông nợ theo tuổi nợhọc viênnhóm tuổi nợ, hạn quá hạn lâu nhất, ngày hẹn thanh toánchi nhánh
Tài chínhDoanh thu theo khoá / góikhoá học, gói học phísố hoá đơn, số tiền, tổng giảm giá, giá trung bìnhkỳ
Tài chínhDoanh thu hoãn lạihọc viênsố buổi chưa dùng × đơn giá, ngày hết hạnchi nhánh
Tài chínhSổ quỹbút toánsổ quỹtài khoản, kỳ
Nhân sựGiờ dạy giáo viêngiáo viên × thángsố buổi, số giờ, số buổi dạy thay, lươngchi nhánh, tháng
KhoTồn kho và nhập xuấtmặt hàngtồn kho, nhập, xuất, giá trịchi nhánh, kỳ
Liên lạcTin đã gửiloại × kênhđã gửi, đã nhận, thất bại, chi phíkỳ

Mỗi trang báo cáo gồm: tiêu đề, thanh bộ lọc (các nút dropdown theo theme Cloud), dòng tổng số liệu, bảng có header cố định, phân trang 100 dòng, các nút Xuất Excel và Lưu bộ lọc (theo từng người dùng, lưu trong view-configs). Các lượt xuất trên 5.000 dòng chạy dưới dạng job.

6User story và tiêu chí chấp nhận

REP-01Chủ trung tâm xem báo cáo tháng
  • Given Dashboard điều hành với kỳ Tháng này và Tất cả chi nhánh
  • When Tải trang
  • Then Mọi ô hiển thị trong vòng 1,5 giây (p95), mức thay đổi so với tháng trước, và khi chọn một ô sẽ mở danh sách đã lọc với cùng kỳ đang áp dụng.
REP-02Số liệu khớp nhau
  • Given Ô Thực thu
  • When So sánh với tổng sổ quỹ theo cùng bộ lọc
  • Then Hai số liệu bằng nhau; kế hoạch kiểm thử bao gồm việc đối soát này cho mọi ô liên quan đến tiền.
REP-03Bản tổng hợp hằng tuần
  • Given Chủ trung tâm và quản lý chi nhánh đã bật bản tổng hợp
  • When Thứ Hai 07:30
  • Then Một email chứa các số liệu chính của tuần trước theo từng chi nhánh kèm liên kết được gửi đi; nội dung tương tự cũng có sẵn tại /reports/digest.
REP-04Xuất dữ liệu
  • Given Một báo cáo có 20.000 dòng
  • When Xuất dữ liệu
  • Then Một job được chạy, một thông báo gửi kèm liên kết đã ký trong vòng 60 giây, và lượt xuất được ghi nhận vào nhật ký như một lượt xuất dữ liệu cá nhân khi có liên quan.

7Dữ liệu và API

Dashboard đọc dữ liệu từ các bảng tổng hợp theo ngày được duy trì (agg_daily_school: date, school_id, billed, collected, refunds, expenses, active_students, new_enrollments, withdrawals, sessions_held, present, late, absent, excused, unmarked, leads_new, conversions), được làm mới mỗi khi có ghi mới và tính lại vào ban đêm. Các ô thời gian thực (buổi chưa điểm danh, chuyển khoản chưa đối soát, phê duyệt đang chờ) truy vấn trực tiếp từ các bảng dữ liệu sống.

MethodPathRequest / responseStatus
GET/v3/crm/dashboard/*không thay đổiexisting
GET/v3/school/dashboard/executiveschool_id?, from, to, compare=true → {tiles: {key: {value, prev, delta_pct, link}}, series: {...}, by_school: [...]}new
GET/v3/school/dashboard/home?role=các widget trang chủ theo vai trònew
GET/v3/school/reports/{key}bộ lọc theo từng báo cáo; page, limit; format=xlsx → rows + totals hoặc job idnew
GET/v3/school/reports/jobs/{id}status, url tải xuốngnew
GET/PUT/v3/crm/view-configs/{view}bộ lọc đã lưu theo từng view key của báo cáoexisting
GET/PUT/v3/school/digest-settings{enabled, recipients, weekday, hour}new

8Phân quyền

Mã quyềnownerbranch_manageraccountantacademic_adminadmissionsteacher
reports.executivetất cảchi nhánhphần tài chínhkhôngkhôngkhông
reports.admissionscóchi nhánhkhôngkhôngkhách hàng được phân côngkhông
reports.academiccóchi nhánhkhôngchi nhánhkhônglớp được phân công
reports.financecóchi nhánhchi nhánhkhôngkhôngkhông
reports.exportcócótài chínhhọc vụkhôngkhông

9Sự kiện phân tích

Sự kiệnThuộc tính
dashboard_viewedrole, period, branch_scope, load_ms
tile_drilldowntile_key
report_viewedkey, filters_count
report_exportedkey, rows, job
digest_sent / digest_opened

10Trường hợp biên và câu hỏi còn mở

Trường Số (truongso.net) · Nội bộ FLYER