{
  "issueId": "4035",
  "environment": "dev",
  "scenario": "daily-collection-registration",
  "source": "Redmine #4035 + 송인준 QA 요청 2026-08-26",
  "sourceText": "비스킷 링크 개발계에서 ADMIN과 TA 계정으로 일수금 등록 권한 저장, 가맹점 일수금 등록 입력 상태, 수납관리 등록 내역, 정산내역 일수금 금액, 상세 상환 스케줄을 검증한다.",
  "scope": "기본 계정 ADMIN=bigs_jjm, TA=jjmta01을 사용한다. USE_INSTALLMENT 권한은 역할별 사용 가능 권한과 역할 프리셋에 임시 저장한 뒤 원래 상태로 복구한다. 신규 결제나 일수금 등록은 생성하지 않고 2026-08-25 시작으로 준비된 기존 일수금과 2026-08-26 연결 정산을 조회한다.",
  "roles": ["ADMIN", "TA"],
  "subjectAccounts": [
    { "role": "ADMIN", "label": "기본 ADMIN 계정 bigs_jjm", "envRole": "ADMIN" },
    { "role": "TA", "label": "기본 TA 계정 jjmta01", "envRole": "TA" }
  ],
  "checklist": [
    "사용자 프리셋 관리 > 역할별 사용 가능 권한 관리 > 기능 권한 > 가맹점관리 > 일수금 등록 권한 저장 확인",
    "사용자 프리셋 관리 > 기능권한 > 가맹점관리 > 일수금 등록 저장 확인",
    "업체관리 > 가맹점 관리 > 가맹점 수정에서 일수금 등록을 확인하고 시작일을 2026-08-25로 설정할 수 있는지 확인",
    "정산관리 > 수납관리에서 준비된 일수금 등록 내역이 보이는지 확인",
    "거래·정산 생성 후 정산관리 > 정산내역의 일수금 금액 컬럼에 준비된 금액이 표시되는지 확인",
    "정산관리 > 수납관리 > 일수금 상세의 상환 스케줄 상태가 준비된 정산과 일치하는지 확인"
  ],
  "setupSteps": [
    {
      "name": "ADMIN과 TA 로그인 및 대상 메뉴 접근",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": ["ADMIN", "TA"],
      "description": "별도 계정 지정이 없으므로 기본 계정 ADMIN=bigs_jjm, TA=jjmta01을 사용한다.",
      "required": true,
      "mutation": "none"
    },
    {
      "name": "일수금 등록 권한 임시 저장 및 원복",
      "kind": "permission-toggle",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": ["ADMIN", "TA"],
      "description": "역할별 사용 가능 권한과 ADMIN USE_SYSTEM, TA ta 프리셋에 USE_INSTALLMENT를 임시 저장한다.",
      "required": true,
      "mutation": "temporary",
      "guardEnv": "QA_4035_ALLOW_INSTALLMENT_PERMISSION_MUTATION",
      "restore": {
        "required": true,
        "description": "프리셋을 먼저, 역할별 사용 가능 권한을 나중에 원복하고 저장 전 permissionIds와 완전히 같은지 재조회한다."
      }
    },
    {
      "name": "기존 일수금·정산 사전 데이터 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": ["ADMIN", "TA"],
      "description": "일수금 ID 17(최인석 가맹, 시작일 2026-08-25, 총액 10,000,000원, 1회 상환액 30원)과 2026-08-26 생성 정산의 일수금 금액 30원을 사용한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "역할별 사용 가능 권한 관리",
      "application": "admin",
      "path": "/admin/permission-available",
      "tenantParam": "tenantId",
      "roles": ["ADMIN"]
    },
    {
      "name": "사용자 프리셋 관리",
      "application": "admin",
      "path": "/admin/member-preset",
      "tenantParam": "tenantId",
      "roles": ["ADMIN"]
    },
    {
      "name": "가맹점 관리",
      "application": "admin",
      "path": "/business/vendor-manage",
      "tenantParam": "tenantId",
      "roles": ["ADMIN", "TA"],
      "recordsSelector": "[role='row'], tr"
    },
    {
      "name": "수납관리",
      "application": "admin",
      "path": "/master-accounting/installment-manage",
      "tenantParam": "tenantId",
      "roles": ["ADMIN", "TA"],
      "recordsSelector": "[role='row'], tr",
      "dataRequestUrlPattern": "/api/v1/installments"
    },
    {
      "name": "정산내역",
      "application": "admin",
      "path": "/settlement-history/settlement-details",
      "tenantParam": "tenantId",
      "roles": ["ADMIN", "TA"],
      "recordsSelector": "[role='row'], tr",
      "dataRequestUrlPattern": "/api/v1/settlement"
    }
  ]
}
