증여세 계산기를 법령 원문으로 검증한 방법 — 시행본이 두 개로 읽힌 일과 손으로 맞춘 사례
작성 2026-11-12 · 읽는 시간 약 7분 · 작성 루리 줍줍 편집
앞선 글(공식 조문으로 계산기를 검증한 방법)에서 소득세 쪽 계산기를 법령 원문으로 검증한 과정을 적었습니다. 같은 방식으로 증여세 계산기를 만들 때는 다른 종류의 문제가 나왔습니다. 법령 한 개에 시행본이 두 개로 읽힌 일, 법이 더하는 식으로 적은 세율표를 계산기용 식으로 바꾼 일, 게시 직전 설명 문장이 조문과 달랐던 일입니다.
1. 시행일이 두 개로 읽혔다
상속세 및 증여세법을 앞선 글과 같은 순서(법령 일련번호 → 시행일 → 본문 POST)로 받았습니다. 정보 쪽에서 시행일을 읽는 정규식은 처음 나오는 값인 20251001을 집었습니다. 그런데 법령 이름 주소 쪽 소스에는 같은 일련번호(276123)에 시행일 20260102가 붙은 링크가 있었습니다. 같은 법에 시행일이 두 개 보인 것입니다.
두 시행본을 모두 받아 조문 단위로 비교했습니다(공백과 링크 표기 차이는 지우고 조 제목 단위로 나눈 뒤 각 조의 앞부분 3,000글자를 비교). 두 본 사이에서 달라진 조문은 13개(제3조의2, 제7조, 제35조, 제44조, 제45조의3·4·5, 제48조, 제50조, 제50조의3, 제51조, 제78조, 제86조)였고, 계산기에 쓴 조문(제26조 세율, 제47조 과세가액, 제53조 증여재산공제, 제53조의2 혼인·출산 공제, 제55조~제57조, 제58조 납부세액공제, 제69조 신고세액공제)은 두 본이 같았습니다. 시행일이 오늘(2026-11-12)보다 앞선 더 나중 본인 2026-01-02 본을 기준으로 삼고 계산기에도 그렇게 적었습니다.
검색 결과 요약에 「시행일 2026.2.5」라는 말이 있어 그 시행일로도 같은 일련번호의 본문을 요청해 봤습니다. 돌아온 것은 438글자짜리 짧은 화면이었고 본문이 아니었습니다. 같은 일련번호에는 그 시행본이 없다는 뜻으로 읽었고, 다른 일련번호의 시행본일 가능성은 이번에 확인하지 못했습니다. 시행일을 한 곳에서만 읽으면 안 되고, 시행본 사이에서 계산기에 쓰는 조문이 달라졌는지를 직접 비교해야 한다는 것이 이 일에서 얻은 규칙입니다.
2. 법의 세율표와 계산기의 세율표는 모양이 다르다
제26조의 세율은 구간마다 「앞 구간까지의 세액에 초과분의 몇 %를 더하는」 식으로 적혀 있습니다(예: 1억원 초과 5억원 이하는 1천만원 + 1억원 초과분의 20%). 이 표도 본문 텍스트에서는 이미지와 수식 코드 조각으로만 남아 있었습니다. 계산기에서는 「과세표준 × 세율 - 누진공제액」 한 줄로 쓰는 편이 간단해서 식을 바꿨습니다.
| 과세표준 | 법에 적힌 식 | 계산기 식 |
|---|---|---|
| 1억원 이하 | 과세표준의 10% | × 10% |
| 1억원 초과 5억원 이하 | 1천만원 + (1억원 초과분 × 20%) | × 20% - 1,000만원 |
| 5억원 초과 10억원 이하 | 9천만원 + (5억원 초과분 × 30%) | × 30% - 6,000만원 |
| 10억원 초과 30억원 이하 | 2억4천만원 + (10억원 초과분 × 40%) | × 40% - 1억6,000만원 |
| 30억원 초과 | 10억4천만원 + (30억원 초과분 × 50%) | × 50% - 4억6,000만원 |
두 식이 같다는 것은 바꾼 뒤 손으로 확인했습니다. 과세표준이 4억5,000만원이면 법의 식은 1,000만원 + (4억5,000만원 - 1억원) × 20% = 8,000만원이고, 계산기 식은 4억5,000만원 × 20% - 1,000만원 = 8,000만원으로 같습니다. 국세청 증여세 안내 페이지를 직접 열어 세율(10~50%)과 누진공제액(1,000만원, 6,000만원, 1억 6,000만원, 4억 6,000만원)이 같은 값인지, 증여재산공제 한도(배우자 6억원, 직계존속 5,000만원·미성년 2,000만원, 직계비속 5,000만원, 기타친족 1,000만원)도 같은지 확인했습니다.
3. 계산식을 두 번 따로 만들고, 사례를 손으로 맞춘다
증여세 계산기도 수식 문자열(브라우저가 계산)과 파이썬 구현을 따로 만들어 12가지 입력으로 비교했고, 모두 일치해야 게시됩니다. 그중 일곱 가지는 파이썬 구현이 내는 값을 손으로 따라간 값과 일치하는지 코드에서 단언(assert)으로 막아 두었습니다.
| 사례 | 손으로 따라간 계산 | 납부세액 |
|---|---|---|
| 성년 자녀가 부모에게서 1억원 | 공제 5,000만원 → 과세표준 5,000만원 → 산출세액 500만원 - 신고세액공제 15만원 | 4,850,000원 |
| 성년 자녀가 부모에게서 5억원 | 과세표준 4억5,000만원 → 산출세액 8,000만원 - 신고세액공제 240만원 | 77,600,000원 |
| 배우자에게서 6억원 | 공제 6억원 → 과세표준 0 | 0원 |
| 미성년 자녀가 부모에게서 1억원 | 공제 2,000만원 → 과세표준 8,000만원 → 800만원 - 24만원 | 7,760,000원 |
| 혼인 공제를 받는 자녀가 부모에게서 3억원 | 공제 5,000만원 + 1억원 → 과세표준 1억5,000만원 → 2,000만원 - 60만원 | 19,400,000원 |
| 조부모가 성년 손자에게 1억원(세대를 건너뜀) | 과세표준 5,000만원 → 500만원 + 할증 30%(150만원) = 650만원 - 신고세액공제 19.5만원 | 6,305,000원 |
| 10년 안에 같은 부모에게서 1억원을 받았고 이번에 또 1억원 | 합산 2억원, 남은 공제 0 → 산출세액 3,000만원 - 납부세액공제 500만원 - 신고세액공제 75만원 | 24,250,000원 |
마지막 사례는 처음 만들 때 가장 틀리기 쉬웠습니다. 이전 증여로 이미 증여재산공제 한도(5,000만원)를 써서 이번에는 공제가 남지 않고, 이전 증여에 대해 낸 세액(과세표준 5,000만원 × 10% = 500만원)은 제58조에 따라 빼 주되 이번 산출세액에 이전 증여의 과세표준이 차지하는 비율(5,000만원 ÷ 2억원)을 곱한 한도(750만원) 안에서만 빼 줍니다. 이 사례에서는 한도보다 이전 증여세가 작아 500만원이 그대로 공제됩니다.
4. 게시 전에 설명 문장도 조문과 대조한다
계산기 아래의 공제 표에 제가 「직계존속(부모·조부모 등, 자녀의 배우자 입장의 시부모·장인장모 포함)」이라고 적은 것을 화면을 보다가 발견했습니다. 조문(제53조 제2호)은 직계존속에 「수증자의 직계존속과 혼인(사실혼 제외) 중인 배우자」를 포함한다고 적고 있어, 계부·계모 같은 경우를 말하는 것이지 시부모와 장인장모가 아닙니다. 사위·며느리와 장인·장모·시부모 사이는 직계존속이나 직계비속이 아닌 인척이라 4촌 이내 혈족·3촌 이내 인척에게서 받는 경우(공제 1,000만원)에 해당한다고 읽었습니다. 이 틀린 문장은 게시 전에 고쳤고 사이트에는 올라가지 않았습니다. 계산식은 맞게 만들어도 설명 문장은 따로 틀릴 수 있습니다.
5. 이 계산기가 하지 않는 것
- 증여재산의 가액 평가(시가가 없는 부동산·비상장주식의 보충적 평가)는 하지 않고 입력한 금액을 그대로 씁니다.
- 이전 증여는 「같은 관계의 증여자에게서 증여 당시 공제를 한도까지 받은 것」으로 가정해 이전 증여세를 계산합니다. 실제 신고 내역과 다르면 결과가 달라질 수 있습니다.
- 창업자금·가업승계 특례, 명의신탁 재산의 증여 의제, 합산배제증여재산, 외국 납부세액공제, 부담부증여의 양도소득세, 연부연납, 가산세는 넣지 않았습니다.
이 목록은 계산기 화면에도 그대로 적었습니다. 확정 금액은 국세청 안내와 신고 결과로 확인해야 합니다.
다음 계산기에 적용한 규칙
- 시행일은 한 곳에서만 읽지 않는다. 시행본이 둘이면 계산기에 쓰는 조문이 달라졌는지 조 단위로 비교한다.
- 검색 요약에 나온 시행일·숫자는 원문으로 확인하고, 확인하지 못했으면 못 했다고 적는다.
- 법이 더하는 식으로 적은 표를 계산기 식으로 바꾸면 한 경우를 손으로 따라가 같은지 확인한다.
- 경계 사례(미성년, 배우자, 혼인 공제, 세대 건너뜀, 이전 증여 합산)를 검산 목록에 넣는다.
- 화면에 적은 설명 문장도 조문과 대조한다.
1English summary
Verifying a Korean gift tax calculator against statute text: the same act appeared with two effective dates (20251001 from the info page, 20260102 from the act page link), so both versions were downloaded and compared article by article (13 articles differed, none of the ones the calculator uses); a request for a third date returned a short non-text page. The statute writes each rate bracket as a base amount plus a percentage of the excess, which was converted to rate times base minus a progressive deduction and checked by hand (4.5 hundred million won gives 80 million either way) and against the tax agency's page. Seven cases were worked by hand and pinned with assertions (for example 100 million won from a parent gives 4,850,000 won; a second 100 million won within ten years gives 24,250,000 won), and an explanatory sentence that contradicted the statute's definition of lineal ascendant was caught before publication.
2관련 글
- 1인+AI로 사이트 만들며 배운 것: 페이지 줄이고 검색 색인 정리하기사람 한 명과 Claude Code로 만든 정보 사이트에서 이틀 동안 페이지 3,744개를 863개 수준으로 줄이고 얇은 페이지를 데이터 화면으로 합친 기록과 규칙.
- 뉴스 이슈에 「내 생활 영향」과 실제 시세를 붙이는 법 — 규칙표·FRED·SVG로 지어내지 않기영향 규칙표 10개로 이슈 60개 중 7개에 생활 영향 카드를 붙이고, FRED·업비트 공개 시세 6개(1.6초)로 전문가 발언 뒤 7일·30일 등락을 사후 확인하는 정적 사이트 파이프라인.
- 신규 도메인 백링크·홍보 채널 사흘 실측 정리색인 0인 새 도메인에서 dev.to·네이버 블로그·지식iN·레딧·LinuxFr·Product Hunt 6개 채널을 사흘 써 본 실제 유입 숫자와 정지·폐쇄 사례, 정리한 규칙 5개(표본 작음·참고용).
← 기술 블로그 홈 · 사이트 제작 로그 · RSS
3출처
- 국가법령정보센터: 상속세 및 증여세법 — 확인 2026-11-12
- 국세청: 증여세 안내 — 확인 2026-11-12
관련: 개발 지식 전체
이 글에 대해 묻고 싶으면 ❓ 개발 FAQ에 남겨 주세요.