azc2004
ai 로 빠르게 변화하고 있는 세상에서 느리게 세상을 보고 있는 개발자 입니다.
한국 세금·복지·확률 계산기 78종을 만들어 운영하고 있습니다.
왜 만들었나
세금 계산기를 검색하면 결과는 나오는데 왜 그 숫자인지가 안 나옵니다.
연말정산 공제액이 얼마라고 하는데 어느 조문 때문인지, 올해 기준인지 작년 기준인지 알 수가 없습니다.
틀려도 알아챌 방법이 없다는 게 제일 불편했습니다.
그래서 모든 결과에 항목별 계산 근거와 법령 조문을 함께 내는 걸 첫 규칙으로 잡았습니다.
"총액만 던지는 계산기"는 만들지 않기로 했습니다.
만들고 나서 알게 된 것
근거를 표시하려면 조문을 확인해야 합니다.
그러다 보니 자연스럽게 제 계산식을 법령과 대조하게 됐는데, 16건이 틀려 있었습니다.
가장 서늘했던 건 틀린 계산이 전부 테스트를 통과하고 있었다는 점입니다.
기댓값을 제 구현에서 뽑아 적어 뒀기 때문입니다.
테스트가 초록불이면 맞다고 믿고 있었는데, 그 초록불이 아무것도 보장하지 않고 있었습니다.
월세 세액공제에 법에 없는 요건이 들어 있었습니다.
연 한도 1,000만 원을 12로 나눈 수치를 요건으로 잘못 뒤집은 것으로 보입니다.
월세 80만 원 기준 공제 102,000원 → 1,632,000원 (16배)퇴직소득세 환산급여를 근속 "연수"가 아니라 "월수"로 나누고 있었습니다.
퇴직금 1억·근속 10년 기준 약 13만 원 → 426만 원 (32배)
그래서 바꾼 것
한 번 훑고 끝낼 일이 아니라고 봤습니다.
감사를 일회성 이벤트가 아니라 상시 장치로 만들었습니다.
파라미터를 연도별 파일로 분리하고, 그룹마다 마지막 검증일과 다음 확인 예정일을 둡니다.
예정일이 지나면 테스트가 실패합니다. 갱신을 미루면 빌드가 통과하지 않습니다.매주 자동 감사가 공식 소스를 대조해 후보를 리포트로 남깁니다.
감지만 하고 수치는 사람이 확인해 고칩니다. 법령 해석이 들어가는 변경을 무인으로 반영하지 않습니다.계산기 전 종의 출력을 커밋에 스냅샷으로 남깁니다.
산식이나 파라미터를 건드리면 어느 계산기의 어느 숫자가 얼마에서 얼마로 갔는지 diff에 그대로 보입니다.
의도하지 않은 변화면 배포 전에 걸립니다.
지금도 나옵니다
지난주에도 3건이 더 나왔습니다.
자동차세를 절반으로 계산하고 있었습니다.
지방세법은 배기량 전체에 구간 세율 하나를 곱하는데, 소득세처럼 구간별로 쪼개 더하는 누진으로 오독했습니다. 게다가 고지서에 함께 붙는 지방교육세 30%가 통째로 빠져 있었습니다.
2,000cc 연, 244,000원 → 520,000원부가세 간이과세를 업종 구분 없이 한 세율로 계산하고 있었습니다.
소매·음식점업만 우연히 근사해서 대표값 테스트로는 드러나지 않는 구조였습니다.
공급대가 5,000만 원 기준 숙박업 712,500원 → 1,250,000원
고친 것은 전부 이전 금액과 바뀐 금액, 근거 조문 링크와 함께 공개하고 있습니다.
만들면서 배운 것 세 가지
테스트 통과는 정확성의 근거가 아닙니다.
기댓값이 구현에서 역산돼 있으면 테스트는 아무 말도 하지 않습니다.
지금은 감사할 때 코드도 기존 테스트도 보지 않고 법령만으로 따로 계산해 대조합니다.공식 페이지도 낡습니다.
건강보험공단 안내 페이지 하단에 「현행화일자 2020. 1. 1.」이 적혀 있었고 내용은 2024년 개편 이전이었습니다. 기관 페이지 하나로 확정하지 않고 보도자료·고시와 교차 확인합니다.검증을 자동화하지 않으면 한 번으로 끝납니다.
사람 기억에 맡긴 절차는 바쁠 때 가장 먼저 빠집니다.
종합 계산기 허브
세금·복지·확률 계산기 78종. 모든 결과에 항목별 계산 근거와 법령 조문을 함께 표시하고, 매주 자동 감사로 수치를 검증합니다. 가입 없이 무료.
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.