ADR-024 PF 우발채무 — 정기보고서의 부동산 PF 종합요약표 구조화 (R-C06)
배경 채무보증은 ‘타인에 대한 채무보증 결정’ 공시(ADR-016, R-C05)로만 봤다. 이 공시는 건별 · 수시라 회사 전체 PF 보증이 얼마이고
언제 만기가 돌아오는지를 모른다. 금융감독원은 2024년 1월 「건설회사의 건설계약 관련 우발부채 주석공시 모범사례」를 내고 2023년도 재무제표부터
부동산 PF 종합요약표(정비사업 · 기타사업 × 브릿지론 · 본PF, 보증한도 = 최대 노출 · 보증금액 = 현재 노출, 대출잔액의 만기 구간)와
사업장별 세부 내역을 적도록 권고했다. 분기 · 반기 · 사업보고서의 ‘XI-2. 우발부채 등에 관한 사항’에 실린다.
결정
- 구간만 스트리밍으로 꺼내 보관 — 정기보고서 본문은 10~15 MB.
document.xml(Zip)을 64 KB 씩 풀면서 ASCII 표지
AASSOCNOTE="D-0-11-2-0"(우발부채) ~ D-0-11-3-0(다음 장)만 바이트로 찾아 모은다(SectionScanner, 압축 해제 상한 120 MB · 보관 상한 4 MB).
보관한 구간을 파서 버전과 함께 두어, 파서를 고치면 API 호출 없이 다시 파싱한다(ADR-016 과 같은 원칙). 실측: 472건 약 90초, worker 최대 475 MiB / 1.5 GiB.
- 회사 노출 = 단독사업 + 컨소시엄 회사분 — 컨소시엄 전체분은 다른 참여사 몫이 섞여 더하지 않는다. 범위는 표 바로 앞 꼬리표(60자)로,
마지막에 나온 꼬리표를 따르고 ‘컨소시엄 참여사업은 없습니다’ 같은 부정 문장은 꼬리표로 보지 않는다. 회사마다 모양이 달라 다음을 처리한다(모두 실제 보고서 fixture 로 고정).
- 한 표 안에서 줄마다 ‘전체분 · 당사분’을 나눈 표(금호건설) · 단독 줄과 컨소시엄 줄 · 소계를 한 표에 둔 표(KCC건설) — 줄마다 범위를 매기고 범위별로 더함
- 회사분 표 없이 ‘컨소시엄(전체)’ 표 하나만 있고 보증금액 열이 ‘보증금액(연결)’(한신공영) — 그 표가 회사 몫
- 원문 주석이 ‘자체사업 — 회사가 직접 PF 차주’라고 밝힌 행(아이에스동서) — 보증이 아니라 이미 부채라 합계에서 뺌
- 책임준공 약정만 모은 표, 특수관계자 표(위 내역의 일부), SOC 사업 표, 전기분으로 한 번 더 실린 같은 사업장 표 — 사업장으로 세지 않음
- 모르는 값은 비운다 — 만기 구간은 12개월 안의 세 구간(3 · 6 · 12개월)을 모두 알아봐야 쓴다. 이름만으로 누적인지 구간인지 알 수 없는
‘6개월이내 · 1년이내’ 서식은 모든 줄에서 구간 합 = 대출잔액일 때만 구간으로 인정한다. 여섯 구간이 모두 비면 ‘12개월 내 만기’는 0 이 아니라 없음.
요약표가 없는 보고서(2023년도 이전 · 회사 고유 서식 — 예: 워크아웃 기간의 태영건설)는
NO_STANDARD 로 두고 추정하지 않는다. 비울 때는 사유를 message 에 남긴다.
- 두 가지 독립 대조 — ① 사업장별 보증금액 합 ≈ 요약표 합계(±1%) ② 본문 서술 ‘…PF와 관련하여 총 N백만원의 신용보강’ ≈ 요약표 합계.
어긋나도 값을 바꾸지 않고 요약표를 기준으로 쓰되 화면과 R-C06 경보 문장에 함께 보인다.
- 지표 · 규칙 —
PF_GUARANTEE_TO_EQUITY · PF_DUE_12M_TO_EQUITY · PF_BRIDGE_SHARE(분모 = 같은 분기 자본총계, 연결 우선).
standardizeMetricJob 의 pfMetricStep 이 PF 지표만 지우고 다시 쓴다(옛 값이 남지 않게). R-C06 PF 우발채무 과다: 보증/자기자본 ≥ 100% 또는
12개월 내 만기/자기자본 ≥ 50% (이 프로젝트의 첫 값 — 업계 표준이 아님, 파라미터로 바꿈). 경보 성적표(ADR-023)에 넣되 관측 시작은 PF 지표가 처음 생긴 2024-03-14 부터.
- 사업장의 사업지역을 시군구로 해석해(
AddressRegionMatcher) 그 지역의 최신 천 가구당 미분양과 잇는다. 원문이 ‘서울시’처럼 시도만 적은 곳이 많아 시군구 해석은 34%(876 / 2,608).
실데이터 결과 (2026-10-08, 유니버스 43개사 · 2023Q4~2026Q2 정기보고서 472건)
| 상태 |
건수 |
기업 |
| PARSED (요약표 · 사업장 구조화) |
252 |
26 |
| NO_STANDARD (요약표 없음) |
194 |
20 |
| NONE (PF 신용보강 없음) |
22 |
5 |
| NO_SECTION (구간 없음) |
4 |
4 |
- 대조 ① 사업장 합 일치 176 / 205, 대조 ② 본문 서술 일치 156 / 174. 본문과 어긋난 18건은 하나씩 원문을 확인해 대부분 원문 쪽 기준 차이로 판명:
본문이 컨소시엄 전체분을 더함(대우건설 2건) · 대출잔액을 씀(범양건영 · 서한) · 보증한도를 씀(코오롱글로벌 7건) · 전기 금액을 그대로 둠(범양건영 2025.03).
남은 1건(금호건설 2023.12, 첫 서식)은 줄 범위가 다른 모양이라 알려진 한계.
- 파서를 고치는 동안(v7 → v13): 사업장 합 일치 164 → 176, 본문 일치(대조를 처음 잰 값 94) → 156. v7 은 ‘6개월초과1년이내’ · ‘6월~12월’ 같은 표기를 몰라
30건의 12개월 내 만기를 적게 셈(서희건설 2026.06 49억 → 249억). 지금 만기 구간이 있는 보고서 211 / 252, 나머지는 사유 표시.
가장 큰 수정은 금호건설 — 컨소시엄 전체분까지 더해 PF 보증을 최대 70% 크게 셈(5,883억 → 3,463억, 본문 요약표 ‘계 346,388’ 과 일치).
- R-C06: 열린 경보 9건. 성적표(12개월): 평가 가능 사건 4건 중 1건(범양건영 감사의견, 첫 신호 3개월 전) — 에피소드 15개 중 11개가 아직 판정 보류라 판단하기 이른 표본.
고려했지만 하지 않은 것
- 본문 서술 합계를 정답으로 쓰기 — 회사마다(같은 회사도 분기마다) 본문이 가리키는 금액이 다름(전체분 · 대출잔액 · 보증한도 · 전기 금액). 대조 근거로만 씀.
- 요약표가 없을 때 사업장 합을 회사 합계로 쓰기 — 검증할 근거가 없어 비움(
NO_STANDARD 또는 ‘종합요약표를 찾지 못함’).
- PDF · 뷰어 화면 수집 —
document.xml 원문이 있어 불필요.
한계
- 분기는 보고서명의 ‘(2026.06)’ 으로 정함(12월 결산 기준).
- 연결 블록 뒤에 별도(회사) 블록을 다시 싣는 보고서는 첫 블록(연결)만 씀 — 기업 지표가 연결 우선이므로 같은 기준.
- 회사 고유 서식(HJ중공업 ‘한도 · 실잔액’, 금호건설 2023.12)과 모범사례 이전 서식은 구조화하지 않음.
덧붙임 (2026-10-09, VERIFICATION 155) 표를 격자로 펼칠 때 한 줄 2,000열 · 표 하나 20만 칸을 넘으면 펼치지 않고 그 표를 건너뛴다(PF 표가 아님) —
칸 하나의 병합 수만 자르면(132) 작은 원문으로도 한 줄 1억 칸을 만들 수 있었다. 보관한 468개 구간의 표는 최대 20열 · 약 1,410칸이라 결과는 같다.