블로그 목록으로
텍스트 편집
2026년 5월 16일

영수증·견적서 텍스트 정리 자동화 방법

종이 영수증이나 PDF 견적서에서 텍스트를 추출하고 정리하는 자동화 방법과 엑셀·스프레드시트 연동 워크플로를 단계별로 설명합니다.

Q.영수증이나 견적서 텍스트를 자동으로 정리하는 방법이 있나요?

네, 자동화가 가능합니다. 종이 영수증은 스마트폰 OCR 앱(구글 렌즈, 네이버 클로바)으로 텍스트를 추출하고, PDF 견적서는 pdfplumber(Python) 또는 Adobe Acrobat으로 추출합니다. 이후 날짜·금액 패턴을 정규식으로 파싱하면 엑셀 스프레드시트에 자동 정리할 수 있습니다.

영수증 텍스트 정리견적서 자동화OCR 영수증

영수증과 견적서는 형식이 제각각이라 수기 입력으로 처리하면 시간이 많이 든다. 종이 영수증 50장을 엑셀에 옮기는 데 2-3시간이 걸리는 반면, OCR 추출과 정규식 파싱을 함께 쓰면 같은 작업을 15-30분 안에 끝낼 수 있다. 핵심은 "한 번에 완벽하게 인식"이 아니라, 반복되는 항목을 구조화하고 사람이 확인해야 할 예외만 남기는 것이다.

핵심 답변

영수증·견적서 텍스트 정리는 1) OCR 또는 PDF 파싱으로 원문을 추출하고, 2) 날짜·공급가액·부가세·합계 금액을 정규식으로 분리한 뒤, 3) 엑셀이나 구글 스프레드시트에 표준 컬럼으로 저장하는 방식이 가장 안정적이다. 자동화율을 높이려면 거래처명, 사업자등록번호, 금액처럼 위치가 비교적 일정한 필드부터 처리한다.

자동화 워크플로 개요


영수증/견적서 원본
    ↓ (OCR 또는 PDF 파싱)
텍스트 추출
    ↓ (정규식 파싱)
구조화 데이터 (날짜, 금액, 항목)
    ↓ (엑셀/스프레드시트 연동)
자동 정리 완료

1단계: 원본별 추출 방식 선택

종이 영수증

  • 구글 렌즈: 소량 영수증을 빠르게 복사할 때 적합하다.
  • 네이버 클로바 OCR: 한국어 영수증·명세서 인식률이 높고 API 자동화에 적합하다.
  • Adobe Scan/CamScanner: 여러 장을 한 번에 스캔해 PDF로 묶을 때 편하다.

PDF 견적서

텍스트형 PDF는 OCR보다 PDF 파싱이 정확하다. 스캔 이미지가 아니라면 먼저 pdfplumber로 텍스트를 추출한다.

python
import pdfplumber

with pdfplumber.open("invoice.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        print(text)

2단계: 핵심 데이터 파싱

추출된 텍스트에서 날짜와 금액을 정규식으로 추출한다. 실무에서는 금액 1개만 찾는 것이 아니라 공급가액, 부가세, 합계 금액을 구분해야 한다.

python
import re

# 날짜 패턴 (2024-01-15 또는 2024.01.15)
date_pattern = r'd{4}[-./]d{2}[-./]d{2}'

# 금액 패턴 (1,234,567원 또는 ₩1,234,567)
amount_pattern = r'[₩s]?[d,]+원'

dates = re.findall(date_pattern, text)
amounts = re.findall(amount_pattern, text)

3단계: 표준 컬럼 설계

자동화 품질은 엑셀 컬럼을 먼저 정해두면 크게 좋아진다. 추천 컬럼은 다음과 같다.

컬럼설명검수 기준
거래일자결제일 또는 견적일yyyy-mm-dd로 통일
거래처명상호 또는 공급자명OCR 오타 수동 확인
사업자등록번호10자리 번호하이픈 제거 후 자리수 검증
공급가액세전 금액숫자만 저장
부가세VAT공급가액의 10%와 비교
합계금액최종 청구 금액공급가액+부가세와 비교
원본파일이미지/PDF 파일명추적 가능해야 함

4단계: 엑셀 자동 입력

파싱 결과를 openpyxl로 엑셀에 자동 기록하거나, 구글 스프레드시트 API로 클라우드 문서에 직접 연동한다. 100건 기준 처리 시간은 약 30초다.

python
from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.append(["거래일자", "거래처명", "공급가액", "부가세", "합계금액", "원본파일"])
ws.append([date, vendor, supply_amount, vat, total_amount, filename])
wb.save("receipts.xlsx")

자동화 품질을 높이는 검수 규칙

  • 합계 금액이 공급가액+부가세와 1원 이상 차이 나면 검수 대상으로 표시한다.
  • 사업자등록번호가 10자리가 아니면 빈 값으로 두지 말고 "확인 필요" 상태를 부여한다.
  • 같은 파일명과 같은 합계 금액이 반복되면 중복 입력 가능성을 확인한다.
  • OCR 신뢰도가 낮은 문자는 원문 이미지 링크와 함께 사람이 확인하게 한다.

무료 대안 (코딩 불필요)

  • 구글 스프레드시트 + 구글 렌즈: 렌즈로 추출 → 복사 → 시트에 붙여넣기
  • 마이크로소프트 365 수식: =TRIM(CLEAN(A1))로 불필요한 공백·특수문자 일괄 제거
  • 텍스터브 도구: 추출된 텍스트의 공백 정리와 글자수 확인에 활용

마무리

처음부터 모든 항목을 자동화하려고 하면 실패하기 쉽다. 날짜, 합계 금액, 거래처명처럼 반복성이 높은 필드부터 자동화하고, 예외는 사람이 확인하는 흐름으로 설계하면 정확도와 처리 속도를 함께 얻을 수 있다.

추출된 텍스트 정리하기

바로 가기 →

관련 글

추가 참고 자료

다른 글 보기