# 사업자 국세 통합 결과조회



transactionId 로 처리 상태를 확인하고, 조회가 끝난 뒤에는 표준화된 결과를 반환합니다. 인증 대기·조회 중·실패 응답은 과금되지 않으며, 실제 결과가 최초로 반환될 때만 1회 과금됩니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/get_hometax_biz_bundle 응답 필드

- `data` (object): 요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.

- `data.schemaVersion` (string): 응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.

- `data.transactionId` (string): 간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.

- `data.product` (string): 조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.

- `data.status` (string): 현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.

- `data.resultAvailable` (boolean): 실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.

- `data.charged` (boolean): 이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.

- `data.sources` (array): 자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.

- `data.sources[].source` (string): 자료 항목의 표시 이름입니다. type과 함께 어떤 자료인지 구분할 때 사용합니다.

- `data.sources[].type` (string): 자료 유형 구분자입니다. 같은 상품 안에서 여러 종류의 자료를 묶어 받을 때 종류를 구분합니다.

- `data.sources[].status` (string): 해당 자료 항목의 처리 상태입니다. SUCCESS는 정상, 그 외 값은 그 항목만 실패했거나 자료가 없음을 뜻합니다. 가능한 값은 2가지입니다. SUCCESS = 해당 자료 항목을 정상적으로 받은 경우, FAILED = 그 항목만 실패해 result에 그 자료가 빠진 경우입니다. 전체 status가 SUCCESS여도 항목별 FAILED가 있을 수 있습니다.

- `data.message` (string): 안내 문구입니다. 오류 원인과 다음 행동을 설명합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.expiresAt` (string): 이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.

- `data.success` (integer): 업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.

- `data.progress` (object): 결과 준비 진행 상태 묶음입니다. 전체 자료 수와 완료된 자료 수를 담습니다.

- `data.progress.total` (integer): 이번 조회에서 준비할 전체 자료 항목 수입니다. 여러 자료를 묶은 상품에서 진행률 계산의 분모로 사용합니다.

- `data.progress.completed` (integer): 현재까지 준비를 마친 자료 항목 수입니다. total과 같아지면 모든 항목의 처리가 끝난 것입니다.

- `data.checkedAt` (string): 실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다.

- `data.resultExpiresAt` (string): 결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다.

- `data.result` (object): 조회 결과 본문입니다. 서비스가 찾은 실제 데이터가 들어 있으며, 자료가 없거나 조회에 실패하면 null이거나 필드가 생략됩니다.

- `data.result.businessSales` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.businessSales.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessSales.귀속연도` (string): 해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.

- `data.result.businessSales.반기` (string): 상반기 또는 하반기 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessSales.매출건수` (integer): 전자세금계산서 매출 건수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessSales.매출공급가액` (integer): 매출 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessSales.매출세액` (integer): 매출 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessSales.매출합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessPurchase` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.businessPurchase.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessPurchase.귀속연도` (string): 해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.

- `data.result.businessPurchase.반기` (string): 상반기 또는 하반기 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessPurchase.매입건수` (integer): 전자세금계산서 매입 건수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessPurchase.매입공급가액` (integer): 매입 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessPurchase.매입세액` (integer): 매입 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessPurchase.매입합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.businessRegistrationCert` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.businessRegistrationCert.문서확인번호` (string): 발급된 사업자등록증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessRegistrationCert.상호` (string): 사업자 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessRegistrationCert.사업자등록번호` (string): 대상 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessRegistrationCert.개업일자` (string): 개업일자 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.businessRegistrationCert.업태` (string): 사업자가 신고한 업태입니다. 업종보다 구체적인 사업 형태를 문장으로 보여 줍니다.

- `data.result.businessRegistrationCert.종목` (string): 사업자가 신고한 종목입니다. 실제 취급 품목·서비스를 적으며, 없으면 빈 문자열입니다.

- `data.result.businessRegistrationCert.PDF데이터` (object): PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.vatTaxBaseCert` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.vatTaxBaseCert.문서확인번호` (string): 발급된 증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.vatTaxBaseCert.귀속연도` (string): 해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.

- `data.result.vatTaxBaseCert.과세기간` (string): 과세 대상 기간입니다. 신고서·고지서에 표시된 기간을 그대로 반영합니다.

- `data.result.vatTaxBaseCert.과세표준` (string): 과세표준 금액(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.vatTaxBaseCert.매출세액` (string): 매출세액(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.vatTaxBaseCert.PDF데이터` (object): PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.financialStatementCert` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.financialStatementCert.문서확인번호` (string): 발급된 증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.귀속연도` (string): 해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.

- `data.result.financialStatementCert.자산총계` (string): 자산총계(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.부채총계` (string): 부채총계(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.자본총계` (string): 자본총계(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.매출액` (string): 매출액(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.영업이익` (string): 영업이익(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.당기순이익` (string): 당기순이익(원 단위 숫자) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.financialStatementCert.PDF데이터` (object): PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.closureCert` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.closureCert.문서확인번호` (string): 발급된 폐업사실증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.closureCert.상호` (string): 사업자 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.closureCert.사업자등록번호` (string): 대상 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.closureCert.개업일자` (string): 개업일자 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.closureCert.폐업일자` (string): 폐업일자 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.closureCert.업태` (string): 사업자가 신고한 업태입니다. 업종보다 구체적인 사업 형태를 문장으로 보여 줍니다.

- `data.result.closureCert.종목` (string): 사업자가 신고한 종목입니다. 실제 취급 품목·서비스를 적으며, 없으면 빈 문자열입니다.

- `data.result.closureCert.PDF데이터` (object): PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.taxClearanceCert` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.taxClearanceCert.문서확인번호` (string): 발급된 납세증명서의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.taxClearanceCert.상호` (string): 사업자 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.taxClearanceCert.사업자등록번호` (string): 대상 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.taxClearanceCert.주소` (string): 도로명·지번 기준 주소입니다. 상세 주소가 생략될 수 있으므로 우편번호와 함께 확인하세요.

- `data.result.taxClearanceCert.유효기간` (string): 증명서 유효기간 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.taxClearanceCert.PDF데이터` (object): PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesList` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesList.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.구분` (string): 매출 또는 매입 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.조회기간` (object): 실제로 조회한 기간(YYYYMMDD). 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 범위를 확인하세요.

- `data.result.etaxSalesList.조회기간.시작` (string): 조회 구간의 시작일입니다. 날짜 형식은 같은 응답의 끝 필드와 같습니다.

- `data.result.etaxSalesList.조회기간.끝` (string): 조회 구간의 끝일입니다. 시작일과 같은 날짜일 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxSalesList.합계` (object): 조회된 문서의 공급가액·세액 합계(원) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesList.합계.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.합계.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.합계.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.장부반영건수` (integer): 자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.초과분있음` (boolean): 한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지 true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이 필드가 나타내는 조건이 성립한 경우, false = 성립하지 않은 경우입니다. 두 값 모두 정상 응답에 올 수 있으며, 값이 없으면 필드가 생략되거나 null일 수 있습니다.

- `data.result.etaxSalesList.문서` (object): 승인번호 단위 문서 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesList.문서.승인번호` (string): 전자세금계산서 승인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.작성일자` (string): 작성일자 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.거래처사업자번호` (string): 거래처 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.거래처상호` (string): 거래처 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.공급가액` (integer): 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.세액` (integer): 부가가치세(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.전송상태` (string): 전송 상태(전송완료·미전송) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.수정구분` (string): NORMAL 또는 AMENDED 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.수정사유` (string): 수정세금계산서 사유. 정상 문서면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.원본승인번호` (string): 수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.품목` (array): 품목 목록. 없으면 빈 배열이다. 각 항목의 구성은 서비스에 따라 다르며, 값이 없으면 빈 배열입니다. 항목 수와 순서를 함께 확인하세요.

- `data.result.etaxSalesList.문서.품목[].품목명` (string): 품목명 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.품목[].규격` (string): 규격 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesList.문서.품목[].수량` (number): 수량 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.품목[].단가` (integer): 단가(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.품목[].공급가액` (integer): 품목 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.문서.품목[].세액` (integer): 품목 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesList.안내` (string): 건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseList.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.구분` (string): 매출 또는 매입 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.조회기간` (object): 실제로 조회한 기간(YYYYMMDD). 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 범위를 확인하세요.

- `data.result.etaxPurchaseList.조회기간.시작` (string): 조회 구간의 시작일입니다. 날짜 형식은 같은 응답의 끝 필드와 같습니다.

- `data.result.etaxPurchaseList.조회기간.끝` (string): 조회 구간의 끝일입니다. 시작일과 같은 날짜일 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxPurchaseList.합계` (object): 조회된 문서의 공급가액·세액 합계(원) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseList.합계.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.합계.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.합계.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.장부반영건수` (integer): 자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.초과분있음` (boolean): 한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지 true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이 필드가 나타내는 조건이 성립한 경우, false = 성립하지 않은 경우입니다. 두 값 모두 정상 응답에 올 수 있으며, 값이 없으면 필드가 생략되거나 null일 수 있습니다.

- `data.result.etaxPurchaseList.문서` (object): 승인번호 단위 문서 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseList.문서.승인번호` (string): 전자세금계산서 승인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.작성일자` (string): 작성일자 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.거래처사업자번호` (string): 거래처 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.거래처상호` (string): 거래처 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.공급가액` (integer): 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.세액` (integer): 부가가치세(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.전송상태` (string): 전송 상태(전송완료·미전송) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.수정구분` (string): NORMAL 또는 AMENDED 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.수정사유` (string): 수정세금계산서 사유. 정상 문서면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.원본승인번호` (string): 수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.품목` (array): 품목 목록. 없으면 빈 배열이다. 각 항목의 구성은 서비스에 따라 다르며, 값이 없으면 빈 배열입니다. 항목 수와 순서를 함께 확인하세요.

- `data.result.etaxPurchaseList.문서.품목[].품목명` (string): 품목명 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.품목[].규격` (string): 규격 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseList.문서.품목[].수량` (number): 수량 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.품목[].단가` (integer): 단가(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.품목[].공급가액` (integer): 품목 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.문서.품목[].세액` (integer): 품목 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseList.안내` (string): 건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesSummary.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary.구분` (string): 매출 또는 매입 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary.조회기간` (object): 실제로 조회한 기간(YYYYMMDD). 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 범위를 확인하세요.

- `data.result.etaxSalesSummary.조회기간.시작` (string): 조회 구간의 시작일입니다. 날짜 형식은 같은 응답의 끝 필드와 같습니다.

- `data.result.etaxSalesSummary.조회기간.끝` (string): 조회 구간의 끝일입니다. 시작일과 같은 날짜일 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary.거래처수` (integer): 합계표에 잡힌 거래처 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxSalesSummary.합계` (object): 거래처별 합계의 총합(원) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesSummary.합계.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.합계.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.합계.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.거래처` (object): 거래처별 합계 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxSalesSummary.거래처.사업자등록번호` (string): 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary.거래처.상호` (string): 거래처 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxSalesSummary.거래처.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxSalesSummary.거래처.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.거래처.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.거래처.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxSalesSummary.거래처.수취구분` (string): 수취구분(사업자등록번호·주민등록번호) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseSummary.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary.구분` (string): 매출 또는 매입 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary.조회기간` (object): 실제로 조회한 기간(YYYYMMDD). 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 범위를 확인하세요.

- `data.result.etaxPurchaseSummary.조회기간.시작` (string): 조회 구간의 시작일입니다. 날짜 형식은 같은 응답의 끝 필드와 같습니다.

- `data.result.etaxPurchaseSummary.조회기간.끝` (string): 조회 구간의 끝일입니다. 시작일과 같은 날짜일 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary.거래처수` (integer): 합계표에 잡힌 거래처 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxPurchaseSummary.합계` (object): 거래처별 합계의 총합(원) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseSummary.합계.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.합계.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.합계.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.거래처` (object): 거래처별 합계 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxPurchaseSummary.거래처.사업자등록번호` (string): 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary.거래처.상호` (string): 거래처 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxPurchaseSummary.거래처.건수` (integer): 해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.

- `data.result.etaxPurchaseSummary.거래처.공급가액` (integer): 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.거래처.세액` (integer): 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.거래처.합계금액` (integer): 공급가액 + 세액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxPurchaseSummary.거래처.수취구분` (string): 수취구분(사업자등록번호·주민등록번호) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStats` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxStats.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStats.조회기간` (object): 실제로 조회한 연월(YYYYMM). 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 범위를 확인하세요.

- `data.result.etaxStats.조회기간.시작` (string): 조회 구간의 시작일입니다. 날짜 형식은 같은 응답의 끝 필드와 같습니다.

- `data.result.etaxStats.조회기간.끝` (string): 조회 구간의 끝일입니다. 시작일과 같은 날짜일 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStats.월수` (integer): 결과에 담긴 월 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계` (object): 조회기간 전체 합계 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxStats.합계.매출건수` (integer): 매출 전자세금계산서 건수 합계 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계.매출공급가액` (integer): 매출 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계.매출세액` (integer): 매출 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계.매입건수` (integer): 매입 전자세금계산서 건수 합계 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계.매입공급가액` (integer): 매입 공급가액 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.합계.매입세액` (integer): 매입 부가가치세 합계(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별` (object): 귀속월별 통계. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxStats.월별.귀속월` (string): 귀속 연월 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStats.월별.매출거래처수` (integer): 매출 거래처 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매출건수` (integer): 매출 전자세금계산서 건수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매출공급가액` (integer): 매출 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매출세액` (integer): 매출 부가가치세(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매입거래처수` (integer): 매입 거래처 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매입건수` (integer): 매입 전자세금계산서 건수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매입공급가액` (integer): 매입 공급가액(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStats.월별.매입세액` (integer): 매입 부가가치세(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxClientList` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxClientList.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.검색어` (string): 거래처 이름으로 걸러 본 값. 없으면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처수` (integer): 조회된 거래처 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxClientList.거래처` (object): 거래처 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxClientList.거래처.사업자등록번호` (string): 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처.상호` (string): 거래처 상호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처.대표자` (string): 대표자 성명 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처.주소` (string): 도로명·지번 기준 주소입니다. 상세 주소가 생략될 수 있으므로 우편번호와 함께 확인하세요.

- `data.result.etaxClientList.거래처.업태` (string): 사업자가 신고한 업태입니다. 업종보다 구체적인 사업 형태를 문장으로 보여 줍니다.

- `data.result.etaxClientList.거래처.종목` (string): 사업자가 신고한 종목입니다. 실제 취급 품목·서비스를 적으며, 없으면 빈 문자열입니다.

- `data.result.etaxClientList.거래처.수취구분` (string): 수취구분(사업자등록번호·주민등록번호) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처.등록일` (string): 거래처 최초 등록일 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxClientList.거래처.변경일` (string): 거래처 정보 최종 변경일 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxItemList.사업자등록번호` (string): 조회한 사업자등록번호 10자리 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.검색어` (string): 품목 이름으로 걸러 본 값. 없으면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목수` (integer): 조회된 품목 수. 등록한 품목이 없으면 0 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxItemList.품목` (object): 품목 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxItemList.품목.품목코드` (string): 품목 코드 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.품목명` (string): 품목 이름 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.규격` (string): 규격 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.단위` (string): 단위 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.단가` (integer): 단가(원) 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxItemList.품목.비고` (string): 비고 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.등록일` (string): 품목 최초 등록일 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxItemList.품목.변경일` (string): 품목 정보 최종 변경일 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxStatus.확인건수` (integer): 전송 상태를 확인한 건수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.etaxStatus.확인시각` (string): 확인한 시각(ISO 8601) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus.상태` (object): 승인번호별 전송 상태 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.etaxStatus.상태.승인번호` (string): 전자세금계산서 승인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus.상태.구분` (string): 매출 또는 매입 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus.상태.전송상태` (string): 전송 상태(전송완료·미전송) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus.상태.상태코드` (string): 확인된 상태 코드. 없으면 빈 문자열 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.result.etaxStatus.장부에없는승인번호` (array): 요청했지만 내 장부에 없어 확인하지 않은 승인번호 각 항목의 구성은 서비스에 따라 다르며, 값이 없으면 빈 배열입니다. 항목 수와 순서를 함께 확인하세요.

- `data.errorCode` (string): 오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중) 가능한 값은 5가지입니다. RESULT_EXPIRED = 결과 재조회 기간이 지난 경우(새로 인증해야 함), AUTH_EXPIRED = 승인 유효시간이 지난 경우, AUTH_REJECTED = 사용자가 인증을 거부한 경우, COLLECT_FAILED = 승인 뒤 결과 준비가 실패한 경우, SERVICE_MAINTENANCE = 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우입니다. SERVICE_MAINTENANCE 는 요청 오류가 아니므로 입력값을 고칠 필요가 없습니다. 오류가 없으면 null입니다.

- `data.maintenance` (boolean): 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다.

- `api` (object): API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.

- `api.success` (boolean): API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.

- `api.cost` (integer): 이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.

- `api.ms` (integer): 서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.

- `api.pl_id` (integer): 포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.

## API 요청: POST /rest/get_hometax_biz_bundle



### 입력

- `transactionId` (string, 필수): 동일 상품의 req_hometax_biz_bundle 응답에서 받은 transactionId (소문자 16진수 32자리)



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string",
          "description": "결과 스키마 버전 (고정값: \"1.0\")"
        },
        "transactionId": {
          "type": "string",
          "description": "트랜잭션 ID"
        },
        "product": {
          "type": "string",
          "description": "조회 항목 코드. 인증요청 응답과 같은 값입니다."
        },
        "status": {
          "type": "string",
          "description": "처리 상태 (위 표 참고)"
        },
        "resultAvailable": {
          "type": "boolean",
          "description": "실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다."
        },
        "charged": {
          "type": "boolean",
          "description": "이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다."
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            }
          },
          "description": "항상 포함됩니다. 값이 없으면 빈 배열 [] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(자료 이름), type(데이터 종류), status(SUCCESS/FAILED). 결과 준비가 끝나기 전에는 아직 확정되지 않은 항목이 FAILED 로 보일 수 있습니다."
        },
        "message": {
          "type": "string",
          "description": "상태 메시지"
        },
        "expiresAt": {
          "type": "string"
        },
        "success": {
          "type": "integer",
          "description": "과금 여부0: 결과 없음 또는 재조회(무과금)1: 최초 결과 반환(과금)"
        },
        "progress": {
          "type": "object",
          "properties": {
            "total": {
              "type": "integer"
            },
            "completed": {
              "type": "integer"
            }
          },
          "description": "진행률(COLLECTING 일 때). total(전체 항목), completed(완료 항목)"
        },
        "checkedAt": {
          "type": "string",
          "description": "실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다."
        },
        "resultExpiresAt": {
          "type": "string",
          "description": "결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다."
        },
        "result": {
          "type": "object",
          "properties": {
            "businessSales": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "귀속연도": {
                  "type": "string",
                  "description": "귀속연도 4자리"
                },
                "반기": {
                  "type": "string",
                  "description": "상반기 또는 하반기"
                },
                "매출건수": {
                  "type": "integer",
                  "description": "전자세금계산서 매출 건수"
                },
                "매출공급가액": {
                  "type": "integer",
                  "description": "매출 공급가액 합계(원)"
                },
                "매출세액": {
                  "type": "integer",
                  "description": "매출 부가가치세 합계(원)"
                },
                "매출합계금액": {
                  "type": "integer",
                  "description": "공급가액 + 세액(원)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "businessPurchase": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "귀속연도": {
                  "type": "string",
                  "description": "귀속연도 4자리"
                },
                "반기": {
                  "type": "string",
                  "description": "상반기 또는 하반기"
                },
                "매입건수": {
                  "type": "integer",
                  "description": "전자세금계산서 매입 건수"
                },
                "매입공급가액": {
                  "type": "integer",
                  "description": "매입 공급가액 합계(원)"
                },
                "매입세액": {
                  "type": "integer",
                  "description": "매입 부가가치세 합계(원)"
                },
                "매입합계금액": {
                  "type": "integer",
                  "description": "공급가액 + 세액(원)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "businessRegistrationCert": {
              "type": "object",
              "properties": {
                "문서확인번호": {
                  "type": "string",
                  "description": "발급된 사업자등록증명의 문서확인번호"
                },
                "상호": {
                  "type": "string",
                  "description": "사업자 상호"
                },
                "사업자등록번호": {
                  "type": "string",
                  "description": "대상 사업자등록번호 10자리"
                },
                "개업일자": {
                  "type": "string",
                  "description": "개업일자"
                },
                "업태": {
                  "type": "string",
                  "description": "업태"
                },
                "종목": {
                  "type": "string",
                  "description": "종목"
                },
                "PDF데이터": {
                  "type": "object",
                  "description": "PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "vatTaxBaseCert": {
              "type": "object",
              "properties": {
                "문서확인번호": {
                  "type": "string",
                  "description": "발급된 증명의 문서확인번호"
                },
                "귀속연도": {
                  "type": "string",
                  "description": "귀속연도 4자리"
                },
                "과세기간": {
                  "type": "string",
                  "description": "과세기간 표기"
                },
                "과세표준": {
                  "type": "string",
                  "description": "과세표준 금액(원 단위 숫자)"
                },
                "매출세액": {
                  "type": "string",
                  "description": "매출세액(원 단위 숫자)"
                },
                "PDF데이터": {
                  "type": "object",
                  "description": "PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "financialStatementCert": {
              "type": "object",
              "properties": {
                "문서확인번호": {
                  "type": "string",
                  "description": "발급된 증명의 문서확인번호"
                },
                "귀속연도": {
                  "type": "string",
                  "description": "사업연도 4자리"
                },
                "자산총계": {
                  "type": "string",
                  "description": "자산총계(원 단위 숫자)"
                },
                "부채총계": {
                  "type": "string",
                  "description": "부채총계(원 단위 숫자)"
                },
                "자본총계": {
                  "type": "string",
                  "description": "자본총계(원 단위 숫자)"
                },
                "매출액": {
                  "type": "string",
                  "description": "매출액(원 단위 숫자)"
                },
                "영업이익": {
                  "type": "string",
                  "description": "영업이익(원 단위 숫자)"
                },
                "당기순이익": {
                  "type": "string",
                  "description": "당기순이익(원 단위 숫자)"
                },
                "PDF데이터": {
                  "type": "object",
                  "description": "PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "closureCert": {
              "type": "object",
              "properties": {
                "문서확인번호": {
                  "type": "string",
                  "description": "발급된 폐업사실증명의 문서확인번호"
                },
                "상호": {
                  "type": "string",
                  "description": "사업자 상호"
                },
                "사업자등록번호": {
                  "type": "string",
                  "description": "대상 사업자등록번호 10자리"
                },
                "개업일자": {
                  "type": "string",
                  "description": "개업일자"
                },
                "폐업일자": {
                  "type": "string",
                  "description": "폐업일자"
                },
                "업태": {
                  "type": "string",
                  "description": "업태"
                },
                "종목": {
                  "type": "string",
                  "description": "종목"
                },
                "PDF데이터": {
                  "type": "object",
                  "description": "PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "taxClearanceCert": {
              "type": "object",
              "properties": {
                "문서확인번호": {
                  "type": "string",
                  "description": "발급된 납세증명서의 문서확인번호"
                },
                "상호": {
                  "type": "string",
                  "description": "사업자 상호"
                },
                "사업자등록번호": {
                  "type": "string",
                  "description": "대상 사업자등록번호 10자리"
                },
                "주소": {
                  "type": "string",
                  "description": "사업장 주소"
                },
                "유효기간": {
                  "type": "string",
                  "description": "증명서 유효기간"
                },
                "PDF데이터": {
                  "type": "object",
                  "description": "PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxSalesList": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "구분": {
                  "type": "string",
                  "description": "매출 또는 매입"
                },
                "조회기간": {
                  "type": "object",
                  "properties": {
                    "시작": {
                      "type": "string",
                      "description": "조회 시작일"
                    },
                    "끝": {
                      "type": "string",
                      "description": "조회 종료일"
                    }
                  },
                  "description": "실제로 조회한 기간(YYYYMMDD)"
                },
                "건수": {
                  "type": "integer",
                  "description": "조회된 전자세금계산서 건수"
                },
                "합계": {
                  "type": "object",
                  "properties": {
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    }
                  },
                  "description": "조회된 문서의 공급가액·세액 합계(원)"
                },
                "장부반영건수": {
                  "type": "integer",
                  "description": "자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다."
                },
                "초과분있음": {
                  "type": "boolean",
                  "description": "한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지"
                },
                "문서": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "승인번호": {
                        "type": "string"
                      },
                      "작성일자": {
                        "type": "string"
                      },
                      "거래처사업자번호": {
                        "type": "string"
                      },
                      "거래처상호": {
                        "type": "string"
                      },
                      "공급가액": {
                        "type": "integer"
                      },
                      "세액": {
                        "type": "integer"
                      },
                      "합계금액": {
                        "type": "integer"
                      },
                      "전송상태": {
                        "type": "string"
                      },
                      "수정구분": {
                        "type": "string"
                      },
                      "수정사유": {
                        "type": "string"
                      },
                      "원본승인번호": {
                        "type": "string"
                      },
                      "품목": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "품목명": {
                              "type": "string"
                            },
                            "규격": {
                              "type": "string"
                            },
                            "수량": {
                              "type": "integer"
                            },
                            "단가": {
                              "type": "integer"
                            },
                            "공급가액": {
                              "type": "integer"
                            },
                            "세액": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    }
                  },
                  "description": "승인번호 단위 문서 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "승인번호": {
                      "type": "string",
                      "description": "전자세금계산서 승인번호"
                    },
                    "작성일자": {
                      "type": "string",
                      "description": "작성일자"
                    },
                    "거래처사업자번호": {
                      "type": "string",
                      "description": "거래처 사업자등록번호 10자리"
                    },
                    "거래처상호": {
                      "type": "string",
                      "description": "거래처 상호"
                    },
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    },
                    "전송상태": {
                      "type": "string",
                      "description": "전송 상태(전송완료·미전송)"
                    },
                    "수정구분": {
                      "type": "string",
                      "description": "NORMAL 또는 AMENDED"
                    },
                    "수정사유": {
                      "type": "string",
                      "description": "수정세금계산서 사유. 정상 문서면 빈 문자열"
                    },
                    "원본승인번호": {
                      "type": "string",
                      "description": "수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열"
                    },
                    "품목": {
                      "type": "array",
                      "description": "품목 목록. 없으면 빈 배열이다.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "품목명": {
                            "type": "string",
                            "description": "품목명"
                          },
                          "규격": {
                            "type": "string",
                            "description": "규격"
                          },
                          "수량": {
                            "type": "number",
                            "description": "수량"
                          },
                          "단가": {
                            "type": "integer",
                            "description": "단가(원)"
                          },
                          "공급가액": {
                            "type": "integer",
                            "description": "품목 공급가액(원)"
                          },
                          "세액": {
                            "type": "integer",
                            "description": "품목 세액(원)"
                          }
                        }
                      }
                    }
                  }
                },
                "안내": {
                  "type": "string",
                  "description": "건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다."
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxPurchaseList": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "구분": {
                  "type": "string",
                  "description": "매출 또는 매입"
                },
                "조회기간": {
                  "type": "object",
                  "properties": {
                    "시작": {
                      "type": "string",
                      "description": "조회 시작일"
                    },
                    "끝": {
                      "type": "string",
                      "description": "조회 종료일"
                    }
                  },
                  "description": "실제로 조회한 기간(YYYYMMDD)"
                },
                "건수": {
                  "type": "integer",
                  "description": "조회된 전자세금계산서 건수"
                },
                "합계": {
                  "type": "object",
                  "properties": {
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    }
                  },
                  "description": "조회된 문서의 공급가액·세액 합계(원)"
                },
                "장부반영건수": {
                  "type": "integer",
                  "description": "자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다."
                },
                "초과분있음": {
                  "type": "boolean",
                  "description": "한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지"
                },
                "문서": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "승인번호": {
                        "type": "string"
                      },
                      "작성일자": {
                        "type": "string"
                      },
                      "거래처사업자번호": {
                        "type": "string"
                      },
                      "거래처상호": {
                        "type": "string"
                      },
                      "공급가액": {
                        "type": "integer"
                      },
                      "세액": {
                        "type": "integer"
                      },
                      "합계금액": {
                        "type": "integer"
                      },
                      "전송상태": {
                        "type": "string"
                      },
                      "수정구분": {
                        "type": "string"
                      },
                      "수정사유": {
                        "type": "string"
                      },
                      "원본승인번호": {
                        "type": "string"
                      },
                      "품목": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "품목명": {
                              "type": "string"
                            },
                            "규격": {
                              "type": "string"
                            },
                            "수량": {
                              "type": "integer"
                            },
                            "단가": {
                              "type": "integer"
                            },
                            "공급가액": {
                              "type": "integer"
                            },
                            "세액": {
                              "type": "integer"
                            }
                          }
                        }
                      }
                    }
                  },
                  "description": "승인번호 단위 문서 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "승인번호": {
                      "type": "string",
                      "description": "전자세금계산서 승인번호"
                    },
                    "작성일자": {
                      "type": "string",
                      "description": "작성일자"
                    },
                    "거래처사업자번호": {
                      "type": "string",
                      "description": "거래처 사업자등록번호 10자리"
                    },
                    "거래처상호": {
                      "type": "string",
                      "description": "거래처 상호"
                    },
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    },
                    "전송상태": {
                      "type": "string",
                      "description": "전송 상태(전송완료·미전송)"
                    },
                    "수정구분": {
                      "type": "string",
                      "description": "NORMAL 또는 AMENDED"
                    },
                    "수정사유": {
                      "type": "string",
                      "description": "수정세금계산서 사유. 정상 문서면 빈 문자열"
                    },
                    "원본승인번호": {
                      "type": "string",
                      "description": "수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열"
                    },
                    "품목": {
                      "type": "array",
                      "description": "품목 목록. 없으면 빈 배열이다.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "품목명": {
                            "type": "string",
                            "description": "품목명"
                          },
                          "규격": {
                            "type": "string",
                            "description": "규격"
                          },
                          "수량": {
                            "type": "number",
                            "description": "수량"
                          },
                          "단가": {
                            "type": "integer",
                            "description": "단가(원)"
                          },
                          "공급가액": {
                            "type": "integer",
                            "description": "품목 공급가액(원)"
                          },
                          "세액": {
                            "type": "integer",
                            "description": "품목 세액(원)"
                          }
                        }
                      }
                    }
                  }
                },
                "안내": {
                  "type": "string",
                  "description": "건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다."
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxSalesSummary": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "구분": {
                  "type": "string",
                  "description": "매출 또는 매입"
                },
                "조회기간": {
                  "type": "object",
                  "properties": {
                    "시작": {
                      "type": "string",
                      "description": "조회 시작일"
                    },
                    "끝": {
                      "type": "string",
                      "description": "조회 종료일"
                    }
                  },
                  "description": "실제로 조회한 기간(YYYYMMDD)"
                },
                "거래처수": {
                  "type": "integer",
                  "description": "합계표에 잡힌 거래처 수"
                },
                "건수": {
                  "type": "integer",
                  "description": "거래처별 전자세금계산서 매수 합계"
                },
                "합계": {
                  "type": "object",
                  "properties": {
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    }
                  },
                  "description": "거래처별 합계의 총합(원)"
                },
                "거래처": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "사업자등록번호": {
                        "type": "string"
                      },
                      "상호": {
                        "type": "string"
                      },
                      "건수": {
                        "type": "integer"
                      },
                      "공급가액": {
                        "type": "integer"
                      },
                      "세액": {
                        "type": "integer"
                      },
                      "합계금액": {
                        "type": "integer"
                      },
                      "수취구분": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "거래처별 합계 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "사업자등록번호": {
                      "type": "string",
                      "description": "거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값"
                    },
                    "상호": {
                      "type": "string",
                      "description": "거래처 상호"
                    },
                    "건수": {
                      "type": "integer",
                      "description": "전자세금계산서 매수"
                    },
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    },
                    "수취구분": {
                      "type": "string",
                      "description": "수취구분(사업자등록번호·주민등록번호)"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxPurchaseSummary": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "구분": {
                  "type": "string",
                  "description": "매출 또는 매입"
                },
                "조회기간": {
                  "type": "object",
                  "properties": {
                    "시작": {
                      "type": "string",
                      "description": "조회 시작일"
                    },
                    "끝": {
                      "type": "string",
                      "description": "조회 종료일"
                    }
                  },
                  "description": "실제로 조회한 기간(YYYYMMDD)"
                },
                "거래처수": {
                  "type": "integer",
                  "description": "합계표에 잡힌 거래처 수"
                },
                "건수": {
                  "type": "integer",
                  "description": "거래처별 전자세금계산서 매수 합계"
                },
                "합계": {
                  "type": "object",
                  "properties": {
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    }
                  },
                  "description": "거래처별 합계의 총합(원)"
                },
                "거래처": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "사업자등록번호": {
                        "type": "string"
                      },
                      "상호": {
                        "type": "string"
                      },
                      "건수": {
                        "type": "integer"
                      },
                      "공급가액": {
                        "type": "integer"
                      },
                      "세액": {
                        "type": "integer"
                      },
                      "합계금액": {
                        "type": "integer"
                      },
                      "수취구분": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "거래처별 합계 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "사업자등록번호": {
                      "type": "string",
                      "description": "거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값"
                    },
                    "상호": {
                      "type": "string",
                      "description": "거래처 상호"
                    },
                    "건수": {
                      "type": "integer",
                      "description": "전자세금계산서 매수"
                    },
                    "공급가액": {
                      "type": "integer",
                      "description": "공급가액 합계(원)"
                    },
                    "세액": {
                      "type": "integer",
                      "description": "부가가치세 합계(원)"
                    },
                    "합계금액": {
                      "type": "integer",
                      "description": "공급가액 + 세액(원)"
                    },
                    "수취구분": {
                      "type": "string",
                      "description": "수취구분(사업자등록번호·주민등록번호)"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxStats": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "조회기간": {
                  "type": "object",
                  "properties": {
                    "시작": {
                      "type": "string",
                      "description": "조회 시작 연월"
                    },
                    "끝": {
                      "type": "string",
                      "description": "조회 종료 연월"
                    }
                  },
                  "description": "실제로 조회한 연월(YYYYMM)"
                },
                "월수": {
                  "type": "integer",
                  "description": "결과에 담긴 월 수"
                },
                "합계": {
                  "type": "object",
                  "properties": {
                    "매출건수": {
                      "type": "integer",
                      "description": "매출 전자세금계산서 건수 합계"
                    },
                    "매출공급가액": {
                      "type": "integer",
                      "description": "매출 공급가액 합계(원)"
                    },
                    "매출세액": {
                      "type": "integer",
                      "description": "매출 부가가치세 합계(원)"
                    },
                    "매입건수": {
                      "type": "integer",
                      "description": "매입 전자세금계산서 건수 합계"
                    },
                    "매입공급가액": {
                      "type": "integer",
                      "description": "매입 공급가액 합계(원)"
                    },
                    "매입세액": {
                      "type": "integer",
                      "description": "매입 부가가치세 합계(원)"
                    }
                  },
                  "description": "조회기간 전체 합계"
                },
                "월별": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "귀속월": {
                        "type": "string"
                      },
                      "매출거래처수": {
                        "type": "integer"
                      },
                      "매출건수": {
                        "type": "integer"
                      },
                      "매출공급가액": {
                        "type": "integer"
                      },
                      "매출세액": {
                        "type": "integer"
                      },
                      "매입거래처수": {
                        "type": "integer"
                      },
                      "매입건수": {
                        "type": "integer"
                      },
                      "매입공급가액": {
                        "type": "integer"
                      },
                      "매입세액": {
                        "type": "integer"
                      }
                    }
                  },
                  "description": "귀속월별 통계. 없으면 빈 배열이다.",
                  "properties": {
                    "귀속월": {
                      "type": "string",
                      "description": "귀속 연월"
                    },
                    "매출거래처수": {
                      "type": "integer",
                      "description": "매출 거래처 수"
                    },
                    "매출건수": {
                      "type": "integer",
                      "description": "매출 전자세금계산서 건수"
                    },
                    "매출공급가액": {
                      "type": "integer",
                      "description": "매출 공급가액(원)"
                    },
                    "매출세액": {
                      "type": "integer",
                      "description": "매출 부가가치세(원)"
                    },
                    "매입거래처수": {
                      "type": "integer",
                      "description": "매입 거래처 수"
                    },
                    "매입건수": {
                      "type": "integer",
                      "description": "매입 전자세금계산서 건수"
                    },
                    "매입공급가액": {
                      "type": "integer",
                      "description": "매입 공급가액(원)"
                    },
                    "매입세액": {
                      "type": "integer",
                      "description": "매입 부가가치세(원)"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxClientList": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "검색어": {
                  "type": "string",
                  "description": "거래처 이름으로 걸러 본 값. 없으면 빈 문자열"
                },
                "거래처수": {
                  "type": "integer",
                  "description": "조회된 거래처 수"
                },
                "거래처": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "사업자등록번호": {
                        "type": "string"
                      },
                      "상호": {
                        "type": "string"
                      },
                      "대표자": {
                        "type": "string"
                      },
                      "주소": {
                        "type": "string"
                      },
                      "업태": {
                        "type": "string"
                      },
                      "종목": {
                        "type": "string"
                      },
                      "수취구분": {
                        "type": "string"
                      },
                      "등록일": {
                        "type": "string"
                      },
                      "변경일": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "거래처 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "사업자등록번호": {
                      "type": "string",
                      "description": "거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값"
                    },
                    "상호": {
                      "type": "string",
                      "description": "거래처 상호"
                    },
                    "대표자": {
                      "type": "string",
                      "description": "대표자 성명"
                    },
                    "주소": {
                      "type": "string",
                      "description": "사업장 주소"
                    },
                    "업태": {
                      "type": "string",
                      "description": "업태"
                    },
                    "종목": {
                      "type": "string",
                      "description": "종목"
                    },
                    "수취구분": {
                      "type": "string",
                      "description": "수취구분(사업자등록번호·주민등록번호)"
                    },
                    "등록일": {
                      "type": "string",
                      "description": "거래처 최초 등록일"
                    },
                    "변경일": {
                      "type": "string",
                      "description": "거래처 정보 최종 변경일"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxItemList": {
              "type": "object",
              "properties": {
                "사업자등록번호": {
                  "type": "string",
                  "description": "조회한 사업자등록번호 10자리"
                },
                "검색어": {
                  "type": "string",
                  "description": "품목 이름으로 걸러 본 값. 없으면 빈 문자열"
                },
                "품목수": {
                  "type": "integer",
                  "description": "조회된 품목 수. 등록한 품목이 없으면 0"
                },
                "품목": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "품목코드": {
                        "type": "string"
                      },
                      "품목명": {
                        "type": "string"
                      },
                      "규격": {
                        "type": "string"
                      },
                      "단위": {
                        "type": "string"
                      },
                      "단가": {
                        "type": "integer"
                      },
                      "비고": {
                        "type": "string"
                      },
                      "등록일": {
                        "type": "string"
                      },
                      "변경일": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "품목 목록. 없으면 빈 배열이다.",
                  "properties": {
                    "품목코드": {
                      "type": "string",
                      "description": "품목 코드"
                    },
                    "품목명": {
                      "type": "string",
                      "description": "품목 이름"
                    },
                    "규격": {
                      "type": "string",
                      "description": "규격"
                    },
                    "단위": {
                      "type": "string",
                      "description": "단위"
                    },
                    "단가": {
                      "type": "integer",
                      "description": "단가(원)"
                    },
                    "비고": {
                      "type": "string",
                      "description": "비고"
                    },
                    "등록일": {
                      "type": "string",
                      "description": "품목 최초 등록일"
                    },
                    "변경일": {
                      "type": "string",
                      "description": "품목 정보 최종 변경일"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            },
            "etaxStatus": {
              "type": "object",
              "properties": {
                "확인건수": {
                  "type": "integer",
                  "description": "전송 상태를 확인한 건수"
                },
                "확인시각": {
                  "type": "string",
                  "description": "확인한 시각(ISO 8601)"
                },
                "상태": {
                  "type": "object",
                  "items": {
                    "type": "object",
                    "properties": {
                      "승인번호": {
                        "type": "string"
                      },
                      "구분": {
                        "type": "string"
                      },
                      "전송상태": {
                        "type": "string"
                      },
                      "상태코드": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "승인번호별 전송 상태",
                  "properties": {
                    "승인번호": {
                      "type": "string",
                      "description": "전자세금계산서 승인번호"
                    },
                    "구분": {
                      "type": "string",
                      "description": "매출 또는 매입"
                    },
                    "전송상태": {
                      "type": "string",
                      "description": "전송 상태(전송완료·미전송)"
                    },
                    "상태코드": {
                      "type": "string",
                      "description": "확인된 상태 코드. 없으면 빈 문자열"
                    }
                  }
                },
                "장부에없는승인번호": {
                  "type": "array",
                  "items": {},
                  "description": "요청했지만 내 장부에 없어 확인하지 않은 승인번호"
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            }
          },
          "description": "조회된 결과 묶음. 실제 데이터가 있을 때만 포함됩니다."
        },
        "errorCode": {
          "type": "string",
          "description": "오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중)"
        },
        "maintenance": {
          "type": "boolean",
          "description": "기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다."
        }
      },
      "description": "상태·결과"
    },
    "api": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "API 서버 정상 응답 여부"
        },
        "cost": {
          "type": "integer",
          "description": "API 호출 요금"
        },
        "ms": {
          "type": "integer",
          "description": "API 응답 시간"
        },
        "pl_id": {
          "type": "integer",
          "description": "API 결제 로그 ID"
        }
      },
      "description": "API 호출 공통 데이터"
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "hometax_biz_bundle",
    "status": "AUTH_WAITING",
    "resultAvailable": false,
    "charged": false,
    "sources": [],
    "message": "인증 대기중입니다.",
    "expiresAt": "2026-09-20T05:24:07+09:00",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 42,
    "pl_id": -1
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "hometax_biz_bundle",
    "status": "COLLECTING",
    "resultAvailable": false,
    "charged": false,
    "sources": [],
    "progress": {
      "total": 15,
      "completed": 0
    },
    "message": "정보를 조회하고 있습니다.",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 38,
    "pl_id": -1
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "hometax_biz_bundle",
    "status": "SUCCESS",
    "resultAvailable": true,
    "charged": true,
    "sources": [
      {
        "source": "사업자 매출조회",
        "type": "BUSINESS_SALES",
        "status": "SUCCESS"
      },
      {
        "source": "사업자 매입조회",
        "type": "BUSINESS_PURCHASE",
        "status": "SUCCESS"
      },
      {
        "source": "사업자등록증명",
        "type": "BUSINESS_REGISTRATION_CERT",
        "status": "SUCCESS"
      },
      {
        "source": "부가가치세 과세표준증명",
        "type": "VAT_TAX_BASE_CERT",
        "status": "SUCCESS"
      },
      {
        "source": "표준재무제표증명",
        "type": "FINANCIAL_STATEMENT_CERT",
        "status": "SUCCESS"
      },
      {
        "source": "폐업사실증명",
        "type": "CLOSURE_CERT",
        "status": "SUCCESS"
      },
      {
        "source": "납세증명서",
        "type": "TAX_CLEARANCE_CERT",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 매출내역 조회",
        "type": "ETAX_SALES_LIST",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 매입내역 조회",
        "type": "ETAX_PURCHASE_LIST",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 매출 합계표 조회",
        "type": "ETAX_SALES_SUMMARY",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 매입 합계표 조회",
        "type": "ETAX_PURCHASE_SUMMARY",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 매입·매출 통계 조회",
        "type": "ETAX_STATS",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 거래처 목록 조회",
        "type": "ETAX_CLIENT_LIST",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 내품목 목록 조회",
        "type": "ETAX_ITEM_LIST",
        "status": "SUCCESS"
      },
      {
        "source": "전자세금계산서 전송 상태 조회",
        "type": "ETAX_STATUS",
        "status": "SUCCESS"
      }
    ],
    "checkedAt": "2026-09-20T04:47:33+09:00",
    "resultExpiresAt": "2026-09-21T04:47:33+09:00",
    "result": {
      "businessSales": {
        "사업자등록번호": "1234567890",
        "귀속연도": "2025",
        "반기": "상반기",
        "매출건수": 12,
        "매출공급가액": 12800000,
        "매출세액": 1280000,
        "매출합계금액": 14080000
      },
      "businessPurchase": {
        "사업자등록번호": "1234567890",
        "귀속연도": "2025",
        "반기": "상반기",
        "매입건수": 8,
        "매입공급가액": 6400000,
        "매입세액": 640000,
        "매입합계금액": 7040000
      },
      "businessRegistrationCert": {
        "문서확인번호": "0000-0000-0000-0000"
      },
      "vatTaxBaseCert": {
        "문서확인번호": "0000-0000-0000-0000",
        "귀속연도": "2025"
      },
      "financialStatementCert": {
        "문서확인번호": "0000-0000-0000-0000",
        "귀속연도": "2025"
      },
      "closureCert": {
        "문서확인번호": "0000-0000-0000-0000"
      },
      "taxClearanceCert": {
        "문서확인번호": "0000-0000-0000-0000"
      },
      "etaxSalesList": {
        "사업자등록번호": "1234567890",
        "구분": "매출",
        "조회기간": {
          "시작": "20260701",
          "끝": "20260930"
        },
        "건수": 12,
        "합계": {
          "공급가액": 12800000,
          "세액": 1280000,
          "합계금액": 14080000
        },
        "장부반영건수": 12,
        "초과분있음": false,
        "문서": [
          {
            "승인번호": "20260701-41000001-12345678",
            "작성일자": "20260701",
            "거래처사업자번호": "9876543210",
            "거래처상호": "주식회사 예시",
            "공급가액": 1000000,
            "세액": 100000,
            "합계금액": 1100000,
            "전송상태": "전송완료",
            "수정구분": "NORMAL",
            "수정사유": "",
            "원본승인번호": "",
            "품목": [
              {
                "품목명": "컨설팅 용역",
                "규격": "",
                "수량": 1,
                "단가": 1000000,
                "공급가액": 1000000,
                "세액": 100000
              }
            ]
          }
        ]
      },
      "etaxPurchaseList": {
        "사업자등록번호": "1234567890",
        "구분": "매입",
        "조회기간": {
          "시작": "20260701",
          "끝": "20260930"
        },
        "건수": 8,
        "합계": {
          "공급가액": 6400000,
          "세액": 640000,
          "합계금액": 7040000
        },
        "장부반영건수": 8,
        "초과분있음": false,
        "문서": [
          {
            "승인번호": "20260701-41000001-12345678",
            "작성일자": "20260701",
            "거래처사업자번호": "9876543210",
            "거래처상호": "주식회사 예시",
            "공급가액": 800000,
            "세액": 80000,
            "합계금액": 880000,
            "전송상태": "전송완료",
            "수정구분": "NORMAL",
            "수정사유": "",
            "원본승인번호": "",
            "품목": [
              {
                "품목명": "원자재",
                "규격": "",
                "수량": 10,
                "단가": 80000,
                "공급가액": 800000,
                "세액": 80000
              }
            ]
          }
        ]
      },
      "etaxSalesSummary": {
        "사업자등록번호": "1234567890",
        "구분": "매출",
        "조회기간": {
          "시작": "20260701",
          "끝": "20260930"
        },
        "거래처수": 15,
        "건수": 42,
        "합계": {
          "공급가액": 12800000,
          "세액": 1280000,
          "합계금액": 14080000
        },
        "거래처": [
          {
            "사업자등록번호": "9876543210",
            "상호": "주식회사 예시",
            "건수": 3,
            "공급가액": 3000000,
            "세액": 300000,
            "합계금액": 3300000,
            "수취구분": "사업자등록번호"
          }
        ]
      },
      "etaxPurchaseSummary": {
        "사업자등록번호": "1234567890",
        "구분": "매입",
        "조회기간": {
          "시작": "20260701",
          "끝": "20260930"
        },
        "거래처수": 9,
        "건수": 21,
        "합계": {
          "공급가액": 6400000,
          "세액": 640000,
          "합계금액": 7040000
        },
        "거래처": [
          {
            "사업자등록번호": "9876543210",
            "상호": "주식회사 예시",
            "건수": 2,
            "공급가액": 1600000,
            "세액": 160000,
            "합계금액": 1760000,
            "수취구분": "사업자등록번호"
          }
        ]
      },
      "etaxStats": {
        "사업자등록번호": "1234567890",
        "조회기간": {
          "시작": "202601",
          "끝": "202609"
        },
        "월수": 9,
        "합계": {
          "매출건수": 120,
          "매출공급가액": 48000000,
          "매출세액": 4800000,
          "매입건수": 86,
          "매입공급가액": 31000000,
          "매입세액": 3100000
        },
        "월별": [
          {
            "귀속월": "202601",
            "매출거래처수": 3,
            "매출건수": 5,
            "매출공급가액": 2100000,
            "매출세액": 210000,
            "매입거래처수": 18,
            "매입건수": 23,
            "매입공급가액": 17643024,
            "매입세액": 1764303
          }
        ]
      },
      "etaxClientList": {
        "사업자등록번호": "1234567890",
        "검색어": "",
        "거래처수": 68,
        "거래처": [
          {
            "사업자등록번호": "220-81-01733",
            "상호": "주식회사 예시",
            "대표자": "홍길동",
            "주소": "서울특별시 마포구 독막로 311",
            "업태": "서비스",
            "종목": "소프트웨어 개발",
            "수취구분": "사업자등록번호",
            "등록일": "20250826",
            "변경일": "20250826"
          }
        ]
      },
      "etaxItemList": {
        "사업자등록번호": "1234567890",
        "검색어": "",
        "품목수": 12,
        "품목": [
          {
            "품목코드": "ITM001",
            "품목명": "자문 용역",
            "규격": "",
            "단위": "건",
            "단가": 1100000,
            "비고": "",
            "등록일": "20250826",
            "변경일": "20250826"
          }
        ]
      },
      "etaxStatus": {
        "확인건수": 3,
        "확인시각": "2026-10-26T14:20:00.000Z",
        "상태": [
          {
            "승인번호": "20261026-41000001-12345678",
            "구분": "매출",
            "전송상태": "전송완료",
            "상태코드": ""
          }
        ],
        "장부에없는승인번호": []
      }
    },
    "message": "인증이 완료되었습니다.",
    "success": 1
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 318,
    "pl_id": 4903
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/get_hometax_biz_bundle' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'transactionId=9f2c4a7b1d8e35c60a4f7b2d1e9c803a'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("transactionId", "9f2c4a7b1d8e35c60a4f7b2d1e9c803a");
const response = await fetch("https://apick.app/rest/get_hometax_biz_bundle", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("transactionId", (None, "9f2c4a7b1d8e35c60a4f7b2d1e9c803a")),
]
response = requests.request("POST", "https://apick.app/rest/get_hometax_biz_bundle",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'transactionId' => '9f2c4a7b1d8e35c60a4f7b2d1e9c803a',
];
$curl = curl_init('https://apick.app/rest/get_hometax_biz_bundle');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 코드·오류

### 업무 실패 응답

입력 오류·대상 없음·일시 실패는 data.error(사유)와 data.success=0으로 오며 api.cost는 0(과금 없음)입니다. HTTP 상태는 400·404·408·424 중 하나입니다. 입력 오류는 값을 고쳐 다시 요청하고, 408·424는 잠시 후 한 번 다시 시도하세요.

```json

{
  "data": {
    "error": "입력값을 확인해 주세요.",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 5
  }
}

```

## 상세 기능·요금

한눈에 보는 진행 절차 조회는 인증요청 → 인증대기 → 사용자인증완료 → 정보조회 → 정보제공 5단계입니다. 과금은 1단계(인증요청 발송 성공) 와 5단계(결과 최초 제공) 두 번만 발생하고, 그 사이 조회는 몇 번을 호출해도 무과금입니다. 단계 무슨 일이 일어나는가 내 코드가 할 일 / 과금 1. 인증요청 API 호출 요청한 사용자에게 간편인증 요청이 발송되고, 결과 조회에 쓸 transactionId 가 즉시 반환됩니다. 인증요청은 1회만 발송됩니다. 반환된 transactionId 를 저장하세요. 발송에 성공하면 20P 과금, 실패하면 무과금으로 실패 응답이 옵니다. 2. 인증대기중 사용자가 아직 승인하지 않은 상태입니다. 조회하면 status AUTH_WAITING 과 "인증 대기중입니다." 메시지를 돌려줍니다. 결과조회 API 를 주기적으로 호출하세요. 이 구간은 무과금입니다. 3. 사용자인증완료 사용자가 간편인증을 승인하면 결과 준비가 시작됩니다. 별도 호출이 필요 없습니다. 다음 조회에서 status 가 AUTH_COMPLETED → COLLECTING 으로 바뀝니다. 4. 정보조회 요청한 항목의 최종 정보를 조회해 결과를 만듭니다. 계속 조회하세요. 이 구간도 무과금입니다. 5. 정보제공 status SUCCESS 로 표준화된 결과가 result 에 담겨 반환됩니다. 새 결과 제공의 과금 여부는 charged와 api.cost로 확인합니다. 결과 보관 기준은 조회 시각(checkedAt)입니다. 응답의 resultExpiresAt을 확인하고 받은 자료를 즉시 보관하세요. 인증요청 5분 · 결과 재조회 24시간은 서로 다른 기한입니다. 5분(AUTH_WAITING 중 expiresAt)은 "사용자가 승인해야 하는 시간"이고, 24시간(resultExpiresAt)은 "받은 결과를 다시 꺼내볼 수 있는 시간"입니다. 5분 안에 승인하지 못하면 그 요청은 AUTH_EXPIRED 로 끝나고 결과 단가는 발생하지 않습니다. 인증요청 단가 20P 는 발송이 성공한 시점에 이미 발생하므로 승인 실패·거부와 무관하게 환불되지 않습니다. 결과 보관 만료는 errorCode=RESULT_EXPIRED로 구분합니다. 새 인증·조회에는 각 단계의 과금 조건이 다시 적용됩니다. 동일 APICK 계정·같은 상품의 진행 중 요청 또는 최근 30초 내 요청이 있으면 인증을 재발송하지 않고 기존 transactionId 를 그대로 반환합니다. 이때는 success=0, charged=false 로 돌아오며 과금되지 않습니다. 중복 판정은 조회 대상자의 이름·전화번호가 아닌 계정·상품 기준입니다. 다른 대상자의 인증을 동시에 요청하지 마세요. 모든 조회 상품에 공통인 계약 항목 내용 비고 엔드포인트 조회 항목마다 전용 2개입니다. /rest/req_<항목> 으로 인증요청, /rest/get_<항목> 으로 결과조회를 합니다. 조회 항목을 지정하는 product 파라미터가 없습니다. 엔드포인트 자체가 항목입니다. HTTP Method POST 만 지원합니다. GET·PUT·DELETE 는 동작하지 않습니다. 본문은 form-data(Content-Type: multipart/form-data)로 보냅니다. 기존 레거시 API와 같은 규격입니다. 요청 본문 형식을 참고하세요. 인증키 Header Authorization: Bearer 에 발급받은 키를 넣습니다. 키가 없거나 틀리면 인증 없이 거절되며 과금되지 않습니다. 회신 형식 모든 응답이 data(상태·결과)와 api(호출 공통 정보) 두 덩어리로 고정됩니다. api.success 는 API 서버 정상 응답 여부이고, 과금 여부는 data.success(0/1)입니다. 입력값 성명·생년월일·휴대전화번호는 인증받는 본인의 정보여야 합니다. 타인 명의로는 승인되지 않습니다. 휴대전화번호는 숫자만 넣으세요(하이픈 없이). 주민등록번호는 상품 요청 표에 그 입력이 있을 때만 보냅니다. 동시 호출 같은 사용자·같은 조회 항목의 동시 요청은 하나로 합쳐 처리됩니다. 두 번째 요청은 첫 요청의 transactionId 를 재사용하며 추가 과금되지 않습니다. 서버가 처리 중일 때는 잠시 후 다시 시도하라는 응답이 올 수 있습니다. 재시도 인증 대기·조회 중 구간은 무과금이므로 부담 없이 반복 호출할 수 있습니다. 같은 결과의 재조회는 charged 및 api.cost를 확인하세요. 잔액·이용 조건에 따라 요청이 거절될 수 있으므로 오류 응답도 처리해야 합니다. 과금은 인증요청 발송과 결과 최초 제공 두 지점에서만 발생합니다. 개인정보 조회 결과는 요청에 대한 응답으로만 쓰이며, 조회 시각 기준 24시간 뒤에는 재조회가 만료됩니다. 받은 결과는 이용하는 서비스의 개인정보 처리방침에 맞게 직접 보관·파기해야 합니다. 인증 대기중(AUTH_WAITING)과 조회 중(COLLECTING)은 실패가 아닙니다. 개발 중에 이 응답을 오류로 처리해 사용자에게 "실패"라고 보여주는 경우가 많습니다. resultAvailable=false 는 "아직 준비 중"이라는 뜻이고, resultAvailable=true 일 때만 결과를 사용하세요. 같은 transactionId 를 다른 조회 항목의 엔드포인트로 조회하면 실패합니다. 인증요청에 사용한 /rest/req_<항목> 과 같은 항목의 /rest/get_<항목> 을 짝으로 사용하세요. 개발 체크리스트 아래 순서대로 구현하면 조회 상품 하나를 연동할 수 있습니다. 단계 할 일 1 인증키를 발급받아 서버 환경변수에 넣습니다. 브라우저에서 직접 호출하면 키가 노출되므로 반드시 자체 백엔드에서 호출하세요. 2 사용자에게 이름·생년월일·휴대전화번호를 입력받고, 간편인증 방식(authProvider)을 고르게 합니다. 서버로는 숫자만 남긴 번호를 보내세요(하이픈 제거). 3 /rest/req_<항목> 을 호출하고 응답의 transactionId 를 보관합니다. 이 시점에 20P 가 과금됩니다. 4 사용자에게 간편인증 요청이 발송됐음을 안내하고, 인증 완료를 기다립니다. 남은 시간은 expiresAt 으로 안내하세요. 5 /rest/get_<항목> 로 상태를 확인합니다. resultAvailable 이 true 가 되면 폴링을 멈추고 결과를 사용하세요. 6 transactionId 로 결과물을 조회합니다. 정상 완료 결과는 조회 시각 기준 24시간을 기본 보관기간으로 사용합니다. resultExpiresAt과 응답 상태를 확인하고 부분 성공 결과도 즉시 저장하세요. 7 AUTH_EXPIRED · AUTH_REJECTED는 종료 상태이며 errorCode=RESULT_EXPIRED는 재조회 만료를 뜻하므로, 사용자에게 다시 시도할지 물어보는 흐름으로 처리하세요. 인증 승인은 사용자가 직접 해야 합니다. 승인 대행·자동 승인·인증 정보 저장은 지원하지 않으며, 사용자에게 승인 화면을 안내하는 흐름을 직접 만들어야 합니다. 승인 전 화면을 이탈한 사용자가 많다면 expiresAt 으로 남은 시간을 표시하고, 만료 후에는 재요청 버튼을 제공하세요. 만료된 transactionId 는 재사용할 수 없습니다. 연동 전에 확인하세요 실제 고객 연동에서 자주 나오는 질문입니다. 이 항목들을 먼저 정하면 시행착오를 줄일 수 있습니다. 확인 항목 내용 이유 인증키 발급·보관 인증키는 마이페이지에서 확인합니다(별도 신청 절차 없음). Header Authorization: Bearer 에 마이페이지에 표시된 인증키 값을 그대로 넣으세요. 서버 환경변수에 두고 브라우저·앱 클라이언트에는 넣지 마세요. 노출이 의심되면 마이페이지에서 재발급하면 기존 키는 즉시 무효가 됩니다. 인증키는 비밀번호와 같습니다. 앱에 심으면 누구나 추출해 과금을 발생시킬 수 있습니다. 사용자 동의 조회 전에 이용자가 본인 정보 조회에 동의한다는 사실을 서비스 약관·동의 화면에서 받아 두세요. 인증 승인은 그 동의를 확인하는 절차이지 동의를 대신하지 않습니다. 조회 결과를 서비스에 활용하려면 동의 근거가 필요합니다. 제3자 제공 동의는 따로 조회 결과를 이용자 본인에게 보여주거나 본인이 제출하는 용도로만 쓰면 별도 동의가 필요하지 않습니다. 반대로 금융사·렌탈사 등 제3자에게 제공하거나 대출·보증 심사에 쓰면 제3자 제공 동의를 별도로 받아야 합니다. 본인 조회 동의와 제3자 제공 동의는 서로 다른 동의입니다. 제3자 제공은 본인 조회와 법적 성격이 달라, 같은 조회라도 동의 근거가 하나 더 필요합니다. 이용목적 기록 이용목적은 요청 본문으로 받지 않습니다. 제3자 제공이나 심사 목적이면 transactionId 와 함께 이용목적을 귀사 시스템에 기록해 두세요. 제공 목적과 근거를 남겨 두면 사후 분쟁·감독 대응에서 사실 확인이 쉬워집니다. 보내는 개인정보 공통으로 보내는 값은 이름 · 생년월일 · 휴대전화번호이고, 상품에 따라 사업자등록번호·귀속연도 같은 추가 입력이 있습니다. 주민등록번호는 상품 요청 표에 그 입력이 있을 때만 받으세요. 그 밖의 화면에는 주민등록번호 입력칸을 만들지 마세요. 입력받는 항목을 최소로 줄이면 보관·파기 부담과 유출 위험이 함께 줄어듭니다. 테스트 방법 샌드박스·모의 승인은 없습니다. 테스트도 실제 사용자 승인이 필요하고 실제로 과금됩니다. 본인 또는 동의한 사용자의 정보로 소액 검증하세요. 승인 대행은 지원하지 않으므로 자동 테스트로는 끝까지 검증할 수 없습니다. 본문 형식 form-data(multipart/form-data)로 보내세요. 입력은 name·birthDate·phone 처럼 최상위 이름 그대로 보냅니다. 기존 레거시 API와 같은 규격입니다. 인증 요청과 결과 조회 모두 파라미터가 적어 form-data 하나로 충분합니다. 요청 ID transactionId 는 인증요청 응답에서 받아 보관하고, 결과 조회·재조회에 그대로 쓰세요. 서버가 반환하는 값 외에 직접 만들지 마세요. 이 값이 없으면 결과를 다시 꺼낼 수 없고 인증요청부터 다시 해야 합니다. 요금 확인 인증요청과 결과조회 모두 요청을 보내기 전에 예상 포인트를 계산할 수 있습니다. 계산식과 상품별 예시는 요금과 포인트를 참고하세요. 포인트가 부족하면 HTTP 402 로 거절됩니다(api.cost=0). 이때는 과금되지 않습니다. 시간대 expiresAt · checkedAt · resultExpiresAt 을 포함한 응답의 모든 시각은 한국시간(UTC+09:00) 입니다. 2026-09-20T05:24:07+09:00 처럼 오프셋이 붙어 오므로 그대로 표시하면 됩니다. UTC 로 저장해야 한다면 오프셋(+09:00)만 빼세요. 시각을 더하거나 빼서 맞추지 마세요. 요금과 포인트 조회는 인증요청 20P 와 결과 단가 두 번 과금됩니다. 포인트가 부족하면 거절되고 그 호출은 과금되지 않습니다(호출 전 잔액 확인은 HTTP 200 과 result.error, 결과 청구 시점은 HTTP 402 와 data.error). 구분 계산 설명 인증요청 20P 고정 인증요청이 사용자에게 발송된 시점에 발생합니다. 사용자가 승인을 거부하거나 5분 안에 승인하지 않아 AUTH_EXPIRED 가 되어도 환불되지 않습니다. 결과 단가 60P × 데이터셋 수 × 기간 배수 결과가 처음 제공된 응답에서만 발생합니다. 재조회·폴링은 무과금입니다. 발급 상품 건당 고정 단가 증명서·주민등록표처럼 문서를 발급하는 상품은 데이터셋·기간과 무관하게 상품 페이지에 적힌 건당 단가입니다(예: 소득금액증명 60P, 주민등록표등본 80P). 선택형 묶음 고른 조회 단가의 합 받을 조회를 요청마다 고르는 묶음(민원서류 통합조회)은 고른 조회의 결과 단가를 더한 값이며 묶음 할인이 없습니다. 인증 요청 단가는 1회입니다. 기간 배수 기본 1년, 추가 1년마다 +50% 1년 = 1배, 2년 = 1.5배, 3년 = 2배, 5년 = 3배입니다. 월 단위 상품은 12개월을 1년으로 올림 환산합니다(6개월 → 1년, 13개월 → 2년). 기간 배수 옵션이 없는 상품은 조회 기간과 무관하게 1배입니다. 묶음 할인 결과 단가 30% 할인 여러 항목을 한 번 인증으로 한 응답에 받는 묶음 상품은 개별 구매 합계에서 30% 깎습니다(선택형 묶음 제외). 일부 항목만 받는 부분 성공(PARTIAL_SUCCESS)은 기본적으로 묶음 결과 단가가 청구되지만, 선택형 묶음은 요청에서 고른 조회 중 실제 받은 항목의 단가만 합산하고, 발급형 증명은 문서를 받은 항목만 청구합니다. 받은 항목이 하나도 없으면 무과금입니다. 무과금 구간 0P 인증 대기·조회 중 폴링, 결과 재조회(24시간), 오류 응답(402·408 포함), 인증 거부·실패. 예상 금액 계산 예시 상황 계산 합계 개인소득 1년 조회 (기본, 데이터셋 1개) 20P + (60P × 1 × 1배) 80P 개인소득 3년 조회 (데이터셋 1개) 20P + (60P × 1 × 2배) 140P 지방세 납부내역 24개월 (월 단위, 데이터셋 4개) 20P + (60P × 4 × 1.5배) 380P 데이터셋 4개 상품을 5년 범위로 조회 20P + (60P × 4 × 3배) 740P 정확한 값은 상품 페이지의 요금 표에 있습니다. 데이터셋 수와 기간 옵션이 상품마다 다르므로, 화면에서 범위를 고르게 했다면 요청 전에 예상 포인트를 함께 표시해 주세요. 응답의 api.cost 는 이번 호출에서 실제로 발생한 포인트, data.charged 는 이번 응답에서 과금이 일어났는지 여부입니다. 두 값을 함께 기록해 두면 고객 문의에 대응하기 쉽습니다. 포인트는 마이페이지에서 잔액을 확인하고 충전합니다. 잔액 부족으로 실패한 요청은 충전 후 기존 transactionId의 상태와 과금 내역을 확인한 뒤 다시 진행하면 됩니다(transactionId 는 새로 발급됩니다). 호출 제한과 재시도 결과가 준비되지 않은 대기 조회에는 간격을 두세요. 실제 비용은 각 응답의 api.cost로 확인합니다. 결과를 받은 뒤에는 폴링을 멈추는 것이 가장 중요합니다. 항목 권장 비고 폴링 간격 5초 → 10초 → 20초 → 30초, 이후 30초 유지 간격 제한은 없습니다. 위 값은 권장 사항입니다. 폴링 최대 시간 클라이언트 최대 대기시간 지정 인증 승인 유효시간은 expiresAt(요청 후 5분)입니다. 자료 조회·결과 조회에는 별도의 클라이언트 최대 대기시간을 정하세요. expiresAt 이 지나면 AUTH_EXPIRED 로 끝나므로 폴링을 멈추고 재시작 여부를 물어보세요. 결과 수신 후 즉시 폴링 중단 resultAvailable=true 를 받은 순간 멈추세요. 같은 결과의 재조회 여부와 과금은 charged 및 api.cost를 확인하세요. 동시 처리 동일 APICK 계정·같은 상품은 기존 요청 확인 동일 계정·상품의 요청은 기존 transactionId가 반환될 수 있습니다. 다른 대상자의 인증 요청을 동시에 보내지 말고 기존 요청 상태를 먼저 확인하세요. 분당 호출 제한 없음 별도의 레이트 리밋이나 IP 제한을 두지 않습니다. 다만 과도한 호출은 서버 전체에 영향을 주므로 위 간격을 지켜주세요. HTTP 424는 현재 요청 처리 중이거나 처리 잠금을 획득하지 못한 경우입니다. 인증 요청을 자동 재전송하지 마세요. 같은 transactionId 로 잠시 후 다시 조회하면 정상 흐름으로 이어집니다. HTTP 408 은 서버가 제한 시간 안에 끝내지 못한 경우입니다. 본문 오류와 기존 transactionId를 확인한 후 재조회 여부를 판단하세요. 인증 요청을 자동으로 다시 보내지 마세요. 결과 조회가 408 이면 transactionId 는 그대로 쓸 수 있습니다. 자주 묻는 질문 질문 답변 한 사용자가 여러 상품을 동시에 조회할 수 있나요? 가능합니다. 상품마다 별도의 transactionId 가 발급되며 각각 독립적으로 진행됩니다. 다만 상품별로 인증요청을 각각 해야 하고, 인증요청 단가(20P)도 상품마다 따로 발생합니다. 여러 상품을 한 번의 승인으로 처리하는 묶음 조회는 제공하지 않습니다. 같은 사람을 다시 조회하면 사용자가 매번 승인해야 하나요? 인증요청은 매번 필요합니다. 다만 동일 APICK 계정·같은 상품에 진행 중 요청 또는 최근 30초 내 요청이 있으면 인증을 재발송하지 않고 기존 transactionId 를 그대로 반환하며 과금되지 않습니다. 승인 후에는 기존 transactionId로 결과를 조회합니다. 재조회 시 과금은 charged와 api.cost로 확인하고 resultExpiresAt 이후에는 자동 조회를 중단하세요. 결과를 얼마나 보관할 수 있나요? 정상 완료 결과의 기본 보관기간은 조회 시각 기준 24시간입니다. 실제 응답의 resultExpiresAt을 확인하고, 부분 성공을 포함해 받은 자료를 즉시 보관하세요. 영구 보관이 필요하면 고객 서비스가 직접 결과를 저장하고, 이용자의 개인정보 처리방침에 따라 파기해야 합니다. 웹훅·콜백으로 결과를 받을 수 있나요? 지원하지 않습니다. 결과조회 API 를 폴링해 resultAvailable=true 를 확인하는 방식만 제공합니다. 인증키를 재발급하면 언제 무효가 되나요? 재발급 즉시 기존 키가 바로 무효가 됩니다(유예 기간 없음). 운영 중인 서버가 있으면 재발급 직후 키를 교체하고 재배포하세요. 키를 여러 곳에서 중복 사용하지 않는 편이 안전합니다. 조회 범위를 최대로 늘리면 응답이 매우 커지나요? 범위를 늘려도 응답은 기간별 합계·구간 목록으로 집계되어 항목당 행 수가 급증하지는 않습니다. 다만 상품에 따라 행이 수백 건까지 늘 수 있으므로, 화면 표시는 페이지 단위로 나누는 것을 권장합니다. 샌드박스나 테스트 키가 있나요? 없습니다. 모든 호출이 실제 인증과 실제 과금을 발생시킵니다. 개발 단계에서는 본인 또는 동의한 사용자의 정보로 가장 짧은 조회 범위를 선택해 검증하세요. 포인트 잔액은 어디서 확인하나요? 마이페이지에서 잔액 확인과 충전을 합니다. 잔액 부족은 HTTP 402 로 돌아오며 과금되지 않으므로, 충전 후 같은 요청을 다시 보내면 됩니다. 2단계 · 결과조회 엔드포인트 Method URL POST https://apick.app/rest/get_hometax_biz_bundle 이 API 는 polling 용도입니다. 호출 자체는 언제든 무료이며, 실제 결과가 최초로 반환되는 1회에만 과금됩니다. 같은 transactionId 로 다시 조회하면 charged=false 로 추가 과금이 없습니다. 인증 대기(AUTH_WAITING)·조회 중(COLLECTING)·실패(FAILED)·만료(AUTH_EXPIRED) 응답은 과금되지 않습니다. 결과를 받을 때까지 안심하고 반복 조회하세요. 결과가 준비된 뒤에는 조회 시각 기준 24시간 동안 재조회할 수 있습니다. 이 기간의 재조회는 무과금입니다. 응답에는 실제 정보를 확인한 시각이 checkedAt 으로 포함됩니다. 저장해 둔 값을 돌려주는 것이 아니라 그 시점에 확인한 값입니다. 폴링은 resultAvailable=true 를 받는 순간 멈추세요. 최대 시간은 expiresAt(인증 대기)까지이고, 그 뒤로는 결과가 나올 때까지입니다. 자세한 값은 호출 제한과 재시도를 참고하세요. 조회 항목이 여러 개인 상품은 일부만 성공하면 PARTIAL_SUCCESS 로 반환하며, 이때도 실제 조회된 데이터가 있으면 최초 1회 과금됩니다. 기본은 결과 단가 전액이지만, 선택형 묶음은 요청에서 고른 조회 중 실제 받은 항목의 단가만 합산하고, 발급형 증명은 문서를 받은 항목만 청구합니다. 문서 미수신·기관 거절·PDF 파싱 실패는 무과금이며, 받은 항목이 하나도 없으면 charged=false·cost 0 으로 응답합니다. 어느 항목이 성공·실패했는지는 sources 에 표시됩니다. 결과조회를 호출할 때마다 보유 포인트가 이 상품의 결과 단가 이상인지 먼저 확인합니다. 모자라면 인증 대기 중이어도 HTTP 200 과 result.error(사용 가능한 포인트이 부족합니다.)로 거절되고 과금되지 않으므로, 충전한 뒤 같은 transactionId 로 다시 조회하세요. 결과 단가는 접수 때 고른 조회 단가의 합입니다. 담긴 조회는 15종이고, 조회마다 단가가 다릅니다(등본·초본은 건당 60P, 나머지는 60P). 고르지 않은 조회는 인증·조회하지 않으므로 단가도 발생하지 않습니다. 예를 들어 등본·초본 두 건만 고르면 결과 단가는 0P입니다. 인증 요청 단가(20P)는 조회 수와 무관하게 1회만 발생합니다.

## 상세 요청

요청 본문 형식 인증요청·결과조회 모두 POST + form-data 입니다. 입력은 모두 최상위 이름으로 보내며, 아래 형식 하나만 씁니다. 형식 Content-Type 보내는 값 예시 form-data (정본) multipart/form-data name=홍길동&birthDate=19900101&phone=01012345678&authProvider=kakao 입력을 user·requestData·options 로 묶지 마세요. 조회 조건과 조회 기간도 docNo·customerNo·years 처럼 최상위 이름 그대로 보냅니다. 이름은 birthDate 대신 birthday, authProvider 대신 provider 로 보내도 같은 값으로 인정됩니다. 문서·코드·테스트는 birthDate·authProvider 로 통일합니다. Header 이름 필수 설명 Authorization O Bearer 인증키 본문은 transactionId 하나입니다. 결과조회 엔드포인트는 인증요청과 짝이 되는 /rest/get_hometax_biz_bundle 이며, 다른 항목의 엔드포인트로 조회하면 실패합니다. 조회 시각 기준 24시간이 지나면 RESULT_EXPIRED 가 반환됩니다. 이때는 인증요청부터 다시 시작해야 하며, 인증요청 단가(20P)가 다시 발생합니다. 요청 예시 form-data 전체 예제 보기

## 상세 응답

처리 상태(status) 값 의미 과금 AUTH_REQUESTED 조회 인증 요청 (/rest/req_hometax_biz_bundle 응답) 인증요청 시 과금 AUTH_WAITING 사용자 인증 대기중 무과금 AUTH_COMPLETED 승인 완료, 조회 시작 전 무과금 COLLECTING 조회 결과를 준비하는 중 무과금 SUCCESS 모든 항목 조회 완료 최초 1회만 PARTIAL_SUCCESS 일부 항목만 조회 완료 (sources 참고) 최초 1회 — 선택형 묶음·발급형은 받은 항목 단가만, 받은 항목이 없으면 무과금 AUTH_REJECTED 사용자가 인증을 거부 무과금 AUTH_EXPIRED 제한 시간 안에 승인하지 않음 무과금 FAILED 조회 실패 (기관 서비스 점검·중지 포함) 무과금 Body 이름 타입 설명 data Object 상태·결과 schemaVersion String 결과 스키마 버전 (고정값: "1.0") transactionId String 트랜잭션 ID product String 조회 항목 코드. 인증요청 응답과 같은 값입니다. status String 처리 상태 (위 표 참고) resultAvailable Boolean 실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. charged Boolean 이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. sources Array 항상 포함됩니다. 값이 없으면 빈 배열 [] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(자료 이름), type(데이터 종류), status(SUCCESS/FAILED). 결과 준비가 끝나기 전에는 아직 확정되지 않은 항목이 FAILED 로 보일 수 있습니다. progress Object 진행률(COLLECTING 일 때). total(전체 항목), completed(완료 항목) checkedAt String 실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다. resultExpiresAt String 결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다. errorCode String 오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중) maintenance Boolean 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다. result Object 조회된 결과 묶음. 실제 데이터가 있을 때만 포함됩니다. businessSales Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. businessPurchase Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. businessRegistrationCert Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. vatTaxBaseCert Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. financialStatementCert Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. closureCert Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. taxClearanceCert Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxSalesList Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxPurchaseList Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxSalesSummary Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxPurchaseSummary Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxStats Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxClientList Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxItemList Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. etaxStatus Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. message String 상태 메시지 success Integer 과금 여부0: 결과 없음 또는 재조회(무과금)1: 최초 결과 반환(과금) api Object API 호출 공통 데이터 success Boolean API 서버 정상 응답 여부 cost Integer API 호출 요금 ms Integer API 응답 시간 pl_id Integer API 결제 로그 ID 결과 규격 이 묶음은 한 번 인증으로 15개 조회를 받으므로 result 안에 아래 15개 항목이 함께 옵니다. 항목마다 표를 따로 두었습니다. result.businessSales — 사업자 매출조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 귀속연도 String O 귀속연도 4자리 2025 반기 String O 상반기 또는 하반기 상반기 매출건수 Integer O 전자세금계산서 매출 건수 12 매출공급가액 Integer O 매출 공급가액 합계(원) 12800000 매출세액 Integer O 매출 부가가치세 합계(원) 1280000 매출합계금액 Integer O 공급가액 + 세액(원) 14080000 result.businessPurchase — 사업자 매입조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 귀속연도 String O 귀속연도 4자리 2025 반기 String O 상반기 또는 하반기 상반기 매입건수 Integer O 전자세금계산서 매입 건수 8 매입공급가액 Integer O 매입 공급가액 합계(원) 6400000 매입세액 Integer O 매입 부가가치세 합계(원) 640000 매입합계금액 Integer O 공급가액 + 세액(원) 7040000 result.businessRegistrationCert — 사업자등록증명 발급 경로 타입 값 존재 설명 예시 문서확인번호 String O 발급된 사업자등록증명의 문서확인번호 0000-0000-0000-0000 상호 String 조건부 사업자 상호 예시상사 사업자등록번호 String 조건부 대상 사업자등록번호 10자리 1234567890 개업일자 String 조건부 개업일자 2020-03-02 업태 String 조건부 업태 정보통신업 종목 String 조건부 종목 소프트웨어 개발 PDF데이터 Object 조건부 PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) result.vatTaxBaseCert — 부가가치세 과세표준증명 발급 경로 타입 값 존재 설명 예시 문서확인번호 String O 발급된 증명의 문서확인번호 0000-0000-0000-0000 귀속연도 String O 귀속연도 4자리 2025 과세기간 String 조건부 과세기간 표기 2025-01 ~ 2025-12 과세표준 String 조건부 과세표준 금액(원 단위 숫자) 120000000 매출세액 String 조건부 매출세액(원 단위 숫자) 12000000 PDF데이터 Object 조건부 PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) result.financialStatementCert — 표준재무제표증명 발급 경로 타입 값 존재 설명 예시 문서확인번호 String O 발급된 증명의 문서확인번호 0000-0000-0000-0000 귀속연도 String O 사업연도 4자리 2025 자산총계 String 조건부 자산총계(원 단위 숫자) 350000000 부채총계 String 조건부 부채총계(원 단위 숫자) 120000000 자본총계 String 조건부 자본총계(원 단위 숫자) 230000000 매출액 String 조건부 매출액(원 단위 숫자) 480000000 영업이익 String 조건부 영업이익(원 단위 숫자) 52000000 당기순이익 String 조건부 당기순이익(원 단위 숫자) 41000000 PDF데이터 Object 조건부 PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) result.closureCert — 폐업사실증명 발급 경로 타입 값 존재 설명 예시 문서확인번호 String O 발급된 폐업사실증명의 문서확인번호 0000-0000-0000-0000 상호 String 조건부 사업자 상호 예시상사 사업자등록번호 String 조건부 대상 사업자등록번호 10자리 1234567890 개업일자 String 조건부 개업일자 2020-03-02 폐업일자 String 조건부 폐업일자 2024-12-31 업태 String 조건부 업태 정보통신업 종목 String 조건부 종목 소프트웨어 개발 PDF데이터 Object 조건부 PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) result.taxClearanceCert — 납세증명서 발급 경로 타입 값 존재 설명 예시 문서확인번호 String O 발급된 납세증명서의 문서확인번호 0000-0000-0000-0000 상호 String 조건부 사업자 상호 예시상사 사업자등록번호 String 조건부 대상 사업자등록번호 10자리 1234567890 주소 String 조건부 사업장 주소 서울특별시 금천구 ... 유효기간 String 조건부 증명서 유효기간 2026-11-20 PDF데이터 Object 조건부 PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) result.etaxSalesList — 전자세금계산서 매출내역 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 구분 String O 매출 또는 매입 매출 조회기간 Object O 실제로 조회한 기간(YYYYMMDD) 시작 String(YYYYMMDD) O 조회 시작일 20260701 끝 String(YYYYMMDD) O 조회 종료일 20260930 건수 Integer O 조회된 전자세금계산서 건수 12 합계 Object O 조회된 문서의 공급가액·세액 합계(원) 공급가액 Integer O 공급가액 합계(원) 12800000 세액 Integer O 부가가치세 합계(원) 1280000 합계금액 Integer O 공급가액 + 세액(원) 14080000 장부반영건수 Integer O 자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다. 12 초과분있음 Boolean O 한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지 false 안내 String 조건부 건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다. 조회 기간에 건별 내역이 없습니다. 문서 Array<Object> O 승인번호 단위 문서 목록. 없으면 빈 배열이다. 승인번호 String O 전자세금계산서 승인번호 20260701-41000001-12345678 작성일자 String(YYYYMMDD) O 작성일자 20260701 거래처사업자번호 String O 거래처 사업자등록번호 10자리 9876543210 거래처상호 String O 거래처 상호 주식회사 예시 공급가액 Integer O 공급가액(원) 1000000 세액 Integer O 부가가치세(원) 100000 합계금액 Integer O 공급가액 + 세액(원) 1100000 전송상태 String O 전송 상태(전송완료·미전송) 전송완료 수정구분 String O NORMAL 또는 AMENDED NORMAL 수정사유 String O 수정세금계산서 사유. 정상 문서면 빈 문자열 원본승인번호 String O 수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열 품목 Array<Object> O 품목 목록. 없으면 빈 배열이다. 품목명 String O 품목명 컨설팅 용역 규격 String O 규격 수량 Number O 수량 1 단가 Integer O 단가(원) 1000000 공급가액 Integer O 품목 공급가액(원) 1000000 세액 Integer O 품목 세액(원) 100000 result.etaxPurchaseList — 전자세금계산서 매입내역 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 구분 String O 매출 또는 매입 매입 조회기간 Object O 실제로 조회한 기간(YYYYMMDD) 시작 String(YYYYMMDD) O 조회 시작일 20260701 끝 String(YYYYMMDD) O 조회 종료일 20260930 건수 Integer O 조회된 전자세금계산서 건수 8 합계 Object O 조회된 문서의 공급가액·세액 합계(원) 공급가액 Integer O 공급가액 합계(원) 6400000 세액 Integer O 부가가치세 합계(원) 640000 합계금액 Integer O 공급가액 + 세액(원) 7040000 장부반영건수 Integer O 자체 장부에 저장된 건수. 장부 저장에 실패하면 0 이다. 8 초과분있음 Boolean O 한 번에 돌려주는 건수 상한(100건)을 넘겨 잘렸는지 false 안내 String 조건부 건별 내역이 0건일 때만 오는 안내 문장. 결과가 있으면 필드가 없다. 조회 기간에 건별 내역이 없습니다. 문서 Array<Object> O 승인번호 단위 문서 목록. 없으면 빈 배열이다. 승인번호 String O 전자세금계산서 승인번호 20260701-41000001-12345678 작성일자 String(YYYYMMDD) O 작성일자 20260701 거래처사업자번호 String O 거래처 사업자등록번호 10자리 9876543210 거래처상호 String O 거래처 상호 주식회사 예시 공급가액 Integer O 공급가액(원) 800000 세액 Integer O 부가가치세(원) 80000 합계금액 Integer O 공급가액 + 세액(원) 880000 전송상태 String O 전송 상태(전송완료·미전송) 전송완료 수정구분 String O NORMAL 또는 AMENDED NORMAL 수정사유 String O 수정세금계산서 사유. 정상 문서면 빈 문자열 원본승인번호 String O 수정세금계산서의 원본 승인번호. 정상 문서면 빈 문자열 품목 Array<Object> O 품목 목록. 없으면 빈 배열이다. 품목명 String O 품목명 원자재 규격 String O 규격 수량 Number O 수량 10 단가 Integer O 단가(원) 80000 공급가액 Integer O 품목 공급가액(원) 800000 세액 Integer O 품목 세액(원) 80000 result.etaxSalesSummary — 전자세금계산서 매출 합계표 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 구분 String O 매출 또는 매입 매출 조회기간 Object O 실제로 조회한 기간(YYYYMMDD) 시작 String(YYYYMMDD) O 조회 시작일 20260701 끝 String(YYYYMMDD) O 조회 종료일 20260930 거래처수 Integer O 합계표에 잡힌 거래처 수 15 건수 Integer O 거래처별 전자세금계산서 매수 합계 42 합계 Object O 거래처별 합계의 총합(원) 공급가액 Integer O 공급가액 합계(원) 12800000 세액 Integer O 부가가치세 합계(원) 1280000 합계금액 Integer O 공급가액 + 세액(원) 14080000 거래처 Array<Object> O 거래처별 합계 목록. 없으면 빈 배열이다. 사업자등록번호 String O 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 9876543210 상호 String O 거래처 상호 주식회사 예시 건수 Integer O 전자세금계산서 매수 3 공급가액 Integer O 공급가액 합계(원) 3000000 세액 Integer O 부가가치세 합계(원) 300000 합계금액 Integer O 공급가액 + 세액(원) 3300000 수취구분 String O 수취구분(사업자등록번호·주민등록번호) 사업자등록번호 result.etaxPurchaseSummary — 전자세금계산서 매입 합계표 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 구분 String O 매출 또는 매입 매입 조회기간 Object O 실제로 조회한 기간(YYYYMMDD) 시작 String(YYYYMMDD) O 조회 시작일 20260701 끝 String(YYYYMMDD) O 조회 종료일 20260930 거래처수 Integer O 합계표에 잡힌 거래처 수 9 건수 Integer O 거래처별 전자세금계산서 매수 합계 21 합계 Object O 거래처별 합계의 총합(원) 공급가액 Integer O 공급가액 합계(원) 6400000 세액 Integer O 부가가치세 합계(원) 640000 합계금액 Integer O 공급가액 + 세액(원) 7040000 거래처 Array<Object> O 거래처별 합계 목록. 없으면 빈 배열이다. 사업자등록번호 String O 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 9876543210 상호 String O 거래처 상호 주식회사 예시 건수 Integer O 전자세금계산서 매수 2 공급가액 Integer O 공급가액 합계(원) 1600000 세액 Integer O 부가가치세 합계(원) 160000 합계금액 Integer O 공급가액 + 세액(원) 1760000 수취구분 String O 수취구분(사업자등록번호·주민등록번호) 사업자등록번호 result.etaxStats — 전자세금계산서 매입·매출 통계 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 조회기간 Object O 실제로 조회한 연월(YYYYMM) 시작 String(YYYYMM) O 조회 시작 연월 202601 끝 String(YYYYMM) O 조회 종료 연월 202609 월수 Integer O 결과에 담긴 월 수 9 합계 Object O 조회기간 전체 합계 매출건수 Integer O 매출 전자세금계산서 건수 합계 120 매출공급가액 Integer O 매출 공급가액 합계(원) 48000000 매출세액 Integer O 매출 부가가치세 합계(원) 4800000 매입건수 Integer O 매입 전자세금계산서 건수 합계 86 매입공급가액 Integer O 매입 공급가액 합계(원) 31000000 매입세액 Integer O 매입 부가가치세 합계(원) 3100000 월별 Array<Object> O 귀속월별 통계. 없으면 빈 배열이다. 귀속월 String(YYYYMM) O 귀속 연월 202601 매출거래처수 Integer O 매출 거래처 수 3 매출건수 Integer O 매출 전자세금계산서 건수 5 매출공급가액 Integer O 매출 공급가액(원) 2100000 매출세액 Integer O 매출 부가가치세(원) 210000 매입거래처수 Integer O 매입 거래처 수 18 매입건수 Integer O 매입 전자세금계산서 건수 23 매입공급가액 Integer O 매입 공급가액(원) 17643024 매입세액 Integer O 매입 부가가치세(원) 1764303 result.etaxClientList — 전자세금계산서 거래처 목록 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 검색어 String O 거래처 이름으로 걸러 본 값. 없으면 빈 문자열 거래처수 Integer O 조회된 거래처 수 68 거래처 Array<Object> O 거래처 목록. 없으면 빈 배열이다. 사업자등록번호 String O 거래처 사업자등록번호. 주민등록번호 수취분은 가린 표시값 220-81-01733 상호 String O 거래처 상호 주식회사 예시 대표자 String O 대표자 성명 홍길동 주소 String O 사업장 주소 서울특별시 마포구 독막로 311 업태 String O 업태 서비스 종목 String O 종목 소프트웨어 개발 수취구분 String O 수취구분(사업자등록번호·주민등록번호) 사업자등록번호 등록일 String(YYYYMMDD) O 거래처 최초 등록일 20250826 변경일 String(YYYYMMDD) O 거래처 정보 최종 변경일 20250826 result.etaxItemList — 전자세금계산서 내품목 목록 조회 경로 타입 값 존재 설명 예시 사업자등록번호 String O 조회한 사업자등록번호 10자리 1234567890 검색어 String O 품목 이름으로 걸러 본 값. 없으면 빈 문자열 품목수 Integer O 조회된 품목 수. 등록한 품목이 없으면 0 12 품목 Array<Object> O 품목 목록. 없으면 빈 배열이다. 품목코드 String O 품목 코드 ITM001 품목명 String O 품목 이름 자문 용역 규격 String O 규격 단위 String O 단위 건 단가 Integer O 단가(원) 1100000 비고 String O 비고 등록일 String(YYYYMMDD) O 품목 최초 등록일 20250826 변경일 String(YYYYMMDD) O 품목 정보 최종 변경일 20250826 result.etaxStatus — 전자세금계산서 전송 상태 조회 경로 타입 값 존재 설명 예시 확인건수 Integer O 전송 상태를 확인한 건수 3 확인시각 String(Date) O 확인한 시각(ISO 8601) 2026-10-26T14:20:00.000Z 상태 Array<Object> O 승인번호별 전송 상태 승인번호 String O 전자세금계산서 승인번호 20261026-41000001-12345678 구분 String O 매출 또는 매입 매출 전송상태 String O 전송 상태(전송완료·미전송) 전송완료 상태코드 String O 확인된 상태 코드. 없으면 빈 문자열 장부에없는승인번호 Array<String> O 요청했지만 내 장부에 없어 확인하지 않은 승인번호 [] 타입 읽는 법 — String 은 문자열, Integer 는 소수점 없는 정수(원 단위 금액 포함), Boolean 은 true/false, Object 는 이름이 있는 하위 항목 묶음, Array<Object> 는 같은 구조가 여러 건 오는 목록, Array<String> 은 문자열 목록입니다. String(YYYY-MM-DD) 처럼 괄호가 붙으면 그 형식의 문자열이라는 뜻이고 날짜 타입이 아닙니다. 값 존재 — O는 정상 결과에 있는 항목, 조건부는 해당 정보가 있을 때 제공하는 항목입니다. 누락·빈 문자열·빈 배열·0·null의 의미는 항목별 설명을 따릅니다. 부모 항목이 없으면 그 하위 항목도 없습니다. 예시 — 응답에 들어오는 형태 그대로의 값입니다. 실제 조회 결과가 아니며 개인을 특정할 수 없는 가상의 값입니다. 이 열이 비어 있으면 하위 항목이 있는 묶음이거나 값이 빠질 수 있는 항목입니다. 들여쓰기된 항목은 바로 위 부모 안에 들어 있는 하위 항목입니다. 경로 표기에서 . 는 하위 항목, [ ] 를 붙인 항목은 그 안에 여러 건이 오는 목록이라는 뜻입니다.

## 상세 코드·정책

공통 오류 응답 아래 항목은 조회 항목과 무관하게 공통으로 발생합니다. 오류 응답은 과금되지 않습니다. 상황 확인할 값 대응 인증키 누락·오류 api.success=false Header Authorization: Bearer 를 확인하세요. 과금되지 않습니다. 입력값 누락·형식 오류 오류 메시지에 어느 항목이 잘못됐는지 표시됩니다. 이름·생년월일·휴대전화번호·인증방식을 다시 확인하세요. 조회 항목에 필요한 추가 입력 누락 오류 메시지에 필요한 입력 이름이 표시됩니다. 아래 요청 표의 추가 입력 항목을 채우세요. 없는 transactionId · 만료된 요청 요청을 찾을 수 없다는 응답 또는 status AUTH_EXPIRED 인증요청부터 다시 하세요. 처리 중 재요청 HTTP 424 · 요청 처리 중 또는 처리 잠금 획득 실패 · api.cost=0 같은 사용자·같은 조회 항목의 접수는 서버가 한 건씩 처리합니다. 앞선 요청이 끝난 뒤 같은 transactionId 로 다시 조회하세요. 결과 재조회 기한 만료 errorCode=RESULT_EXPIRED 24시간이 지났습니다. 인증요청부터 다시 하세요. 사용자 인증 거부 errorCode=AUTH_REJECTED 사용자에게 다시 시도할지 안내하세요. 과금되지 않습니다. 정보 조회 실패 errorCode=COLLECT_FAILED · status FAILED 잠시 후 인증요청부터 다시 시도하세요. 결과 단가는 과금되지 않습니다. 기관 서비스 점검·중지 errorCode=SERVICE_MAINTENANCE · maintenance=true · status FAILED 요청 오류가 아니므로 입력값을 고칠 필요가 없습니다. 점검이 끝난 뒤 인증요청부터 다시 시도하세요. 결과 단가는 과금되지 않습니다. 보유 포인트 부족 호출 전 잔액 확인: HTTP 200 · result.error 에 사유 · api.cost=0결과를 청구하는 순간: HTTP 402 · data.error 에 사유 · api.cost=0 이 호출은 과금되지 않습니다. 결과조회도 호출할 때마다 그 상품의 결과 단가만큼 잔액을 확인합니다. 요금과 포인트를 확인한 뒤 충전하고, 결과조회는 같은 transactionId 로 다시 요청하세요. 처리 시간 초과 HTTP 408 · data.success=3 서버가 제한 시간 안에 끝내지 못했습니다. 과금되지 않습니다. 잠시 후 같은 요청을 다시 보내세요. 정상 응답은 HTTP 200 입니다. 상태가 인증 대기중·조회 중 이어도 200 이며, data.success 만 0 입니다. HTTP 코드로 성공을 판단하지 말고 data.status 와 data.resultAvailable 을 보세요. api.success 는 "APICK 서버가 요청을 정상 처리했는가"만 뜻합니다. 포인트가 모자라 HTTP 402 로 거절돼도 api.success=true 입니다. 과금 여부는 api.cost 와 data.charged 로 판단하세요. 상태와 성공 판정 필드가 여러 곳에 흩어져 있어 "무엇으로 성공을 판단해야 하는가" 가 가장 많이 나오는 질문입니다. 결론은 data.status 와 data.resultAvailable 두 개입니다. 필드 의미 판단 기준 HTTP 상태 코드 전송 계층의 결과 200 이 정상, 402 는 포인트 부족, 408 은 처리 시간 초과, 424 는 동일 요청 처리 중. 성공 판정에 쓰지 마세요. api.success APICK 서버가 요청을 정상 처리했는지 포인트 부족(402)이나 시간 초과(408)에도 true 입니다. 업무 성공 판정에 쓰지 마세요. data.status 조회 진행 상태 AUTH_WAITING(승인 대기) · AUTH_COMPLETED · COLLECTING(조회 중) · SUCCESS(완료) · FAILED · AUTH_EXPIRED · AUTH_REJECTED · PARTIAL_SUCCESS. resultAvailable=true이면 결과를 사용하세요. RESULT_EXPIRED는 errorCode입니다. data.resultAvailable 지금 응답에 쓸 수 있는 결과가 들어 있는지 true 이면 폴링을 멈추고 result 를 사용하세요. false는 대기 또는 종료 상태일 수 있으므로 status를 함께 확인하세요. data.success 이 응답이 결과 제공 응답인지 (1/0) 새 유료 결과 제공에서는 1, 무료 재조회에서는 0일 수 있습니다. 결과 유무는 resultAvailable로 판단하세요. 처리 시간 초과(408)에서는 3 이 오므로 "1 인지"로 비교하세요. data.charged · api.cost 이번 호출의 과금 여부·금액 과금 회계 확인용입니다. 성공 판정에 쓰지 마세요. 성공 판정 정본: data.resultAvailable === true이고 상태가 SUCCESS 또는 PARTIAL_SUCCESS 이면 성공입니다. resultAvailable=false인 경우 진행 중이거나 종료이며, 종료 상태는 사용자에게 다시 시도할지 물어보세요.

## 상세 예제

인증 대기중 (무과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "hometax_biz_bundle", "status": "AUTH_WAITING", "resultAvailable": false, "charged": false, "sources": [], "message": "인증 대기중입니다.", "expiresAt": "2026-09-20T05:24:07+09:00", "success": 0 }, "api": { "success": true, "cost": 0, "ms": 42, "pl_id": -1 } } 조회 중 (무과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "hometax_biz_bundle", "status": "COLLECTING", "resultAvailable": false, "charged": false, "sources": [], "progress": { "total": 15, "completed": 0 }, "message": "정보를 조회하고 있습니다.", "success": 0 }, "api": { "success": true, "cost": 0, "ms": 38, "pl_id": -1 } } 조회 완료 (과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "hometax_biz_bundle", "status": "SUCCESS", "resultAvailable": true, "charged": true, "sources": [ { "source": "사업자 매출조회","type": "BUSINESS_SALES", "status": "SUCCESS" }, { "source": "사업자 매입조회","type": "BUSINESS_PURCHASE", "status": "SUCCESS" }, { "source": "사업자등록증명","type": "BUSINESS_REGISTRATION_CERT", "status": "SUCCESS" }, { "source": "부가가치세 과세표준증명","type": "VAT_TAX_BASE_CERT", "status": "SUCCESS" }, { "source": "표준재무제표증명","type": "FINANCIAL_STATEMENT_CERT", "status": "SUCCESS" }, { "source": "폐업사실증명","type": "CLOSURE_CERT", "status": "SUCCESS" }, { "source": "납세증명서","type": "TAX_CLEARANCE_CERT", "status": "SUCCESS" }, { "source": "전자세금계산서 매출내역 조회","type": "ETAX_SALES_LIST", "status": "SUCCESS" }, { "source": "전자세금계산서 매입내역 조회","type": "ETAX_PURCHASE_LIST", "status": "SUCCESS" }, { "source": "전자세금계산서 매출 합계표 조회","type": "ETAX_SALES_SUMMARY", "status": "SUCCESS" }, { "source": "전자세금계산서 매입 합계표 조회","type": "ETAX_PURCHASE_SUMMARY", "status": "SUCCESS" }, { "source": "전자세금계산서 매입·매출 통계 조회","type": "ETAX_STATS", "status": "SUCCESS" }, { "source": "전자세금계산서 거래처 목록 조회","type": "ETAX_CLIENT_LIST", "status": "SUCCESS" }, { "source": "전자세금계산서 내품목 목록 조회","type": "ETAX_ITEM_LIST", "status": "SUCCESS" }, { "source": "전자세금계산서 전송 상태 조회","type": "ETAX_STATUS", "status": "SUCCESS" } ], "checkedAt": "2026-09-20T04:47:33+09:00", "resultExpiresAt": "2026-09-21T04:47:33+09:00", "result": { "businessSales": { "사업자등록번호": "1234567890", "귀속연도": "2025", "반기": "상반기", "매출건수": 12, "매출공급가액": 12800000, "매출세액": 1280000, "매출합계금액": 14080000 }, "businessPurchase": { "사업자등록번호": "1234567890", "귀속연도": "2025", "반기": "상반기", "매입건수": 8, "매입공급가액": 6400000, "매입세액": 640000, "매입합계금액": 7040000 }, "businessRegistrationCert": { "문서확인번호": "0000-0000-0000-0000" }, "vatTaxBaseCert": { "문서확인번호": "0000-0000-0000-0000", "귀속연도": "2025" }, "financialStatementCert": { "문서확인번호": "0000-0000-0000-0000", "귀속연도": "2025" }, "closureCert": { "문서확인번호": "0000-0000-0000-0000" }, "taxClearanceCert": { "문서확인번호": "0000-0000-0000-0000" }, "etaxSalesList": { "사업자등록번호": "1234567890", "구분": "매출", "조회기간": { "시작": "20260701", "끝": "20260930" }, "건수": 12, "합계": { "공급가액": 12800000, "세액": 1280000, "합계금액": 14080000 }, "장부반영건수": 12, "초과분있음": false, "문서": [ { "승인번호": "20260701-41000001-12345678", "작성일자": "20260701", "거래처사업자번호": "9876543210", "거래처상호": "주식회사 예시", "공급가액": 1000000, "세액": 100000, "합계금액": 1100000, "전송상태": "전송완료", "수정구분": "NORMAL", "수정사유": "", "원본승인번호": "", "품목": [ { "품목명": "컨설팅 용역", "규격": "", "수량": 1, "단가": 1000000, "공급가액": 1000000, "세액": 100000 } ] } ] }, "etaxPurchaseList": { "사업자등록번호": "1234567890", "구분": "매입", "조회기간": { "시작": "20260701", "끝": "20260930" }, "건수": 8, "합계": { "공급가액": 6400000, "세액": 640000, "합계금액": 7040000 }, "장부반영건수": 8, "초과분있음": false, "문서": [ { "승인번호": "20260701-41000001-12345678", "작성일자": "20260701", "거래처사업자번호": "9876543210", "거래처상호": "주식회사 예시", "공급가액": 800000, "세액": 80000, "합계금액": 880000, "전송상태": "전송완료", "수정구분": "NORMAL", "수정사유": "", "원본승인번호": "", "품목": [ { "품목명": "원자재", "규격": "", "수량": 10, "단가": 80000, "공급가액": 800000, "세액": 80000 } ] } ] }, "etaxSalesSummary": { "사업자등록번호": "1234567890", "구분": "매출", "조회기간": { "시작": "20260701", "끝": "20260930" }, "거래처수": 15, "건수": 42, "합계": { "공급가액": 12800000, "세액": 1280000, "합계금액": 14080000 }, "거래처": [ { "사업자등록번호": "9876543210", "상호": "주식회사 예시", "건수": 3, "공급가액": 3000000, "세액": 300000, "합계금액": 3300000, "수취구분": "사업자등록번호" } ] }, "etaxPurchaseSummary": { "사업자등록번호": "1234567890", "구분": "매입", "조회기간": { "시작": "20260701", "끝": "20260930" }, "거래처수": 9, "건수": 21, "합계": { "공급가액": 6400000, "세액": 640000, "합계금액": 7040000 }, "거래처": [ { "사업자등록번호": "9876543210", "상호": "주식회사 예시", "건수": 2, "공급가액": 1600000, "세액": 160000, "합계금액": 1760000, "수취구분": "사업자등록번호" } ] }, "etaxStats": { "사업자등록번호": "1234567890", "조회기간": { "시작": "202601", "끝": "202609" }, "월수": 9, "합계": { "매출건수": 120, "매출공급가액": 48000000, "매출세액": 4800000, "매입건수": 86, "매입공급가액": 31000000, "매입세액": 3100000 }, "월별": [ { "귀속월": "202601", "매출거래처수": 3, "매출건수": 5, "매출공급가액": 2100000, "매출세액": 210000, "매입거래처수": 18, "매입건수": 23, "매입공급가액": 17643024, "매입세액": 1764303 } ] }, "etaxClientList": { "사업자등록번호": "1234567890", "검색어": "", "거래처수": 68, "거래처": [ { "사업자등록번호": "220-81-01733", "상호": "주식회사 예시", "대표자": "홍길동", "주소": "서울특별시 마포구 독막로 311", "업태": "서비스", "종목": "소프트웨어 개발", "수취구분": "사업자등록번호", "등록일": "20250826", "변경일": "20250826" } ] }, "etaxItemList": { "사업자등록번호": "1234567890", "검색어": "", "품목수": 12, "품목": [ { "품목코드": "ITM001", "품목명": "자문 용역", "규격": "", "단위": "건", "단가": 1100000, "비고": "", "등록일": "20250826", "변경일": "20250826" } ] }, "etaxStatus": { "확인건수": 3, "확인시각": "2026-10-26T14:20:00.000Z", "상태": [ { "승인번호": "20261026-41000001-12345678", "구분": "매출", "전송상태": "전송완료", "상태코드": "" } ], "장부에없는승인번호": [] } }, "message": "인증이 완료되었습니다.", "success": 1 }, "api": { "success": true, "cost": 0, "ms": 318, "pl_id": 4903 } } 위 값은 응답 구조를 보여주기 위한 예시입니다. 값은 가상이지만 필드 구성과 타입은 실제 응답과 같습니다. 전체 항목은 결과 규격을 참고하세요. expiresAt 은 SUCCESS 응답에 없습니다. 인증 대기 기한(AUTH_WAITING)에만 있고, 결과를 받은 뒤에는 resultExpiresAt 이 그 역할을 대신합니다. 둘 중 어느 것이 오는지로 "지금이 승인 대기인지 결과 보관 기간인지"를 구분할 수 있습니다.
