5.8 KiB
5.8 KiB
card_id, title, domain, related_cards, tags, detail_refs
| card_id | title | domain | related_cards | tags | detail_refs | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| customer/operations_adjustment | Nghiệp vụ Điều chỉnh Điểm (Adjustment Operations) | customer |
|
|
|
Nghiệp vụ Điều chỉnh Điểm (Adjustment Operations)
Mô tả ngắn
Nghiệp vụ Điều chỉnh Điểm bao gồm các công cụ quản trị (OA) cho phép nhân viên vận hành can thiệp thủ công vào số dư ví điểm (Pool Balance) của khách hàng. Có 3 loại nghiệp vụ chính: Adjustment (Điều chỉnh cộng/trừ), Transfer Balance (Điều chuyển điểm) và Re-instatement (Gia hạn điểm). Tất cả các giao dịch này đều phải tuân thủ quy trình phê duyệt Maker-Checker.
Thuật ngữ liên quan
- Maker-Checker: Cơ chế phê duyệt hai cấp. Người tạo (Maker) sinh ra giao dịch ở trạng thái Pending, người duyệt (Checker) Approve thì giao dịch mới có hiệu lực.
- Forfeited (Thu hồi): Trạng thái điểm đã quá hạn và bị hệ thống xóa bỏ vĩnh viễn. Chỉ có thể Re-instatement khi điểm đã hết hạn nhưng chưa bị Forfeited (nằm trong thời gian ân hạn).
- Transfer Mode: Chế độ điều chuyển (Internal - trong cùng 1 khách hàng; External - giữa các khách hàng khác nhau).
Cấu trúc dữ liệu (Data Schema)
Dữ liệu đầu vào cho một giao dịch Điều chỉnh (bất kể loại nào) luôn phải có các thông tin cốt lõi sau:
1. Định danh thực thể (Entity Identification)
- Posted transaction by: Cấp độ tạo giao dịch (CIF, Account, hoặc Card).
- From / To (Chỉ dùng cho Transfer): Nguồn đi và đích đến (được xác định bằng CIF, Account, hoặc Card).
- Pool ID: Mã Ví điểm chịu ảnh hưởng. (Hệ thống ràng buộc Pool Level phải tương thích với Entity Level được chọn).
2. Thông tin điều chỉnh (Adjustment Info)
- Transaction Type: Loại điều chỉnh (Positive - Cộng, Negative - Trừ).
- Adjustment Quantity / Transfer Amount: Số lượng điểm điều chỉnh hoặc điều chuyển.
- Expiry Date: Ngày hết hạn mới cho số điểm được cộng thêm/gia hạn.
- Bucket to Re-instate (Chỉ dùng cho Re-instatement): Xác định đích danh bucket đã hết hạn cần được gia hạn.
3. Tracking & Phân loại (Audit & Classification)
- Transaction Date / Code: Ngày giao dịch và Mã giao dịch OLS.
- Reason Code: Mã lý do điều chỉnh (Rất quan trọng để hệ thống định khoản GL).
- Store / Remarks: Đơn vị cửa hàng và Ghi chú thêm.
Cách hoạt động (How It Works)
1. Adjustment (Điều chỉnh âm/dương)
- Positive (Cộng điểm): Nếu có bucket nào đang bị âm (Negative balance), số điểm cộng thêm sẽ được dùng để bù đắp (offset) cho bucket đó về 0 trước. Phần điểm dư còn lại mới được tạo thành bucket mới với Expiry Date chỉ định.
- Negative (Trừ điểm): Có thể chọn đích danh một Bucket để trừ. Nếu không chọn, hệ thống sẽ trừ theo quy tắc chuẩn (thường là FIFO - hết hạn trước trừ trước).
2. Transfer Balance (Điều chuyển điểm)
- Có thể chuyển số dư của toàn bộ Pool hoặc một lượng điểm nhất định.
- Khi được duyệt, hệ thống sinh ra 2 giao dịch đồng thời: 1 giao dịch Negative Adjustment cho tài khoản "From" và 1 giao dịch Positive Adjustment cho tài khoản "To".
- Expiry Date của điểm điều chuyển sẽ được giữ nguyên như bucket gốc trừ khi người dùng chỉ định một ngày mới.
3. Re-instatement (Gia hạn điểm)
- Dùng để "cứu" các điểm đã hết hạn nhưng vẫn nằm trong Grace Period (chưa Forfeited).
- Khi thực thi: Số dư của bucket hết hạn sẽ bị set về 0. Hệ thống sinh ra một bucket mới chứa số điểm này, áp dụng Expiry Date mới.
- Nếu điểm đã bị Forfeited, không thể dùng chức năng này mà phải dùng "Positive Adjustment" để đền bù điểm.
4. Quy trình Maker-Checker
- Sau khi lưu, giao dịch nằm ở tab Pending. Lúc này có thể Edit/Delete.
- Người dùng có thẩm quyền (Checker) phải Approve giao dịch. Sau khi Approve, giao dịch chuyển sang trạng thái Active, ghi nhận vào Transaction History và cập nhật Pool Balance.
- Hệ thống sẽ validate kỹ lưỡng tình trạng Block Code của thẻ/tài khoản trước khi Approve.
Mối quan hệ với modules khác
- Pool Balance: Đối tượng bị thay đổi trực tiếp bởi các giao dịch này.
- Account / Card: Các thực thể làm nguồn (From) hoặc đích (To) cho giao dịch.
- Transaction History: Nơi ghi nhận log cuối cùng sau khi giao dịch được Approve.
- Reason Code: Định nghĩa nguyên nhân và định tuyến hạch toán kế toán (GL) cho giao dịch.
Ví dụ thực tế
Khách hàng khiếu nại chưa nhận được điểm hoàn tiền 50K. Nhân viên CSKH kiểm tra và xác nhận lỗi hệ thống.
- CSKH (Maker) tạo một Positive Adjustment: Chọn Account của khách, Pool "Hoàn tiền", số lượng 50,000, Reason Code "Lỗi hệ thống", lưu thành Pending.
- Trưởng ca (Checker) vào xem xét giao dịch Pending, bấm Approve.
- Hệ thống sinh ra giao dịch cộng 50,000 vào Pool Balance, chèn log vào Transaction History. Khách hàng thấy điểm tăng ngay lập tức.