프로젝트 배경
1) 문제점
영수증을 매번 수동으로 입력해야 하며, 품목 수가 많거나 여러 장의 영수증을 동시에 처리해야 할 경우, 시간이 많이 소요되고 사람이 직접 입력하기 때문에 오류 발생률도 높았습니다.
한 이미지에 여러 영수증이 함께 촬영되어 업로드되는 경우가 많아, 이를 수동으로 자르고 업로드해야 하는 비효율이 존재했습니다.
OCR 결과는 비정형 텍스트로 출력되기 때문에 국세청 신고 규격에 맞게 구조화하려면 추가적인 수작업이 필요했습니다.
영수증 형태(가로/세로/사진 촬영/구김)에 따라 품목 테이블 구조가 달라져 자동화 시스템 구축이 어렵고 인식 정확도가 일정하지 않았습니다.
세무 신고 시 총액·부가세·승인번호 등 필드가 정확히 매핑되어야 하나, 사람의 입력 과정에서 누락·오타·정합성 오류가 자주 발생했습니다.
2) 프로젝트 목표
다양한 형태의 영수증 이미지를 기반으로 자동으로 인식(OCR) → 구조화 → 검증 → 국세청 신고 규격으로 변환되는
완전 자동화된 파이프라인을 구축하는 것이 목표였습니다.
한 이미지에 여러 영수증이 함께 있을 경우, AI가 자동으로 감지 및 분리하여 인식 정확도를 높이는 기능 제공.
OCR 결과를 GPT 기반 파서(Parser)로 처리해 모든 영수증을 동일한 JSON 구조로 변환하고 정합성까지 확보하는 시스템 개발.
기존 수작업 방식 대비 입력 시간을 획기적으로 단축하고 세무 신고 시 발생하는 오류·누락·중복 문제를 해결하여 세무 자동화 효율성을 극대화하는 것이 최종 목적입니다.
3) 주안점
① 여러 영수증 자동 분리 (YOLO 객체 감지 활용)
실제 사용자 환경을 고려해 한 이미지에 다수의 영수증이 섞여 있을 때 YOLO 모델이 영수증 개별 영역을 탐지·분리하도록 설계했습니다. 이를 통해 OCR 인식률을 높이고 불필요한 누락·중복 인식을 제거.
② 테이블 기반 품목 구조 자동 복원
대부분의 영수증은 ‘품목명 · 수량 · 단가 · 금액’ 테이블로 구성되어 있어 OCR의 행·열이 어긋나는 문제를 해결하기 위해
테이블 복원 및 금액 검증 로직을 적용했습니다.
③ GPT 파인튜닝 기반 데이터 파싱 자동화
영수증 종류마다 구조가 달라 정형화가 어려운 문제를 GPT 파인튜닝 모델이 다양한 패턴을 이해해 자동 구조화하도록 구현.
상호명, 거래일시, 결제수단, 품목 리스트, 금액 정보 등을 JSON 형태로 일관되게 반환하도록 시스템화.
④ 국세청 신고 규격에 맞춘 데이터 정합성 확보
금액 검증(총액 = 품목 합계 + 부가세), 승인번호 형식 체크 등 신고에 필요한 정합성 로직을 자동 적용하여 오류를 최소화.
영수증을 매번 수동으로 입력해야 하며, 품목 수가 많거나 여러 장의 영수증을 동시에 처리해야 할 경우, 시간이 많이 소요되고 사람이 직접 입력하기 때문에 오류 발생률도 높았습니다.
한 이미지에 여러 영수증이 함께 촬영되어 업로드되는 경우가 많아, 이를 수동으로 자르고 업로드해야 하는 비효율이 존재했습니다.
OCR 결과는 비정형 텍스트로 출력되기 때문에 국세청 신고 규격에 맞게 구조화하려면 추가적인 수작업이 필요했습니다.
영수증 형태(가로/세로/사진 촬영/구김)에 따라 품목 테이블 구조가 달라져 자동화 시스템 구축이 어렵고 인식 정확도가 일정하지 않았습니다.
세무 신고 시 총액·부가세·승인번호 등 필드가 정확히 매핑되어야 하나, 사람의 입력 과정에서 누락·오타·정합성 오류가 자주 발생했습니다.
2) 프로젝트 목표
다양한 형태의 영수증 이미지를 기반으로 자동으로 인식(OCR) → 구조화 → 검증 → 국세청 신고 규격으로 변환되는
완전 자동화된 파이프라인을 구축하는 것이 목표였습니다.
한 이미지에 여러 영수증이 함께 있을 경우, AI가 자동으로 감지 및 분리하여 인식 정확도를 높이는 기능 제공.
OCR 결과를 GPT 기반 파서(Parser)로 처리해 모든 영수증을 동일한 JSON 구조로 변환하고 정합성까지 확보하는 시스템 개발.
기존 수작업 방식 대비 입력 시간을 획기적으로 단축하고 세무 신고 시 발생하는 오류·누락·중복 문제를 해결하여 세무 자동화 효율성을 극대화하는 것이 최종 목적입니다.
3) 주안점
① 여러 영수증 자동 분리 (YOLO 객체 감지 활용)
실제 사용자 환경을 고려해 한 이미지에 다수의 영수증이 섞여 있을 때 YOLO 모델이 영수증 개별 영역을 탐지·분리하도록 설계했습니다. 이를 통해 OCR 인식률을 높이고 불필요한 누락·중복 인식을 제거.
② 테이블 기반 품목 구조 자동 복원
대부분의 영수증은 ‘품목명 · 수량 · 단가 · 금액’ 테이블로 구성되어 있어 OCR의 행·열이 어긋나는 문제를 해결하기 위해
테이블 복원 및 금액 검증 로직을 적용했습니다.
③ GPT 파인튜닝 기반 데이터 파싱 자동화
영수증 종류마다 구조가 달라 정형화가 어려운 문제를 GPT 파인튜닝 모델이 다양한 패턴을 이해해 자동 구조화하도록 구현.
상호명, 거래일시, 결제수단, 품목 리스트, 금액 정보 등을 JSON 형태로 일관되게 반환하도록 시스템화.
④ 국세청 신고 규격에 맞춘 데이터 정합성 확보
금액 검증(총액 = 품목 합계 + 부가세), 승인번호 형식 체크 등 신고에 필요한 정합성 로직을 자동 적용하여 오류를 최소화.
프로젝트 성과
영수증 자동 분리 정확도 향상
YOLO 기반 이미지 내 영수증 분리 기능 적용으로 다중 영수증 판독 정확도 95% 이상 달성.
OCR 인식 정확도 개선
전처리·테이블 복원·후처리 적용으로 주요 금액·승인번호·상호명 인식 정확도 90% 이상 확보.
국세청 신고 자동화 효율 향상
자동 구조화 및 검증 로직으로 수작업 입력 시간을 기존 대비 80% 이상 절감.
운영 비용 절감
AI 기반 자동 인식 도입으로 세무·회계 처리 과정의 인력 투입 비용 큰 폭 절감.
대량 처리 대응력 확보
병렬 인식 파이프라인 구축으로 하루 최대 수천 건 처리 가능한 서버 성능 확보.
핵심 기능
다중 영수증 자동 분리 기능 (YOLO 기반)
한 이미지에 여러 영수증이 포함되어 있어도 YOLO 모델이 자동으로 개별 영수증 영역을 감지·분리하여 인식 정확도 향상.
OCR 기반 영수증 텍스트 추출
Google Vision / Azure / Tesseract 조합을 통해 상호명, 거래일자, 금액, 품목 테이블 등 주요 텍스트 자동 추출.
GPT 파인튜닝 기반 데이터 파싱 & JSON 구조화
OCR 결과를 GPT 파서가 분석하여 상호명, 승인번호, 총액, 품목 리스트 등을 일관된 JSON 형태로 자동 변환.
진행 단계
요구사항 분석 & 데이터 수집
2025.10.
프로젝트 요구사항 정의, 영수증 이미지 확보 및 패턴 분석
데이터 라벨링 & 전처리
2025.10.
YOLO 학습용 영역 라벨링, OCR GT 라벨링 및 이미지 전처리 작업
AI 모델 개발
2025.10.
YOLO 기반 영수증 분리 모델 학습, OCR 파이프라인 구축
GPT 파인튜닝 & 데이터 구조화 로직 개발
2025.10.
OCR 결과를 JSON으로 변환하는 파서 모델 및 후처리 검증 로직 구현
API 서버 개발 및 패키징
2025.11.
FastAPI 기반 분석 API 구축, 통합 테스트 & 성능 튜닝
프로젝트 상세
1) 포트폴리오 소개
AI 기반 문서 자동 인식(OCR) 및 세무 자동화 서비스 개발. 영수증·거래 증빙을 촬영 또는 업로드하면, AI가 항목을 자동 추출하여 국세청 신고 규격에 맞춰 구조화하는 자동화 플랫폼입니다. 메인 타깃은 소규모 사업자·프리랜서·영수증 처리에 어려움이 있는 일반 사용자, 그리고 영수증 데이터가 대량 발생하는 회계·세무 대행 업체입니다.
2) 작업 범위 (Development Scope)
• OCR AI 개발
- 텍스트 인식 및 필드 매핑 모델 개발(Google Vision, Azure, Clova 비교 적용)
- 이미지 전처리 및 테이블 파싱 알고리즘 개발
• 문서 파싱 및 규격화
- 영수증 항목 자동 분리(상점명, 사업자번호, 품목·단가·수량·총액, 승인번호 등)
- 오류 텍스트 보정, 도메인 사전(Dictionary) 기반 보정 로직 개발
• API 서버 구축
- FastAPI 기반 OCR/파싱/업로드 API 개발
- PM2 기반 배포 및 인퍼런스 서버 구성
• 백오피스/관리자 도구
- 라벨링 도구 연동 및 관리 화면 일부 구성
• 지원 환경
- 반응형 웹 기반 Back-office
- 서버: 텐센트 & PM2
3) 주요 업무 (핵심 기능·주요 페이지)
AI 기반 영수증 자동 인식 기능
• 영수증 전체 이미지 → 텍스트 추출(OCR)
• 표(테이블) 감지 → 행/열 분리 → 품목별 구조화
• 비정형 영수증(사진·기울어짐·구김 등) 전처리 처리
국세청 신고 자동화 기능
• 영수증 데이터를 **국세청 신고 포맷(JSON/CSV)**으로 변환
• 승인번호, 사업자등록번호, 공급가액/부가세 자동 계산
• 필드 누락 여부 자동 검증
사용자 업로드 페이지
• 이미지 업로드 → 실시간 인식 결과 → 자동 분류
• 다중 파일 업로드 및 배치 처리 지원
관리자 페이지
• 인식 실패된 영수증 보정 작업
• Key-Value 라벨 모니터링 기능
• 데이터 검증/교정 UI 제공
4) 주안점 (Focus Points) — 업데이트 버전
① 여러 영수증이 하나의 이미지로 업로드되는 상황 대응
• 실제 사용자 환경에서는 한 장의 사진에 2~5개의 영수증이 동시에 찍히는 경우가 많아, 이를 자동으로 분리하는 것이 필수적이었습니다.
• YOLO 기반 영수증 영역 감지 모델을 학습하여, 이미지 내 모든 영수증을 박스 단위로 분리 → 각 영역을 개별 OCR 파이프라인에 전달하는 구조를 구축했습니다.
• 이를 통해 인식률을 크게 높이고, 병렬 처리로 성능도 개선했습니다.
② 높은 OCR 정확도를 위한 사전 기반 보정 및 딥러닝 튜닝
• Google Vision / Azure / Clova OCR을 비교 적용한 뒤, 상품명·상호명·승인번호, 과세금액 등 OCR 오류가 잦은 필드에 대해 문맥 기반 보정 로직을 활용하여 정확도를 높였습니다.
③ GPT 파인튜닝을 통한 데이터 파싱 자동화
• OCR로 추출된 텍스트는 구조가 일정하지 않아 후처리 난이도가 높았습니다.
• 이를 해결하기 위해 **GPT 모델을 파인튜닝하여 영수증 전용 파서(Parser)**를 구축했습니다.
• 파인튜닝 모델은
- 품목 리스트
- 단가·수량·총액 구조
- 공급가액/부가세 자동 계산
- 구매 영수증 특화 필드(상품명, 카테고리, 과세 금액, 면세금액) 등의 패턴을 학습해 JSON 구조화를 자동화했습니다.
• 결과적으로 복잡한 레이아웃에서도 일관된 Key-Value 맵핑이 가능해졌습니다.
④ 국세청 신고 규격 정합성에 맞춘 데이터 매핑
• 국세청 신고 포맷(JSON/CSV)에 맞춰 공급가액·부가세 계산 규칙, 승인번호 규칙, 사업자등록번호 검증 등을 자동화하여 사람이 검증해야 하는 단계를 최소화했습니다.
AI 기반 문서 자동 인식(OCR) 및 세무 자동화 서비스 개발. 영수증·거래 증빙을 촬영 또는 업로드하면, AI가 항목을 자동 추출하여 국세청 신고 규격에 맞춰 구조화하는 자동화 플랫폼입니다. 메인 타깃은 소규모 사업자·프리랜서·영수증 처리에 어려움이 있는 일반 사용자, 그리고 영수증 데이터가 대량 발생하는 회계·세무 대행 업체입니다.
2) 작업 범위 (Development Scope)
• OCR AI 개발
- 텍스트 인식 및 필드 매핑 모델 개발(Google Vision, Azure, Clova 비교 적용)
- 이미지 전처리 및 테이블 파싱 알고리즘 개발
• 문서 파싱 및 규격화
- 영수증 항목 자동 분리(상점명, 사업자번호, 품목·단가·수량·총액, 승인번호 등)
- 오류 텍스트 보정, 도메인 사전(Dictionary) 기반 보정 로직 개발
• API 서버 구축
- FastAPI 기반 OCR/파싱/업로드 API 개발
- PM2 기반 배포 및 인퍼런스 서버 구성
• 백오피스/관리자 도구
- 라벨링 도구 연동 및 관리 화면 일부 구성
• 지원 환경
- 반응형 웹 기반 Back-office
- 서버: 텐센트 & PM2
3) 주요 업무 (핵심 기능·주요 페이지)
AI 기반 영수증 자동 인식 기능
• 영수증 전체 이미지 → 텍스트 추출(OCR)
• 표(테이블) 감지 → 행/열 분리 → 품목별 구조화
• 비정형 영수증(사진·기울어짐·구김 등) 전처리 처리
국세청 신고 자동화 기능
• 영수증 데이터를 **국세청 신고 포맷(JSON/CSV)**으로 변환
• 승인번호, 사업자등록번호, 공급가액/부가세 자동 계산
• 필드 누락 여부 자동 검증
사용자 업로드 페이지
• 이미지 업로드 → 실시간 인식 결과 → 자동 분류
• 다중 파일 업로드 및 배치 처리 지원
관리자 페이지
• 인식 실패된 영수증 보정 작업
• Key-Value 라벨 모니터링 기능
• 데이터 검증/교정 UI 제공
4) 주안점 (Focus Points) — 업데이트 버전
① 여러 영수증이 하나의 이미지로 업로드되는 상황 대응
• 실제 사용자 환경에서는 한 장의 사진에 2~5개의 영수증이 동시에 찍히는 경우가 많아, 이를 자동으로 분리하는 것이 필수적이었습니다.
• YOLO 기반 영수증 영역 감지 모델을 학습하여, 이미지 내 모든 영수증을 박스 단위로 분리 → 각 영역을 개별 OCR 파이프라인에 전달하는 구조를 구축했습니다.
• 이를 통해 인식률을 크게 높이고, 병렬 처리로 성능도 개선했습니다.
② 높은 OCR 정확도를 위한 사전 기반 보정 및 딥러닝 튜닝
• Google Vision / Azure / Clova OCR을 비교 적용한 뒤, 상품명·상호명·승인번호, 과세금액 등 OCR 오류가 잦은 필드에 대해 문맥 기반 보정 로직을 활용하여 정확도를 높였습니다.
③ GPT 파인튜닝을 통한 데이터 파싱 자동화
• OCR로 추출된 텍스트는 구조가 일정하지 않아 후처리 난이도가 높았습니다.
• 이를 해결하기 위해 **GPT 모델을 파인튜닝하여 영수증 전용 파서(Parser)**를 구축했습니다.
• 파인튜닝 모델은
- 품목 리스트
- 단가·수량·총액 구조
- 공급가액/부가세 자동 계산
- 구매 영수증 특화 필드(상품명, 카테고리, 과세 금액, 면세금액) 등의 패턴을 학습해 JSON 구조화를 자동화했습니다.
• 결과적으로 복잡한 레이아웃에서도 일관된 Key-Value 맵핑이 가능해졌습니다.
④ 국세청 신고 규격 정합성에 맞춘 데이터 매핑
• 국세청 신고 포맷(JSON/CSV)에 맞춰 공급가액·부가세 계산 규칙, 승인번호 규칙, 사업자등록번호 검증 등을 자동화하여 사람이 검증해야 하는 단계를 최소화했습니다.

해당 영수증 이미지를 같이 저장 하여 대조 가능 하게 개발


YOLO 이미지 분할을 위한 라벨링

gpt 파인 튜닝을 위한 라벨링 작업



