송장 데이터를 페이지 단위가 아닌
필드별로 추출하는 방법
대부분의 송장 추출 도구는 사용자가 페이지의 모든 데이터를 원한다는 암묵적인 가정을 합니다. 공급업체명, 송장 번호, 날짜, 마감일, 소계, 세금, 라인 항목, 배송 주소, 결제 조건, 은행 정보 등 모든 것을 추출합니다. 그런 다음 열을 삭제하는 데 10분을 소비하게 됩니다. 선택적 추출은 이 로직을 뒤집습니다. 원하는 필드만 지정하면 AI가 해당 필드만 찾습니다. 추출 후 정리 작업이 줄어들고, 필드별 정확도가 높아지며, 완성에 가까운 스프레드시트를 얻을 수 있습니다. 이 가이드에서는 페이지 단위가 아닌 필드별로 정확히 수행하는 방법을 보여드립니다.
핵심 요약
- 기존 방식은 모든 송장에서 모든 필드를 추출하라고 조언합니다. 나중에 어떤 데이터가 필요할지 모르기 때문입니다.
- 필드별 정확도 97%는 훌륭해 보이지만, 20개 필드에 걸쳐 적용하면 각 추가 필드가 독립적인 실패 지점이 되어 송장의 54%만 완전히 정확하게 처리됩니다.
- 회계 시스템에 실제로 필요한 6개 필드만 추출하면 자동 처리 성공률이 83%로 급등하고, 정리 단계가 완전히 사라집니다.
'전부 추출' 가정이 속도를 늦추는 이유
APQC의 2024~2025년 벤치마킹 주기에 따르면, 기업이 송장 한 장을 수동으로 처리하는 데 드는 중간 비용은 21.40달러입니다. AI 기반 추출을 사용하면 최고 수준의 비용은 2.78달러로 87%나 절감됩니다. 하지만 이러한 절감 효과는 데이터가 스프레드시트에 깔끔하게 입력될 때만 실현됩니다.
재무팀에 송장에서 무엇을 추출할지 물어보면 대부분 '전부'라고 답합니다. 데이터가 많을수록 향후 분석에 더 좋을 것이라는 논리입니다. 하지만 실제로 '전부'를 추출하면 정리 단계가 추가되어 효율성 향상 효과가 대부분 사라집니다. AI가 추출하는 각 필드에는 작은 독립적 오류 확률이 따릅니다. 8개 필드 대신 20개 필드를 추출하면 이러한 확률이 누적되어, 원본 문서를 검토하는 대신 추출 결과를 감사하는 상황이 발생합니다.
이는 이론에 그치지 않습니다. r/Accounting의 한 사용자는 100장의 송장 배치에서 AI 추출을 테스트한 후 이렇게 말했습니다. "정확하지 않아서 업로드될 때까지 기다리는 것보다 검토하고 수정하는 데 더 많은 시간을 썼습니다." 문제는 AI가 아니라 모든 송장의 모든 필드를 추출해야 한다는 가정이었습니다.
Ardent Partners의 State of ePayables 2025 보고서에 따르면, 사람의 개입 없이 자동 처리되는 송장은 35.4%에 불과하며 평균 예외율은 18.4%입니다. 이러한 예외 처리의 대부분은 추출기가 너무 많은 데이터를 추출하려 했기 때문입니다. 모든 열에 사람의 확인이 필요하다면, 자동화는 병목 현상을 없애는 것이 아니라 데이터 입력에서 데이터 검토로 옮길 뿐입니다.
이것이 선택적 추출 논쟁의 핵심입니다. 회계 시스템에 공급업체명, 금액, 마감일만 매핑된다면 모든 송장의 배송 주소가 필요하지 않습니다. 비용을 항목별로 분류한다면 라인 항목 설명도 필요하지 않습니다. 더 적은 필드를 추출하는 것은 타협이 아니라 실제로 사용할 수 있는 스프레드시트를 얻는 가장 빠른 방법입니다.
필드가 적을수록 정확도가 높은 이유 (아무도 말하지 않는 수학)
최신 AI 추출 엔진의 강력한 벤치마크인 필드당 97% 정확도에서도 20개 필드를 추출하면 약 54%의 송장만 완전히 정확합니다. 8개 필드로 줄이면 그 수치는 약 78%로 뛰어오릅니다.
수학은 간단합니다: 0.97의 8제곱 = 0.784, 하지만 0.97의 20제곱 = 0.544입니다. 추출하는 추가 필드마다 또 다른 주사위를 굴리는 것과 같습니다. 복합 오류는 "모든 것 추출" 워크플로가 대규모로 실패하는 이유이며, 거의 모든 송장 추출 기사가 다루지 않는 개념입니다.
프로덕션 AI 추출 파이프라인에서 관찰된 필드별 정확도율을 기반으로, 일반적인 추출 시나리오에서 필드 수준 위험이 어떻게 누적되는지는 다음과 같습니다:
| 추출 필드 수 | 필드별 정확도 | 완전 정확한 송장 | 검토 필요 송장 | 예시 시나리오 |
|---|---|---|---|---|
| 5 | 97% | ~86% | 14% | 송장번호, 날짜, 공급업체, 합계, 세금 |
| 8 | 97% | ~78% | 22% | 위 + 마감일, 구매주문번호, 통화 |
| 15 | 97% | ~63% | 37% | 위 + 라인 항목, 청구지 주소, 결제 조건, 배송 |
| 20 | 97% | ~54% | 46% | 위 + 연락처 정보, 은행 세부정보, 할인 조건, 비고 |
이 표가 5개 필드만 추출해야 한다는 의미는 아닙니다. 추출할 필드를 신중하게 선택해야 한다는 의미입니다. 추출 목록에 추가하는 모든 열은 검토 시간에 실질적인 비용을 초래하기 때문입니다. 모든 필드가 동일한 위험을 지니는 것도 아닙니다. 잘못 읽힌 송장 날짜는 불편함에 그치지만, 잘못 읽힌 총 금액은 초과 지불로 이어질 수 있습니다. 필드 유형별 위험 분류는 다음과 같습니다:
| 위험 수준 | 필드 | 추출 전략 |
|---|---|---|
| 높음 | 총 금액, 부가세/세액, 마감일, 계좌번호 | 항상 확인. 오류는 직접적인 재정적 영향을 미칩니다. |
| 중간 | 송장번호, 구매주문번호, 공급업체명, 통화 | 표본 점검. 오류는 조정 문제를 일으키지만 일반적으로 후속 단계에서 발견됩니다. |
| 낮음 | 송장 날짜, 배송지 주소, 결제 조건, 라인 설명 | AI 출력 수용. 오류가 후속 프로세스에 거의 영향을 미치지 않습니다. |
핵심은 간단합니다: 고위험 필드는 검증, 중위험 필드는 샘플 점검, 저위험 필드는 화면 공간을 차지할 가치가 있는지 고려하세요. 이것이 실용적인 추출 워크플로우와 오히려 일을 더 만드는 워크플로우를 구분하는 필드 수준의 사고방식입니다.
사용자 정의 열 추출 작동 방식: 출력을 직접 정의하세요
기존 PDF 추출 도구는 샘플 송장의 각 필드 주위에 영역을 그리도록 요구합니다. 사용자 정의 열 추출은 반대 방향으로 작동합니다: 원하는 열 이름을 입력하면 AI가 각 필드가 페이지에서 어디에 있는지가 아니라 무엇을 의미하는지 이해하여 해당 값을 찾습니다.
이 차이점 — 의미 기반 추출 vs. 위치 기반 추출 — 은 규모에 맞는 선택적 필드 추출을 가능하게 합니다. 영역 기반 도구(Docparser, ABBYY 또는 모든 템플릿 OCR 엔진)는 모든 공급업체의 송장 형식에 있는 모든 필드에 대한 경계 상자를 정의해야 합니다. 새 공급업체가 다른 레이아웃의 송장을 보내면 영역이 대상을 놓쳐 쓰레기 데이터를 얻게 됩니다. 사용자 정의 열 추출 — ImageToTable.ai의 핵심 메커니즘 — 을 사용하면 "송장 번호", "마감일", "총 금액"을 한 번 입력하면 AI가 위치가 아닌 의미를 읽기 때문에 모든 레이아웃에서 해당 값을 찾습니다.
실제 선택적 추출이 작동하는 방식은 다음과 같습니다:
직접 사용해보세요. 아래 데모는 실제로 작동합니다 — 송장(또는 모든 문서)을 업로드하고, 원하는 열을 입력하면 AI가 찾아냅니다. 가입이 필요하지 않습니다.
파일은 안전하게 처리되며 저장되지 않습니다.
추출할 필드와 건너뛸 필드
적절한 필드는 추출 후 데이터가 어떻게 사용되는지에 따라 달라집니다. QuickBooks 항목을 조정하는 회계사, 월말 발생액을 준비하는 회계사, 또는 공급업체 지출을 감사하는 구매 관리자에게 필요한 열은 모두 다릅니다.
먼저 질문하세요: 대상 시스템이 실제로 요구하는 것은 무엇인가요? QuickBooks Online으로 가져오는 경우 공급업체, 날짜, 마감일, 금액, 카테고리가 중요합니다. 공급업체의 은행 계좌 번호나 라인 항목 SKU는 필요하지 않습니다. SAP 또는 NetSuite에 데이터를 공급하는 경우 3자 매칭을 위해 구매 주문 번호가 필요할 수 있습니다. Google Sheets에서 지출 대시보드를 구축하는 경우 공급업체, 카테고리, 금액, 날짜가 필요합니다. 송장 번호는 있으면 좋지만 필수는 아닙니다.
다음은 세 가지 가장 일반적인 송장-시스템 워크플로우를 기반으로 한 필드 우선순위 프레임워크입니다:
| 워크플로우 | 필수 추출 | 고려 사항 | 건너뛰기 |
|---|---|---|---|
| QuickBooks/Xero 가져오기 | 공급업체명, 송장일, 마감일, 총액 | 송장번호, 구매주문번호, 카테고리 | 라인 항목, 배송 주소, 결제 조건, 은행 정보 |
| AP 3자 매칭 | 구매주문번호, 공급업체명, 총액, 송장번호 | 라인 항목(수량, 단가), 세액, 통화 | 청구 주소, 연락처 정보, 할인 조건 |
| 월말 발생액 | 공급업체명, 송장일, 총액, 통화 | 마감일, 부서/비용 센터, 카테고리 | 구매주문번호, 라인 항목, 배송, 결제 조건 |
목표는 추출 후 정리 단계가 아닌, 스프레드시트에서 끝나는 추출입니다. 출력의 어떤 열이 다운스트림 시스템, 보고서 또는 의사 결정에 연결되지 않는다면, 그 열은 가치를 제공하지 않으면서 검토 시간만 소모합니다.
ImageToTable.ai는 이러한 열 구성을 프리셋(재사용 가능한 열 이름 템플릿)으로 저장합니다. 필드 목록을 한 번 정의하고 프리셋으로 저장하면, 이후 모든 송장 배치가 동일한 선택적 열 세트로 처리됩니다. 동일한 공급업체의 반복적인 송장 형식(예: 월별 공과금, 주별 공급업체 배송)의 경우 프리셋이 설정 단계를 완전히 없애줍니다.
계산된 열이 추가로 필요할 때
송장 합계를 추출하면 숫자가 나옵니다. 하지만 실제로 필요한 것은 질문에 대한 답인 경우가 많습니다. 라인 항목 합계가 명시된 총액과 일치하는가? 총액만 표시된 경우 세금 제외 금액은 얼마인가? 이것이 바로 계산된 열입니다. AI가 페이지에서 읽어내는 것이 아니라 추출 중에 계산하는 필드입니다.
계산된 열은 AI 송장 추출에서 가장 과소평가된 기능 중 하나입니다. 원시 데이터를 추출한 후 Excel에서 수식을 실행하는 대신, 열 이름에 계산을 정의하면 AI가 출력 테이블에 직접 답을 생성합니다.
실용적인 송장 예시:
- 라인 합계 (수량 × 단가) — 송장에 수량과 단가가 별도 열로 표시되며, 한 열에 곱한 값을 얻습니다.
- 부가세 금액 (총액 × 20%) — 총액만 표시된 경우 AI가 세율을 적용하여 세액을 출력합니다.
- 차이 (총액 − 라인 항목 합계) — 명시된 총액이 라인 항목 계산과 일치하지 않는 송장을 자동으로 표시합니다.
- 카테고리 (옵션: 원자재/완제품/서비스/간접비) — AI가 라인 항목 설명을 읽고 각 행을 계정과목표로 분류합니다.
계산된 열은 선택적 추출의 이점을 더욱 강화합니다. 더 적은 필드를 추출하고 나머지를 계산할 수 있다면 정확도 한계가 더욱 높아집니다. 추출의 불확실성에서 필드를 완전히 제거하고, AI가 이미 정확히 읽은 필드에 대해 결정론적 연산을 수행하기 때문입니다.
내 명세서가 아닐 때: 다자간 필드를 위한 수집 링크
필요한 모든 명세서가 내 메일함에 들어오는 것은 아닙니다. 30명의 고객에게서 월별 지출 영수증을 수집하는 회계사이거나, 공사비 정산을 위해 협력업체 명세서를 모으는 시공업자라면, 병목은 데이터 추출이 아니라 수집입니다. 파일은 다른 사람이 가지고 있으니까요.
수집 링크는 내 계정에 연결된 공유 가능한 업로드 페이지를 생성하여 이 문제를 해결합니다. 고객, 현장 작업자, 또는 공급업체에 링크를 보내면 됩니다. 받는 사람은 링크를 열고 짧은 인증 코드를 입력한 후 명세서를 바로 업로드합니다. 회원가입, 로그인, 내 다른 파일 접근 권한은 필요 없습니다. 명세서는 내 처리 대기열에 들어가며, 미리 선택한 열과 설정이 자동으로 적용됩니다.
이렇게 하면 선택적 추출 설정이 하나의 파이프라인이 됩니다. 필드를 한 번만 정의하면 됩니다(예: "공급업체, 날짜, 금액, 작업 코드"). 수집 링크를 통해 들어오는 모든 명세서는 — 고객이 3명이든 30명이든 — 동일한 선택적 열 구성으로 처리됩니다. 보내는 사람은 내 열 목록을 볼 수 없습니다. 그저 업로드만 하면 됩니다. 나는 정확히 필요한 필드만 얻습니다.
일괄 처리: 필드 선택을 대규모로 적용
IOFM 벤치마크에 따르면 수동 AP 담당자는 하루에 25~40장의 명세서를 처리합니다. 일괄 처리 — 여러 파일을 한 번에 업로드하고 동일한 열 정의로 처리 — 를 사용하면 그 숫자가 수백 장으로 늘어납니다. 핵심은 배치 내 모든 명세서가 동일한 선택적 열 세트를 사용한다는 점이며, 이는 모든 출력 행이 동일하게 간결하고, 동일하게 깔끔하며, 동일하게 가져오기 준비가 되었음을 의미합니다.
선택적 열을 사용한 일괄 처리는 다운스트림 시스템이 수동 재포맷 없이 사용할 수 있는 일관된 출력 구조를 만듭니다. 명세서 50장을 업로드하고, 열 6개를 지정하면, 50개의 행과 정확히 6개의 열로 구성된 하나의 스프레드시트를 얻습니다. 열 불일치나, 추가 필드가 있는 51번째 명세서에서 발생하는 튀는 데이터가 없습니다.
비용 계산은 설득력 있습니다. Ardent Partners의 2025년 벤치마크는 평균 수동 명세서 처리 비용을 $9.84로, IOFM은 완전 수동 워크플로우의 경우 명세서당 최대 $16로 제시합니다. 월 500장의 명세서라면, 수동 데이터 입력에만 월 $4,920에서 $8,000가 소요됩니다. AI가 회계 시스템에 필요한 필드만 추출하고 사용자는 위험이 높은 필드만 검증하는 선택적 일괄 추출 워크플로우는 명세서당 비용을 $3 미만으로 낮추어 70% 이상 절감합니다.
여러 고객이나 부서의 명세서를 관리하는 팀을 위해 ImageToTable.ai의 명세서 일괄 처리는 배치별 필드 구성을 유지합니다. 건설 회사는 하청업체 명세서에서 "공급업체, 작업 코드, 금액, 공제율"을 추출하고, 간접비 명세서에서는 "공급업체, GL 코드, 금액, 세금"을 추출할 수 있습니다. 두 가지 다른 열 세트, 두 가지 다른 배치, 하나의 도구입니다.
자주 묻는 질문
헤더 필드 없이 라인 항목만 필요하면 어떻게 하나요?
송장 번호나 공급업체명 같은 헤더 필드는 건드리지 않고, 제품 설명, 수량, 단가, 라인 합계 등 라인 항목 수준의 데이터만 추출할 수 있습니다. 열을 "설명", "수량", "단가", "라인 합계"로 정의하면 됩니다. AI는 라인 항목당 한 행씩 반환하며, 여전히 하나의 스프레드시트를 받게 됩니다. 이는 송장별 메타데이터보다 항목별 데이터가 더 중요한 재고 조정이나 지출 분류에 특히 유용합니다.
추출하는 필드를 줄이면 남은 필드의 AI 정확도가 실제로 높아지나요?
직접적인 효과는 아닙니다. 필드를 적게 요청한다고 AI가 필드별로 "더 정확해지지는" 않습니다. 하지만 전체 자동화율은 향상됩니다. 오류가 발생할 수 있는 필드 자체가 줄어들기 때문입니다. 6개 필드에서 정확도 97%라면 약 83%의 송장이 깔끔하게 처리됩니다. 18개 필드에서는 약 58%로 떨어집니다. 결과적으로 수정 사항을 검토하는 데 드는 총 시간이 줄어드는데, 이것이 실제 효율성 지표입니다.
열 선택을 저장해서 매달 재사용할 수 있나요?
네, 이것이 바로 프리셋의 용도입니다. 열 이름을 한 번 정의하고(예: "공급업체, 송장 번호, 날짜, 마감일, 합계, 세금"), 프리셋을 저장하면 모든 새 배치가 동일한 열 구성으로 기본 설정됩니다. 공급업체, 문서 유형, 회계 워크플로에 따라 여러 프리셋을 유지 관리하고 한 번의 클릭으로 전환할 수 있습니다.
요청한 필드 중 하나가 송장에 누락되면 어떻게 되나요?
AI는 해당 셀을 출력에서 비워둡니다. 값을 지어내거나 추측해서 채우지 않습니다. "구매 주문 번호"를 지정했는데 특정 송장에 해당 번호가 없으면, 해당 행의 구매 주문 번호 열은 비어 있습니다. 이는 사실상 기능입니다. 빈 셀은 조치 가능하기 때문입니다(구매 주문을 위해 후속 조치를 취해야 한다는 것을 알 수 있음). 반면, 지어낸 구매 주문 번호는 조정 프로세스를 망칠 수 있습니다.
이 방식이 ChatGPT에 송장을 업로드해서 필드를 추출하는 것과 어떻게 다른가요?
범용 LLM(예: ChatGPT)도 단일 송장에서 필드를 추출할 수 있지만, 기본적으로 배치 처리는 지원하지 않습니다. 파일을 하나씩 업로드해야 하고, 출력 형식도 프롬프트에 따라 달라집니다. 반면, 목적에 맞게 구축된 추출 도구는 배치 내 모든 문서에서 일관된 열 구조를 제공하므로 QuickBooks, Xero 또는 모든 스프레드시트 워크플로우로 가져올 수 있습니다. 또한 범용 LLM에는 프리셋, 컬렉션 링크, 파일별 작업을 없애주는 배치 UI가 부족합니다.
열 이름에 길이 제한이 있나요?
글자 수 제한은 없지만, AI가 이해하는 언어(예: "Invoice Number", "Due Date", "Net Amount" 같은 표준 재무 용어)를 사용하는 것이 가장 좋은 결과를 얻는 방법입니다. 추론 열을 사용하면 더 구체적으로 지정할 수 있습니다. 예를 들어 "Category (options: Raw Materials, Finished Goods, Services)"라는 열은 AI에게 각 라인 항목 설명을 읽고 해당 버킷 중 하나로 분류하도록 지시합니다. 이는 일반적으로 추출 후 수동으로 수행되는 작업입니다.
선택적 추출이 전체 추출보다 빠른 이유
일반적인 통념은 "나중에 필요할지 모르니 모든 것을 추출하라"는 것입니다. 하지만 데이터는 "모든 것을 추출하면 자동화로 절약한 시간보다 정리하는 데 더 많은 시간을 쓰게 된다"고 말합니다.
선택적 추출은 기본값을 "모두 추출하고 나중에 삭제"에서 "필요한 것을 지정하고 정확히 얻기"로 바꿉니다. 요청한 열만 포함된 스프레드시트가 도착하고, 그 외에는 아무것도 없습니다. 삭제 단계가 없고, "이 열은 도대체 무슨 뜻이지?"라는 순간도 없습니다. 20개 대신 6개 필드만 추출하면 송장 정확도가 동전 던지기 수준(54%)에서 강력한 확률(83%)로 높아지며, 정확하지 않은 경우에도 확인해야 할 필드가 적습니다.
APQC의 벤치마크는 비용이 어디에 있는지 명확히 보여줍니다. 수동 송장 처리 비용은 $21.40이지만, AI 자동화를 사용하면 $2.78로 떨어집니다. 이 두 숫자 사이의 차이는 추출 단계뿐만 아니라 검토, 정리, 재포맷, 열 삭제 때문입니다. 선택적 추출은 방정식에서 정리 단계를 제거합니다.
직접 송장으로 시도해보세요. PDF 몇 개를 업로드하고 실제로 필요한 5~6개 열을 지정한 다음 결과를 확인하세요. 결과가 익숙한 출력보다 더 깔끔하다면(삭제할 열이 적고 확인할 필드가 적다면) 추출 전략을 찾은 것입니다.
지금 사용해보기