{
  "title": "보험 수수료 갭 보완 — 감사 발견 4종",
  "stories": [
    {
      "id": "US-A",
      "title": "지급보류(HOLD) 건이 지급배치에 포함되는 버그 수정",
      "priority": 1,
      "passes": true,
      "acceptanceCriteria": [
        "PaymentBatchItemMapper.insertFromSettleMaster 쿼리가 status='HOLD' 인 settle_master 를 지급배치 대상에서 제외한다",
        "HOLD 건은 batch_item 에 포함되지 않고, CALCULATED/CONFIRMED 건은 그대로 포함됨을 검증하는 단위테스트 추가",
        "./gradlew :ga-api:test 관련 테스트 통과(또는 mapper 단위검증), 전체 build 통과"
      ]
    },
    {
      "id": "US-B",
      "title": "환수(클로백) 발생 시 기납부 원천세 환급/조정 — 분기 원천세신고·연간소득 반영",
      "priority": 2,
      "passes": true,
      "acceptanceCriteria": [
        "클로백으로 gross<0 인 월에 원천세 역분개(음수 income_tax/local_tax)가 산출되어 withholding_tax_adjustment 에 멱등(agent_id,settle_month,reason UNIQUE) 기록된다",
        "분기 원천세신고(withholding_tax_report) 집계가 해당 역분개를 차감 반영하여 과대신고가 해소된다",
        "settle_master 금액 흐름(gross/net/carryover/payable)과 양수 정산 동작은 불변(회귀 없음) — 역분개는 별도 레코드로만 적재",
        "단위테스트: BatchTaxCalculator 역분개액 + 양수월+클로백월 시퀀스 누적 원천세 net-off 검증",
        "전체 build/test 통과"
      ]
    },
    {
      "id": "US-C",
      "title": "환수채권(미수) 이월 시 연체이자 자동 발생",
      "priority": 3,
      "passes": true,
      "acceptanceCriteria": [
        "환수채권 balance 가 이월될 때 연체일수 기준 연체이자가 산출된다(이자율은 common_config 로 정책화, 기본값 명시)",
        "연체이자가 환수채권에 누적 기록되고 회수/상계 대상에 포함된다",
        "이자율 0 또는 미설정 시 기존 동작(이자 미발생)과 동일하게 안전 폴백",
        "단위테스트: 연체일수→이자액 계산 및 0율 폴백 검증",
        "전체 build/test 통과"
      ]
    },
    {
      "id": "US-D",
      "title": "사업소득 간이지급명세서(월별) 생성 — 국세청 제출 법정의무 대응",
      "priority": 4,
      "passes": true,
      "acceptanceCriteria": [
        "월별(설계사×정산월) 사업소득 지급명세서 집계가 생성된다(소득액·원천세·지방소득세)",
        "조회 API + 엑셀 export 제공(기존 report/statement 패턴 재사용)",
        "기존 분기 원천세신고와 데이터 정합(동일 payment 소스 기준)",
        "전체 build/test 통과"
      ]
    }
  ]
}