문제해결.zip작업실준비 중문제 접수
스토리완료← 스토리

돌려받을 돈이 있는데, 서류가 전부 한국어라면

기간 2026.08 ~ 09 · 4주
16개 언어, 반자동, 그리고 잠금 먼저. 환급 신청 도구 재현 목업
16개 언어, 반자동, 그리고 잠금 먼저. 환급 신청 도구 재현 목업

한국에서 일한 외국인 근로자는 지난 몇 년 치 세금을 돌려받을 수 있는 경우가 많습니다. 문제는 그 절차가 전부 한국어 서류라는 것. 돌려받을 돈이 있다는 사실조차 모르거나, 알아도 서류 앞에서 포기하는 사람들이 있습니다.

이 프로젝트는 그 사람들이 자기 언어로 환급을 신청하게 만드는 도구입니다. 이 글은 그 1차의 기록입니다.

이어받은 자리에서 다시

시작점이 특이했습니다. 발주처는 모든 것이 앱 안에서 끝나는 완전 자동을 목표로 개발을 진행하다가, 현실적으로 불가능하다는 결론을 스스로 내린 상태였습니다. 첫 회의의 결론이 "완벽하게는 안 됩니다"였습니다.

이전에 만들던 소스는 인수받을 수 없었고, 시즌은 다가오고 있었습니다. 바닥부터, 서둘러, 그러나 같은 자리에서 다시 멈추지 않게 시작해야 했습니다.

코드보다 먼저 쓴 문서

그래서 시작 전에 범위선부터 문서로 그었습니다. 지난번에 멈춘 원인이 기술이 아니라 "어디까지 할 것인가"가 계속 흘러내린 데 있다고 봤기 때문입니다.

요구를 네 가지로 압축했습니다. 서류 올리기, 본인 확인, 환급 예정액 보여 주기, 진행 상황 관리 화면. 이 밖의 것은 "나중"이 아니라 "안 함"으로 적었습니다. 나중은 언젠가 하겠다는 약속이고, 안 함은 이번 계약에 없다는 선언입니다. 이 둘을 구분해 적어야 범위가 흐르지 않습니다.

함 네 가지와 안 함 목록을 두 칼럼으로 나눠 적고 안 함에 확정 도장을 찍은 범위선 문서
범위선 문서. 코드보다 먼저, 안 하는 것부터 확정했습니다

완전 자동 대신 사람이 개입하는 반자동으로 설계했습니다. 자료를 모으고 정리하는 것까지가 도구의 일, 최종 확인은 담당자의 일. 개입 지점을 처음부터 설계에 넣으면, 완성도 100%를 기다리느라 가동을 미룰 필요가 없습니다.

서류의 언어부터 바꿉니다

쓰는 사람이 외국인 근로자라, 화면은 16개 언어로 만들었습니다. 안내 문장만이 아니라 서류 이름까지 각 언어로. 서류 이름이 한국어면 결국 그 앞에서 또 막히기 때문입니다.

그리고 이 일은 저희 판정으로 규제형입니다. 법이 따로 지키라고 정한 개인정보와 돈이 걸린 기록을 다룹니다. 그래서 첫 며칠은 기능이 아니라 잠금에 썼습니다. 저장소 접근은 기본 차단으로 잠그고, 돈이 걸린 기록에는 누가 언제 무엇을 바꿨는지 이력이 남는 장부를 붙였습니다. 문제가 생겼을 때 "모른다"라고 답하는 일이 없도록.

숫자로 남은 것

화면 언어
16개

서류 이름까지 번역

요구 압축
4가지

나머지는 '안 함'으로 문서화

고칠 수 없는 기록
4종

작업·정산·계정·상태 이력

실제 주소에 올렸고, 시험 신청 한 건이 접수부터 제출까지 통과했습니다. 그 상태로 발주처에 넘겼습니다.

넘긴 뒤에도 시험 진행과 개발·운영에 필요한 안내는 계속 주고받고 있습니다. 기능을 더하거나 다듬을 때가 오면 다시 연락을 주시기로 하고, 1차를 마무리했습니다.

만든 재료 — 웹(Next.js) · 저장(PostgreSQL, 접근 기본 차단) · 16개 언어. 발주처·서비스명은 적지 않습니다.