Ví của tôi / Báo cáo chi phí Callbot
│
├── [Tháng MM, YYYY] ← Mỗi tháng là 1 khối riêng
│ ├── ▼ Callbot ← Section có thể thu/mở
│ │ ├── ▶ Chiến dịch ← Panel collapse (danh sách chiến dịch)
│ │ └── ▶ Đơn hàng ← Panel collapse (mã đơn thanh toán)
│ │
│ └── Tổng hợp ← Bảng metrics bên phải
│ ├── Số dư ban đầu
│ ├── Đã nạp thêm
│ ├── Đã dùng
│ ├── Còn lại (= ban đầu + nạp - dùng)
│ └── ▶ Tổng hợp theo nhân viên ← Panel collapse
│
├── [Tháng MM-1, YYYY] ... ← Tháng trước
└── ...
Chú ý phân loại chiến dịch:
AI Call Agent: Chiến dịch có badge Agent (màu xanh dương) trong danh sách
Callbot truyền thống: Chiến dịch không có badge Agent (dùng kịch bản phím bấm/TTS cơ bản)
3. Test Case: Hiển thị & Cấu trúc Giao Diện
3.1. Tổng quan trang
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_UI_01
Truy cập trang Báo cáo chi phí
1. Click icon Ví (💰) trên top-bar 2. Click “Báo cáo chi phí”
Trang tải thành công với tiêu đề “Ví của tôi / Báo cáo chi phí Callbot”. URL chuyển sang /wallet/expenses.
CR_UI_02
Hiển thị đúng tiêu đề Breadcrumb
Quan sát breadcrumb trên đầu trang
Breadcrumb hiển thị: Ví của tôi / Báo cáo chi phí Callbot.
CR_UI_03
Hiển thị thời gian cập nhật
Kiểm tra góc trên bên phải
Hiển thị: Cập nhật lần cuối lúc HH:MM:SS DD/MM/YYYY. Đây là thời gian dữ liệu được tính toán gần nhất.
CR_UI_04
Nút Reload cập nhật dữ liệu
Nhấn icon reload (🔄) bên cạnh thời gian cập nhật
Trang tải lại, thời gian “Cập nhật lần cuối” được cập nhật sang thời điểm hiện tại.
CR_UI_05
Hiển thị báo cáo theo tháng
Cuộn trang xuống
Mỗi tháng (có phát sinh giao dịch) hiển thị thành một khối riêng, sắp xếp từ mới đến cũ (tháng gần nhất ở trên).
CR_UI_06
Khối Callbot có thể thu gọn
Nhấn vào tiêu đề “Callbot” trong một khối tháng
Toàn bộ nội dung bên trong (Chiến dịch, Đơn hàng) thu gọn lại. Nhấn lại để mở rộng.
CR_UI_07
Tháng không có giao dịch
Kiểm tra xem tháng không có cuộc gọi nào có xuất hiện không
Tháng không có phát sinh chi phí không hiển thị trong danh sách (hoặc hiển thị với tất cả số liệu = 0).
4. Test Case: Panel “Tổng hợp” – Độ chính xác số liệu
4.1. Kiểm tra công thức tính toán
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_SUM_01
Công thức “Còn lại” tính đúng
Mở tháng bất kỳ → kiểm tra panel Tổng hợp
Còn lại = Số dư ban đầu + Đã nạp thêm – Đã dùng. Ghi nhận label công thức hiển thị đúng chữ “(= Số dư ban đầu + Đã nạp thêm – Đã dùng)”.
CR_SUM_02
Số dư ban đầu tháng sau = Còn lại tháng trước
So sánh “Số dư ban đầu” của Tháng N+1 với “Còn lại” của Tháng N
Hai giá trị phải bằng nhau. Ví dụ: Tháng 04 – Còn lại = 44.187.980 VNĐ → Tháng 05 – Số dư ban đầu = 44.187.980 VNĐ.
CR_SUM_03
“Đã dùng” khớp tổng chiến dịch
Mở rộng panel Chiến dịch trong cùng tháng → Cộng tổng chi phí tất cả chiến dịch
Tổng chi phí tất cả chiến dịch trong tháng = giá trị Đã dùng trong panel Tổng hợp. Sai số = 0.
CR_SUM_04
“Đã nạp thêm” = 0 khi tháng không nạp
Kiểm tra tháng không có lịch sử nạp tiền
Dòng “Đã nạp thêm” hiển thị 0 VNĐ.
CR_SUM_05
Số dư ban đầu hiển thị kèm số block
Kiểm tra ở một tháng có nhiều cuộc gọi
“Số dư ban đầu” hiển thị cả VNĐ lẫn số block tương ứng (VD: 50.589.190 VNĐ và 220.233 blocks).
CR_SUM_06
“Đã dùng” không bao gồm giao dịch “Đang chờ”
Kiểm tra khi có giao dịch ở trạng thái “Đang chờ”
Số tiền “Đang chờ” chưa được tính vào “Đã dùng” (hoặc đã tính, tùy thiết kế – cần xác nhận hành vi).
5. Test Case: Panel “Chiến dịch” – Danh sách và Chi phí
5.1. Hiển thị danh sách chiến dịch
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_CD_01
Mở rộng panel Chiến dịch
Nhấn vào “▶ Chiến dịch”
Panel mở rộng, hiển thị danh sách tất cả chiến dịch đã phát sinh chi phí trong tháng đó.
CR_CD_02
Thu gọn panel Chiến dịch
Nhấn vào “▼ Chiến dịch” khi đang mở
Panel thu gọn, ẩn danh sách chiến dịch.
CR_CD_03
Mỗi dòng chiến dịch hiển thị đúng thông tin
Quan sát từng dòng trong panel Chiến dịch
Mỗi dòng hiển thị: Tên chiến dịch và Số tiền đã dùng (dạng âm, VD: -43.180 VNĐ).
CR_CD_04
Chỉ hiển thị chiến dịch có phát sinh chi phí
Kiểm tra các chiến dịch ở trạng thái “Khởi tạo” chưa gọi
Những chiến dịch chưa thực hiện cuộc gọi nào không xuất hiện trong danh sách.
CR_CD_05
Tổng chi phí các dòng chiến dịch = Đã dùng
Cộng tay tất cả số tiền trong panel Chiến dịch
Tổng phải bằng đúng giá trị “Đã dùng” trong panel Tổng hợp cùng tháng.
5.2. Phân biệt AI Call Agent và Callbot truyền thống
ID
Tên Test Case
Loại chiến dịch
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_CD_06
Chi phí AI Call Agent cao hơn Callbot thường (cùng số block)
AI Agent vs Callbot thường
1. Mở panel Chiến dịch 2. So sánh chi phí/block của chiến dịch Agent và chiến dịch thường có cùng số block
Chi phí/block của AI Call Agent cao hơn Callbot thường do bao gồm phí AI Agent (Steve: +60đ/block; Mark: +110đ/block).
CR_CD_07
AI Call Agent xuất hiện trong danh sách chiến dịch
AI Agent
Chạy 1 chiến dịch Call Agent → kiểm tra báo cáo tháng đó
Tên chiến dịch AI Call Agent xuất hiện trong panel Chiến dịch với chi phí đúng (tính theo đơn giá AI Agent).
CR_CD_08
Callbot truyền thống xuất hiện trong danh sách
Callbot thường
Chạy 1 chiến dịch Callbot truyền thống → kiểm tra báo cáo
Tên chiến dịch xuất hiện với chi phí thấp hơn AI Agent (chỉ tính Gọi hàng loạt + Số chung + tính năng cơ bản).
CR_CD_09
Cùng thời lượng gọi – AI Agent tốn tiền hơn
So sánh 2 chiến dịch
1. Tạo 2 chiến dịch (1 Agent, 1 thường) với cùng danh sách và kịch bản tương tự 2. Chạy cả 2 → So sánh chi phí
Chi phí chiến dịch Agent > Callbot thường tương ứng với chênh lệch đơn giá AI Agent.
6. Test Case: Panel “Tổng hợp theo nhân viên”
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_EMP_01
Mở rộng panel Tổng hợp theo nhân viên
Nhấn “▶ Tổng hợp theo nhân viên”
Panel mở rộng, liệt kê từng nhân viên và số tiền/block đã sử dụng trong tháng.
CR_EMP_02
Tổng chi phí theo nhân viên = Đã dùng
Cộng tổng chi phí của tất cả nhân viên
Tổng = giá trị “Đã dùng” trong Tổng hợp (không tính chi phí không gán nhân viên nếu có).
CR_EMP_03
Nhân viên không gọi trong tháng
Thêm nhân viên mới không thực hiện chiến dịch nào
Nhân viên đó không xuất hiện trong Tổng hợp theo nhân viên (hoặc hiển thị với chi phí = 0).
CR_EMP_04
Chi phí nhân viên = tổng chi phí chiến dịch được gán
Chọn 1 nhân viên cụ thể → kiểm tra số tiền
Chi phí nhân viên X = Tổng chi phí tất cả chiến dịch mà X được gán làm Nhân viên hoặc Quản lý.
7. Test Case: Panel “Đơn hàng”
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_ORD_01
Mở rộng panel Đơn hàng
Nhấn “▶ Đơn hàng”
Panel mở rộng, hiển thị danh sách mã đơn hàng (invoice) tương ứng với các giao dịch nạp/trừ tiền trong tháng.
CR_ORD_02
Đơn hàng khớp với lịch sử giao dịch
Lấy một mã đơn hàng → kiểm tra trong Lịch sử giao dịch
Mã đơn hàng tồn tại và khớp dữ liệu trong Lịch sử giao dịch.
8. Test Case: Xuất báo cáo (“Tải về báo cáo đầy đủ”)
ID
Tên Test Case
Các bước thực hiện
Kết quả mong đợi
Trạng thái
CR_EXP_01
Tải báo cáo tháng hiện tại
Nhấn “↓ Tải về báo cáo đầy đủ” ở khối Tháng gần nhất
File .xlsx được tải về máy thành công.
CR_EXP_02
Nội dung file Excel đầy đủ
Mở file Excel vừa tải
File chứa đầy đủ: Danh sách chiến dịch, số block, thành tiền, Tổng hợp (ban đầu/nạp/dùng/còn), Tổng theo nhân viên.
CR_EXP_03
Số liệu file Excel khớp với UI
So sánh từng chỉ số trên UI với file Excel
Sai số = 0 cho tất cả các giá trị (Số dư ban đầu, Đã nạp, Đã dùng, Còn lại, chi phí từng chiến dịch).
CR_EXP_04
Tải báo cáo tháng cũ
Nhấn “↓ Tải về báo cáo đầy đủ” ở khối Tháng cũ hơn
File .xlsx tương ứng tháng đó được tải về với dữ liệu đúng tháng, không bị nhầm với tháng khác.
CR_EXP_05
Tên file Excel có chứa tháng
Kiểm tra tên file được tải
Tên file có chứa thông tin tháng (ví dụ: bao-cao-chi-phi-04-2026.xlsx hoặc tương tự).
9. Test Case: Edge Cases & Kiểm tra Toàn Vẹn Dữ Liệu
ID
Tên Test Case
Kịch bản
Kết quả mong đợi
Trạng thái
CR_EDGE_01
Tháng đầu tiên sử dụng
Workspace mới được tạo, tháng đầu tiên chạy chiến dịch
“Số dư ban đầu” = số tiền nạp lần đầu. “Đã nạp thêm” hiển thị đúng. “Còn lại” tính đúng.
CR_EDGE_02
Tháng nạp tiền nhiều lần
Nạp tiền 3 lần trong 1 tháng
“Đã nạp thêm” = Tổng cộng 3 lần nạp, không tính riêng lẻ.
CR_EDGE_03
Chi phí làm tròn
Cuộc gọi có thời lượng lẻ (ví dụ: 7s = 2 block × đơn giá)
Chi phí hiển thị đúng sau làm tròn block, không có sai số thập phân.
CR_EDGE_04
Dữ liệu real-time sau khi gọi xong
Thực hiện 1 cuộc gọi → Nhấn Reload trên trang Báo cáo
“Đã dùng” tăng thêm đúng chi phí cuộc gọi vừa thực hiện.
CR_EDGE_05
Nhiều loại chiến dịch cùng tháng
Tháng có cả AI Agent và Callbot thường và Telesale
Báo cáo phân chia chi phí đúng loại. Chi phí Callbot không bị cộng nhầm với Telesale.
CR_EDGE_06
Chiến dịch bị xóa vẫn giữ chi phí
Xóa một chiến dịch đã có phát sinh chi phí
Chi phí của chiến dịch đó vẫn hiển thị trong báo cáo tháng tương ứng (có thể với tên là “Chiến dịch đã xóa” hoặc tên gốc).
CR_EDGE_07
Workspace không có giao dịch
Workspace mới, chưa chạy chiến dịch nào
Trang Báo cáo chi phí hiển thị rỗng hoặc thông báo “Chưa có dữ liệu báo cáo”.
10. Dữ liệu tham chiếu thực tế (từ hệ thống Dev – Tháng 04/2026)
Chỉ số
Giá trị quan sát
Số dư ban đầu
57.019.980 VNĐ
Đã nạp thêm
0 VNĐ
Đã dùng
12.832.000 VNĐ
Còn lại
44.187.980 VNĐ
Kiểm tra công thức
57.019.980 + 0 – 12.832.000 = 44.187.980 ✅
Tài liệu kiểm thử tính năng Báo cáo Chi phí Callbot – UCALL Dev.