← Tổng quan các luồng

Bảo lưu học phí

Khi học viên cần dừng lại — không hoàn tiền, nhưng được giữ chỗ

Hoàn thành 17%
Tình huống thực tế

Bạn Hùng vừa đăng ký khóa Pre-IELTS 8 tuần (6.400.000 đ), bắt đầu hôm thứ Hai 22/4/2026. Học được 1 tuần thì Hùng bị mắc công việc ở công ty, không thể đi học tiếp. Hùng gọi Cô Loan (nhân viên BP) xin bảo lưu chỗ học — không hoàn tiền, nhưng được giữ để quay lại sau 3 tháng. Cô Loan ghi nhận yêu cầu, hệ thống trừ phí bảo lưu 500.000 đ từ học phí 6.400.000 đ, còn lại 5.900.000 đ được cứu lại dưới dạng "tín dụng học phí". Sau 90 ngày (22/7), nếu Hùng quay lại, tín dụng này được áp vào khóa mới. Nếu quá hạn, tín dụng tự động hết hạn.

Các nhân vật trong luồng
Học viên / Phụ huynh
Gọi hoặc nhắn tin xin bảo lưu, giải thích lý do dừng học.
Nhân viên BP / Admin
Ghi nhận yêu cầu bảo lưu, xác nhận điều kiện (trong 2 tuần đầu), tạo phiếu bảo lưu.
Hành trình từng bước
1 Học viên xin bảo lưu Chưa có
Người dùng làm gì
Hùng gọi Cô Loan: "Em xin bảo lưu 3 tháng để tập trung công việc." Cô Loan lắng nghe, ghi lại lý do (công việc / bệnh / lý do cá nhân).
Trên hệ thống thấy gì
Hiện tại chưa có form "Yêu cầu bảo lưu" trong hệ thống. Cô Loan phải ghi chú trong Google Sheet hoặc ghi comment trên đơn hàng của Hùng.
Hệ thống tự làm gì
Không có tự động hóa — yêu cầu được ghi nhận thủ công.
2 Kiểm tra điều kiện bảo lưu (2 tuần đầu khóa) Một phần
Người dùng làm gì
Cô Loan mở lớp của Hùng, xem ngày khai giảng (22/4) và ngày yêu cầu (29/4 — sau 7 ngày). Kiểm tra: "Hùng yêu cầu bảo lưu vào ngày 29/4, khai giảng 22/4. Đó là 7 ngày, nằm trong 14 ngày quy định. Được phép bảo lưu."
Trên hệ thống thấy gì
Form Sales Order / Enrollment hiển thị: "Ngày khai giảng: 22/4/2026" và một cột "Yêu cầu bảo lưu" (còn trống). Cô Loan phải tự tính: 29/4 − 22/4 = 7 ngày (OK). Không có tự động chốt.
Hệ thống tự làm gì
Hệ thống chỉ lưu trữ ngày; không có logic tự động tính sai/hợp lệ. Cô Loan phải xác nhận bằng tay.
3 Tạo phiếu bảo lưu Chưa có
Người dùng làm gì
Cô Loan mở form "Yêu cầu bảo lưu" (sắp sửa được thêm vào hệ thống), nhập: tên học viên, khóa học, ngày yêu cầu, lý do. Bấm "Tạo phiếu bảo lưu".
Trên hệ thống thấy gì
Phiếu bảo lưu được tạo với: tên "Bảo lưu Hùng — Pre-IELTS P75R", học phí gốc 6.400.000 đ, phí bảo lưu 500.000 đ, tín dụng lưu 5.900.000 đ, ngày hết hạn 29/7 (90 ngày sau 29/4), status "Đang chờ xác nhận".
Hệ thống tự làm gì
Hệ thống tính tự động: ngày hết hạn = ngày yêu cầu + 90 ngày. Tương tự: tín dụng = học phí gốc − 500.000 đ.
4 Xác nhận phiếu bảo lưu Một phần
Người dùng làm gì
Cô Loan (hoặc BP Lead) xem phiếu bảo lưu, kiểm tra lại điều kiện, rồi bấm nút "Xác nhận bảo lưu". Hệ thống yêu cầu xác nhận bằng cách nhập mã PIN hoặc ký số (để có audit trail).
Trên hệ thống thấy gì
Phiếu chuyển status từ "Đang chờ xác nhận" sang "Đã xác nhận — Chờ ghi nhận phí". Email tự động gửi tới Hùng: "Bảo lưu khóa Pre-IELTS được xác nhận. Phí bảo lưu 500.000 đ sẽ được ghi nhận, tín dụng 5.900.000 đ còn giữ lại cho bạn cho đến 29/7/2026."
Hệ thsistem tự làm gì
Hệ thống ghi nhận xác nhận (thời gian, người xác nhận) để tạo audit trail.
5 Ghi nhận phí bảo lưu vào hoá đơn Chưa có
Người dùng làm gì
Cô Loan (hoặc kế toán) bấm "Ghi nhận phí" trên phiếu bảo lưu. Hệ thống tự động tạo một hoá đơn điều chỉnh (credit note) cho số tiền 500.000 đ (hoá đơn hạch toán phí bảo lưu).
Trên hệ thống thấy gì
Hoá đơn "Phí bảo lưu — Hùng — Pre-IELTS" được tạo với số tiền 500.000 đ (dòng sản phẩm là "Dịch vụ bảo lưu"). Dòng này là doanh thu của TFV (ghi nhận thu nhập từ phí bảo lưu).
Hệ thống tự làm gì
Hệ thống tạo hoá đơn, tính toán lại số dư tài khoản của Hùng: từ 6.400.000 đ → 5.900.000 đ (tín dụng sẵn sàng dùng).
6 Giữ tín dụng 5.900.000 đ cho Hùng, hết hạn ngày 29/7 Một phần
Người dùng làm gì
Cô Loan đặt nhắc nhở trên lịch của mình: "29/7 − kiểm tra bảo lưu Hùng hết hạn". Hùng có thể đăng ký khóa mới bất kỳ lúc nào trong 90 ngày (từ 29/4 đến 29/7) và áp dụng tín dụng 5.900.000 đ.
Trên hệ thống thấy gì
Tín dụng được lưu trong bản ghi "Bảo lưu" với trạng thái "Chờ sử dụng". Cột "Hết hạn" hiển thị "29/7/2026 (còn 60 ngày)". Trên danh sách khách hàng, Hùng có dấu "Có tín dụng bảo lưu: 5.900.000 đ".
Hệ thống tự làm gì
Hệ thống chạy công việc hàng ngày (cron job) để kiểm tra các bảo lưu sắp hết hạn (7 ngày trước). Nếu Hùng chưa dùng, gửi email nhắc nhở: "Tín dụng bảo lưu 5.900.000 đ của bạn sắp hết hạn ngày 29/7. Vui lòng đăng ký khóa mới để sử dụng."
7 Hùng đăng ký khóa mới và áp dụng tín dụng Chưa có
Người dùng làm gì
Ngày 10/6, Hùng nói với Cô Loan "Em muốn quay lại học Foundation." Cô Loan tạo Quotation cho khóa Foundation mới (giá 4.800.000 đ). Khi tạo, hệ thống phát hiện Hùng có tín dụng 5.900.000 đ, hỏi: "Áp dụng tín dụng bảo lưu không?" Cô Loan bấm "Có". Quotation tự động giảm xuống: 4.800.000 đ − 4.800.000 đ = 0 đ (Hùng không cần đóng thêm). Tín dụng còn: 5.900.000 − 4.800.000 = 1.100.000 đ (lưu lại cho lần sau).
Trên hệ thống thấy gì
Quotation hiển thị: "Giá Foundation: 4.800.000 đ. Áp dụng tín dụng bảo lưu: − 4.800.000 đ. Còn phải thanh toán: 0 đ." Dòng tín dụng được gạch chéo, chuyển qua hoá đơn. Bảo lưu chuyển status "Đã sử dụng — Tín dụng còn: 1.100.000 đ".
Hệ thống tự làm gì
Hệ thống trừ tín dụng từ bảo lưu, tạo hoá đơn điều chỉnh ghi nhận dùng tín dụng. Số dư tín dụng cập nhật tức thì.
8 Hết hạn bảo lưu — tín dụng tự động hủy nếu chưa dùng Chưa có
Người dùng làm gì
Nếu Hùng không quay lại học cho đến ngày 29/7 (hết hạn), Cô Loan sẽ nhìn thấy phiếu bảo lưu chuyển status "Hết hạn" và ghi chú "Tín dụng 5.900.000 đ đã hủy vào 29/7 — không thể sử dụng".
Trên hệ thống thấy gì
Phiếu bảo lưu chuyển status "Hết hạn — Đã hủy", mục "Tín dụng còn" = 0 đ. Email gửi Hùng: "Tín dụng bảo lưu 5.900.000 đ của bạn đã hết hạn vào ngày 29/7/2026 và không thể sử dụng. Nếu muốn quay lại học, vui lòng liên hệ TFV để tư vấn."
Hệ thsistem tự làm gì
Công việc hàng ngày (cron job) chạy vào 23:00 hàng đêm, tìm các bảo lưu hết hạn, cập nhật status, gửi email hủy tín dụng.
Số liệu mẫu
Ví dụ Hùng — Bảo lưu Pre-IELTS
Học viên: Bạn Hùng
Khóa gốc: Pre-IELTS Target 6.5 (P75R) — Khai giảng 22/4/2026
Học phí gốc: 6.400.000 đ

Thời điểm bảo lưu:
Ngày 29/4/2026 (7 ngày sau khai giảng) — Hùng gọi xin bảo lưu.

Tính toán:
• Phí bảo lưu: 500.000 đ (ghi nhận doanh thu)
• Tín dụng còn lại: 6.400.000 − 500.000 = 5.900.000 đ
• Ngày hết hạn: 29/4 + 90 ngày = 29/7/2026

Tình huống 1 — Hùng quay lại trong 90 ngày:
Ngày 10/6, Hùng đăng ký khóa Foundation mới (4.800.000 đ).
Hệ thống áp dụng tín dụng: 4.800.000 − 4.800.000 = 0 đ (Hùng không cần đóng thêm).
Tín dụng còn: 5.900.000 − 4.800.000 = 1.100.000 đ (giữ lại).

Tình huống 2 — Hùng không quay lại:
Ngày 29/7, hệ thống tự động hủy tín dụng 5.900.000 đ. Hùng nhận email: "Tín dụng đã hết hạn."

Tình huống 3 — Hùng quay lại ngoài hạn:
Ngày 1/8 (sau 29/7), Hùng gọi xin học lại. Cô Loan giải thích: "Tín dụng bạn hết hạn rồi. Bạn cần thanh toán học phí mới hoặc liên hệ BP Lead xin ưu đãi đặc biệt."
Câu hỏi thường gặp
Nếu học viên yêu cầu bảo lưu sau 2 tuần (ví dụ: ngày 30/4 cho khóa khai giảng 22/4), có được không?
Không. Quy định của TFV: bảo lưu chỉ được phép trong 2 tuần đầu khóa (tính từ ngày khai giảng). Nếu yêu cầu sau 2 tuần, học viên phải hủy khóa hoàn toàn (không hoàn tiền, không tín dụng) hoặc liên hệ BP Lead để thảo luận giải pháp đặc biệt.
Có thể bảo lưu quá 1 lần cho cùng 1 khóa không?
Không. Quy định: tối đa 1 lần bảo lưu trên mỗi khóa học. Nếu học viên bảo lưu 1 lần rồi, lần sau không được bảo lưu lại khóa đó (phải hủy hoàn toàn hoặc xin ưu đãi từ BP Lead).
Nếu học viên dùng tín dụng bảo lưu nhưng lớp mới có giá rẻ hơn, tín dụng còn lại có thể dùng cho khóa tiếp theo không?
Có. Tín dụ dụ còn lại (nếu dùng bộ phận) sẽ được giữ lại và có thể áp dụng cho bất kỳ khóa nào trong vòng 90 ngày tính từ ngày yêu cầu bảo lưu ban đầu. Phần tín dụng không sử dụng sẽ tự động hủy sau 90 ngày.
Liệu phí bảo lưu 500.000 đ có thể hoàn lại không?
Không. Phí bảo lưu là không hoàn lại. Nó là doanh thu của TFV để bù chi phí quản lý (giữ chỗ, công cụ, hành chính). Đây là phần quan trọng của chính sách bảo lưu — không hoàn tiền, nhưng giảm phí bảo lưu để học viên không mất hoàn toàn.
Sẵn sàng đến đâu
Hoàn thành 17%
Những gì chạy được (một phần)
Database có cột để lưu trữ yêu cầu bảo lưu (reservation.reserved_on, expires_on). Giáo dục được tạo với học phí. Tuy nhiên, UI để tạo phiếu bảo lưu chưa hoàn toàn, và logic tính toán tín dụng chưa được wired vào Sales Order.
Những gì còn cần (17% còn lại)
(1) UI form "Tạo phiếu bảo lưu" — học viên mở khóa của mình, bấm "Yêu cầu bảo lưu", điền lý do, hệ thống tính toán 14 ngày, 500k phí, 90 ngày hết hạn.
(2) Logic kiểm tra 2 tuần — hệ thống chặn bảo lưu nếu vượt quá 14 ngày kể từ ngày khai giảng.
(3) Logic kiểm tra "1x per course" — nếu bảo lưu rồi, không cho bảo lưu lần 2.
(4) Auto-apply tín dụng khi tạo Sales Order mới — khi Quotation được tạo, hệ thống phát hiện Hùng có tín dụng, hỏi "Dùng tín dụng không?".
(5) Cron job auto-expire — hàng ngày kiểm tra bảo lưu hết hạn, cập nhật status, gửi email.
(6) Email notification — gửi email nhắc nhở 7 ngày trước hết hạn, và email xác nhận khi hết hạn.
Lưu ý khi dùng
Hiện tại, bảo lưu là quy trình thủ công — Cô Loan ghi chú trên Google Sheet hoặc comment trên đơn hàng. Khi hệ thống full hoàn toàn (≈ 6-8 tuần), toàn bộ quy trình sẽ tự động trong Odoo, từ yêu cầu đến hủy tín dụng.

📺 Màn hình Odoo trong luồng này

4 màn hình Cô Loan dùng để bảo lưu chỗ học cho bạn Hùng — phí bảo lưu 500 000 ₫ được ghi nhận đúng cách, tín dụng 5 900 000 ₫ giữ 90 ngày, audit trail rõ ràng.

1 · WizardYêu cầu bảo lưu
2 · PhiếuBảo lưu đã xác nhận
3 · Hoá đơnPhí bảo lưu 500K
4 · PortalHùng xem tín dụng
Màn 1 · Wizard › Tạo yêu cầu bảo lưu — Cô Loan mở từ đơn hàng của Hùng
Bán hàngĐơn hàng · Yêu cầu bảo lưuCô Loan
Đơn hàng SO/2026/0098 Wizard yêu cầu bảo lưu
Bảo lưu Hùng — Pre-IELTS P75R
Học viênTrần Quốc Hùng
Khoá họcPre-IELTS Target 6.5
Ngày khai giảng22/04/2026
Ngày yêu cầu29/04/2026 7 ngày — trong 14 ngày hợp lệ
Lý doCông việc — tạm dừng 3 tháng
Học phí gốc6 400 000 ₫
Phí bảo lưu500 000 ₫
Tín dụng giữ lại5 900 000 ₫
Hạn dùng tín dụng29/07/2026 (90 ngày)
⚠ Mỗi đơn hàng chỉ được bảo lưu 1 lần. Khi xác nhận sẽ tự tạo phiếu, hoá đơn phí 500 000 ₫, và email cho học viên.
Tạo phiếu bảo lưuHuỷ
Bước 2–3 trong luồng. Wizard tfv.reservation.wizard từ addon tfv_batch_reservations. Cờ trong 14 ngày được tính tự động (server-side @api.depends) nên Cô Loan không nhập tay — hết tranh cãi.
Màn 2 · Phiếu bảo lưu RES/2026/00018 — Đã xác nhận, audit trail đầy đủ
Bán hàngPhiếu bảo lưuCô Loan
Phiếu bảo lưu RES/2026/00018 — Hùng
Gửi nhắc khi gần hết hạn Tạo Order mới (dùng tín dụng) NhápĐang giữĐã dùngHết hạn
Tín dụng còn5 900 000 ₫
Còn lại (ngày)82 ngày
Người xác nhậnCô Loan · 29/04 14:12
Hoá đơn phíINV/2026/00088 ✓
Email đã gửi29/04 14:12 → hung.tq@gmail.com
Lần bảo lưu1 / 1 cho phép
Bước 4 trong luồng. Bản ghi tfv.reservation giữ trạng thái Đang giữ đến khi Hùng đăng ký khoá mới (chuyển sang Đã dùng) hoặc 90 ngày trôi qua (cron tự đẩy sang Hết hạn). Mọi thay đổi đều ghi vào mail.message → audit trail không thể chối.
Màn 3 · Hoá đơn phí bảo lưu — 500 000 ₫ ghi nhận như doanh thu dịch vụ
Kế toánHoá đơn khách hàngKế toán
Hoá đơn INV/2026/00088
DòngTài khoảnSLSố tiền
Phí bảo lưu
Hùng · Pre-IELTS · Phiếu RES/2026/00018
5113 — Doanh thu dịch vụ1500 000 ₫
Tổng500 000 ₫
Bước 5 trong luồng. Hoá đơn rút tự động từ phiếu bảo lưu — kế toán không nhập tay. Phí 500 000 ₫ vào TK 5113 — Doanh thu dịch vụ để báo cáo tháng tách rạch khỏi học phí thuần.
Màn 4 · Portal học viên — Hùng đăng nhập, thấy tín dụng còn 82 ngày
TFV — Khu vực học viênKhoá học · Hoá đơn · Tín dụngTrần Quốc Hùng ▾
Tín dụng học phí đang giữ
5 900 000 ₫
Phiếu RES/2026/00018 — Pre-IELTS
Còn 82 ngày · Hết hạn 29/07/2026 · Áp được vào bất kỳ khoá nào của TFV
Đăng ký khoá mới
ℹ Khi bạn đăng ký khoá mới, hệ thống tự đối trừ tín dụng vào hoá đơn — không phải làm gì thêm.
Bước 6 trong luồng. Trang portal Tín dụng là controller mới trong addon tfv_student_portal, hiển thị tất cả phiếu tfv.reservation của user. Nút Đăng ký khoá mới pre-fill hoá đơn với dòng âm Đối trừ tín dụng RES/....