영수증 사진을 올리면 몇 초 뒤 날짜, 가게명, 합계금액이 표에 채워져요. 그 사이에 무슨 일이 일어나는지 알면 왜 어떤 칸은 노랗게 표시되는지, 어떻게 찍어야 더 잘 읽히는지 이해하기 쉬워요. 영수증모아가 사진을 읽는 과정을 단계별로 정리했어요.
1. 사진 다듬기
휴대폰 사진은 크고, 옆으로 누워 있기도 하고, 영수증이 비스듬하게 찍히기도 해요. 글자를 읽기 전에 먼저 사진을 다듬어요.
- 사진에 저장된 방향 정보를 보고 똑바로 세워요.
- 너무 큰 사진은 읽기에 충분한 크기로 줄여 기기 메모리를 아껴요.
- 배경이 보이는 사진이면 밝은 종이 영역을 찾아 네 모서리를 펴서 정면에서 본 것처럼 바꿔요.
- 글자 줄이 기울어져 있으면 기울기를 계산해 반듯하게 돌려요.
2. 글자가 있는 곳 찾기
다음은 사진에서 글자가 있는 영역을 찾는 단계예요. 검출 모델이 사진의 각 부분이 글자일 가능성을 계산하고, 가능성이 높은 부분을 묶어 네모난 글자 영역으로 만들어요. 영수증 한 장에서 보통 수십 개의 영역이 나와요.
3. 글자 읽기
찾은 영역마다 잘라내어 인식 모델이 글자를 읽어요. 한국어 페이지는 한글과 영문, 숫자를 함께 읽는 모델을, 영어 페이지는 영문 모델을 써요. 읽은 결과는 줄 단위로 모아 영수증과 같은 순서의 텍스트가 되고, 글자마다 얼마나 확신하는지도 함께 기록돼요.
이 단계까지가 흔히 말하는 OCR(광학 문자 인식)이에요. 여기서 나온 것은 아직 긴 텍스트일 뿐이라, 그중 무엇이 날짜이고 합계인지는 다음 단계에서 골라요.
4. 텍스트에서 세 가지 고르기
날짜
2026-09-13, 2026.09.13, 26/09/13, 2026년 9월 13일처럼 날짜 모양의 글자를 찾고, 달과 날이 실제로 있는 날짜인지 확인해요. 날짜가 여러 개면 "거래", "판매", "결제", "승인" 같은 말이 있는 줄을 먼저 믿어요. 연도가 없거나 미래 날짜처럼 이상하면 노란색으로 표시해요.
합계금액
영수증에는 금액이 많아서 가장 까다로운 칸이에요. "받을금액", "결제금액", "합계금액"처럼 확실한 말이 있는 줄을 가장 먼저 보고, 그다음 "합계", "총액" 같은 줄을 봐요. "부가세", "할인", "받은금액", "거스름돈", "포인트" 줄은 합계 후보에서 빼요. 사업자등록번호, 전화번호, 카드번호, 승인번호, 시각도 금액이 아니니 걸러내요.
그리고 영수증 안의 숫자끼리 계산이 맞는지 확인해요. 물품가액에 부가세를 더한 값, 받은 금액에서 거스름돈을 뺀 값이 고른 합계와 같으면 믿을 만하다고 보고, 어긋나면 노란색으로 표시해요.
가게명
가게명은 보통 영수증 맨 위에 있지만 "영수증", "매출전표" 같은 제목이나 주소, 전화번호 줄과 섞여 있어요. "상호", "가맹점명" 같은 말 뒤의 이름을 먼저 보고, 없으면 위쪽 줄 중에서 가게 이름다운 줄을 골라요. 이렇게 고른 이름을 자주 보이는 프랜차이즈 이름 사전과 공공데이터로 만든 전국 상호 목록에 비춰 보고, 한두 글자 틀린 이름은 가까운 이름으로 고치기도 해요.
5. 확실하지 않으면 노란색
자동 인식이 틀리는 것 자체보다 더 곤란한 건 틀린 값이 맞는 값처럼 보이는 것이에요. 그래서 이런 경우에는 칸을 노랗게 표시해요.
- 값을 가져온 글자의 확신 정도가 낮을 때
- 합계가 영수증 안의 다른 숫자와 계산이 맞지 않을 때
- 날짜의 월과 일 순서가 모호하거나, 연도가 없을 때
- 가게명을 사전이나 목록에서 확인하지 못하고 위쪽 줄에서 짐작했을 때
노란 칸만 사진과 대조하면 되니, 전체를 하나하나 확인하는 것보다 훨씬 빨라요. 직접 고친 칸은 노란색이 사라지고, 이후에 사진을 추가해도 덮어쓰지 않아요.
6. 인식이 틀리는 흔한 이유
| 원인 | 생기는 일 | 대처법 |
|---|---|---|
| 구겨지거나 휜 영수증 | 글자 줄이 휘어 영역을 잘못 잡아요 | 펴서 정면에서 찍기 |
| 흐린 감열지 | 숫자 한두 개를 다른 숫자로 읽어요 | 밝은 곳에서 초점 맞추기 |
| 멀리서 찍은 긴 영수증 | 글자가 작아 합계를 놓쳐요 | 품목 부분 접어서 찍기 |
| 그림자, 빛 반사 | 일부 글자가 사라져요 | 위치를 옮기고 플래시 끄기 |
| 로고로만 된 가게 이름 | 가게명을 다른 줄에서 골라요 | 표에서 한 번 고치기 |
7. 왜 브라우저 안에서 읽을까
많은 영수증 인식 서비스는 사진을 서버로 보내 처리해요. 영수증모아는 인식 모델 파일을 브라우저로 내려받아 이용자의 기기 안에서 모든 단계를 처리해요. 영수증에 찍힌 카드번호 일부나 이름이 밖으로 나가지 않는 대신, 처음 한 번은 모델을 내려받느라 시간이 조금 더 걸리고 기기 성능에 따라 속도가 달라요.
정리
영수증 인식은 사진 다듬기 → 글자 영역 찾기 → 글자 읽기 → 날짜, 가게명, 합계 고르기 → 확실하지 않은 칸 표시의 순서로 진행돼요. 사진을 평평하고 밝게 찍을수록 앞 단계가 정확해지고, 노란 칸이 줄어들어요. 촬영 요령은 영수증 사진 인식률을 높이는 촬영법에서 더 자세히 볼 수 있어요.