asset.crowny.org — 정관 진단 엔진 (쐐기 기능) v1 (2026-06-22)
개요
"이 서비스를 왜 들어와야 하나?"에 대한 전략적 답을 첫 기능으로 구현.
상품은 보험이 아니라 진단이라는 관점에서, 만나지 않아도 받는 무료·구체적 진단을 자석으로 만들고 → 진단이 드러낸 자금 갭을 자산이전(종신) 설계가 메우게 한다.
전략 (BM 재정의)
- 회계사(사후 결산)·세무사(영역)·법무사(절차)는 각자 칸만 본다. 기업 자산구조를 선제적·통합으로 봐주는 전문직이 없다(보상구조 부재). 그 빈자리를 생보·투자권유 자격자가 보험 보상으로 메운다 — 이 구조적 빈틈이 곧 해자.
- 3계층 자력 서비스(4상 분별): L0 자력(지식백과·진단봇) / L1 반자동(개인화 리포트) / L2 인간(고난도 에스컬레이션). 대부분 L0·L1에서 가치 수령, 창업자 시간은 L2에만.
- 보험 = 영업이 아니라 진단이 드러낸 문제(상속세·퇴직금·가지급금 정리 재원)의 자금조달 수단.
- 차별화 = 보상구조를 숨기지 않는 솔직함("우리 보상은 설계 실행 시 금융사에서 나오므로 진단·상담은 무료"). ※ 보험업법 모집·광고 규정 점검 권장.
무엇을 만들었나 (첫 조각 = 정관 진단)
모든 법인이 정관을 갖고 있고 최적화 항목이 정형화돼 규칙엔진에 최적.
데이터 주도 구조(정덕천이 JSON만 수정):
data/charter-rules.json — 11문항 룰셋(임원퇴직금규정·임원보수한도·유족보상·중간배당·직무발명보상·양도제한·가지급금·명의신탁·주권발행·가업승계·매출규모). 각 답변→레벨(위험/기회/체크/양호)+설명+영향+권장조치+재원연결. v1 개략·검수 전 라벨.
server.js 라우트 2개:
GET /api/charter/rules — 폼 렌더용 질문 목록
POST /api/charter/diagnose — 답변→리포트(점수=위험*3+체크 → 시급/정비 필요/점검 권장/양호, fundCount=보험 재원 연결 항목 수, fundNote=규모별 상속세 재원 코멘트, 정렬 위험→기회→체크→양호)
web/charter.html — tiomta 어스톤 디자인 + 통일 헤더, 11문항 폼→한 장 리포트(등급 배너·집계·항목 카드·재원 밴드·CTA·면책).
index.html 히어로 자석 CTA: "30초 정관 자가진단 →" /charter.html (주 CTA, 상담예약은 보조).
동반 정관진단.한선 — 등급/집계 로직 1:1 미러, hanseonc_high 컴파일+실행 검증(서버와 동일 출력).검증
node -c server.js OK, charter-rules.json JSON 유효.
/api/charter/rules 200(11문항), /api/charter/diagnose 시급 케이스(위험5·기회5·시급)·양호 케이스(체크1·점검 권장) 정확.
- 공개
/charter.html 200, index 자석 CTA 노출, E2E(rules→diagnose) 공개 200.
- 한선씨 동반 실행 출력 = 서버 로직 일치(정비대상5·절세기회5·시급).
관련 파일
/Users/ef/crowny-asset/data/charter-rules.json (룰셋 = IP, 정덕천 검수 대상)
/Users/ef/crowny-asset/server.js (/api/charter/*)
/Users/ef/crowny-asset/web/charter.html
/Users/ef/crowny-asset/web/index.html (히어로 CTA)
/Users/ef/crowny-asset/정관진단.한선 (동반)
검수 이력
- v0.2.0 (2026-06-22, 1차 법령 검수) — 웹 검증 후 4개 오류 수정 + 1개 항목 추가:
1. 가업승계
사후관리 7년→5년(2022.12.31 개정, 2023 적용). 한도 600억(경영기간별 300/400/600).
2. 직무발명 비과세
연 700만원(2024 상향) +
지배주주(대표 본인)는 비과세 제외(2024 신설) → "대표 절세" 문구를 "핵심 임직원 보상·소득 분산"으로 정정.
3. 가업승계
상속공제(10년+ 경영) vs
증여특례(부모 60세+) 분리 — v1은 둘을 혼동했음.
4. 임원 퇴직소득 한도
2배수(2020.1.1~, 이전 3배수) 명시.
5. 신규 항목:
자기주식 취득 규정(가지급금 정리·이익소각·승계 지분조정, 의제배당 caveat).
- ※ 2026년 세법개정안(7월 발표 예정)에서 가업승계 요건 강화 추진 중 → 발표 후 재검수 필요(
_meta.note에 명시).
- v0.3.0 (2026-06-22, 2차 법령 검수) — 웹 검증 후 3개 정정 + 1개 신설 보류:
1. 중간배당:
차등(초과)배당은 증여세 과세(상증세법 41조의2) — "무한 절세" 오해 방지, 균등배당·지분설계 중심으로 정정.
2. 유족보상금:
업무상 사망만 상속재산 불산입(비과세), 업무 외 사망 위로금은 과세 — 사유 구분 명시.
3. 명의신탁: 신탁 해지 환원은 원칙적 비증여이나 담합·허위 시
부당무신고 가산세 40%. 국세청
실제소유자 확인제도(중소기업 간소화) + 방식별(해지/매매/증여) 세부담 비교 안내 추가.
4.
초과유보금/미환류소득(투자·상생협력촉진세제) 미포함 결정 — 적용대상이 상호출자제한기업집단(대기업)뿐(2028.12.31까지 연장). 중소법인 CEO 타깃에 부적합 → 의도적 제외(
_meta.note 기록).
2번째 조각: 상속세 시뮬레이터 (2026-06-23)
진단의 "상속세 재원 갭"을 수치화해 보험으로의 다리를 강화.
asset.crowny.org/estate.html.
- 입력: 회사 순자산·연 순이익·지분율·기타 상속재산·배우자 유무·상속인 현금.
- 계산: 비상장주식 보충적 평가(순손익가치=순이익/10%, 순자산가치 → 3:2 가중평균, 순자산 80% 하한) → 총상속재산 − 공제(일괄 5억 + 배우자 최소 5억) → 상속세 5단계 누진(현행 10~50%, 누진공제) → 상속인 현금과의 갭.
- 세율/공제는
data/estate-config.json으로 분리(개편 통과 시 정덕천 토글). 2026 개편(세율 40%·자녀공제 5억)은 미통과 개정안 확인 → 현행(2025 시행) 적용 + 출력에 "개편 미반영, 신고 전 확정 확인" 명시.
server.js POST /api/estate/simulate. 동반 상속세계산.한선(보충적 평가+누진 1:1 미러, 컴파일·실행이 서버와 동일: 80억/30.4억/25.4억).
- 교차 링크 3방향(index 히어로 보조링크 ↔ charter 리포트 CTA ↔ estate→charter).
- 검증: 공개 200·E2E·계산 수동검증 일치(과세표준 70억→50%구간 30.4억).
- ※ 배우자공제는 v1에서 최소 5억 고정(실제 최대 30억·법정상속분 한도), 자녀공제는 일괄공제에 흡수 가정 — 개략 라벨.
L1 통합 + 정밀화 + nav (2026-06-23)
사용자 요청 "셋 다" 일괄 구현:
- 상속세 시뮬레이터 정밀화 v0.2 (
estate-config.json): 배우자상속공제 = min(법정상속분[1.5/(자녀수+1.5)], 30억)·최소 5억 + 가업상속공제(10/20/30년 → 300/400/600억, 주식가치 상한). server estateSimulate에 children·bizYears 반영 + 공제 내역(spouseDeduction/bizExemption) 반환. 검증: 자녀2·배우자 → 배우자공제 30억·상속세 17.9억 / 가업 20년 → 80억 전액공제·세금 0. 동반 상속세계산.한선에 배우자공제·가업공제 함수 추가(서버와 일치).
- L1 통합 종합진단서
web/checkup.html — 2-스텝 위저드(정관 11문항 → 재무·가족 입력) → 두 API(/api/charter/diagnose + /api/estate/simulate) 병렬 호출(Promise.all) → 한 화면 통합 리포트(정비 시급도 + 상속세 갭 트윈 + 종합 소견 우선순위 + 정관 항목 + 상속세 내역 + 통합 CTA).
- 글로벌 nav 노출: 9개 페이지 헤더 nav 첫 항목에 "종합 진단"→
/checkup.html 일괄 삽입(perl, nav 단위 앵커로 안전).
- 검증: 공개 200·E2E·nav 노출 OK. (공개 000 일시 발생→게이트웨이 콜드스타트, 워밍 후 정상 — 백엔드는 계속 200.)
진단서 공유 + 가지급금 + 관리자 연동 (2026-06-23)
"셋 다" 일괄:
- 진단서 저장·공유(바이럴) —
POST /api/checkup/save(PII 없는 요약 저장, id 발급, 1000건 캡)·GET /api/checkup/get?id(공유 조회)·checkup.html에 PDF 저장(window.print + @media print)·공유 링크 생성(clipboard)·?r=<id> 읽기전용 모드. 완료 시 자동 저장.
- 가지급금 정리 시뮬레이터 —
web/provisional.html + POST /api/provisional/simulate. 가지급금 × 당좌대출이자율(현행 4.6%) = 연 인정이자, 5년 누적 + 정리 5방법(자기주식/배당/퇴직금/직무발명보상/급여) + 미정리 시 상여처분 경고. 동반 가지급금계산.한선(서버와 일치: 3억→연 1,380만). charter 리포트에서 맥락 링크.
- 관리자 연동 —
GET /api/checkup/list?key(ASSET_ADMIN_KEY 인증) + admin.html "최근 종합 진단" 섹션(grade·갭·정비건수·진단서 링크). 익명 진단 활동 = 수요·전환 신호.
- 검증: 공개 200·가지급금 E2E·저장→공유조회→관리자목록 루프·미인증 401. 저장 데이터=data/checkup-reports.json.
OG 카드 + 명함·QR + 예약 연결 (2026-06-23)
"다 하자" 일괄:
- 동적 OG 미리보기(카톡 CTR) — 서버가
/checkup.html?r=<id> GET 시 저장 진단서로 og:title/description/image 동적 주입(<!--OGSTART-->~<!--OGEND--> 블록 교체로 중복 방지). og:image = 동적 SVG 카드 GET /api/checkup/og?id=(1200×630, grade·갭·상속세, 어스톤 컬러). 비-?r=은 기본 OG.
- PDF 명함·QR — checkup 진단서에 정덕천 명함 footer(이름·직함·연락처·무료상담) + QR(예약 페이지 인코딩). QR=qrcodejs 자가호스팅
web/assets/qrcode.min.js(jsdelivr에서 1회 받아 로컬 저장, 외부 런타임 의존 0). @media print로 PDF에 포함.
- 예약 ↔ 진단 id 연결 — checkup "상담 예약" CTA가 저장 후
/clinic.html?ck=<id>#booking로 갱신 → clinic 예약 POST에 checkupId 포함 → server booking 저장 + 예약 알림(콘솔/텔레그램)에 진단서 링크 자동 포함(정덕천이 예약받는 즉시 진단서 열람 = "상담 시 진단 결과 자동 호출"). ※ 별도 예약 관리 웹은 없음 → 알림이 전달 경로.
- 검증: og:title 동적 1개·og SVG 200·QR lib 200·booking checkupId 저장·공개 200.
OG PNG 시도 → 되돌림 (2026-06-24)
카톡 raster 카드용으로 헤드리스 Chrome(
--screenshot)으로 SVG→PNG 1200×630 생성 성공(한글 렌더 완벽, web/assets/og/<id>.png 캐시).
그러나 macOS "Google Chrome" 헤드리스가 스크린샷 후 깨끗이 종료되지 않아 프로세스 누적(저장마다 1~2개 잔류 → 10개까지 누적). 직렬 큐 + 고유 user-data-dir +
--headless=new로도 잔류 발생. 110+ 세션 공유 머신에서 부하 스파이크가
게이트웨이 일시 503 wedge까지 유발. →
자동 PNG 생성 비활성, SVG og:image로 복귀(브로드 호환, 카톡만 제네릭 가능성). 안전한 대안=cdbridge식
영속 단일 헤드리스 Chrome + CDP Page.captureScreenshot(spawn-per-request 누수 회피) 또는 순수 JS PNG 인코더 — 별도 과제.
generateOgPng/
buildOgSvg는 코드에 남김(buildOgSvg는 SVG 엔드포인트가 사용).
잔여 이슈
- 룰셋 검수: 절세·리스크 금액과 법령(차등배당 증여의제 개정 등)을 정덕천 대표가 검수해
_meta.version을 확정판으로. 잘못된 세무 안내는 위험 — 현재 "개략·검수 전" 라벨로 방어.
- 글로벌 nav에 "정관 진단" 추가 여부(현재 index 히어로에서만 진입).
- 다음 조각 후보: 상속세 시뮬레이터, L1 개인화 종합 리포트(지분/매출/나이/승계의향 통합).
- 보험업법 모집·광고 규정 관점 카피 점검.