서른 개의 계약, 하나의
QuickBooks 가져오기
서른 개의 서명된 고객 계약이 같은 형식으로 도착하는 경우는 거의 없습니다. 한 고객의 변호사는 지급 조건을 3페이지의 작은 표에 넣고, 다른 고객은 문단에 묻어두며, 세 번째 고객은 계약 금액을 숫자 대신 단어로 작성합니다. 그중 어떤 것이든 QuickBooks Online에 도달하기 전에 누군가는 서른 개의 개별 문서를 동일한 열 머리글과 하나의 날짜 형식을 공유하는 행으로 바꿔야 합니다.
그 재구성 작업은 눈에 보이는 결과물을 만들지 않기 때문에 잘 드러나지 않습니다. 미국 중소기업 837곳을 대상으로 한 UENI 설문조사에 따르면 행정 업무, 법무 업무, 규정 준수가 사업주 근무 시간의 22.4%를 차지합니다. 미국 노동통계국의 2025년 6월 추정치에 따르면 사무 및 행정 지원 직종의 총 고용주 보상이 시간당 $36.65인 점을 감안하면, 문서들을 서로 일치시키는 데 쓰는 시간은 한 주에서 값비싼 부분입니다.

핵심 요점
- 추출은 모두가 자동화하는 부분이며, 오후를 잡아먹는 부분이 아닙니다.
- 실제 비용은 추출과 가져오기 사이에 있습니다. 서른 개의 계약을 QuickBooks가 수용할 하나의 형식에 맞춰야 하는 지점입니다.
- QuickBooks 머리글을 열로 한 번 정의하면 ImageToTable.ai가 모든 계약을 이미 그 형식을 공유하는 행으로 돌려줍니다.
진짜 병목은 추출이 아니다

계약서에서 날짜나 금액을 뽑아내는 것은 더 이상 어려운 일이 아니다. 비전 모델이 인쇄물과 스캔 문서를 충분히 잘 읽어서 값을 추출하는 데는 몇 초면 충분하다. 여전히 오후 내내 걸리는 작업은 추출 후, 가져오기 전 단계다. 바로 모든 계약서 데이터를 QuickBooks Online이 받아들일 수 있는 하나의 형식으로 강제로 맞추는 과정이다.
이 단계가 존재하는 이유는 조용한 불일치 때문이다. 계약서는 사람이 읽도록 작성된 법적 문서다. QuickBooks Online 가져오기 파일은 파서가 읽도록 작성된 데이터베이스 적재 파일이다. 하나는 유연한 산문이고, 다른 하나는 정확한 열 이름, 정확한 날짜 순서, 정확한 행 단위를 요구하는 엄격한 스키마다. 전자를 후자로 바꾸는 것은 번역 작업이며, 번역 작업에서 시간이 사라진다.
가장 주목받는 추출 도구들은 읽기 문제를 해결한다. 그러나 스키마 문제를 해결하는 도구는 거의 없어서, 재구성 작업은 여전히 사람의 몫으로 남는다.
계약서에서 QuickBooks Online으로 가는 워크플로우
대부분의 소규모 비즈니스에서는 한 사람이 계약서에서 QuickBooks Online으로 가는 전체 워크플로우를 네 단계에 걸쳐 수작업으로 처리한다. 전담 재무 팀이 있는 경우는 드물다. 사장, 사무 관리자, 또는 외부 계약 회계사가 한 달에 한 번 로그인해서 처리한다.
서명된 계약서 수집
이메일 첨부 파일, DocuSign이나 PandaDoc 같은 전자 서명 도구에서 내려받은 파일, 또는 공유 드라이브의 파일 형태로 도착한다. 단일 폴더도, 명명 규칙도 없다.
중요한 필드 결정
고객 이름, 계약 번호, 시작일과 종료일, 갱신일, 총 계약 금액, 지불 조건, 청구 빈도가 일반적인 항목이다. 어떤 항목을 찾을 수 있는지는 계약서마다 다르다.
데이터 정리 및 재구성
이 단계가 가장 커진다. 날짜는 정규화되고, 이름은 표준화되며, QuickBooks Online이 라인 항목을 계산하는 방식에 맞추기 위해 계약서 하나가 여러 행으로 나뉘어야 하는 경우도 많다.
올바른 순서로 가져오기
QuickBooks Online은 거래보다 마스터 레코드를 먼저 가져올 것을 요구한다. Intuit의 지침은 계정과목표, 고객, 공급업체, 제품 및 서비스, 청구서, 거래처 송장 순서로 가져오는 것이다.
가져오기는 실시간 연결이 아닌 파일 업로드입니다. 스프레드시트를 내보내고 QuickBooks Online을 열고 설정으로 이동한 다음 데이터 가져오기를 선택하고 레코드 유형을 고른 뒤 열 머리글을 QuickBooks 필드에 매핑합니다. 파일이 잘못되면 가져오기가 실패하고 처음부터 다시 시작해야 합니다. 머리글에서 QuickBooks 필드로의 매핑이 실패가 가장 많이 발생하는 지점입니다.
워크플로가 깨지는 지점: QuickBooks 가져오기 규칙
QuickBooks Online은 계약 PDF를 읽지 못하므로 모든 필드가 가져오기 스키마와 정확히 일치하는 스프레드시트의 행으로 도착해야 합니다. 규칙은 레코드 유형에 따라 다르며, 각각이 계약이 문제를 일으킬 수 있는 지점입니다.
| 레코드 유형 | QuickBooks 요구 사항 | 계약이 이를 위반하는 방식 |
|---|---|---|
| 고객/공급업체 | 표시 이름은 필수이며 고객, 공급업체, 직원 간에 고유해야 합니다. 이름에는 콜론이나 따옴표를 포함할 수 없습니다. | 동일한 고객이 세 계약에서 "Acme Ltd", "Acme Limited", "Acme Ltd."로 나타나 중복 레코드가 생성됩니다. |
| 송장 | 송장 번호, 고객, 송장 날짜, 납기일, 품목 금액, 품목 세금 코드. 품목별로 한 행씩, 송장 번호를 반복합니다. | 계약에 서비스 항목이 4개 있습니다. 각 항목에 자체 행이 필요하므로 PDF 하나가 스프레드시트 4개 행이 됩니다. |
| 청구서 | 청구서 번호, 공급업체, 청구 날짜, 납기일, 계정, 항목 금액, 항목 세금 코드를 항목별로 반복합니다. | 계정 코드가 계약서에 전혀 없습니다. 누군가 내부적으로 결정해야 하는 사항입니다. |
| 날짜 | 미국 회사의 경우 MM/DD/YYYY 형식으로, 계정의 지역 설정을 따릅니다. | 유럽 고객이 "15/03/2026"에 서명합니다. MM/DD로 가져오면 3월 15일이 되거나 완전한 오류가 발생합니다. |
| 금액 | 통화 기호나 천 단위 구분 기호가 없는 일반 부호 숫자. | "$12,000" 또는 "twelve thousand"는 가져오기 전에 12000으로 줄여야 합니다. |
| 파일 제한 | 가져오기 파일당 최대 1,000행 및 100개 송장. | 다중 라인 계약 30개 배치는 송장 상한을 초과하여 분할이 필요할 수 있습니다. |

이 규칙 중 두 가지가 대부분의 문제를 일으킵니다. 고유 이름 규칙은 가져오기 전에 고객의 모든 표기 변형을 조정해야 함을 의미하며, 그렇지 않으면 나중에 중복 고객을 병합해야 하는데, 이는 거래를 이동시키고 되돌리기 어렵습니다. 날짜 규칙은 조용히 실패합니다. 일 값이 12 이하이면 일-월 변환이 오류 없이 가져와져 거래가 잘못된 달에 기록됩니다.
QuickBooks는 정확한 헤더 이름, 품목별 한 행, 금액 내 통화 기호 없는 일반 숫자를 요구합니다. 헤더 불일치나 잘못된 기호 하나가 전체 가져오기를 중단시킬 수 있습니다.
다른 가져오기 도구에서 열 매핑 방식을 이미 알고 있다면, 인쇄된 원장을 QuickBooks 또는 Xero로 옮기는 것과 논리는 동일합니다. 계약서의 차이점은 원본 문서가 표가 아닌 산문이라는 점이며, 따라서 매핑할 기존 열 구조가 없다는 것입니다.
정리 함정: 계약서 30건이 예상보다 오래 걸리는 이유
계약서 30건에 필드 12개를 곱하면 수백 개의 값이 되고, 각 계약서 작성자가 값을 제각각 다른 형식으로 적었습니다. 실제 작업은 값 하나하나에 대해 올바른 정규화 형식이 무엇인지 결정하고, 그 결정이 맞다는 것을 입증하는 일입니다.
또한 첫 가져오기에서 사람들을 붙잡는 세분성 불일치가 있습니다. 계약서는 문서 하나이지만, QuickBooks는 거래 라인당 한 행을 원하며, 반복 계약은 시간이 지나면서 청구서를 생성합니다. 단일 리테이너 계약은 각각 마감일이 있는 월간 청구서 12장을 의미할 수 있습니다. 이를 올바르게 나타내는 스프레드시트는 원본 계약서와 전혀 닮지 않았습니다.
실제 회계 팀은 이것이 한 주의 대부분을 차지한다고 말합니다. Excel을 QuickBooks로 자동화하는 방법에 대한 r/QuickBooks 스레드에서 한 회계 법인 대표는 이렇게 썼습니다:
"저는 약 10명 규모의 회계 법인을 운영하는데, 대부분의 시간이 Excel 시트에서 QuickBooks로 데이터를 수동으로 입력하는 데 소요됩니다."
동일한 패턴은 회계 외부에서도 나타납니다. 부티크 자문 회사의 r/smallbusiness 게시물에서 대표는 고객 재무 데이터 재구성을 수익을 잠식하는 요인으로 설명했으며, 반복적인 재구성 작업을 자동화한 후 건당 준비 시간을 8~10시간에서 약 2시간으로 줄였다고 보고했습니다.
계약서 정리를 청구서 정리보다 더 어렵게 만드는 것은 변동성입니다. 같은 공급업체의 청구서는 매달 동일한 레이아웃을 반복하므로, 하나를 익히면 모두 익힌 셈입니다. 고객 계약서는 서로 다른 법률 사무소가 작성한 일회성 문서이므로, 배울 수 있는 반복 템플릿이 없습니다. 모든 계약서가 새로운 형식입니다.
QuickBooks 열을 한 번 정의하면 모든 계약에서 추출합니다

정리 단계를 없애는 방법은 QuickBooks 열 머리글을 한 번 정의하고 모든 계약에서 해당 필드를 정확히 일괄 추출하는 것입니다. 각 계약을 읽은 다음 읽은 내용을 다시 정리하는 대신 말입니다.
ImageToTable.ai는 맞춤 열 추출로 이를 처리합니다. 템플릿의 필드 주위에 상자를 그리는 대신 원하는 열 이름을 입력하면 AI가 각 문서의 어디에서든 필드의 의미를 이해하여 각 값을 찾습니다. 입력한 열 이름이 출력 테이블의 정확한 머리글이 됩니다. 여기서 핵심은 QuickBooks가 원하는 머리글을 입력하면 재구성 단계가 대부분 사라진다는 점입니다.
계약 데이터를 QuickBooks로 가져오려면 다음과 같은 열 세트가 효과적입니다. 이를 열로 직접 입력하면 도구가 계약당 한 행을 반환합니다:
- 고객 (법인명, 기재된 그대로 사용)
- 계약 번호
- 시작 날짜 및 종료 날짜
- 갱신 날짜
- 계약 금액
- 결제 조건
- 청구 주기
- 통화
- 서비스 설명
수동 작업을 대신하는 두 가지 열 모드가 있습니다. 계산 열을 사용하면 열 이름에 산술식을 작성할 수 있으므로 월별 금액(계약 금액 / 12)이라는 열은 후속 수식 없이 나눈 값을 반환합니다. 이는 계약 간 합계 금액을 누계로 합산하는 것과 같은 개념을 단일 계약 청구에 적용한 것입니다. 추론 열은 더 나아갑니다. 계약 유형(옵션: 구독 / 서비스 / 리테이너 / 기타)을 정의하면 계약서에 유형 필드가 인쇄되지 않아도 AI가 각 계약을 분류합니다.
이 도구는 일괄 우선 처리 방식이므로 30개 계약을 모두 한 번에 업로드하고 모든 행에 동일한 머리글이 있는 스프레드시트 하나를 받습니다. 30개 문서가 각각 별도의 읽기 및 재구성 작업이었던 것에서 업로드 한 번과 검토 한 번으로 줄어듭니다.
파일은 안전하게 처리되며 저장되지 않습니다.
마지막 단계는 여전히 여러분의 몫이며, 이 부분을 정확히 이해하는 것이 중요합니다. 결과물을 Excel 또는 CSV로 내보낸 후, QuickBooks Online에 로그인하여 설정(Settings)에서 데이터 가져오기(Import data)를 선택해 가져옵니다. 송장의 경우 QuickBooks는 Invoice number, Customer, Invoice date, Due date, Item amount와 같은 열을 매핑합니다. 추출된 헤더는 대부분 이 열들과 직접 일치하므로, 깔끔한 가져오기와 실패한 가져오기의 차이가 여기서 갈립니다.
이 워크플로우가 여전히 하지 못하는 것
어떤 추출 도구도 계약 데이터를 QuickBooks에 직접 게시해 주지 않으며, ImageToTable.ai도 마찬가지입니다. 이 도구의 출력물은 Excel, CSV 또는 JSON 파일입니다. QuickBooks 가져오기는 사용자가 직접 수행하는 단계이며, 직접 쓰기가 가능하다고 주장하는 도구는 이 도구에는 없는 OAuth 통합을 사용하는 것입니다.
시작하기 전에 알아두어야 할 몇 가지 다른 한계가 있습니다:
- 마스터 레코드가 먼저 존재해야 합니다. QuickBooks는 시스템에 이미 등록되지 않은 고객의 송장이나 공급업체의 청구서는 가져올 수 없습니다. 거래 전에 고객과 제품을 먼저 가져오거나, 누락된 레코드를 생성하는 가져오기 옵션을 사용하세요.
- 계정 코딩은 판단이 필요한 작업입니다. 계약서에는 총계정원장 계정이 명시되어 있지 않습니다. 각 라인이 어떤 계정에 해당하는지는 여전히 누군가 결정해야 합니다.
- AI는 작성된 내용을 추출하지, 협상된 내용을 추출하지 않습니다. 사이드 레터가 지급 조건을 변경했지만 계약서가 수정되지 않았다면, 추출된 값은 문서에 적힌 값이 됩니다.
- 가져오기 전에 중복을 제거하세요. 먼저 시트에서 고객 이름을 표준화하세요. 가져오기 후 중복을 수정하려면 레코드를 병합하고 거래를 이동해야 합니다.
- QuickBooks에는 자체 제한이 있습니다. 배치가 행 또는 송장 한도를 초과하면 가져오기 파일을 분할하세요.
회계를 위한 계약 추출은 다른 문서 워크플로우와 같은 형태를 띱니다. 가치는 추출한 내용과 대상 시스템이 수용하는 내용 간의 일치 여부에 있습니다. 어떤 문서를 자동화할 가치가 있고 각각이 어디서 한계에 부딪히는지 더 폭넓게 살펴보려면, 회계사를 위한 문서 데이터 추출 가이드에서 각 유형의 실제 한계를 다룹니다. 계약 데이터를 부기 목적이 아닌 분석 목적으로 스프레드시트에 추출하는 경우, 이는 법률 사무소가 직면하는 문제와는 관련이 있지만 다른 문제이며, 소규모 비즈니스 문서 추출 가이드는 이 문서와 같은 출발점에서 시작합니다.
자주 묻는 질문
ImageToTable.ai가 계약 데이터를 QuickBooks Online에 직접 게시할 수 있나요?
아니요. 계약 필드를 Excel 또는 CSV 파일로 추출하며, 사용자가 직접 해당 파일을 QuickBooks에 가져와야 합니다. 장부에 기록을 작성하는 OAuth 연결은 없습니다.
QuickBooks Online이 계약 PDF를 자체적으로 읽을 수 있나요?
아니요. QuickBooks는 은행 명세서를 PDF나 이미지로 받을 수 있지만, 고객, 공급업체, 송장 및 청구서 데이터는 구조화된 스프레드시트로 도착해야 합니다. 계약서는 먼저 행으로 변환되어야 합니다.
QuickBooks용으로 어떤 계약 필드를 추출해야 하나요?
최소한 고객 이름, 계약 번호, 시작 날짜, 종료 날짜, 갱신 날짜, 계약 금액, 결제 조건, 청구 주기 및 통화입니다. 라인 항목이 있는 송장이나 청구서를 가져올 계획이라면 서비스 설명을 추가하세요.
QuickBooks용 내보내기는 어떤 형식이어야 하나요?
Excel 또는 CSV입니다. 미국 회사의 경우 MM/DD/YYYY 날짜를 사용하고, 금액은 통화 기호 없이 일반 숫자로 유지하며, 고객 이름이 고객, 공급업체 및 직원 목록 전체에서 고유한지 확인하세요.
계약서 30개를 한 번에 처리할 수 있나요?
네. 일괄 처리는 업로드된 모든 계약서를 하나의 테이블로 병합하므로 30개 모두 동일한 헤더를 공유하고 하나의 스프레드시트에 담깁니다. 가져오기 전에 결과를 검토해야 합니다.
두 계약서가 서로 다른 날짜 형식을 사용하면 어떻게 되나요?
추출 시 하나의 일관된 날짜 형식으로 출력하도록 요청한 다음, 가져오기 전에 결과를 확인하세요. 날짜 순서가 혼합된 경우가 무음 가져오기 오류의 가장 흔한 원인입니다. 일-월이 바뀌어도 오류 메시지 없이 가져와지기 때문입니다.
정리 단계는 더 큰 플랫폼으로 해결할 수 있는 기술 문제가 아닙니다. 스키마 일치 문제이며, 열이 가져오기 파일의 열과 일치하는 순간 그 규모는 줄어듭니다.
직접 계약서로 테스트해 보세요. 배치를 업로드하고 QuickBooks 헤더를 열로 입력한 다음, 시트가 반환될 때 재구성 작업이 얼마나 완료되어 있는지 확인하세요.