{
  "issueId": "4163",
  "environment": "dev",
  "source": "승인된 사용자 QA 요청",
  "sourceText": "김경주님의 QA 요청입니다\n\n조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다\n\n[1] QA 요청 배경\n- https://itsm.bix.bz/issues/4163\n\n[2] 사전 데이터\n- 개발계 빅스페이먼츠 테넌트에서 공제금 또는 해소가능채권이 있는 법인계좌, 두 금액이 모두 0인 계좌, 실차액이 음수인 계좌 준비\n- 금일 정산예정금이 0이 아닌 법인계좌 준비\n\n[3] 사전 작업\n- admin 계정으로 로그인하고 법인계좌관리V2와 법인계좌관리V2(전용) 접근 확인\n- 비교할 때 동일한 테넌트·법인계좌·검색 조건을 사용하고 최신 목록으로 조회\n\n[4] 권한별 테스트\n- admin\n\n[5] 검증 대상\n- 비스킷링크 전산 법인계좌관리V2(전용)의 실차액, 안내 문구 및 조회결과 Excel\n- 일반 법인계좌관리V2와 전용 화면의 편차\n\n[6] 체크리스트\n- 전용 화면 실차액 안내가 실잔고 - [(정산예정금액(신) - 금일 정산예정금) + 공제금 + 해소가능채권] 구조인지 확인\n- 공제금과 해소가능채권이 있는 계좌에서 정산예정금액(신) - 금일 정산예정금에 두 금액을 더한 합계 전체를 실잔고에서 뺀 값이 실차액과 일치하는지 확인. 두 금액을 실잔고에 더하지 않는지 확인\n- 공제금만 있는 계좌, 해소가능채권만 있는 계좌, 두 금액이 모두 있는 계좌에서 각각 차감되는지 확인\n- 금일 정산예정금이 0이 아닌 계좌에서도 해당 금액을 정산예정금액(신)에서 먼저 뺀 뒤 공제금·해소가능채권을 합산하는지 확인\n- 공제금과 해소가능채권이 모두 0인 계좌에서는 실잔고 - (정산예정금액(신) - 금일 정산예정금)과 실차액이 일치하는지 확인\n- 차감 합계가 실잔고보다 큰 계좌는 실차액이 음수로 표시되고 0으로 바뀌지 않는지 확인\n- 일반 V2와 전용 화면의 편차가 모두 실잔고 - 정산예정금액(신)이며, 동일 계좌의 편차가 두 화면에서 같은지 확인\n- 전용 화면에서 같은 검색 조건으로 조회결과 Excel을 내려받아 실차액이 화면 및 새 산식과 일치하는지 확인\n- 검색 및 새로고침 후에도 실차액이 안내 문구의 산식과 일치하는지 확인",
  "scope": "개발계 admin 법인계좌관리V2(전용) 실차액 산식·안내·Excel 및 일반 V2 편차 비교",
  "checklist": [
    "전용 화면 실차액 안내가 실잔고 - [(정산예정금액(신) - 금일 정산예정금) + 공제금 + 해소가능채권] 구조인지 확인",
    "공제금과 해소가능채권이 있는 계좌에서 정산예정금액(신) - 금일 정산예정금에 두 금액을 더한 합계 전체를 실잔고에서 뺀 값이 실차액과 일치하는지 확인. 두 금액을 실잔고에 더하지 않는지 확인",
    "공제금만 있는 계좌, 해소가능채권만 있는 계좌, 두 금액이 모두 있는 계좌에서 각각 차감되는지 확인",
    "금일 정산예정금이 0이 아닌 계좌에서도 해당 금액을 정산예정금액(신)에서 먼저 뺀 뒤 공제금·해소가능채권을 합산하는지 확인",
    "공제금과 해소가능채권이 모두 0인 계좌에서는 실잔고 - (정산예정금액(신) - 금일 정산예정금)과 실차액이 일치하는지 확인",
    "차감 합계가 실잔고보다 큰 계좌는 실차액이 음수로 표시되고 0으로 바뀌지 않는지 확인",
    "일반 V2와 전용 화면의 편차가 모두 실잔고 - 정산예정금액(신)이며, 동일 계좌의 편차가 두 화면에서 같은지 확인",
    "전용 화면에서 같은 검색 조건으로 조회결과 Excel을 내려받아 실차액이 화면 및 새 산식과 일치하는지 확인",
    "검색 및 새로고침 후에도 실차액이 안내 문구의 산식과 일치하는지 확인"
  ],
  "roles": [
    "ADMIN"
  ],
  "setupSteps": [
    {
      "name": "실제 개발계 계좌 조건 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN"
      ],
      "description": "동일 테넌트의 최신 전용 목록에서 공제금만·해소가능채권만·둘 다·둘 다 0·금일 정산예정금 비0·음수 실차액 조건을 확인한다. 없는 조건은 실제 확인 불가 사유를 기록한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "법인계좌관리V2(전용)",
      "application": "admin",
      "path": "/lab/corporation-accounts-v2-pay",
      "tenantParam": "tenantId",
      "searchButtonSelector": "button:has-text('검색') >> nth=-1",
      "filters": [
        {
          "name": "법인명",
          "placeholder": "법인명",
          "selector": "input[placeholder='법인명'] >> nth=-1",
          "type": "textbox",
          "value": "실제 최신 목록의 법인명으로 동적 검색",
          "queryParamCandidates": []
        }
      ],
      "dataRequestUrlPattern": "/api/v2/corporation-accounts/pay",
      "excelRequestButtonSelector": "button:has-text('엑셀') >> nth=-1",
      "excelRequestUrlPattern": "/api/v1/excel/corporation-accounts-v2/pay",
      "excelExpectedColumnHeaders": [
        "실잔고",
        "실차액",
        "정산예정금액(신)",
        "금일 정산예정금",
        "공제금",
        "해소가능 금액"
      ]
    },
    {
      "name": "법인계좌관리V2",
      "application": "admin",
      "path": "/lab/corporation-accounts-v2",
      "tenantParam": "tenantId",
      "searchButtonSelector": "button:has-text('검색') >> nth=-1",
      "filters": [
        {
          "name": "법인명",
          "placeholder": "법인명",
          "selector": "input[placeholder='법인명'] >> nth=-1",
          "type": "textbox",
          "value": "실제 최신 목록의 법인명으로 동적 검색",
          "queryParamCandidates": []
        }
      ],
      "dataRequestUrlPattern": "/api/v2/corporation-accounts"
    }
  ],
  "scenario": "corporation-account-real-balance-difference"
}
