Mỗi vai trò có tài khoản demo, các trang chính và các luồng làm thử từng bước. Hệ thống chỉ có một khu duy nhất sau khi đăng nhập: menu bên trái hiện các mục theo quyền của tài khoản (người có cả tư cách thành viên lẫn quyền vận hành thấy cả hai nhóm). Mật khẩu chung Elysa@74738d4bDemo (chỉ dành cho môi trường phát triển). Dữ liệu mẫu nạp bằng npm run db:seed:demo.
Mua hàng, theo dõi đơn, đánh giá sản phẩm. Không có quyền vào khu quản trị.
Đăng nhập: khach@elysa.demo (hoặc kh01…kh30@elysa.demo) · Trang đăng nhập có sẵn nút điền nhanh.
Cửa hàng → Sản phẩm: Chọn sản phẩm, bấm thêm vào giỏ (nút + trên thẻ sản phẩm). Mở trang →
→ Biểu tượng giỏ tăng số lượng.
Giỏ hàng: Kiểm tra số lượng, bấm Thanh toán. Mở trang →
→ Chuyển sang trang Thanh toán.
Thanh toán → Mã khuyến mãi: Nhập CHAO10 (đơn từ 300.000 ₫) rồi bấm Áp dụng. Nhập tỉnh (ví dụ Tỉnh Demo 1) để thấy phí giao theo tỉnh. Mở trang →
→ Dòng “Mã CHAO10” trừ tiền; phí giao và ngày dự kiến đổi theo tỉnh. Mã sai/hết hạn hiện lý do ngay dưới ô nhập.
Thanh toán: Điền thông tin nhận hàng, chọn Chuyển khoản (sandbox) hoặc COD, bấm Đặt hàng.
→ Chuyển tới trang đơn hàng. Đơn chuyển khoản giữ tồn 30 phút.
Trang đơn hàng: Với chuyển khoản sandbox bấm “Mô phỏng thanh toán thành công”.
→ Trạng thái thanh toán thành “Đã thu”. Với COD, chờ kế toán xác nhận thu tiền.
Đơn của tôi: Theo dõi các bước: Đang chuẩn bị → Đang giao → Đã giao → Hoàn thành (do vận hành cập nhật). Mở trang →
→ Timeline đơn cập nhật theo từng bước.
Trang sản phẩm đã mua (đơn đã Hoàn thành): Cuộn xuống “Đánh giá từ người đã mua”, chọn số sao, viết tối thiểu 10 ký tự, Gửi. Mở trang →
→ Thông báo chờ duyệt. Đánh giá chỉ hiện công khai sau khi vận hành duyệt; tên hiển thị được rút gọn.
Mua với giá ưu đãi theo cấp; CTV giới thiệu có link/QR và được ghi nhận đơn từ người được giới thiệu.
Đăng nhập: ctv@elysa.demo (CTV mua hàng), ctvgt@elysa.demo (CTV giới thiệu, có thu nhập P1) · Trang đăng nhập có sẵn nút điền nhanh.
ctvgt@elysa.demoAffiliate: Sao chép liên kết hoặc quét QR. Xem số lượt truy cập 30 ngày, số người đăng ký, danh sách đơn. Mở trang →
→ Mỗi đơn có trạng thái: Có hoa hồng / Đang chờ / Không được tính, kèm lý do.
Khách (cửa sổ ẩn danh)Mở link /r/<mã>: Mở link, đăng ký tài khoản mới, đặt một đơn.
→ Đơn xuất hiện ở Affiliate của người giới thiệu. Có hoa hồng hay không do loại giao dịch và tư cách quyết định, không phải mọi đơn qua link.
Thu nhập: Mở kỳ 2026-09, bấm vào từng khoản để xem công thức, cơ sở tính, chính sách áp dụng. Mở trang →
→ Mỗi khoản giải thích được: loại, cơ sở, tỷ lệ, kết quả.
Ví: Xem ví chờ / khả dụng / đang khóa; bấm Rút tiền, nhập số tiền và tài khoản, nhận OTP (sandbox hiện mã ngay trong form) hoặc dùng passkey. Mở trang →
→ Tiền chuyển sang “đang khóa” và yêu cầu chờ người khác duyệt (xem luồng Rút tiền ở phần kế toán/kiểm soát).
Mua giá đối tác, quản lý đội nhóm, xem doanh thu nhóm, kho cá nhân, KPI, hợp đồng, check-in sự kiện.
Đăng nhập: khoa@elysa.demo (Đại lý Huyện – Leader), ha@elysa.demo (Đại lý Tỉnh), dl1…dl7, diem-a, diem-b @elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
khoa@elysa.demoĐội nhóm: Mở rộng các nhánh F1/F2, tìm theo tên hoặc mã thành viên. Mở trang →
→ Chỉ thấy người trong nhánh của mình; số điện thoại được che.
Báo cáo: Chọn khoảng thời gian, xem doanh thu cá nhân và nhóm. Mở trang →
→ Số liệu khớp với kỳ đã đối soát.
khoa@elysa.demoKho: Xem tồn, bấm Bán lẻ để ghi một lượt bán, hoặc Chuyển cho thành viên khác. Mở trang →
→ Tồn giảm đúng số lượng, có lịch sử; không bán vượt tồn.
dl2@elysa.demo (chưa chấp nhận)Hợp đồng: Đọc nội dung, bấm Nhận OTP, nhập mã (sandbox hiện sẵn), Xác nhận. Mở trang →
→ Ghi nhận bằng chứng chấp nhận gắn với bản nội dung (băm). Hợp đồng mới phiên bản sau phải chấp nhận lại.
Mã QR: Mở QR thành viên đưa cho người quét; hoặc quét QR của sự kiện. Mở trang →
→ Check-in được ghi một lần cho mỗi người; QR không chứa thông tin cá nhân.
Xử lý đơn, quản lý sản phẩm/danh mục/kho, khuyến mãi, banner, vận chuyển, đánh giá, khách hàng, sự kiện.
Đăng nhập: ops@elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
Đơn hàng: Lọc “Đã xác nhận”, bấm mã đơn để mở trang chi tiết. Mở trang →
→ Thấy sản phẩm, giao dịch thanh toán, người nhận, lịch sử trạng thái.
Chi tiết đơn → Thao tác: Bấm lần lượt Bắt đầu xử lý → Giao hàng → Đã giao → Hoàn thành đơn.
→ Mỗi bước ghi vào lịch sử. Hoàn thành chỉ làm được khi đã thu tiền và đã giao; đơn hoàn thành sinh doanh thu ghi nhận cho kỳ thưởng và nhập hàng vào kho cá nhân nếu người mua là đối tác.
Chi tiết đơn: Bấm In phiếu hoặc Phiếu giao hàng (không có giá, có thu hộ COD).
→ Mở trang in; chứng từ nội bộ, không phải hóa đơn VAT.
Danh mục & NCC: Thêm danh mục/thương hiệu/nhà cung cấp nếu chưa có; dùng “Sửa nhanh” để đổi tên, thứ tự hiển thị, ẩn/hiện. Mở trang →
→ Thay đổi ghi nhật ký.
Sản phẩm & kho → Thêm sản phẩm: Nhập tên, danh mục, SKU, quy cách, giá niêm yết (đã gồm VAT), VAT. Mở trang →
→ Sản phẩm xuất hiện ở trang sản phẩm khi còn bán.
Sản phẩm → mở sản phẩm: Tải ảnh (PNG/JPG/WebP ≤ 2 MB; hệ thống kiểm chữ ký tệp, không tin đuôi tệp).
→ Ảnh hiện ở trang sản phẩm.
Kho hàng → Phiếu nhập kho: Nhập SKU, số lượng, số phiếu. Đặt ngưỡng cảnh báo sắp hết. Mở trang →
→ Tồn tăng một lần (nhập lại cùng số phiếu không cộng thêm). SKU sắp hết hiện nhãn vàng, hết hàng nhãn đỏ.
Khuyến mãi → Tạo mã mới: Nhập mã, loại giảm (% có trần hoặc số tiền), đơn tối thiểu, cấp áp dụng, số lượt, thời gian. Mở trang →
→ Mã ở trạng thái “Chờ duyệt”, khách chưa dùng được.
kiemsoat@elysa.demoKhuyến mãi: Đăng nhập tài khoản kiểm soát, bấm Kích hoạt.
→ Mã thành “Đang chạy”. Người soạn không tự kích hoạt được. Sửa mã đang chạy phải Tạm dừng trước và sau khi sửa phải duyệt lại.
Vận chuyển: Thêm/cập nhật quy tắc: tỉnh (hoặc * mặc định), phí, miễn phí từ, số ngày dự kiến. Mở trang →
→ Trang thanh toán của khách tính theo tỉnh nhập; thay đổi ghi nhật ký.
Banner trang chủ: Thêm banner (tiêu đề, nút, liên kết nội bộ, thời gian). Bật/tắt. Mở trang →
→ Banner hiện đầu trang cửa hàng trong khoảng thời gian đã đặt; liên kết ngoài bị từ chối.
Đánh giá sản phẩm: Duyệt hoặc từ chối (kèm lý do). Mở trang →
→ Chỉ đánh giá đã duyệt hiện công khai, điểm trung bình cập nhật.
Sự kiện & check-in: Tạo sự kiện, Mở check-in. Điểm danh thủ công bằng mã thành viên hoặc quét QR. Mở trang →
→ Mỗi thành viên check-in một lần; đóng sự kiện thì không check-in thêm.
Xác nhận thu COD, duyệt kỳ thưởng, quyết toán thuế, chi tiền rút, hoàn tiền, đối soát sổ cái, xuất dữ liệu.
Đăng nhập: ketoan@elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
Đơn hàng → chi tiết đơn COD: Khi tiền COD về, bấm Xác nhận đã thu COD. Mở trang →
→ Giao dịch thành “Đã thu”, trạng thái thanh toán của đơn đổi. Xem lại ở Giao dịch thanh toán.
ops@elysa.demoĐối soát kỳ: (Vận hành) Chọn kỳ 2026-10 và bấm Tính kỳ (hoặc Chạy thử để xem trước, không ghi): hệ thống tính P1–P4 từ các đơn hoàn thành. Mở trang →
→ Kỳ ở trạng thái nháp, xem được từng khoản và giải thích.
ketoan@elysa.demoĐối soát kỳ → kỳ 2026-09: Kiểm tra tổng doanh thu, các khoản bị giữ (BLOCKED) và lý do, bấm Duyệt kỳ.
→ Quyền lợi vào ví chờ qua bút toán sổ cái. Người chạy kỳ không tự duyệt.
kiemsoat@elysa.demoCấu hình thuế: Duyệt cấu hình thuế do kế toán soạn (FIXTURE-DEMO-10, chỉ để thử, không phải thuế suất thật). Mở trang →
→ Cấu hình có hiệu lực. Chưa có cấu hình được duyệt thì quyết toán bị chặn.
ketoan@elysa.demoĐối soát kỳ: Bấm Quyết toán & chuyển ví: khấu trừ thuế theo cấu hình, chuyển sang ví khả dụng.
→ Chạy lại không khấu trừ lần hai. Đối chiếu sổ cái hiển thị “cân”.
Duyệt rút tiền: Với yêu cầu “Đã duyệt”, bấm Gửi lệnh chi. Mở trang →
→ Trạng thái “Đã gửi lệnh chi”. Chỉ khi nhà cung cấp xác nhận (sandbox: nút “Sandbox: ngân hàng xác nhận đã chi”) mới thành “Đã chi”. Người duyệt không tự chi được.
Duyệt rút tiền: Thử chi yêu cầu của người đang có hồ sơ gian lận mức Cao.
→ Bị chặn cho tới khi kiểm soát viên có kết luận.
ops@elysa.demoChi tiết đơn → Đề nghị hoàn tiền: (Vận hành) nhập số tiền và lý do cho đơn đã thu. Mở trang →
→ Yêu cầu chờ duyệt ở trang Hoàn tiền.
ketoan@elysa.demoHoàn tiền: Bấm Duyệt hoàn tiền. Mở trang →
→ Thưởng liên quan giảm theo phần chênh khi tính lại; ví/khoản phải thu điều chỉnh bằng bút toán, không sửa lịch sử.
Xuất dữ liệu: Chọn loại, định dạng, khoảng ngày (kỳ cho quyền lợi) và Tạo; vài giây sau bấm Tải xuống. Mở trang →
→ Tệp tồn tại 24 giờ, chỉ người tạo tải được, ô bắt đầu bằng = + - @ được vô hiệu hóa.
Người duyệt độc lập: thuế, rút tiền, thay đổi quan hệ, bài viết, khuyến mãi, hợp đồng, vinh danh, hồ sơ gian lận.
Đăng nhập: kiemsoat@elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
Duyệt rút tiền: Mở yêu cầu “Chờ duyệt”: xem người rút, số tiền, ngân hàng (4 số cuối). Duyệt hoặc Từ chối kèm lý do. Mở trang →
→ Duyệt → chuyển kế toán chi. Từ chối → tiền giữ được nhả về ví khả dụng đúng một lần.
Kiểm tra gian lận: Mở hồ sơ “Cùng tài khoản ngân hàng” (mức Cao) của dl1/dl2: đọc bằng chứng, bấm Nhận xem xét. Mở trang →
→ Trong lúc chưa kết luận, kế toán không chi được tiền cho những người này.
Kiểm tra gian lận: Bấm Loại trừ (ví dụ hai người là vợ chồng đã xác minh) hoặc Xác nhận vi phạm, nhập lý do.
→ Kết luận cần lý do ≥ 5 ký tự, ghi nhật ký, không sửa lại sau khi chốt. Không được xem xét hồ sơ về chính mình.
Kiểm tra gian lận → Quy tắc: (Quản trị) chỉnh ngưỡng quy tắc.
→ Thay đổi có nhật ký trước/sau.
Tin tức & bài viết: Duyệt bài “Đang chờ duyệt”, rồi Đăng hoặc Hẹn giờ. Mở trang →
→ Bài hiện ở /tin-tuc theo trạng thái.
Khuyến mãi: Kích hoạt mã TET2027 (do vận hành soạn). Mở trang →
→ Mã chuyển Đang chạy khi đến thời gian áp dụng.
Hợp đồng / Vinh danh: Phát hành hợp đồng bản nháp; công bố danh sách vinh danh. Mở trang →
→ Người soạn không tự phát hành/công bố.
Soạn tin tức, thông báo cho thành viên.
Đăng nhập: noidung@elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
Tin tức & bài viết: Tạo bài (tiêu đề, tóm tắt, nội dung, danh mục, đối tượng), bấm Gửi duyệt. Mở trang →
→ Bài sang trạng thái chờ duyệt. Người soạn không tự duyệt/đăng.
kiemsoat@elysa.demoTin tức & bài viết: Duyệt rồi Đăng hoặc Hẹn giờ.
→ Bài hẹn giờ tự đăng bởi job nền đúng giờ.
Thông báo: Chọn đối tượng (Tất cả / Cấp / Người), nhập tiêu đề và nội dung, kênh “app”. Mở trang →
→ Thành viên thấy chấm đỏ ở chuông và trong /portal/thong-bao. Email/SMS/push chưa có nhà cung cấp nên chưa gửi được.
Toàn quyền cấu hình: người dùng, phân quyền, chính sách, hệ thống; vẫn bị ràng buộc maker-checker (không tự duyệt thứ mình soạn).
Đăng nhập: admin@elysa.demo · Trang đăng nhập có sẵn nút điền nhanh.
Người dùng: Tạo người dùng (mật khẩu tạm, bắt đổi khi đăng nhập lần đầu), gán vai trò; khóa/mở khóa; đặt lại mật khẩu. Mở trang →
→ Mọi thao tác có nhật ký; vai trò đặc quyền cần quyền riêng.
Phân quyền: Xem/sửa quyền theo vai trò. Mở trang →
→ Quyền được kiểm ở backend cho từng thao tác.
Hệ thống & job: Xem DB/Redis, job nền (lần chạy gần nhất, lỗi 24 giờ), bản sao lưu và cảnh báo. Mở trang →
→ Cảnh báo khi job không chạy, sao lưu quá 26 giờ hoặc chưa kiểm khôi phục.
Terminal (apps/api): npm run backup rồi npm run restore:verify.
→ Sao lưu mã hóa và khôi phục thử vào DB tạm, kiểm sổ cái cân.
Trung tâm chính sách: Xem phiên bản đang hiệu lực, bảng cấp, tỷ lệ P1–P4, các đề xuất D01–D27 chờ xác nhận. Mở trang →
→ Thay đổi chính sách là phiên bản mới, không sửa kỳ đã duyệt.
Nguyên tắc xuyên suốt: người đề nghị ≠ người duyệt ≠ người chi. Hãy mở các tài khoản theo thứ tự (dùng cửa sổ ẩn danh khác nhau) để thấy các ràng buộc này.
Khách / đại lýĐặt đơn, thanh toán.
Vận hànhChuẩn bị → giao → Hoàn thành đơn.
→ Sinh doanh thu ghi nhận bất biến.
Vận hànhChạy kỳ thưởng tháng.
Kế toánDuyệt kỳ → ví chờ.
Kiểm soátDuyệt cấu hình thuế.
Kế toánQuyết toán → ví khả dụng.
Đối tácXem thu nhập, yêu cầu rút.
Kiểm soátDuyệt rút.
Kế toánChi tiền → đã chi.
→ Mỗi bước do người khác nhau; sổ cái luôn cân.
Vận hànhSoạn mã.
Kiểm soátKích hoạt.
KháchDùng mã khi thanh toán.
Vận hànhTheo dõi lượt dùng; Tạm dừng khi cần.
Hệ thốngHai người rút về cùng tài khoản → hồ sơ mức Cao.
Kế toánThử chi → bị chặn.
Kiểm soátXem xét, kết luận có lý do.
Kế toánSau khi loại trừ, chi được.
Nội dungSoạn, gửi duyệt.
Kiểm soátDuyệt, đăng hoặc hẹn giờ.
Mọi ngườiĐọc ở /tin-tuc.