leo.dev
← 이력서
CASE STUDY

투자일임 수수료 정산·청구 (160)

IPO 청약–매도 일임의 운용 보수를 정산·청구하는 시스템입니다. 수수료 정책을 성과보수에서 건당 정액으로 바꾸면서 기존·신규 정책을 동시에 지원하고, CMS 자동출금이체로 청구를 자동화했습니다.

6개월 → 3개월
청구 주기
구·신 병행 2종
수수료 정책
CMS 자동출금
청구 수단
문제정의
  • 수수료 정책을 성과보수(수익률 기반)에서 건당 정액으로 바꾸기로 했는데, 기존 계약자는 약관상 이전 정책을 유지해야 했습니다.
  • 청구 주기를 6개월에서 3개월로 단축하면서 정산 기준 기간과 대상 산정이 함께 바뀌었습니다.
  • 수수료를 고객 계좌에서 직접 출금하므로, 계좌 등록·본인인증·동의의 법적 흐름과 계좌 정보 보안이 필요했습니다.
  • 정책이 바뀌면 기존 동의가 무효가 되어, 대상자에게 재동의를 받아야만 청구할 수 있었습니다.
문제해결
  • 투자내역을 적용 정책별(성과보수/건당 정액)로 분리해, 같은 정산 배치에서 각각의 기준으로 계산하도록 설계했습니다.
  • 기간 경계로 매도 투자내역을 필터링해 해당 주기의 수익만 정산하고, 소액 건은 면제 기준으로 걸러냈습니다.
  • CMS 자동출금이체를 연동해 계좌 등록·ARS 본인인증·동의서 PDF 생성을 처리하고, 계좌번호는 암호화해 저장했습니다.
  • 정책 변경 대상자를 추려(계약 보유·신정책 미동의·연락처 보유) 재동의 요청을 메일·알림톡으로 발송하고, 미동의자를 거르는 배치를 두었습니다.
  • 수수료 청구·보고 메일은 Bull Queue로 비동기 발송해 API 응답과 분리했습니다.
계약 시점이 정책을 가른다 — 기본·성과·혼합 결정 트리와 정산·출금 흐름
계약 시점이 정책을 가른다 — 기본·성과·혼합 결정 트리와 정산·출금 흐름
결과
  • 두 수수료 정책을 무중단으로 병행 운영하며, 기존 계약자 약관을 깨지 않고 신규 정책을 적용했습니다.
  • 분기 단위 정산·청구를 사람 개입 없이 자동 처리했습니다.
  • 계좌 등록부터 출금까지의 법적·보안 흐름(본인인증·동의·암호화)을 시스템화했습니다.
계약시점→정책 매핑과 정책별 청구액 산정 — 정산 시트(더미 데이터)
계약시점→정책 매핑과 정책별 청구액 산정 — 정산 시트(더미 데이터)
기술스택
NestJSTypeORMPostgreSQLRedisBull Queue
↑↓ 이동 열기esc 닫기