엑셀 검사기를 만들다가, 엑셀을 버렸다 — 기성청구서 자동화 방향을 바꾼 이야기

소개

건설회사를 운영하고 있습니다. 저희 현장에서 매달 나가는 서류 중에 기성청구서가 있습니다. 항목이 많습니다 — 외주비, 자재비, 노무비, 장비비, 경비, 현장관리비. 그리고 금액이 틀리면 바로 문제가 됩니다.

그런데 매번 사람이 검산합니다. 시간도 걸리고 실수도 납니다. 그래서 이렇게 생각했습니다. 엑셀을 올리면 합계가 맞는지 자동으로 검사해주는 도구를 만들면 되겠다.

결론부터 말하면, 그 도구는 만들었는데 방향을 바꿨습니다. 문제는 검사가 아니라 엑셀 자체였기 때문입니다. 이 글은 그 전환 과정에 대한 이야기입니다.

진행 방법

사용한 도구는 Claude Code 하나입니다. 저는 코딩을 모르기 때문에 코드는 한 줄도 직접 쓰지 않았습니다.

1단계 — 내 실제 엑셀 파일 구조부터 분석시켰다

짐작으로 만들면 정작 내 파일에서 안 돌 게 뻔하니, 회사에서 실제로 쓰는 기성 엑셀 파일을 먼저 AI에게 분석시켰습니다.

AI가 파일을 열어서 시트 구조를 뽑아줬습니다. 도급기성현황 시트에 6개 구간이 있고, 각 구간이 몇 번째 행에서 시작하는지까지 나왔습니다.

r9 = 1. 외주비 / r40 = 2. 자재비 / r49 = 3. 노무비 / r56 = 4. 장비비 / r60 = 5. 경비 / r72 = 6. 현장관리비

여기서 배운 것: 자동화를 하려면 내 실제 파일을 먼저 AI에게 보여주는 게 맞습니다. 일반적인 양식을 가정하고 만들면 내 파일에서 안 돕니다.

2단계 — 검사기 만들기

방향을 정할 때 이렇게 말했습니다.

프롬프트: "검사기부터 만들기 또는 웹브라우저 형태로 만들기"

두 갈래 중 우선 검사기를 골랐습니다. 엑셀을 올리면 합계를 검산해주는 웹 도구가 나왔습니다.

그리고 하나 챙겼습니다. 회사 실제 엑셀이 인터넷에 실수로 올라가지 않도록 처음부터 제외 설정을 넣었습니다. 이건 AI가 먼저 제안해줬습니다.

제외 설정 내용: *.xlsx, *.xlsm, *.xls 그리고 node_modules

막힘 그리고 전환 — 여기가 이 글의 핵심입니다

만든 검사기를 다른 기성 파일로 시험해봤습니다. 그런데 잘 안 됐습니다. 원인은 이거였습니다.

프롬프트: "다른 파일로 시험을 하지만 엑셀이라 틀에 잡히지 않은 양식이라는게 문제야. 그래서 기성청구서 자체를 이런 식으로 해서 웹브라우저 자체로 할 수 있을까 싶은거지"

엑셀은 사람마다, 파일마다 쓰는 방식이 다릅니다. 항목이 몇 번째 행에 있는지, 칸을 합쳤는지, 이름을 어떻게 적었는지가 제각각입니다. 검사기를 아무리 정교하게 만들어도 입력이 흔들리면 검사도 흔들립니다.

그래서 방향을 틀었습니다. 검사가 아니라 입력을 손대기로 했습니다.

프롬프트: "최초 기입부터"

이 한 마디로 두 번째 도구가 시작됐습니다. 처음부터 틀이 잡힌 웹 화면에서 입력받으니, 애초에 서식이 흔들릴 일이 없고 합계도 자동으로 맞습니다.

결과와 배운 점

도구 두 개가 손에 남았습니다. 검사기는 이미 있는 엑셀을 점검할 때, 작성 도구는 새로 만들 때 씁니다.

바뀐 점을 정리하면 이렇습니다. 서식은 파일마다 제각각이었던 것이 웹 화면 하나로 통일됐고, 합계 검산은 사람이 매번 하던 것이 입력하면 자동으로 되고, 접근은 엑셀 파일을 주고받던 것이 브라우저에서 바로 가능해졌습니다.

제일 큰 교훈 — 자동화가 잘 안 되면, 자동화할 대상을 바꿔보세요

저는 엑셀을 잘 검사하는 법을 계속 파고들 수도 있었습니다. 그런데 한 발 물러나서 보니, 문제는 검사 기술이 아니라 엑셀이라는 출발점이었습니다. 출발점을 바꾸니 문제가 그냥 사라졌습니다.

반복 업무 자동화 체크리스트 (제가 다음에도 쓸 것)

하나, 내 실제 파일을 먼저 AI에게 보여준다. 일반 양식을 가정하고 만들면 안 맞습니다.

둘, 회사 실제 파일이 인터넷에 올라가지 않게 제외 설정을 먼저 넣는다.

셋, 만들고 나서 다른 파일로도 시험해본다. 이걸 안 하면 한 파일에서만 되는 도구가 됩니다.

넷, 잘 안 되면 더 정교하게 만들려 하기 전에 출발점을 바꿀 수 있나를 먼저 묻는다.

곁들여 배운 것 — 커밋

작업을 저장하는 법(커밋)을 알게 됐습니다. 한 줄로 말하면 게임 세이브 포인트입니다. 저장해두면 뭘 망가뜨려도 그 시점으로 돌아갈 수 있습니다.

실제로 연습해봤습니다. 제 사이트 첫 문장을 일부러 이상하게 망가뜨려놓고 "마지막 커밋으로 되돌려줘"라고 하니 원래대로 딱 돌아왔습니다.

이게 생각보다 중요했습니다. 되돌릴 수 있다는 걸 알고 나니 마음 편히 이것저것 시도할 수 있게 됐습니다. 오늘 방향을 과감하게 틀 수 있었던 것도 여기 덕이 있습니다.

도움이 필요한 부분

기성청구서처럼 금액 오류가 치명적인 서류를 자동화할 때, 검산 장치를 어떻게 이중으로 붙이면 좋을지 조언을 구하고 싶습니다.

웹 입력 도구로 만든 결과를 최종적으로 어떤 형태로 내보내는 게 실무에 좋을지도 고민입니다. 엑셀로 다시 뽑을지, PDF로 할지, 아니면 그대로 웹에서 공유할지.

앞으로의 계획

웹 입력 도구를 실제 현장에서 써볼 수 있는 수준으로 다듬는 것이 다음 목표입니다. 대표와 경리부서, 현장과 본사가 같은 자료를 편하게 나눠 볼 수 있는 형태까지 가보려고 합니다.

최종적으로는 외주 없이 우리 회사에 필요한 프로그램을 직접 만들 수 있는 사람이 되는 것이 목표입니다.

도움 받은 글

제 사이트에 정리한 상세 사례글: learning-hub-starter7.vercel.app/wiki/w2-case-giseong-pivot

제 학습허브 사이트: learning-hub-starter7.vercel.app

2
4개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.