한국에서 일한 외국인 근로자는 지난 몇 년 치 세금을 돌려받을 수 있는 경우가 많습니다. 문제는 그 절차가 전부 한국어 서류라는 것. 돌려받을 돈이 있다는 사실조차 모르거나, 알아도 서류 앞에서 포기하는 사람들이 있습니다.
이 프로젝트는 그 사람들이 자기 언어로 환급을 신청하게 만드는 도구입니다. 이 글은 그 1차의 기록입니다.
이어받은 자리에서 다시
시작점이 특이했습니다. 발주처는 모든 것이 앱 안에서 끝나는 완전 자동을 목표로 개발을 진행하다가, 현실적으로 불가능하다는 결론을 스스로 내린 상태였습니다. 첫 회의의 결론이 "완벽하게는 안 됩니다"였습니다.
이전에 만들던 소스는 인수받을 수 없었고, 시즌은 다가오고 있었습니다. 바닥부터, 서둘러, 그러나 같은 자리에서 다시 멈추지 않게 시작해야 했습니다.
코드보다 먼저 쓴 문서
그래서 시작 전에 범위선부터 문서로 그었습니다. 지난번에 멈춘 원인이 기술이 아니라 "어디까지 할 것인가"가 계속 흘러내린 데 있다고 봤기 때문입니다.
요구를 네 가지로 압축했습니다. 서류 올리기, 본인 확인, 환급 예정액 보여 주기, 진행 상황 관리 화면. 이 밖의 것은 "나중"이 아니라 "안 함"으로 적었습니다. 나중은 언젠가 하겠다는 약속이고, 안 함은 이번 계약에 없다는 선언입니다. 이 둘을 구분해 적어야 범위가 흐르지 않습니다.
완전 자동 대신 사람이 개입하는 반자동으로 설계했습니다. 자료를 모으고 정리하는 것까지가 도구의 일, 최종 확인은 담당자의 일. 개입 지점을 처음부터 설계에 넣으면, 완성도 100%를 기다리느라 가동을 미룰 필요가 없습니다.
서류의 언어부터 바꿉니다
쓰는 사람이 외국인 근로자라, 화면은 16개 언어로 만들었습니다. 안내 문장만이 아니라 서류 이름까지 각 언어로. 서류 이름이 한국어면 결국 그 앞에서 또 막히기 때문입니다.
그리고 이 일은 저희 판정으로 규제형입니다. 법이 따로 지키라고 정한 개인정보와 돈이 걸린 기록을 다룹니다. 그래서 첫 며칠은 기능이 아니라 잠금에 썼습니다. 저장소 접근은 기본 차단으로 잠그고, 돈이 걸린 기록에는 누가 언제 무엇을 바꿨는지 이력이 남는 장부를 붙였습니다. 문제가 생겼을 때 "모른다"라고 답하는 일이 없도록.
숫자로 남은 것
서류 이름까지 번역
나머지는 '안 함'으로 문서화
작업·정산·계정·상태 이력
실제 주소에 올렸고, 시험 신청 한 건이 접수부터 제출까지 통과했습니다. 그 상태로 발주처에 넘겼습니다.
넘긴 뒤에도 시험 진행과 개발·운영에 필요한 안내는 계속 주고받고 있습니다. 기능을 더하거나 다듬을 때가 오면 다시 연락을 주시기로 하고, 1차를 마무리했습니다.
만든 재료 — 웹(Next.js) · 저장(PostgreSQL, 접근 기본 차단) · 16개 언어. 발주처·서비스명은 적지 않습니다.