카드 문자로 가계부 자동 채우기 — 입력이 사라지면 가계부가 남는다

2026년 8월 21일 · Frogset 가이드

가계부자동입력 카드 문자카테고리 분류지출 관리

가계부를 세 번쯤 시작하고 세 번쯤 그만둔 사람이라면 알고 있습니다. 문제는 분석이 아니라 입력입니다. 하루 다섯 건을 손으로 적는 일은 이틀은 되고 일주일은 안 됩니다. 그런데 그 다섯 건은 이미 카드 승인 문자로 폰에 와 있습니다. 입력을 걷어내는 구조를 정리했습니다.

가계부는 분석이 아니라 입력에서 죽는다

가계부 앱을 그만두는 시점을 되짚어 보면 대체로 사흘째에서 열흘째 사이입니다. 그 시점에 벌어지는 일은 하나입니다 — 이틀치가 밀렸고, 그걸 몰아서 적으려니 뭘 썼는지 기억이 안 납니다.

여기서 두 가지 실패가 연달아 옵니다. 기억나는 것만 적으니 숫자가 틀리고, 틀린 숫자는 볼 이유가 없으니 안 보게 됩니다. 그리고 안 보는 가계부는 곧 안 적는 가계부입니다.

그래서 가계부에서 가장 중요한 기능은 통계나 그래프가 아니라 입력을 하지 않아도 되게 만드는 것입니다. 지출의 대부분이 카드로 일어나고, 카드 승인은 문자로 옵니다. 그 문자를 거래로 바꾸면 입력이 사라집니다.

카드 문자가 거래가 되는 원리

구조는 생각보다 단순합니다. 세 단계로 이루어집니다.

단계하는 일
1. 전달 폰에 도착한 문자를 가계부 서버로 보냅니다. 안드로이드에서는 문자 자동전달 앱(태스커·MacroDroid 등)으로 특정 발신번호의 문자만 지정된 주소로 전달하게 설정합니다.
2. 해석 서버가 문자에서 날짜·금액·가맹점·수입/지출 네 가지를 뽑아냅니다. 이게 파서의 역할입니다.
3. 분류·저장 가맹점 이름으로 카테고리를 추정해 거래로 저장합니다. 중복이면 버립니다.

여기서 2번이 기술적 핵심입니다. 카드 승인 문자는 카드사마다 형식이 다르고, 같은 카드사도 국내/해외/취소/할부에 따라 문장이 달라집니다. 그래서 파서 방식이 여러 개 필요합니다.

보안을 먼저 확인하세요. 문자를 외부로 전달하는 설정은 강력한 만큼 위험도 큽니다. 두 가지를 지키면 대부분 안전합니다 — 전달 대상을 카드사 발신번호로만 한정할 것(전체 문자를 보내면 인증번호까지 나갑니다), 그리고 전달 주소를 남에게 노출하지 않을 것. 이 주소는 인증 없이 데이터를 받는 통로이므로 사실상 비밀번호와 같습니다.

파서 방식 세 가지

문자를 해석하는 방법은 크게 셋입니다. 각각 장단이 뚜렷합니다.

방식동작장단
빌트인 파서 한국 카드·은행 승인 문자 형식을 미리 알고 있는 전용 해석기. 설정 없이 바로 동작합니다. 가장 편합니다. 다만 새로운 형식이나 드문 문구는 놓칠 수 있습니다.
사용자 정규식 문자에서 어느 부분이 금액이고 어느 부분이 가맹점인지 직접 패턴으로 지정합니다. 어떤 형식이든 맞출 수 있습니다. 대신 정규식을 써야 합니다.
AI 해석 문장을 그대로 언어 모델에 넘겨 항목을 뽑아냅니다. 카테고리까지 함께 추정하게 할 수 있습니다. 형식이 낯설어도 대체로 읽어냅니다. 대신 비용·지연·간헐적 오답이 있습니다.

실용적인 조합은 빌트인으로 시작하고, 안 잡히는 카드만 정규식을 추가하는 것입니다. 대부분의 지출이 카드 한두 장에서 나오니, 그 두 장이 잡히면 사실상 끝입니다.

정규식을 직접 쓸 때

문자 예시를 하나 놓고 바뀌는 부분과 고정된 부분을 구분하는 것이 요령입니다. "[Web발신] OO카드 승인 12,300원 스타벅스"에서 카드 이름과 "승인"은 고정이고, 금액과 가맹점이 변합니다. 고정 부분을 그대로 쓰고 변하는 부분만 패턴으로 두면 됩니다.

주의할 점 셋: 금액에 쉼표가 들어갑니다(제거 필요), 취소 문자는 별도 처리가 필요합니다(안 하면 취소가 지출로 잡힙니다), 할부는 총액과 회차 금액이 함께 나오는 경우가 있습니다.

카테고리 자동 분류 3단계

금액과 가맹점을 뽑아내도 카테고리는 문자에 없습니다. "스타벅스"가 카페인지 식비인지는 문자가 알려 주지 않습니다. 그래서 추정이 필요하고, 단계적으로 접근하는 게 정확합니다.

단계기준왜 이 순서인가
1. 내 과거 기록 같은 가맹점을 전에 어느 카테고리로 넣었는지 보고 가장 많이 쓴 것을 씁니다. 가장 정확합니다. 같은 편의점을 누구는 식비로, 누구는 생활용품으로 씁니다. 정답은 사용자의 습관입니다.
2. 키워드 규칙 "주유"→교통, "약국"→의료처럼 미리 정한 단어 규칙으로 맞춥니다. 처음 가는 가맹점에 쓸 수 있습니다. 규칙은 사용자가 추가·수정할 수 있어야 합니다.
3. 기본 카테고리 아무것도 안 맞으면 "미분류" 같은 곳에 넣습니다. 버리지 않는 것이 중요합니다. 분류를 못 해도 금액은 기록돼야 합니다.

1단계가 있으면 시간이 갈수록 정확해집니다. 처음 한 달은 미분류가 많지만, 그때 손으로 고친 것이 다음 달의 기준이 됩니다. 두세 달 지나면 대부분 자동으로 맞습니다.

3단계가 없으면 안 됩니다. 분류에 실패했을 때 거래를 버리면 "카드는 썼는데 가계부에 없는" 상황이 생기고, 그 순간 합계를 신뢰할 수 없게 됩니다. 미분류로라도 반드시 남기는 것이 자동입력 설계의 기본입니다.

중복은 어떻게 막는가

자동입력에서 반드시 풀어야 하는 문제입니다. 같은 문자가 두 번 전달되는 경우가 의외로 흔합니다 — 전달 앱이 재시도하거나, 통신 오류로 두 번 보내거나, 사용자가 설정을 만지다가 과거 문자를 다시 보내는 경우입니다.

해결 방식은 문자 내용 자체로 지문(fingerprint)을 만드는 것입니다. 문자를 정규화한 뒤 해시값을 계산해 저장하고, 같은 해시가 이미 있으면 버립니다.

이 방식의 장점은 거래 내용에 의존하지 않는다는 점입니다. 같은 카페에서 같은 금액을 하루에 두 번 결제하면 거래 내용은 똑같지만 문자는 승인 시각이 달라서 다른 지문이 나옵니다. 그래서 진짜 두 건은 둘 다 남고, 중복 전달만 걸러집니다.

반대로 "같은 날 같은 금액이면 중복"으로 판단하면 실제 두 건 중 하나가 사라집니다. 중복 판정은 거래가 아니라 원본 메시지 단위로 해야 합니다.

자동입력이 못 하는 것

자동입력은 가계부의 70~80%를 채워 줍니다. 나머지는 손이 필요하고, 무엇이 빠지는지 알고 있는 것이 중요합니다.

주 5분 확인 루틴

자동입력을 켜 두고 아예 안 보면 결국 신뢰를 잃습니다. 주 1회 5분만 확인하면 충분합니다.

  1. 미분류를 정리합니다. 새로 생긴 가맹점의 카테고리를 정해 줍니다. 이번에 정해 두면 다음부터 자동으로 맞습니다 — 이게 가장 값어치 있는 작업입니다.
  2. 빠진 게 있는지 봅니다. 카드 앱의 이번 주 합계와 가계부 합계를 비교합니다. 차이가 크면 잡히지 않는 카드가 있는 것입니다.
  3. 현금·이체를 채웁니다. 기억나는 것만. 완벽하게 하려 하면 안 하게 됩니다.
  4. 이상한 건을 확인합니다. 금액이 크게 튀는 건, 모르는 가맹점. 부정 사용을 이 단계에서 발견하는 경우도 있습니다.

이 루틴이 손으로 적는 것과 결정적으로 다른 점은 기억에 의존하지 않는다는 것입니다. 이미 기록된 것을 확인만 하니 일주일이 밀려도 복구가 됩니다.

자주 묻는 것

아이폰에서도 되나요?

안드로이드보다 제약이 큽니다. iOS는 문자를 다른 앱이 읽거나 자동 전달하는 것을 기본적으로 막습니다. 단축어(Shortcuts) 자동화로 일부 우회가 가능하지만 안정성이 떨어집니다. 실용적인 대안은 안드로이드 보조기기를 두는 것(가족 중 안드로이드 사용자가 카드를 관리), 또는 문자를 붙여넣어 등록하는 반자동 방식입니다.

문자를 외부로 보내는 게 위험하지 않나요?

위험할 수 있으니 범위를 좁혀야 합니다. 핵심은 발신번호 필터입니다 — 카드사 번호에서 온 문자만 전달하도록 설정하면 인증번호나 개인적인 문자는 나가지 않습니다. 그리고 전달 주소가 유출되면 남이 내 가계부에 거래를 넣을 수 있으니, 주소를 공유하지 말고 필요하면 새로 발급받는 게 좋습니다.

카드사 앱에서 이미 지출이 보이는데 왜 가계부가 필요한가요?

카드사 앱은 그 카드만 압니다. 카드 세 장과 현금을 쓰면 네 곳을 봐야 하고, 합계를 알 수 없습니다. 그리고 카드사의 카테고리 분류는 바꿀 수 없고 가구 단위로 합칠 수도 없습니다. 배우자와 합친 지출을 보려면 별도 가계부가 필요합니다.

가족이 같이 쓰면 각자 문자를 다 연결해야 하나요?

그래야 합계가 맞습니다. 각자 자기 폰에서 전달을 설정하고 같은 가계부로 보내면 가구 전체 지출이 한곳에 모입니다. 이때 누가 쓴 것인지 구분되도록 결제 수단(카드)을 나눠 두면 나중에 보기 편합니다. 가족과 함께 가계부를 유지하는 방법은 가족 가계부 노하우에 정리했습니다.

자동입력이 틀리면 어떡하나요?

틀린 건 고치면 되고, 그 수정이 다음번 정확도를 높입니다(위의 1단계). 중요한 건 틀릴 수 있다는 전제로 주 1회 확인하는 것입니다. 자동입력의 목표는 완벽한 기록이 아니라 손으로 적지 않아도 대략 맞는 기록입니다. 대략 맞는 기록이 계속 남는 것이, 완벽한 기록이 열흘 만에 끊기는 것보다 낫습니다.

개굴 가계부는 문자 자동입력을 지원합니다. 한국 카드·은행 승인 문자 전용 파서와 사용자 정규식, AI 해석 세 방식을 고를 수 있고, 카테고리는 과거 기록 → 키워드 → 기본값 순서로 자동 분류합니다. 같은 문자가 두 번 와도 중복으로 저장되지 않으며, 가구 단위로 지출을 합쳐 볼 수 있습니다. 가계부 시작하기 →

마치며

가계부를 오래 쓰는 사람과 그렇지 않은 사람의 차이는 성실함이 아닙니다. 입력을 얼마나 걷어냈는지의 차이입니다. 자동으로 채워지는 가계부는 일주일 안 봐도 살아 있고, 손으로 적는 가계부는 사흘 안 보면 죽습니다.

오늘 할 수 있는 건 카드 한 장을 연결하는 것입니다. 가장 많이 쓰는 카드 하나만 자동으로 들어오게 해 두면, 그것만으로 지출의 절반 이상이 기록됩니다.