
지출 관리와 소비 분석은 개인과 기업 모두에게 매우 중요한 데이터 관리 영역입니다. 하지만 대부분의 사람들은 여전히 영수증을 수동으로 정리하거나 엑셀에 직접 입력하는 방식을 사용합니다. 챗GPT와 OCR(문자 인식) 기술을 결합하면, 영수증 정보를 자동으로 인식하고, 소비 내역을 분류·요약해 주는 AI 지출 분석 시스템을 구축할 수 있습니다. 이번 글에서는 챗GPT를 중심으로 한 자동 지출 분석기의 설계 과정과 실제 적용 방법을 단계별로 소개합니다.
1. 영수증 데이터 자동 인식의 원리와 챗GPT의 역할
영수증에는 상호명, 결제금액, 날짜, 품목 등 핵심 데이터가 포함되어 있습니다. 하지만 이 정보를 사람이 일일이 입력하기에는 시간이 많이 걸리고 오류가 발생하기 쉽습니다. 여기서 OCR(Optical Character Recognition) 기술이 첫 번째 단계로 작동합니다. OCR은 이미지에서 문자를 추출하는 기술로, Python에서는 pytesseract 같은 라이브러리를 이용해 쉽게 구현할 수 있습니다.
import pytesseract
from PIL import Image
img = Image.open("receipt.jpg")
text = pytesseract.image_to_string(img, lang="kor+eng")
print(text)
이렇게 추출된 텍스트는 “스타벅스 영수증”, “결제금액 8,200원”, “날짜 2025-10-30” 등의 형태로 반환됩니다. 하지만 OCR만으로는 단순 텍스트 추출에 그칩니다. 이 데이터를 실제로 ‘분석 가능한 형태’로 구조화하려면 추가 처리가 필요합니다. 바로 여기서 챗GPT의 자연어 처리 능력이 빛을 발합니다. GPT는 비정형 데이터를 맥락적으로 이해하고, ‘날짜·금액·매장명·카테고리’ 등의 필드로 분류할 수 있습니다. 예를 들어 아래와 같은 프롬프트를 사용하면 됩니다.
prompt = """
다음 영수증 텍스트를 분석해서 다음 형식으로 정리해주세요:
[상호명], [결제일자], [결제금액], [결제수단], [카테고리].
텍스트: 스타벅스 영수증, 2025년 10월 30일, 카드 결제 8,200원, 아메리카노 2잔.
"""
GPT의 응답 예시는 다음과 같습니다.
상호명: 스타벅스
결제일자: 2025-10-30
결제금액: 8,200원
결제수단: 카드
카테고리: 커피/음료
이 과정을 통해 OCR → GPT 분석 → 정형 데이터 변환이 자동으로 연결됩니다.
2. 챗GPT로 지출 내역 자동 분류 및 요약하기
영수증을 한두 개 분석하는 것은 간단하지만, 매달 수십 건 이상의 거래 내역을 자동 분류하려면 시스템 구조가 필요합니다. 이를 위해 GPT는 단순 분류뿐 아니라 패턴 분석과 통계 요약 기능까지 수행할 수 있습니다.
(1) 거래 내역 자동 분류 영수증
데이터를 다수 입력하면 GPT가 자동으로 카테고리를 할당하도록 프롬프트를 설정할 수 있습니다.
transactions = [
{"store": "스타벅스", "amount": 8200, "date": "2025-10-30"},
{"store": "GS25", "amount": 3200, "date": "2025-10-29"},
{"store": "쿠팡", "amount": 15800, "date": "2025-10-28"},
]
prompt = f"""
다음 거래 내역을 식비, 생활비, 쇼핑, 교통비, 기타 중 하나로 분류해 주세요:
{transactions}
"""
챗GPT는 아래처럼 응답합니다.
1. 스타벅스 → 식비(커피)
2. GS25 → 생활비(편의점)
3. 쿠팡 → 쇼핑(온라인몰)
이렇게 GPT를 활용하면 금액 크기나 상호명만으로는 분류하기 어려운 거래 패턴을 자연스럽게 구분할 수 있습니다. 예를 들어 ‘이마트’ 결제 중 일부는 식품 구매, 일부는 가전제품일 수도 있지만, GPT는 문맥적 단어(예: ‘식품’, ‘전자제품’)를 인식해 올바른 카테고리를 배정할 수 있습니다.
(2) 월별 지출 리포트 생성
한 달치 데이터를 입력하면 GPT가 자동으로 통계를 내고, 텍스트 기반 리포트를 생성할 수 있습니다.
prompt = """
다음은 10월 한 달 동안의 지출 내역입니다.
총액, 주요 카테고리별 비율, 절약 가능 지출 항목을 분석해서 리포트를 작성해주세요.
데이터:
식비 210,000원 / 교통비 52,000원 / 쇼핑 85,000원 / 기타 30,000원
"""
GPT는 다음과 같은 요약을 반환합니다. “10월 총지출은 377,000원으로, 식비가 전체의 55%를 차지했습니다. 특히 외식비가 과다한 경향이 있으며, 주 2회만 줄여도 월 40,000원 절감이 가능합니다. 교통비는 안정적이며 쇼핑비는 비중이 높으므로 할인 쿠폰 활용이 추천됩니다.” 이처럼 챗GPT는 단순 계산을 넘어 데이터의 의미를 언어적으로 해석해 줍니다. 결과적으로 사용자는 ‘숫자 보고서’가 아니라 ‘행동 지침이 담긴 리포트’를 얻게 됩니다.
3. 자동 영수증 분석 시스템의 통합 구현
챗GPT와 OCR을 결합한 자동 지출 분석기는 아래의 통합 구조로 작동합니다.
① 데이터 입력 – 사용자가 스마트폰으로 영수증 사진을 업로드
② 문자 인식(OCR) – pytesseract가 텍스트를 추출
③ 챗GPT 분석 – 비정형 텍스트를 정형화된 데이터로 변환
④ 카테고리 분류 – GPT가 소비 패턴을 학습하고 자동 분류
⑤ 통계 및 리포트 생성 – GPT가 요약 리포트를 작성
⑥ 시각화(선택) – matplotlib을 이용해 차트나 그래프로 표현
이를 간단히 표현한 예시는 다음과 같습니다.
import matplotlib.pyplot as plt
categories = ["식비", "교통비", "쇼핑", "기타"]
amounts = [210000, 52000, 85000, 30000]
plt.bar(categories, amounts)
plt.title("10월 지출 내역")
plt.show()
이 그래프와 함께 GPT가 생성한 리포트를 결합하면, 완성도 높은 AI 기반 가계부 시스템이 만들어집니다. 이 시스템을 Google Drive, Notion, 또는 이메일과 연동하면, 매달 자동으로 보고서를 받아볼 수도 있습니다. 예를 들어 “매월 1일 오전 9시, 지난달 소비 리포트 자동 전송” 기능을 설정하면, GPT가 데이터를 분석하고 이메일로 결과를 전송합니다.
소비를 이해하는 AI, 챗GPT
챗GPT 기반 영수증·지출 분석기는 단순한 자동화 도구가 아니라, 사용자의 소비 습관을 스스로 학습하는 개인 재무 파트너입니다. 매달 반복되는 입력과 계산을 대신해주며, 지출 패턴의 원인을 분석해 절약 방향까지 제시합니다. 이제 ‘기록의 시대’에서 ‘이해의 시대’로 전환되고 있습니다. 챗GPT는 단순히 숫자를 계산하는 AI가 아니라, 금융 데이터를 해석하고 행동을 유도하는 AI 컨설턴트로 자리 잡고 있습니다. 개인부터 기업까지, 모든 사용자가 챗GPT를 통해 더 똑똑한 소비 관리 방식을 경험할 수 있습니다.