# QA Report - Redmine #4432 (dev)

- Generated: 2026-11-03T00:38:50.526860+09:00
- Redmine: https://itsm.bix.bz/issues/4432
- QA Redmine: https://itsm.bix.bz/issues/4478
- Subject: 영업점 수익 집계 화면·엑셀 원본 편차 수수료율 대조
- Workflow Status: 실제 ADMIN 검증 완료 · 알림 전송 금지
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN
- Checklist Total: 4
- Checklist Passed: 4
- Checklist Failed: 0
- Checklist Blocked: 0
- Checklist Skipped: 0

## 결과

**최신 사용자 범위인 ADMIN 일반 Excel QA 4건 통과. 영업점 편차 수수료율13개 모두 화면과 Excel 원본 셀 저장값까지 일치했습니다.** TypeScript `.spec.ts`와 Playwright로 실제 개발계 UI에서 조회하고, 같은 조건으로 새 파일을 생성·다운로드했습니다. 원본 셀은 TypeScript·fflate로 XLSX XML을 읽어 분석했습니다. 표시 서식만 비교한 결과가 아닙니다.

요청자·담당·멘션 메타데이터는 김경주입니다. **사용자 지시로 Google Chat/Space의 요청·진행·결과·종료 알림을 전혀 전송하지 않았습니다.** 다른 세션에도 결과를 재전송하지 않습니다.

## 실제 조회 조건

- 앱: https://admin-dev.biscuitpay.com/ 의 거래 > 영업점 수익 집계
- 역할: 사용자가 직접 제공한 ADMIN 인증. 실행 직전 새 로그인·실제 ADMIN 역할 확인. 전역 기본 인증 설정은 변경하지 않음
- 기간: 2026-07-01 ~ 2026-11-03
- 가맹점: A_주홍석_가맹4_루시페이먼츠 (BP100515), 개발계 조회 결과에서 선정
- 대조: 가맹점의3개 영업라인·13개 영업점 편차율. 영업점명과 영업라인의 이름 집합으로 매칭하고 나열 순서를 기준으로 연결하지 않음
- 파일: 실제 새로 생성한 일반 양식 XLSX. SHA-256 `c5017d485e5c23c8d9922b0e85208aa64aabd8b1a59898b54fb2b0633e1034c1`

처음 전달된 ADMIN/TA/BO 범위는 사용자가 ADMIN만 확인하도록 변경했습니다. 최종 결과에는 ADMIN만 포함하며 TA/BO·영업점용 양식을 검증했다고 주장하지 않습니다. 이전 인증·선택자 탐색은 비공개로 보존하고 최종4개 판정에 합산하지 않았습니다.

## Excel 서비스 반영 확인

[Build41467203128](https://github.com/BIGS-CO-LTD/bigs-pay-backend-spring/actions/runs/41467203128)은 develop-rc `8a1d066758d72f2738dd8229b6fe0df07b427fc4`에서 Excel 이미지를 빌드한 근거이며, **빌드 성공만으로 배포됐다고 판단하지 않았습니다.** [Deploy41420862136](https://github.com/BIGS-CO-LTD/bigs-pay-backend-spring/actions/runs/41420862136)은 prod여서 개발계 반영 근거에서 제외했습니다. 확인한 [dev-rancher 배포41375090501](https://github.com/BIGS-CO-LTD/bigs-pay-backend-spring/actions/runs/41375090501)은 Rancher 접속 시간 초과로 실패했습니다.

실제로 dev에서 새로 받은 파일에서는 API 계산 원본 `0.996633`이 화면·셀 원본 모두 `0.997`, `2.989899`는 모두 `2.99`였습니다. 계산 원본은 여섯 자리를 유지하고 Excel 저장값은 화면의 세 자리 기준을 따르므로, **대상 기능의 실제 Excel 반영은 일반 양식 다운로드로 확인**했습니다. 실행 중인 이미지 digest·정확한 소스 SHA 자체는 접근 가능한 자료로 특정하지 못했습니다. 이 두 결론을 구분합니다. 제품 빌드·배포를 실행하지 않았습니다. [배포 확인 자료](artifacts/files/deployment-evidence.json)

## 항목별 결과

| 항목 | 판정 | 수행·실제 결과 | 증거 |
| --- | --- | --- | --- |
| Q01 | PASS | 조회·생성·문서보관함 UI 및 새 XLSX 다운로드 성공. SHA-256 기록 | [화면1](artifacts/screenshots/01-ADMIN-screen-rates.png) / [원본 셀 대조](artifacts/files/cell-comparison.json) |
| Q02 | PASS | 3개 영업라인의 편차율 13개가 모두 일치. 순서가 반대인 열도 영업점명으로 대조 | [화면1](artifacts/screenshots/01-ADMIN-screen-rates.png) / [원본 셀 대조](artifacts/files/cell-comparison.json) |
| Q03 | PASS | 13개 모두 numeric 상수·수식 없음·화면 숫자와 일치. 0.996633 계산값의 Excel 원본0.997 확인 | [화면1](artifacts/screenshots/01-ADMIN-screen-rates.png) / [원본 셀 대조](artifacts/files/cell-comparison.json) |
| Q04 | PASS | 일반 양식 확인. TA/BO와 영업점용 양식은 최신 사용자 지시로 실행 범위에 포함하지 않음 | [화면1](artifacts/screenshots/01-ADMIN-screen-rates.png) / [원본 셀 대조](artifacts/files/cell-comparison.json) |

## 동일 영업점명 기준 숫자 대조

단위는 %. `#.000` 서식에서 `.997`처럼 보일 수 있지만 원본 숫자 `0.997`과 같습니다. `4.000`과 `4`, `1.0`과 `1`도 같은 숫자로 판정했습니다. 가맹점 수수료율·영업점 일반 수수료율의 정밀도는 검증·수정 대상으로 확장하지 않았습니다.

| 영업점 | 셀 | API 계산 원본 | 화면 | Excel 원본 | 판정 |
| --- | --- | ---: | ---: | ---: | --- |
| A_주홍석_영업2 | Sheet0!AJ2 | 2.989899 | 2.99% | 2.99 | 일치 |
| A_주홍석_영업1 | Sheet0!AE2 | 0.996633 | 0.997% | 0.997 | 일치 |
| A_주홍석_영업3 | Sheet0!Z2 | 0.996633 | 0.997% | 0.997 | 일치 |
| A_주홍석_영업4 | Sheet0!U2 | 0.996633 | 0.997% | 0.997 | 일치 |
| A_주홍석_영업5 | Sheet0!P2 | 0.996633 | 0.997% | 0.997 | 일치 |
| A_주홍석_영업6 | Sheet0!K2 | 0.996633 | 0.997% | 0.997 | 일치 |
| A_주홍석_영업2 | Sheet0!P3 | 0.5 | 0.5% | 0.5 | 일치 |
| A_주홍석_영업1 | Sheet0!K3 | 4 | 4% | 4.0 | 일치 |
| A_주홍석_영업2 | Sheet0!AE4 | 3 | 3% | 3.0 | 일치 |
| A_주홍석_영업1 | Sheet0!Z4 | 1 | 1% | 1.0 | 일치 |
| A_주홍석_영업3 | Sheet0!U4 | 1 | 1% | 1.0 | 일치 |
| A_주홍석_영업4 | Sheet0!P4 | 1 | 1% | 1.0 | 일치 |
| A_주홍석_영업5 | Sheet0!K4 | 2 | 2% | 2.0 | 일치 |

## 재현과 증거 보존

```sh
npx tsx qa/issues/4432/dev/run.ts
```

인증정보는 ignored 실행 전용 파일 또는 환경변수로만 제공합니다. 실제 UI 검색→엑셀 메뉴→조회결과 다운로드→문서보관함→새 파일 저장 순서로 실행합니다. API 응답을 모의 처리하지 않았습니다. 테스트의 공유 준비 단계에서 실제 UI 작업을 수행하고 Q01~Q04가 그 실행 증거를 각각 검사합니다. 파일 원본·전체 API 응답·인증 상태는 비공개로 보관하고 공개 자료에는 필요한 셀 주소·값·서식·수식 유무·숫자 대조만 남겼습니다.

상용 메이커랩/BP105103·고정 상용 기간·금액을 개발계 사전조건으로 요구하지 않았습니다. 로그인·검색·다운로드 외 제품 설정, 권한·공유 프리셋, 금융 데이터 변경은 없습니다.

## Execution Summary

- Passed: 4
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0

## 완료 절차

보고서·증거 검사, PR 병합·공개 게시, QA 하위 이슈 상태 갱신을 진행합니다. 원본 제품 티켓은 임의 완료하지 않습니다. 사용자 지시가 저장소 자동 알림 규칙보다 우선하므로 Google Chat/Space 전송과 자동 알림 명령은 생략합니다. 이 생략은 확인 불가나 테스트 실패가 아닙니다.
