Files
GA Pro bfc724669b feat: incar 갭 반영 수수료/운영 14개 도메인 풀스택 + 배치통합 + 신입교육자료
incar CMS(116메뉴) 벤치마킹 갭분석으로 ga-pro에 없던 14개 도메인을 풀스택 추가.

P7 수수료 계산 7종 (V88~V96):
- 수입수수료+수지차, 소개·이관수수료, 정착지원금, 인정실적+환산율,
  시상, 생보운영지원수수료, 지점장수당
- 각 rule/ledger + 공식(보험료×요율, 수입−지급 등) Service 내장

P8 운영/정산 7종 (V97~V105):
- 단계마감, 본사정산, 등급평가, 공동계약, 보증보험, 적립금, 수수료시뮬레이터
- close/reopen/apply/simulate/upsert 등 액션 + 손익·잔액·등급 산정 로직

배치 통합 (V106):
- settle_master.other_commission_total 컬럼 추가(DEFAULT 0, 백필)
- 설계사 지급성 9종 원장 aggregateByAgent → AggregateStep gross 합산
- 빈 원장 0 → 기존 정산결과·무결성 불변(비파괴적)

테스트: P7/P8 Service 공식 단위테스트 21건(ga-api:test 57건 전체 통과)
프론트: 화면 14개 + React.lazy 코드 스플리팅(단일 4MB → 130+ 청크)
문서: DOMAIN_GAP_P7/P8.md, 신입교육_보험과수수료_완전기초.md, DOMAIN_KNOWLEDGE/HANDOFF 갱신

검증: 전체 ./gradlew build(test 포함) SUCCESSFUL, Flyway V88~V106 success,
GET+액션POST smoke 5xx 0건, 9개 집계쿼리 SQL 유효성 확인, 공식 런타임 실측.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 15:45:10 +09:00

22 KiB
Raw Permalink Blame History

보험 GA 수수료 정산 — 도메인 기본 지식 (신입사원 교육용)

이 문서는 보험을 처음 접하는 신입사원/개발자가 GA 수수료 정산 업무를 이해하기 위한 입문·교육 자료입니다. 코드 구조가 아니라 "이 업무가 무엇이고, 수수료를 어떻게 계산하는지"를 설명합니다. 표준 가정값은 한국 보험업감독규정 기준이며, 실제 회사 정책과 다르면 코드가 아니라 데이터(system_config / regulatory_limit / installment_ratio / chargeback_grade)만 바꾸면 됩니다.


목차

  1. 한 문장 요약
  2. 등장 인물과 핵심 개념
  3. 보험 기초 — 보험을 처음 접한다면
  4. 수수료의 종류 (이 도메인의 핵심)
  5. 규제 룰 — 왜 "그냥 곱하면" 안 되는가
  6. 세금과 공제 — 실지급액은 어떻게 정해지나
  7. 수수료 계산 공식과 숫자 예시 (가장 중요)
  8. 월 정산 파이프라인 (실제 배치 12단계)
  9. 정산의 상태(Status) 흐름
  10. 정산 그 이후 — 회계·세무·지급
  11. KPI / 분석
  12. 자주 헷갈리는 포인트 (FAQ)
  13. 용어 빠른 사전

1. 한 문장 요약

보험계약을 모집·관리한 설계사에게, 보험사가 준 수수료를 규정·세금·공제를 반영해 매월 정확히 나눠주고(정산), 그 결과를 명세서·회계장부·세무신고로 남기는 업무.


2. 등장 인물과 핵심 개념

용어 영문/코드 설명
GA General Agency 여러 보험사 상품을 함께 파는 보험대리점. 우리 시스템의 주체.
보험사 Carrier / Company 상품을 만들고 GA에 수수료를 지급하는 원수사 (삼성생명·메리츠 등).
설계사 Agent 실제로 계약을 모집·관리하는 사람. 정산의 수령 대상.
조직 Organization 설계사가 속한 지점·본부 트리. 오버라이드(상위 직책 수당)의 기준.
상품 Product 보험 상품. 상품별로 수수료율이 다름.
계약 Contract 고객이 가입한 보험증권 1건. 정산의 기준 단위.
수수료 Commission 보험사→GA→설계사로 흐르는 돈. 종류가 매우 다양 (4장 참고).
원장 Ledger 계산의 최소 단위 기록 (계약×월×수수료종류 1줄).
정산 마스터 settle_master 원장을 설계사×월로 합산한 지급 확정 단위.
명세서 Statement 설계사에게 발급하는 "이번 달 얼마 받는지" 내역서.

돈의 흐름:

[보험사]  --(원수수료 지급)-->  [GA]  --(설계사 몫 정산)-->  [설계사]
                                  └─ 세금 원천징수 + 공제(가지급금 등) 차감 후 실지급

3. 보험 기초 — 보험을 처음 접한다면

수수료를 이해하려면 보험 자체의 기본 용어부터 알아야 합니다. (보험을 한 번도 안 다뤄봤다는 가정)

용어 쉬운 설명
보험계약 고객이 "매달 얼마 낼 테니, 사고/사망/만기 때 보장해줘"라고 보험사와 맺은 약속 (증권 1장 = 계약 1건).
보험료 (Premium) 고객이 보험사에 내는 돈. 보통 월납(매달)·연납·일시납. 수수료 계산의 출발점.
계약자/피보험자/수익자 돈 내는 사람 / 보장 대상인 사람 / 보험금 받는 사람. (셋이 같을 수도 다를 수도)
보험종류 크게 생명보험(사망·종신·연금)과 손해보험(자동차·화재·실손). 종류마다 수수료율이 다름.
회차 / 차년 계약이 몇 번째 해/달째 유지 중인지. **1차년(초년도)**의 모집수수료가 가장 큼.
납입 / 미납 / 실효 보험료를 냈는지(납입) / 안 냈는지(미납) / 안 내서 계약이 끊긴 상태(실효).
유지 / 해지 / 부활 계약이 살아있음(유지) / 고객이 끊음(해지) / 실효된 걸 되살림(부활).
유지율 (Persistency) 가입한 계약이 일정 기간(13개월·25개월) 뒤에도 살아있는 비율. 영업 건전성의 핵심 지표.
청약 / 인수(언더라이팅) 고객이 가입 신청(청약) → 보험사가 위험 심사 후 받아들임(인수).
위촉 / 해촉 설계사가 GA에 소속되는 것(위촉) / 소속이 끝나는 것(해촉). 해촉 시 계약이 후임에게 승계됨.

왜 보험사가 GA에, GA가 설계사에게 돈을 주나? 보험사는 직접 영업하는 대신 GA·설계사가 고객을 데려오면 그 대가로 수수료를 준다. 즉 수수료는 "계약을 따오고(모집) 잘 유지시킨(유지)" 대가다. 그래서 계약이 일찍 깨지면 환수(돌려받기)한다.


4. 수수료의 종류 (이 도메인의 핵심)

수수료는 "한 번에 다 주는 것"이 아니라 계약의 생애주기에 따라 여러 종류로 나뉜다.

종류 코드 언제 발생 누구에게 비고
모집수수료 recruit 계약 체결 시 (초년도) 원 모집설계사 가장 큼. 보통 분급(5-2) 대상
유지수수료 maintain 계약 유지되는 매월/매년 현재 관리설계사 계약 승계 시 후임에게 귀속 전환
수금수수료 collection 보험료가 실제 납입될 때 관리설계사 납입 실적 기반
갱신수수료 renewal 계약 갱신 시 관리설계사 갱신형 상품
부활수수료 reinstatement 실효된 계약 부활 시 관리설계사
유지보수당(지속수당) persistency bonus 일정 유지율 달성 시 설계사 보너스 성격
오버라이드 override 하위 설계사 실적 발생 시 상위 직책자 조직 트리 기반 수당
시책·인센티브 incentive 캠페인/목표 달성 시 설계사 한시적 프로모션
수입수수료 income 보험사가 GA에 지급한 수수료 수입 원장 GA 경영진/재무 수지차(=수입-지급) 집계용. 설계사 지급과 분리 관리
소개·이관수수료 referral/transfer 계약을 소개(REFERRAL)하거나 이관(TRANSFER)한 설계사에게 소개/이관 설계사 정률 또는 정액. 기준금액×율 또는 고정액
정착지원금 settling support 신입/경력 설계사 입사 후 약정 기간 신규 설계사 등급별 월 정액. 조기 해촉 시 잔여약정 비율로 환수
인정실적 recognized performance 계약 체결 시 (환산보험료 기준) 설계사 환산보험료×인정율. 시상·등급 산정의 기초 지표
시상 award 목표 실적 달성 시 설계사 신인도입/법인/유지율/실적 시상. 정률 또는 정액
생보운영지원수수료 life op support 생보 계약 운영 실적 기준 설계사 실적×지급률. 환수 가능
지점장수당 branch mgr allowance 소속 조직 실적 발생 시 지점장 조직실적×수당율, cap(상한) 제한. 환수 가능

모집 vs 유지의 귀속 차이 (중요): 설계사가 해촉·이관되면, 그 계약의 유지수수료는 후임 설계사에게 넘어가지만(계약 승계), 모집수수료는 원래 모집한 설계사에게 그대로 남는다. (한국 고아계약 승계 표준)


5. 규제 룰 — 왜 "그냥 곱하면" 안 되는가

수수료는 법으로 한도와 지급 방식이 정해져 있다. 단순 계산이 아니라 아래 룰을 모두 통과해야 한다.

5-1. 1200% 룰 (보험업감독규정 제5-15조의5)

  • 초년도(1차년)에 설계사에게 줄 수 있는 모집수수료 총액은 **연납보험료의 1200%**를 넘을 수 없다.
  • 추가로 1차년 한도 35% 등 연차별 상한이 있다.
  • RegulatoryLimitChecker 가 누적 지급액을 추적해 한도 초과분을 잘라낸다.

5-2. 분급 (Installment) — 나눠 지급

  • 큰 모집수수료를 한 번에 주지 않고 7년에 걸쳐 비율대로 분할 지급.
  • 표준 비율(가정): 35 / 25 / 15 / 10 / 7 / 5 / 3 (%) — 합 100%.
  • InstallmentPlanGenerator 가 회차별 지급 스케줄(installment_plan)을 만든다.

5-3. 차등 환수 (Chargeback) — 조기 해지 시 돌려받기

  • 계약이 일찍 깨지면 이미 준 수수료의 일부를 환수한다. 유지 기간이 짧을수록 많이 환수.
  • 표준 단계(가정):
    유지 개월 환수율
    1 ~ 12 100%
    13 ~ 24 50%
    25 ~ 36 25%
    37 ~ 84 10%
    85 ~ 0% (환수 없음)
  • ChargebackCalculator 가 해지 시점의 유지 개월로 환수액을 계산.

6. 세금과 공제 — 실지급액은 어떻게 정해지나

설계사에게 주는 돈(gross)에서 세금을 원천징수하고 공제를 빼야 **실지급액(net)**이 된다.

6-1. 원천징수 세금 (한국 표준, system_config 외부화)

항목 세율 적용
사업소득 원천징수 3.3% 일반 설계사(사업소득자)
기타소득 원천징수 8.8% 기타소득 유형
지방소득세 소득세의 10% 소득세에 부가
부가가치세 10% 과세사업자 설계사가 세금계산서 발행 시 (GA가 설계사에 추가 지급)

6-2. 공제 (Deduction)

  • 가지급금(선지급) 회수, 대출 상환, 기타 차감 등을 매월 정산액에서 뺀다.
  • agent_deduction(월별 차감 마스터) + payment_deduction_detail(이체 명세)로 관리.

6-3. 실지급액 계산 공식 (개념)

gross(총수수료)
  − 원천세(소득세 + 지방소득세)
  − 공제(가지급금 등)
  (+ 부가세, 과세사업자인 경우)
  = net(실지급액)  →  설계사 계좌로 이체(펌뱅킹)

7. 수수료 계산 공식과 숫자 예시 (가장 중요)

이 장이 핵심입니다. 실제 코드(CommissionCalculator, TaxCalculator, CalcOverrideStep)가 쓰는 공식을 그대로 정리하고 숫자로 풀어봅니다.

7-1. 기본 공식 (모집·유지수수료 공통)

계약 1건의 수수료는 세 번 곱하기로 끝납니다.

① 보험사 지급액  = 보험료(premium)         × 보험사요율(company_rate %)
② 설계사 수수료  = 보험사 지급액            × 지급률(payout_rate %)
③ 원천세        = 설계사 수수료            × 3.3%
   ─────────────────────────────────────────────────────
   원장 기록     = 설계사 수수료 − 원천세
  • 보험사요율(company_rate): 보험사가 이 상품에 주는 비율. 상품 × 회차(차년) × 기준일로 결정.
  • 지급률(payout_rate): GA가 받은 돈 중 설계사에게 주는 비율. 설계사 등급 × 보험종류 × 회차로 결정. → 같은 계약이라도 등급이 높은 설계사일수록 지급률이 높다.
  • 모집수수료와 유지수수료는 공식이 같고, 회차(commission_year)만 다릅니다. (모집=1차년, 유지=2차년 이후)
  • 모든 금액은 BigDecimal, 반올림 HALF_UP, 소수점 2자리.

7-2. 숫자 예시 A — 모집수수료 1건

항목 계산
보험료 (연환산) 1,000,000원 (가정)
보험사요율 60% 상품·1차년 기준
① 보험사 지급액 600,000원 1,000,000 × 60%
지급률 (설계사 등급) 75% 등급·보험종류·1차년
② 설계사 수수료 450,000원 600,000 × 75%
③ 원천세 (3.3%) 14,850원 450,000 × 3.3%
원장 실수령 435,150원 450,000 14,850

7-3. 숫자 예시 B — 분급(7년 분할) 적용 시

위 모집수수료 450,000원이 분급 대상이면, 한 번에 다 주지 않고 7년에 나눠 줍니다.

차년 비율 지급액
1차년 35% 157,500원
2차년 25% 112,500원
3차년 15% 67,500원
4차년 10% 45,000원
5차년 7% 31,500원
6차년 5% 22,500원
7차년 3% 13,500원
합계 100% 450,000원

→ 즉 계약 직후 통장에 들어오는 건 450,000원이 아니라 1차년분 157,500원(에서 세금 차감) 입니다.

7-4. 숫자 예시 C — 차등 환수 (조기 해지)

이 계약이 13개월차에 해지되면, 유지 13~24개월 구간 환수율 **50%**가 적용됩니다.

환수액 = 기지급 모집수수료 × 환수율
       = 450,000 × 50% = 225,000원   ← 다음 정산에서 (-)로 차감

→ 유지 12개월 이내였다면 환수율 100%(전액 환수), 85개월 이상이면 0%(환수 없음).

7-5. 숫자 예시 D — 오버라이드 (상위 직책 수당)

하위 설계사의 실적에 대해 상위 직책자가 받는 수당입니다.

오버라이드 = 하위 실적(base) × 오버라이드율(override_pct)   (단, cap 초과 시 cap 금액으로 제한)
항목
하위 설계사 월 실적(base) 2,000,000원
오버라이드율 4%
오버라이드 80,000원 (= 2,000,000 × 4%)
(cap이 100,000원이면) 80,000원 그대로 (cap 미만)

7-6. 숫자 예시 E — 세금 상세 (과세사업자 설계사)

설계사 수수료 450,000원을 사업소득 + 과세사업자로 정산할 때 (TaxCalculator 기준):

항목 계산
설계사 수수료 (gross) 450,000원
소득세 (3.3%) 14,850원 450,000 × 3.3%
지방소득세 (소득세의 10%) 1,485원 14,850 × 10%
부가세 (10%, 과세사업자) +45,000원 450,000 × 10% (추가 지급)
실지급액 (net) 478,665원 450,000 14,850 1,485 + 45,000

여기에 가지급금 등 공제가 있으면 net에서 추가로 빠집니다. 비과세/면세 설계사는 부가세(+45,000) 항목이 없습니다.

7-7. P7 신규 수수료 계산 공식 (V88~V96, incar 갭 반영)

종류 공식 비고
수입수수료 income_amount = premium × company_rate 보험사→GA 수입 원장. 수지차 = Σincome Σpayout
소개·이관수수료 commission_amount = base × rate (RATE형) 또는 fixed_amount (FIXED형) 계약 소개/이관 설계사에게 지급
정착지원금 지급: 등급별 support_amount (월 정액). 환수: support_amount × (잔여약정개월 / 약정개월) (조기 해촉 시) net = support_amount clawback_amount
인정실적(환산보험료) converted_premium = premium × conversion_rate. recognized_amount = converted_premium × recognition_rate 시상/등급 산정 기초. 상품별 환산율은 product_conversion_rate
시상 award_amount = base × award_rate (RATE형) 또는 award_fixed (FIXED형) threshold_amount 이상 실적 달성 시만 발동
생보운영지원수수료 support_amount = base × support_rate. net = support_amount clawback_amount 생보 실적 기준 지급
지점장수당 allowance_amount = LEAST(base × allowance_rate, cap_amount) cap=NULL이면 무제한. net = allowance_amount clawback_amount

모든 금액 NUMERIC(15,2), 율 NUMERIC(7,4)(0~1 소수 표현), 반올림 HALF_UP.

7-8. 한 장 정리

보험료 ──×보험사요율──▶ 보험사지급액 ──×지급률──▶ 설계사수수료(gross)
                                                    │
                              ┌─ (분급) 7년 분할 ─┐  │
                              └─ (환수) 조기해지 차감 ┘
                                                    ▼
   gross − 원천세(소득세+지방세) − 공제 (+부가세) = 실지급액(net) ──▶ 계좌이체

8. 월 정산 파이프라인 (실제 배치 12단계)

매월 ga-batchMonthlySettlementJob 이 아래 순서로 실행된다. (POST /internal/jobs/monthly-settlement {"settleMonth":"yyyyMM"})

# Step 하는 일
1 receiveData 보험사 실적 데이터 수신 (Excel/CSV/EDI/API)
2 transformData 회사별 포맷을 표준 모델로 매핑·변환
3 reconcile 수신 데이터 대사 (금액·건수 검증)
4 calcRecruit 모집수수료 원장 계산
5 calcMaintain 유지수수료 원장 계산 (계약 승계 반영 → 후임 귀속)
6 chargebackException 차등 환수 + 예외 처리
7 calcOverride 오버라이드(상위 직책 수당) 계산
8 aggregate 원장을 설계사×월로 집계 → settle_master (세금·공제 반영)
9 accountingEntryGenerate 회계 분개 생성 (차변/대변)
10 yearEndIncomeAggregate 연말 사업소득 집계 (12월 마감 시만)
11 withholdingTaxQuarterly 원천세 분기 신고 집계 (분기 말만)
12 vatReportQuarterly 부가세 분기 신고 집계 (분기 말만)

무결성 핵심: 8단계 집계 후 원장(ledger) 총합 == settle_master 총합 이 정확히 일치해야 한다. 이게 정산이 맞았는지의 1차 검증선.


9. 정산의 상태(Status) 흐름

정산 마스터는 함부로 다시 못 바꾸도록 상태로 잠근다.

DRAFT(계산됨) → CONFIRMED(확정) → PAID(지급완료)
                     │
                     └─ 재정산은 status NOT IN ('CONFIRMED','PAID') 인 것만 갱신 (확정분 보호)
  • 마감(Period Close): 한 달을 닫으면 그 달은 더 이상 수정 불가. 회계 분개에 채번(journal_no)이 찍힌다.
  • 정정(Correction): 마감 후 오류 발견 시 정정 전표로만 바로잡는다 (원본은 보존).
  • 이의신청(Dispute): 설계사가 금액에 이의를 제기하는 창구.

10. 정산 그 이후 — 회계·세무·지급

영역 내용 산출물
회계 분개 수수료 지급을 차변/대변 전표로 기록 contract_accounting_entry, 계정과목 account_code
회계 결산 월/기간 마감 + 잔액 스냅샷 accounting_close, account_balance_snapshot
원천세 신고 분기별 원천징수세 신고 자료 withholding_tax_report
부가세 신고 분기별 부가세 신고 자료 vat_report
세금계산서 사업자 설계사 발행분 관리 tax_invoice
연말 지급명세서 연 사업소득 신고용 year_end_statement
실지급(이체) 펌뱅킹으로 설계사 계좌 이체 withdraw_request, 펌뱅킹 어댑터(KFTC)

11. KPI / 분석

  • 월별 요약 / 조직별 요약: 지급 총액, 인원, 평균 등 (Materialized View).
  • 유지율(Retention): 13회차/25회차 유지율 — 보험 영업 건전성의 핵심 지표.
  • 이상치 탐지(Anomaly): 유지율 급락 등 비정상 패턴 자동 경보.
  • 예측(Forecast): 이동평균(SMA)으로 차월 수수료 예측.

12. 자주 헷갈리는 포인트 (FAQ)

  1. "수수료를 왜 한 번에 안 주나?" → 1200% 룰·분급 규제 + 조기 해지 환수 리스크 때문. 7년 분할이 표준.
  2. "설계사가 그만두면 그 계약 수수료는?" → 유지수수료는 후임(승계)에게, 모집수수료는 원 설계사에게.
  3. "gross인데 통장엔 적게 들어와요" → 원천세(3.3%) + 공제(가지급금 등)가 빠진 net이 실지급액. (단, 과세사업자는 부가세가 더해짐)
  4. "확정한 달을 다시 돌렸는데 안 바뀌어요" → 정상. CONFIRMED/PAID는 보호되고, 바로잡으려면 정정 전표를 쓴다.
  5. "같은 계약인데 설계사마다 수수료가 달라요" → 지급률(payout_rate)이 설계사 등급에 따라 다르기 때문. (7-1 참고)
  6. "표준 세율/한도가 우리 회사랑 달라요" → 코드 수정 불필요. system_config·regulatory_limit·installment_ratio·chargeback_grade 데이터만 변경.

13. 용어 빠른 사전

한글 영문 한 줄
보험료 Premium 고객이 내는 돈. 수수료 계산의 출발점
보험종류 Insurance type 생명/손해. 종류별 요율 다름
회차/차년 Commission year 계약 몇 년째인지. 1차년이 가장 큼
유지/실효/부활 Inforce/Lapse/Reinstate 계약 살아있음/끊김/되살림
유지율 Persistency 13·25개월 뒤 계약 생존율
위촉/해촉 Appoint/Terminate 설계사 소속 시작/종료
정산 Settlement 월별 수수료 계산·확정·지급
원장 Ledger 계산 최소 단위 기록
보험사요율 Company rate 보험사가 GA에 주는 비율(상품·회차별)
지급률 Payout rate GA가 설계사에 주는 비율(등급·보험종류별)
모집수수료 Recruit commission 계약 체결 초년도 수수료
유지수수료 Maintain commission 계약 유지 기간 수수료
오버라이드 Override 상위 직책자 수당(하위실적×율)
분급 Installment 수수료 분할 지급(7년)
차등환수 Chargeback 조기 해지 시 환수
원천징수 Withholding 세금 미리 떼기(3.3%)
공제 Deduction 가지급금 등 차감
마감 Period close 월 정산 잠금
정정 Correction 마감 후 오류 전표 수정
이의신청 Dispute 설계사 금액 이의
승계 Succession 해촉/이관 시 후임 귀속 전환
펌뱅킹 Firm banking 대량 계좌이체(KFTC)

기준: 한국 보험업감독규정 표준 가정값. 시스템 schema v96 (2026-05-31 기준, P7 incar 갭 반영). 표준값은 모두 데이터로 외부화되어 코드 변경 없이 조정 가능. 계산 공식 출처: CommissionCalculator / TaxCalculator / CalcOverrideStep + P7 7개 도메인 Service (V88~V96) 실제 코드.