knowledge(요율): 국민연금 2033년 이후 추정 요율 걷음 — 법 부칙 명시분만 둠

부칙 제4조① 은 2026~2032년만 명시 — 2033년 이후는 그 해 되면 정함(사용자 확정).
정본 rate_from_2033_percent 삭제 · 비고에 짧게 남김 · build_요율.py 는 법 밖 연도가
정본에 미리 채워지면 잡아내는 쪽으로 바꿈 · 시험 2개 추가.
This commit is contained in:
2026-09-21 07:50:13 +09:00
parent 92974984c8
commit 6e9569c47b
3 changed files with 22 additions and 4 deletions
@@ -145,9 +145,9 @@ def check_pension(data: dict, d: Diffs):
max_year_in_law = max(int(y) for y in found)
unseen = [y for y in annual if y > max_year_in_law]
if unseen:
d.note(
f"국민연금보험료 {sorted(unseen)}년 값은 법 부칙(2026~{max_year_in_law}년만 명시)에 없음 — "
f"정본의 rate_from_{unseen[0]}_percent={annual[unseen[0]]} 는 뒤 연도 추정치, 개정 시 재확인 필요"
d.items.append(
f"국민연금보험료: 법 부칙(2026~{max_year_in_law}년만 명시)에 없는 연도 "
f"{sorted(unseen)}가 정본에 있음 — 2033년이 되면 그때 정할 것, 지금 미리 넣지 않음"
)
@@ -102,7 +102,7 @@
"출처": "조달청제비율"
},
{ "키": "RT000003", "원문번호": "rate_health", "이름": "건강보험료", "값": {"rate_percent": 3.595, "base": "direct_labor_cost"}, "출처": "조달청제비율" },
{ "키": "RT000004", "원문번호": "rate_pension", "이름": "국민연금보험료", "값": {"base": "direct_labor_cost", "annual_rates": [{"year": 2026, "rate_percent": 4.75}, {"year": 2027, "rate_percent": 5.0}, {"year": 2028, "rate_percent": 5.25}, {"year": 2029, "rate_percent": 5.5}, {"year": 2030, "rate_percent": 5.75}, {"year": 2031, "rate_percent": 6.0}, {"year": 2032, "rate_percent": 6.25}, {"year": 2033, "rate_percent": 6.5}], "rate_from_2033_percent": 6.5}, "출처": "조달청제비율" },
{ "키": "RT000004", "원문번호": "rate_pension", "이름": "국민연금보험료", "값": {"base": "direct_labor_cost", "annual_rates": [{"year": 2026, "rate_percent": 4.75}, {"year": 2027, "rate_percent": 5.0}, {"year": 2028, "rate_percent": 5.25}, {"year": 2029, "rate_percent": 5.5}, {"year": 2030, "rate_percent": 5.75}, {"year": 2031, "rate_percent": 6.0}, {"year": 2032, "rate_percent": 6.25}]}, "비고": "2033년 이후 요율은 법 부칙에 미확정 — 그 해 되면 정함", "출처": "조달청제비율" },
{ "키": "RT000005", "원문번호": "rate_care", "이름": "노인장기요양보험료", "값": {"rate_percent": 13.14, "base": "health_insurance_amount"}, "출처": "조달청제비율" },
{
"키": "RT000006", "원문번호": "rate_safety_pct",
+18
View File
@@ -42,3 +42,21 @@ def test_고용보험료_등급_어긋내면_잡아냄() -> None:
d = bu.Diffs()
bu.check_goyong(ws, data, d)
assert any("1등급" in x for x in d.items)
def test_국민연금_법에_없는_연도를_미리_채우면_잡아냄() -> None:
"""2033년 이후는 법 부칙에 근거 없음(사용자 확정) — 정본이 미리 채우면 걸림."""
data = copy.deepcopy(bu.load_json())
row = bu.row_by_key(data, "RT000004")
row[""]["annual_rates"].append({"year": 2033, "rate_percent": 6.5})
d = bu.Diffs()
bu.check_pension(data, d)
assert any("2033" in x for x in d.items)
def test_국민연금_지금_정본은_2032년까지만() -> None:
data = bu.load_json()
row = bu.row_by_key(data, "RT000004")
years = sorted(r["year"] for r in row[""]["annual_rates"])
assert years == list(range(2026, 2033)), years
assert "rate_from_2033_percent" not in row[""]