영수증 OCR · 환불·보증 기한 알림

환불 기한은
영수증이
기억합니다.

영수증이나 보증서 사진을 올리면 상호, 구매일, 금액을 읽어 환불·보증 기한을 계산해 둡니다. 마감이 다가오면 이메일이나 텔레그램으로 알려줍니다. 서랍 속 종이를 다시 뒤질 일이 없습니다.

결제 없음. 사용자당 하루 30건까지 처리합니다.

읽어낸 결과

무선청소기 V12

보증 유효환불 D-3
상호
동네가전 잠실점
구매일
2026-08-29
금액
1,290,000원
9월 2일 아침, 이메일·텔레그램으로 알림

흐름

세 동작이면 됩니다.

  1. 01

    올린다

    영수증이나 보증서를 사진 한 장으로 올립니다. 업로드는 브라우저에서 저장소로 바로 가고, 처리 직전에 서버가 크기와 형식을 다시 확인합니다.

  2. 02

    읽는다

    OCR이 글자를 읽고, 규칙 추출기가 상호·구매일·금액을 먼저 채웁니다. 규칙이 못 잡은 칸만 LLM이 보완하고, 결과는 저장 전에 범위 검사를 거칩니다.

  3. 03

    알린다

    환불·보증 마감이 다가오면 이메일이나 텔레그램으로 알립니다. 같은 제품, 같은 기한, 같은 채널에는 한 번만 보냅니다.

정확도

숫자로 관리합니다.

규칙 추출기의 필드별 F1을 재고, 기준선보다 떨어지면 CI가 배포를 막습니다. 아래는 개선 전후 값입니다.

상호 F1

9%100%

구매일 F1

89%99%

금액 F1

98%100%

KORIE OCR 테스트 스플릿 314예제, 2026-07-05 실측. KORIE는 필드별 크롭 전사라 상호·금액 지표는 위치 찾기가 아니라 값 파싱 능력에 가깝습니다. 시드 골드셋 10건은 세 필드 모두 F1 100%를 회귀 기준점으로 잡고 있습니다.

운영

조용히 실패하지 않게.

실제로 운영하면서 고친 것들입니다. 기능보다 먼저 막아 둔 구멍이 여기 있습니다.

인증 실패는 닫힌 쪽으로
크론·웹훅 시크릿이 비어 있으면 통과가 아니라 500으로 막습니다.
LLM 출력은 믿지 않고 검사
날짜는 정규화, 금액은 10억 원 상한, 텍스트는 길이 상한을 넘으면 버립니다.
알림은 정확히 한 번
제품·종류·임계일·채널 조합마다 발송 기록을 남겨 중복을 막습니다.
하루 30건
사용자마다 하루 처리 건수를 제한해 OCR·LLM 비용이 튀지 않게 둡니다.
콜백은 같은 출처만
로그인 뒤 돌아갈 주소는 같은 사이트의 상대 경로만 허용합니다.
서울 리전
함수는 icn1 에서 돌고, 이미지는 R2 에 둡니다.

왜 여기서 멈췄나

기능은 끝났고, 시장이 멈추라고 했습니다.

같은 기능을 전부 무료로 주는 앱이 이미 있었고, 카드사·은행 알림도 비슷한 일을 해 줍니다. 업로드마다 OCR·LLM 비용이 붙는 구조에서 무료로 버티면 손해가 커지고, 유료로 받을 이유는 시장에 없었습니다. 결제 연동은 실험까지만 하고 과금을 켜지 않았습니다. 그래서 성장은 멈추고, 코드는 공개 스냅샷으로 남겼습니다.

그래도 써 볼 수 있습니다.

서비스는 계속 켜져 있습니다. 이메일이나 Google 계정으로 들어와 영수증을 한 장 올려 보세요.

시작하기