가계부를 제대로 써보려는 시도를 몇 번이나 했다. 오래전엔 네이버 가계부를 썼고, 최근엔 토스의 소비분석으로 대충 보는 수준이었다. 엑셀로 직접 정리하던 시절도 있었다. 어느 방법이든 결국 같은 벽에 부딪혔다. 매달 꼬박꼬박 시간을 들여야 돌아간다는 것이다.
앱을 써도 미분류 항목은 쌓였다. 하나씩 카테고리를 잡아주다 보면 30분이 훌쩍 넘었다. 엑셀로 직접 정리하면 각 금융사에서 내역을 받아오는 것부터 시작해야 했다. 어느 달은 바빠서 미루고, 어느 달은 귀찮아서 건너뛰다 보면 어느 순간 데이터에 구멍이 생겼다.
구멍 뚫린 데이터로는 아무것도 할 수 없다. 가계부 자동화를 진지하게 고민하기 시작한 건 그때부터였다.
💡 Plan B Insight: 이 글의 핵심
가계부 자동화는 편의성의 문제가 아니다. 의지력을 소모하지 않아도 데이터가 쌓이는 구조를 만드는 것이다. 1편에서 소비 파악의 필요성을 이야기했다면, 이 편은 그 파악을 가능하게 한 시스템 구축의 삽질 여정이다.
1. “앱 쓰면 되잖아요” — 그게 충분하지 않았던 이유
뱅크샐러드, 토스, 카카오페이. 확실히 편하다. 쓰다 보면 어느 정도는 된다.
그런데 한계가 보이기 시작했다. 카테고리 분류에 손이 너무 많이 갔다. 자동으로 분류되는 것들도 있지만 틀리는 게 많았고, 내 기준으로 다시 손대려 하면 앱 구조 자체가 그걸 허용하지 않았다. 앱이 정해놓은 카테고리 틀 밖으로 벗어나는 게 어렵거나, 아예 불가능한 경우도 있었다. 결국 내 소비 데이터인데 내가 원하는 방식으로 분류하고 관리하기가 생각보다 훨씬 어려웠다.
더 근본적인 문제는 데이터가 내 것이 아니라는 점이었다. 서비스가 바뀌거나 계정을 옮기면 다 사라진다. 3년치 추이를 내 기준으로 분석하거나, FIRE 시뮬레이션을 돌리는 건 애초에 설계가 안 되어 있었다.
과거 데이터도 문제였다. 앱에서 오래된 내역을 조회하는 건 가능하다. 하지만 그 데이터를 내가 소유해서 가공하고 분석하는 건 전혀 다른 문제였다. 다운로드할 수 있는 범위는 제한적이었고, 5년치를 내 것으로 만들려면 카드사마다 직접 전화하거나 이메일로 요청서를 보내야 했다. 실제로 그 삽질을 했다. 주요 카드사 여러 곳에 개별 요청을 넣고 며칠 걸려서 데이터를 겨우 받아냈다.
📌 가계부를 못 유지하는 건 의지력 문제가 아니다
한 달만 밀려도 “이번 달은 기억으로 때우자”가 되고, 그게 두 달 세 달로 이어지면 데이터에 구멍이 생긴다. 구멍 뚫린 데이터는 믿을 수 없다. 가계부가 안 되는 건 구조의 문제다.
2. 가계부 자동화의 기준: “내가 아무것도 안 해도 쌓여야 한다”
처음엔 “조금 편한 방법”을 찾았다. 각 금융사 사이트에서 매달 직접 내역을 다운받아 한 곳에 모으는 방식이었다. 금융사이트는 보안상 자동 접근 자체가 막혀 있어서, 어차피 수동으로 할 수밖에 없었다. 그것도 결국 안 됐다. “한 달에 한 번만 하면 되잖아”가 생각보다 쉽지 않았다. 어느 달은 잊어버리고, 어느 달은 바빠서 미루다 보면 결국 구멍이 생기는 건 마찬가지였다.
기준 자체를 바꿨다. 내가 아무것도 하지 않아도 데이터가 쌓여야 한다. 결제가 일어나는 순간 자동으로 기록된다면, 내 의지력이 개입할 여지가 없다.
이것이 이후 모든 설계의 출발점이었다.
3. 파이프라인 1: 카드 결제 → 2초 후 가계부에
카드로 결제하면 몇 초 안에 문자가 온다. 그 문자를 자동으로 가계부에 기록하면 어떨까. 내가 할 일은 없다. 그냥 결제하면 된다.
설계 자체는 간단했다. 문제는 동작하게 만드는 과정이었다.
개발자가 아니다 보니 만드는 과정이 쉽지 않았다. 데이터가 어떻게 흘러야 하는지 이해하는 것부터, 폰에서 문자를 감지하는 Tasker 설정까지 — 각 단계마다 처음 접하는 개념들이었다. 방향을 잘못 잡아서 한참 만들다가 다시 뒤엎는 일도 있었고, 뭔가 빠트린 게 있는데 어디가 문제인지 몰라서 한참 헤매는 날도 있었다. 새벽 2시까지 붙잡고 있다가 포기하고 자는 날들이 이어졌다.
그래도 처음으로 끝에서 끝까지 작동했을 때 — 카드를 긁고 내 자산관리 Dashboard를 확인했더니 이미 가계부에 기록이 돼 있었다. 그 순간의 쾌감이 이후 모든 막힘을 버티게 해줬다.
4. 파이프라인 2: 명세서 이메일로 이중 확인
카드 문자만으로는 빠지는 게 있다. 자동이체, 해외 결제 일부, 특정 선불 결제 수단은 문자가 아예 안 오거나 형식이 달랐다.
두 번째 파이프라인을 만들었다. 카드 명세서 이메일이 오면 자동으로 읽어서, 문자로 기록된 내역과 대조하는 것이다. 빠진 항목을 찾아 보완한다.
구조만 놓고 보면 회사 정산팀에서 쓰는 시스템과 다를 게 없다. 다른 점은 이게 내 개인 소비를 위한 것이라는 것뿐이다.
5. 파이프라인 3: 영수증 사진 한 장으로 끝
세 번째는 가장 나중에 만들었는데, 지금은 가장 많이 쓰는 파이프라인이 됐다.
영수증 봇을 만든 이유는 현금을 기록하기 위해서가 아니었다. 더 구체적인 세 가지 필요에서 출발했다.
첫 번째, 카드 문자로는 잡히지 않는 결제들. 서울사랑상품권, 지역사랑상품권 같은 선불형 결제 수단은 카드 문자가 오지 않는다. 이런 결제가 한 달에 몇 번씩 있으면 데이터에 구멍이 생긴다.
두 번째, 품목별 가격 이력. 카드 문자에는 “마트 결제 87,430원”만 찍힌다. 그 안에 뭘 얼마에 샀는지는 모른다. 장을 볼 때마다 드는 의문 — “지난번에 이 물건 얼마였더라?” — 이걸 해소하려면 영수증을 품목 단위로 저장해야 했다.
세 번째, 카테고리 세분화. 명세서의 가맹점명만으로는 분류가 애매한 경우가 많다. “스타필드”는 그날 뭘 했느냐에 따라 식비가 될 수도 있고, 쇼핑이 될 수도 있고, 아이 교육이 될 수도 있다. 명세서에는 그냥 가맹점명만 찍혀 나오기 때문에 맥락이 없으면 분류 자체가 불가능하다.
실제 사용법은 단순하다. 영수증을 찍어서 텔레그램으로 보내면, AI가 읽어서 가계부에 저장해준다.

INSIGHT 영수증 봇이 알려준 것
처음으로 가계부에 “현대 모터 스튜디오 3,600원 → 카페/간식”이 자동으로 기록됐을 때, 내 소비 데이터가 진짜 내 것이 되는 느낌이 들었다. 앱이 임의로 분류해주는 게 아니라, 내 기준으로 만든 시스템이 내 데이터를 쌓아가는 것.
6. 자동 분류: 가맹점 이름이 카테고리가 되다
시스템을 만든 것과 쓸 수 있는 것은 달랐다. 파이프라인이 완성돼도 데이터가 들어오는 순간 “미분류”로 쌓이기 시작했다. 가맹점 이름이 어떤 카테고리인지 아직 아무것도 등록이 안 돼 있었기 때문이다.
진짜 노가다는 여기서 시작됐다. 카드사에서 받아온 과거 5년치 내역을 하나씩 열어보면서 직접 분류해나갔다. 스타벅스는 카페/간식, 이마트는 편의점·마트, 현대백화점은 쇼핑. 같은 가맹점이어도 상황에 따라 카테고리가 다른 경우는 직접 판단해서 넣었다. 수백 개의 가맹점 이름을 내 기준으로 하나씩 정제하는 작업이었다. 내 소비 데이터를 진짜 내 것으로 구조화하는 과정이기도 했다.
한 번 기준이 잡히고 나면 그다음부터는 달랐다. 새로 들어오는 데이터는 대부분 자동으로 분류됐다. 갈수록 내가 손댈 게 줄어들었다.
5월까지의 데이터는 카드사에서 받아온 CSV를 직접 가공해서 밀어넣었다. 그게 앞서 말한 노가다였다. 과거 데이터를 채우는 건 결국 사람 손이 필요했다.
6월부터는 다르다. 카드 결제가 일어나면 문자가 오고, 명세서 이메일이 오면 대조가 되고, 영수증을 찍어 보내면 품목까지 기록된다. 처음으로 내가 신경 쓰지 않아도 데이터가 쌓이는 구조가 실제로 돌아가기 시작했다.
다음 편은 그 이전까지 쌓인 데이터 — 1월부터 5월까지 5개월치의 실제 소비 기록이다.
⚠️ 본 포스팅은 개인의 소비 관리 시스템 경험을 공유한 글이며, 특정 서비스나 도구를 추천하지 않습니다. 개인 환경과 상황에 따라 적합한 방법은 다를 수 있습니다.
시리즈 — 돈의 흐름을 설계한다
1편
월 500만원 벌어도 FIRE가 두려운 이유
2편 · 현재 글
영수증 한 장이 자동으로 가계부가 되기까지
3편
5월 가계부 공개: 897만원을 썼습니다
4편
내 FIRE, 지금 어디쯤 왔을까