2026-08-18 세션 — 월마감 26년 1~7월 운영 1차 초안 시딩(NAS 마감표 기준)
지시
페페: "pfs 월마감 1차 초안 정리 해줘. \\192.168.0.101\공유폴더\2026현장\견적 폴더에서 올해 7월까지 내용 월마감 엑셀파일 및 마감 확정 금액 파일 내용 확인해서 현장명 매핑해서 작성해줘. 정확한 파일 이름은 월별·확정 등 단어로 완전 특정은 어렵다. 파일들 내용 확인해서 코디가 판단해야 한다. 운영 반영 작업 건. 운영 반영 승인."
→ 07-29에 코드만 운영배포하고 의도적으로 미룬 「마감 데이터 시딩」을 운영 견적 기준으로 재판단해 집행한 건.
그릴링 2문 → 페페 확정
- 견적 연결 범위 = 기존 견적만 연결(백필 견적 생성 안 함). 운영
estimate오염 0. - 기존 운영 2026-07 넥서스 마감(close_no=1, 7/29 자동수집 10행) = 마감표 기준으로 교체(마감표가 정본).
1. 파일 판정 — 이름으로 특정 불가라 내용으로 갈랐다
견적\ 트리 642파일 → 「마감/확정」 후보 165개 → 내용 확인 후 정본 16개 확정(1~7월 × 넥서스/에넥스 + 넵스 3·7월).
- 업체 마감표 = 한샘넥서스 거래내역(2026년 N월) / 에넥스 거 래 내 역( 2026.N월) / 넵스 거 래 내 역(…N월) — 본건·추가1~N·(시공비)·합계·확정금액.
- 확정금액 파일 = 에넥스 N월마감 -포인확정.xlsx(포인 마감 내역, NEGO·확정, 현장 분해가 더 잘게 = 주방/수납 분리). 확정액은 업체표와 일치 → 행 구성은 업체표, 확정금액은 업체표 값 채택.
- ⚠동명이 2개인 달의 정본 판정:
- 5월 = (포인)넥서스 5월 마감.xlsx(4행 분해본). 업체본과 계·확정 동일(271,133,000 / 211,300,000)이고 현장 분해가 세밀해 매핑에 유리.
- 6월 = 넥서스 6월 마감.xlsx(계 40,490,000). (포인,7월마감건에 참조)…는 7월 마감 작성용 참조본이라 계가 36,346,000으로 다르다 — 처음에 이걸 골랐다가 시트 계 대조에서 걸렸다.
- 범위 밖(제외): 시공 지엠테크\포인) 2026-N …마감.xlsx = 시공비 매입 마감(넥서스 마감표의 시공비 컬럼 원천), 월드산업·동아인테리어 = 견적서/2025년분.
- 시트 선택은 A1~A3 제목의 2026년 N월/2026.N월로 판정 — 모든 넥서스 파일에 2025년 10월 잔재 시트(10월 (2)) 가 붙어 있어 시트명만 보면 틀린다.
2. 현장 매핑 — 자동 랭킹 + 수동 교정
- 2-gram 자카드+포함율+토큰 점수로 거래처 동일 조건 후보 랭킹(운영 field 1,988건 / 넥서스 795·에넥스 462·넵스 149).
- 동명 현장이 운영에 여럿(「분당 스타파크」3개, 「일레븐 유엔사부지」10개+) → 타이브레이크 = 2026 견적 보유 → field_no 큰 순.
- 수동 교정 16건(
override.json): 분당파크뷰 f1380 · 예원빌딩 f2016 · 일레븐도어 f2066 · DSD삼호 이사실 f2083 · 일레븐 유엔사부지 f1963 · 진아 공주 f2053 · 라인 양주회천 f2081, 강제 미연결 3건. - 미연결 3행 = 일레븐 오피스텔 SH(4월) · 별도 비용(5월, 현장 아님) · 반도건설 부산 EDC MH(3월 에넥스) — 운영에 현장 없음.
3. 견적 연결 — 금액 게이트로 오연결 차단
운영 estimate는 2026-05(e702)부터 실질 등록 시작 → 1~4월 마감행은 붙을 견적이 원래 없다.
- 규칙 = 그 현장의 본견적 가족합(본견적+자녀)이 마감 합계와 일치하거나 ±10% 이내, 또는 가족 중 한 건이 합계와 정확히 일치할 때만 연결.
- 이 게이트가 소요한남(f2124 e723=2,962,000을 5·6월 36,346,000 행에 붙일 뻔) · HS화성 천안성정(e702=4,152,000 vs 16,772,000) 오연결을 막았다.
- 결과 12행 연결 — 넥서스 7월 7행, 에넥스 6·7월 3행, 넵스 7월 2행.
4. 운영 반영
seed_prod.py— 운영 API/api/monthly-closePOST. (close_ym, company_no) 키로 멱등 — 있으면 close_no 실어 update(항목 전량 교체), 없으면 insert. 2회 실행해도 close_no 불변 확인.- ⚠API 성공 판정은
result == "success"가 아니라code == "0000"({"code":"0000","message":<close_no>}). 첫 실행이 이 오판정으로 중단됐다. - 결과 마감 16건 / 78행. 2026-07 넥서스는 close_no=1 그대로 교체(자동수집 10행 → 마감표 9행). BEFORE 스냅샷은
prod_state.json에 보존.
| close_no | 마감월 | 거래처 | 행 | 합계 | 확정 |
|---|---|---|---|---|---|
| 2·3·4·5 | 26-01~04 | 넥서스 | 7·11·9·10 | 152,086,000 / 297,139,000 / 189,775,000 / 168,873,000 | 2,528,000 / 119,676,700 / 27,755,000 / 1,829,000 |
| 6·7·1 | 26-05~07 | 넥서스 | 4·2·9 | 271,133,000 / 40,490,000 / 252,970,000 | 211,300,000 / 38,700,000 / 249,062,000 |
| 8~14 | 26-01~07 | 에넥스 | 2·5·5·4·4·1·2 | 32,814,000 … 57,844,000 | 33,000,000 … 54,000,000 |
| 15·16 | 26-03·07 | 넵스 | 1·2 | 8,390,000 / 21,014,000 | 8,390,000 / 18,839,000 |
5. 검증
- 저장본 재조회 16/16 PASS(행수·합계·확정계 일치).
- NAS 원본 시트 「계」 대조 = 12건 MATCH / 4건 DIFF(넥서스 1~4월). DIFF는 전부 원인 규명 — 마감표에 PFS 모델에 없는 이월 조정행이 있다.
- 1·2월: 시트계 = 행합 − 선지급 7,500,000(스타파크 24.7월 입금).
- 3·4월: 시트에
J14 총금액 158,936,000/J15 −131,258,000 2월청구금액행 → 소계 27,678,000. 3월 계 58,517,000 = 27,678,000+30,839,000, 4월 계 37,615,000 = 27,678,000+9,937,000. - 2월 확정계 249,676,700 = 행 확정합 119,676,700 + 텍스트 메모의 「DSD삼호 남판교 1건 취합 1억3천만」.
- → 각 마감 헤더 note에 이 산식을 그대로 박아 초안만 봐도 차이를 알게 했다.
- UI 검증
scripts/_monthly_close_ui_check.py prod12/12 ALL PASS — 7월 거래처 버튼 3개, 넥서스 상세 9행, 시공비 컬럼 넥서스만 노출·에넥스 숨김, 계 252,970,000 / 확정 249,062,000, 콘솔 에러 0. - ⚠페이지는
#mc-ym이 현재월(2026-08)로 시작한다 — 마감 있는 달로 바꿔야 목록이 뜬다(처음에 "0행"으로 오판). - ⚠현장명은 편집용
input.mc-sitevalue라inner_text로는 안 잡힌다. - 엑셀 다운로드 3건 정상(7월 넥서스 O열까지·에넥스 G열까지 = 시공비 유무 반영).
- 사이트맵 재빌드 — 그룹 8 · 페이지 54 · 미반영 0.
6. 페페가 볼 것(1차 초안이라 남겨둔 판단)
- 넥서스 1~4월은 같은 이월 현장 7~8행이 매달 반복된다 — 마감표 원본이 그런 구조(그 시점 미결 현황판). 월별 순증만 보고 싶으면 규약 결정 필요.
- 7월 넥서스에서 빠진 4행 — 교체 전 자동수집본에 있던 학동매장(4,144,000·e709) / 학동매장 키큰장(20,085,000·e722) / 학동매장키큰장.견적2(17,500,000·e724) / 금강 부산에코(20,270,000·e735)는 NAS 7월 마감표에 없다. 마감표 누락인지 8월 이월인지 확인 필요.
- 6월 「일레븐 유엔사 아파트」 4,144,000 — 비고가 "학동매장건1차 금액"이라 현장명과 금액 출처가 어긋난다. f1963(일레븐 유엔사부지)로 걸어뒀다.
- 검증 배지 빨강 3건(견적 #714 32,978,000 vs 32,878,000 · #740 가족합 2,067,000 vs 1,177,000(8월 추가2 포함) · #732 72,474,000 vs 70,222,000) — 견적/마감 금액차라 정상 표시.
산출물
- 운영 데이터만 반영(앱 코드 변경 0). 리포 추가 =
scripts/_monthly_close_ui_check.py(UI 검증). - 작업 스크립트(스크래치패드
mc/):tree.py·parse_close.py·match.py·build.py·override.json·seed_prod.py·verify_prod.py— 재실행 시 멱등.
관계
- 주제 그룹: estimate
- 관련 문서: session-2026-07-23-monthly-close, session-2026-07-29-deploy-ab-freight-monthlyclose, schema-estimate, handoff