CYBERSOFT
Đăng nhập

Thực chiến bảo hiểm: tái tục hợp đồng (renewal), sửa đổi (endorsement) & proration

Thực chiến doanh nghiệpBảo hiểmAPIPlaywrightNâng caoThực tế
🗓 1 tháng trước22 phút đọc·👁 691 lượt xem👤 448 người đọc

Bài sâu 14 chương: vòng đời hợp đồng, bất biến continuity & bảo toàn phí, oracle proration độc lập, ca lỗi gap/overlap/idempotency, đối soát billing, CI/CD, AI Agent, phỏng vấn.

1. Bối cảnh doanh nghiệp & phạm vi

VietLife quản lý danh mục 1,1 triệu hợp đồng bảo hiểm nhân thọ và phi nhân thọ đang hiệu lực, trong đó khoảng 9% hợp đồng phát sinh yêu cầu sửa đổi (endorsement) giữa kỳ mỗi năm — tăng/giảm hạn mức bảo hiểm, đổi người thụ hưởng, thêm điều khoản bổ sung — và 100% hợp đồng phải qua quy trình tái tục (renewal) vào cuối mỗi kỳ 12 tháng nếu khách hàng không hủy. Module Policy Lifecycle Service (PLS) chịu trách nhiệm tính toán phí theo tỷ lệ thời gian còn lại (proration), phát hành phiên bản hợp đồng mới, và đảm bảo hiệu lực bảo hiểm không bao giờ bị gián đoạn — một ngày gián đoạn hiệu lực có thể khiến công ty từ chối bồi thường sai cho khách hàng vẫn đang đóng phí đều đặn.

Phạm vi kiểm thử bài này tập trung: (1) engine proration tính phí bổ sung/hoàn khi endorsement giữa kỳ, (2) quy trình phát hành phiên bản hợp đồng mới khi tái tục, đảm bảo continuity of coverage (hiệu lực liên tục không gap/overlap), và (3) đối soát cuối kỳ giữa số tiền billing thực thu và số tiền proration tính toán. Ràng buộc nghiệp vụ nghiêm ngặt: mọi thay đổi hợp đồng phải lưu vết dạng version (endorsement history), không cho phép sửa đè bản ghi cũ, phục vụ yêu cầu tra soát khi có khiếu nại hoặc thanh tra.

Vòng đời hợp đồng: tái tục & sửa đổi · Policy lifecycle: renewal & endorsement Hợp đồng hiệu lực Active policy (term N) Endorsement giữa kỳ Mid-term endorsement + proration Tái tục cuối kỳ End-of-term renewal Phí bổ sung/hoàn Additional charge / refund Hợp đồng phiên bản N+1 Policy version N+1 Đối soát cuối kỳ End-of-cycle reconciliation Proration: phí thêm/hoàn = phí năm ÷ 365 × số ngày còn lại của kỳ hợp đồng, tính từ ngày hiệu lực endorsement. Proration: additional/refund = annual premium ÷ 365 × remaining days in policy term, from the endorsement effective date. Bất biến: hiệu lực hợp đồng phải liên tục — không có khoảng trống (gap) hoặc chồng lấn (overlap) giữa các phiên bản.
Vòng đời hợp đồng: endorsement giữa kỳ và tái tục cuối kỳ

Phạm vi tự động hoá

  • API tính proration cho endorsement giữa kỳ
  • API phát hành phiên bản hợp đồng khi tái tục
  • Kiểm tra continuity hiệu lực (không gap/overlap)
  • Đối soát billing vs proration cuối kỳ
  • Luồng E2E: khách yêu cầu tăng hạn mức → nhận hoá đơn bổ sung
Renewal khác endorsement ở chỗ renewal luôn tạo TOÀN BỘ hợp đồng phiên bản mới (term mới), còn endorsement chỉ sửa một phần thuộc tính trong CÙNG kỳ hợp đồng hiện tại — hai luồng nghiệp vụ có oracle khác nhau.

2. Kiến trúc & luồng nghiệp vụ

PLS tách biệt 3 service: Endorsement Service xử lý thay đổi giữa kỳ và gọi Proration Engine để tính phí chênh lệch, Renewal Service chạy batch hàng đêm quét các hợp đồng sắp hết hạn trong 30 ngày tới để chuẩn bị báo giá tái tục, và Billing Service ghi nhận giao dịch thu/hoàn tiền thực tế liên kết ngân hàng đối tác. Endorsement và Renewal đều publish sự kiện `PolicyVersionCreated` lên Kafka để Billing Service và Notification Service (gửi email/SMS khách hàng) subscribe xử lý bất đồng bộ, tránh khoá luồng chính khi hệ thống thanh toán bên thứ ba chậm.

Vòng đời hợp đồng: tái tục & sửa đổi · Policy lifecycle: renewal & endorsement Hợp đồng hiệu lực Active policy (term N) Endorsement giữa kỳ Mid-term endorsement + proration Tái tục cuối kỳ End-of-term renewal Phí bổ sung/hoàn Additional charge / refund Hợp đồng phiên bản N+1 Policy version N+1 Đối soát cuối kỳ End-of-cycle reconciliation Proration: phí thêm/hoàn = phí năm ÷ 365 × số ngày còn lại của kỳ hợp đồng, tính từ ngày hiệu lực endorsement. Proration: additional/refund = annual premium ÷ 365 × remaining days in policy term, from the endorsement effective date. Bất biến: hiệu lực hợp đồng phải liên tục — không có khoảng trống (gap) hoặc chồng lấn (overlap) giữa các phiên bản.
Kiến trúc tách biệt Endorsement/Renewal/Billing qua sự kiện Kafka

Điểm khó khi kiểm thử

  • Proration phải tính đúng theo lịch (30/360 hay lịch thực actual/365) — sai quy ước gây lệch phí nhỏ nhưng tích luỹ lớn
  • 2 endorsement hiệu lực cùng ngày cần thứ tự xử lý tuần tự rõ ràng
  • Batch renewal đêm phải idempotent nếu chạy lại do lỗi giữa chừng
💡 Luôn xác nhận với business analyst quy ước ngày (day-count convention) được dùng — actual/365 và 30/360 cho kết quả proration khác nhau vài phần trăm ở các kỳ có tháng 2.

3. Mô hình dữ liệu & bất biến nghiệp vụ (oracle)

Thực thể Policy có nhiều PolicyVersion theo thời gian, mỗi PolicyVersion có effectiveFrom/effectiveTo không được chồng lấn với version khác của cùng Policy. Mỗi Endorsement tạo ra một PolicyVersion mới và một ProrationAdjustment ghi số tiền dương (thu thêm) hoặc âm (hoàn), trong khi Renewal tạo PolicyVersion mới với effectiveFrom bằng đúng effectiveTo + 1 ngày của version trước đó — đây là bất biến continuity quan trọng nhất của toàn hệ thống.

Bất biến nghiệp vụ (oracle) bắt buộc

  • Không có gap: version(N).effectiveTo + 1 ngày = version(N+1).effectiveFrom
  • Không có overlap: khoảng [effectiveFrom, effectiveTo] của 2 version bất kỳ không giao nhau
  • Bảo toàn phí: phí gốc + Σ ProrationAdjustment của mọi endorsement = phí cuối cùng trong billing, sai số < 0,01
  • Proration = phí năm ÷ tổng ngày kỳ × số ngày còn lại kể từ ngày hiệu lực thay đổi, làm tròn theo quy ước day-count đã xác nhận
  • Endorsement history là append-only: không bao giờ UPDATE/DELETE bản ghi PolicyVersion cũ, chỉ tạo bản ghi mới và đánh dấu supersededBy
🔒

Nội dung bị khoá

Bạn đang xem bản xem trước. Đăng nhập để mở khoá toàn bộ bài viết và tất cả tài liệu Tester/QA.

Đã xem 24% nội dung
  • Đọc trọn vẹn mọi bài viết
  • Lưu bài & ghi chú cá nhân
  • Theo dõi tiến độ đã đọc
  • Luyện phỏng vấn, ISTQB, Mock
Đăng nhập để đọc tiếp

Chưa có mã? Lấy mã qua Fanpage / Zalo CyberSoft.

0

💬 Bình luận (0)

Bạn có thể đọc mọi bình luận. Đăng nhập để bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!