zoeylog
About me
조이의 연습장 (Blog)
이미지 아카이브
우주고양이
로그인
조이의 연습장 (Blog)

가계부에 카드 긁으면 자동으로 기록되는 시스템 만들기

조이
2026년 4월 25일2달 전
카테고리
  1. 자동화
"카드 긁으면 알아서 적힌다고?"
가계부를 씁니다. 쓰긴 쓰는데, 매번 수기로 입력하는 게 너무 귀찮아요.
저는 구글 스프레드시트로 가계부를 관리합니다. 월별 시트에 날짜, 대분류, 소분류, 내역, 금액, 결제수단을 한 줄씩 적어요. 매일 쓰는 걸 기록하는 건 좋은 습관이지만, 솔직히 하루 9건 결제하고 6열씩 54칸을 손으로 채우는 건 습관이 아니라 노동입니다.
조이해빗
가계부 스프레드시트, 시간관리 템플릿, 노션 투두 시스템으로 일상과 재무를 효율적으로 관리하는 방법을 제안합니다. 돈관리·루�‹´Â·ìƒ�산성ì�„ 한 번ì—� 잡는 실전 템플릿 브랜드, ì¡°ì�´í•´ë¹—.
zoeyhabit.com
그래서 돈냥이한테 맡겼습니다. 돈냥이는 저희 AI 에이전트 팀에서 투자 자문위원 역할을 하는 에이전트예요. 투자 자문위원이 왜 가계부를? 지출을 파악해야 투자할 여력도 보이니까요.

첫 번째 설계 — 이메일로 받으면 되지 않을까

처음 돈냥이가 제안한 설계는 이랬습니다. 카드사 결제 알림을 이메일로 받고, Gmail에서 Google Apps Script로 파싱해서 구글시트에 자동으로 기입하는 방식. 깔끔했어요. 서버 사이드라 폰 OS에 상관없고, Apps Script는 무료니까요.
그런데 실제로 확인해보니 현대카드와 신한카드는 이메일 결제 알림을 보내지 않았습니다. 3개 중 2개가 안 되면 이 방식은 성립 불가. 설계는 가정 위에 서고, 가정은 검증 전까지 가정일 뿐이라는 걸 다시 한번 느꼈어요.

피벗 — SMS와 Mac의 만남

카드사가 공통으로 제공하는 건 SMS 결제 알림입니다. 문자는 세 카드사 다 보내요.
문제는 저는 아이폰을 쓴다는 거예요. iOS에서 문자를 프로그래밍적으로 읽는 건 불가능합니다. 애플이 허용하지 않아요. 여기서 막힐 뻔했는데, 한 가지 우회로가 있었습니다. 저는 Mac도 씁니다. iPhone과 Mac 사이에 iMessage/SMS 동기화를 켜두면, 문자가 Mac의 chat.db라는 SQLite 데이터베이스에 저장돼요.
경로가 보였습니다. SMS → Mac chat.db → Python 파싱 → Google Sheets API → 가계부 자동 기입. iOS의 벽을 Mac으로 우회하는 아이디어였어요.

구현 — 3개 모듈

돈냥이가 만든 시스템은 파일 세 개로 구성됩니다.
첫 번째는 parse_sms.py. Mac의 chat.db에서 현대카드 결제 문자를 읽어서 파싱합니다. 발신번호 15776200으로 필터링하고, "7,400원 일시불 / 04/22 12:43 / 현대백화점판교" 같은 문자를 날짜, 금액, 가맹점으로 분리해요. 마지막으로 처리한 메시지 위치를 기억해서 중복 처리도 방지합니다.
두 번째는 daily_check.py. 매일 크론으로 실행되는 체크 스크립트예요. 새 결제 내역을 확인하고 Slack 메시지로 포맷합니다. "어제/오늘 현대카드 결제 9건이에요!" 하면서 목록을 보내줘요. 제가 "1. 택시 2. 점심 3. 커피" 형식으로 답하면 각 결제에 내역이 매칭됩니다.
세 번째는 sheets.py. Google Sheets API로 가계부 시트에 기입하는 모듈입니다. 서비스 계정으로 인증하고, 월별 시트의 날짜·내역·금액·결제수단 열에 맞춰 데이터를 추가해요.
근데 간혹, 가맹점명만 써 있으면 어디에 쓴 건지 헷갈릴 때가 있잖아요. 그래서 AI가 결제 내역을 읽고 Slack으로 알려주면, 사람이 "뭐에 쓴 건지"만 한 줄 답하게 만들었어요. 가맹점명이 "백화점"라고 떠도 그게 점심인지 커피인지는 AI도 모릅니다. 사람의 판단이 필요한 부분만 사람이 하고, 나머지는 자동.

실전 — 오늘 돌아간 결과

오늘 돈냥이 크론이 돌면서 현대카드 결제 9건을 감지했습니다. Slack의 #32-moneysheet-family 채널에 알림이 왔어요. 테슬라 충전 3,729원, 인스파이어 리조트에서 키즈카페, 점심, 커피, 슬라임카페 등. 제가 각 건에 내역을 답하니까 구글시트에 자동 기입 완료.
수기 입력이었으면 9건 × 6열 = 54칸을 직접 타이핑해야 했습니다. 지금은 한 줄 답변이면 끝이에요.
가계부 자동화는 단순히 귀찮은 일을 없앤 게 아닙니다. 돈의 흐름을 구조화하는 첫 걸음이에요. 투자 자문위원 돈냥이가 가계부를 맡은 건, 지출을 모르면 투자를 논할 수 없기 때문입니다. 오늘 얼마 썼는지 아는 것부터가 시작이에요.
'zoeylog' 구독하기
사이트를 구독하면 새 포스트 등 최신 업데이트를 알림과 메일로 가장 먼저 받아보실 수 있습니다.
Slashpage에 가입하고 'zoeylog'을 구독하세요!
구독
👍
3