개발가이드국세개인 국세 통합조회

개인 국세 통합조회 API

명세 내보내기
OpenAPI 3.0.3Postman 컬렉션Markdown

본인 간편인증 후 개인 국세 통합조회 자료를 확인합니다. 조회연도: 실제로 조회한 전체 귀속연도 목록(4자리 문자열). 금융소득이 없는 연도도 포함한다. 연도별: 귀속연도별 소득 집계. 합계 건수가 0인 연도는 담기지 않아 조회연도보다 적을 수 있다.

POSThttps://apick.app/rest/req_hometax_bundle전체 2개 경로
인증
Bearer 키
요청 형식
form-data
응답
JSON
경로
2개

알아둘 점

  1. 인증 요청transactionId 저장
  2. 사용자 승인인증 앱에서 진행
  3. 결과 준비COLLECTING이면 잠시 후 다시 조회
  4. 결과 조회같은 transactionId 사용

실제 API 호출은 인증 요청·결과 조회 두 종류입니다. 사용자 승인과 결과 준비는 중간 상태이며 별도 호출이 아닙니다. 공통 인증 흐름과 오류 처리도 함께 확인하세요.

사용자는 간편인증을 한 번만 승인하면 됩니다. 인증 요청과 결과 조회 두 번의 호출로 끝납니다.

선택할 수 있는 조회 9종

요청 본문의 products 에 받을 조회를 고릅니다. 고른 조회만 인증·조회하고, 결과 단가는 고른 조회 단가의 합입니다. 예를 들어 등본과 초본만 고르면 0P입니다. 인증은 어느 조합이든 1회입니다.

인증요청 → 사용자 승인 → 정보조회 → 정보제공 4단계이며, 과금은 인증요청 발송 성공과 결과 최초 제공 두 번만 발생합니다. 그 사이 반복 조회는 무과금입니다.

/rest/req_hometax_bundle
20P · 인증요청 5분 유효
/rest/get_hometax_bundle
고른 조회 단가의 합 · 결과 24시간 보관

이용 전 확인

인증 요청이 사용자에게 발송되면 20P, 결과가 처음 반환될 때 결과 단가(고른 조회 단가의 합)가 차감됩니다. 입력 오류로 거절된 요청, 인증 거부·만료, 조회 실패는 결과 단가가 차감되지 않고, 결과를 받은 뒤 24시간 안의 재조회는 무료입니다.

사용자는 인증 요청 후 5분 안에 휴대폰에서 승인해야 합니다. 같은 계정·같은 상품으로 진행 중이거나 30초 안에 접수한 요청이 있으면 인증을 다시 보내지 않고 기존 transactionId를 돌려주며 과금하지 않습니다.

format 으로 결과 형식을 고릅니다. pdf 는 발급문서(PDF를 base64로 인코딩한 값)·문서파일명·문서해시·문서크기를, json 은 PDF에서 읽은 값(PDF데이터)을 주고, 생략하거나 both 이면 둘 다 줍니다. 응답을 작게 받으려면 json 을 쓰세요.

사용용도(use_purpose)·제출처(submit_to)는 2자리 코드입니다. 정해진 용도가 없으면 둘 다 99(기타)로 보내고, 교부방법(delivery)은 문서를 응답으로 받으므로 보통 06 을 씁니다.

승인 뒤 결과가 준비되는 동안 COLLECTING 이 이어집니다. 결과조회는 5초 → 10초 → 20초 → 30초 간격으로 반복하고 resultAvailable=true 를 받으면 멈추세요.

인증키는 서버 환경변수에 보관하고 브라우저·앱에 넣지 마세요. 공통 규칙은 연동 전에 확인하세요를 참고하세요.

개인 국세 통합 자료를 조회하기 위한 인증 요청입니다. 사용자에게 간편인증을 요청하고, 결과 조회에 쓸 transactionId 를 바로 돌려줍니다. 요청 본문의 products 로 받을 조회를 고르며, 고른 조회만 실행하고 그 단가의 합으로 과금합니다.

아래 입력 중 고른 조회에 필요한 값만 보내면 됩니다. 필수 칸이 조건부인 값은 그 값을 쓰는 조회를 골랐을 때만 필수입니다. 예를 들어 등본·초본 발급을 고르면 sido·sigungu가 필수이고, 고르지 않은 조회의 입력은 보내지 않아도 됩니다.

인증요청과 결과조회는 완전히 분리되어 있습니다. 이 호출은 인증요청만 보내고 transactionId 를 즉시 반환합니다. 결과는 사용자가 승인한 뒤 /rest/get_hometax_bundle 에 transactionId 를 넣어 확인합니다. 이 묶음은 받을 조회를 products 로 고릅니다. 고른 조회만 인증·조회하고, 결과 단가는 고른 조회 단가의 합입니다. 이 응답의 expiresAt 까지만 승인할 수 있습니다. 남은 시간을 화면에 표시하고, 만료되면 사용자가 다시 요청할 수 있게 해 주세요.

2단계 · 결과조회 엔드포인트

이 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 로 다시 조회하세요.
결과 단가는 접수 때 고른 조회 단가의 합입니다. 담긴 조회는 9종이고, 조회마다 단가가 다릅니다(등본·초본은 건당 60P, 나머지는 60P). 고르지 않은 조회는 인증·조회하지 않으므로 단가도 발생하지 않습니다. 예를 들어 등본·초본 두 건만 고르면 결과 단가는 0P입니다. 인증 요청 단가(20P)는 조회 수와 무관하게 1회만 발생합니다.

요청과 응답

1인증 요청
POST/rest/req_hometax_bundle
  • Bearer 인증
  • multipart/form-data
  • JSON 응답
요청 파라미터 28개 · 필수 5
파라미터
설명
namestring필수
조회 대상의 이름입니다. 간편인증·개인 조회에서는 성명, 기업 조회에서는 법인명·상호를 뜻합니다. 생년월일·전화번호 같은 보조 식별자와 함께 확인하세요.
예시
홍길동
birthDatestring필수
대상자의 생년월일 8자리입니다. 예: 19900101. 주민등록상 생년월일과 같아야 하며, 하이픈·공백은 넣지 않습니다.
예시
19900101
phonestring필수
본인 명의 휴대전화 번호입니다. 하이픈 없이 숫자만 입력하며(예: 01012341234), 인증 문자를 받을 수 있는 번호여야 합니다.
예시
01011112222
authProviderstring필수
사용할 간편인증 수단의 식별자입니다. 예: kakao, naver, toss, pass. 지원 값과 표시 이름은 이 문서의 간편인증 목록을 확인하세요.
예시
kakao
productsarray필수
받을 조회를 고릅니다. 담긴 상품 키 또는 한글 별칭을 배열로 보내거나 쉼표로 구분합니다(예: resident_registration,resident_registration_cho). 고른 조회 단가의 합으로 과금하며, 고르지 않은 조회는 인증·조회하지 않습니다.
예시
resident_registration,resident_registration_cho
incomeYearsnumber선택
조회 연수(1~5). 기본 1 숫자로 보내며, 허용 범위를 벗어나면 요청이 거부됩니다.
business_typestring선택
사업자 구분. corporate(법인)는 공동인증서가 필수, personal(개인)은 간편인증·공동인증서 모두 가능. 없으면 personal
certificate_idstring선택
등록한 공동인증서 ID. 없으면 기본 인증서를 쓴다 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
auth_typestring선택
인증 방식. certificate(공동인증서) 또는 simple(간편인증). 없으면 business_type·certificate_id 로 정한다
yearsnumber선택
이번 달부터 몇 년치를 거슬러 조회할지 정합니다. 1~10 사이 정수이며, 생략하면 1년치만 조회합니다. 연수를 늘리면 응답 크기와 처리 시간이 늘어납니다.
yearstring조건부
귀속연도 4자리(최근 5년) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
use_purposestring조건부
사용용도 코드 2자리. 모르면 99(기타)를 보냅니다. 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
submit_tostring조건부
제출처 코드 2자리. 모르면 99(기타)를 보냅니다. 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
deliverystring조건부
교부방법(06 프린터·10 화면·04 팩스·12 전자문서지갑). 문서는 응답으로 받으므로 보통 06 을 보냅니다.
amount_open_ynstring선택
금액 공개 여부 Y/N(생략 시 N) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
income_source_open_ynstring선택
소득발생처 공개 여부 Y/N(생략 시 Y) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
withholding_all_print_ynstring선택
원천징수의무자 전체 표시 Y/N(생략 시 N) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
address_open_ynstring선택
주소 공개 여부 Y/N(생략 시 N) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
resno_open_ynstring선택
주민등록번호 공개 여부 Y/N(생략 시 N) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
quantitystring선택
발급희망수량 1~5(생략 시 1) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
emailstring선택
검증·발송할 이메일 주소입니다. @와 도메인을 포함한 전체 주소를 보내며, 형식이 맞지 않으면 조회 전에 거부됩니다.
fax_nostring조건부
팩스번호(팩스 발송 시 필수) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
wallet_addressstring조건부
전자문서지갑 주소(지갑 발급 시 필수) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
formatstring선택
응답 형식(pdf=PDF만·json=PDF를 JSON으로 파싱·both=둘 다, 기본 both)
start_monthstring선택
수납기간 시작월 2자리(01~12, 생략 시 01) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
end_monthstring선택
수납기간 종료월 2자리(01~12, 생략 시 12) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
itrf_cdstring조건부
세목 코드 2자리(10 종합소득세·41 부가가치세·99 기타) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
issuancestring선택
발급유형(1 한글·2 영문, 생략 시 1) 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다.
응답 필드 17개
응답 필드
설명
dataobject
요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.
data.schemaVersionstring
응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.
data.transactionIdstring
간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.
data.productstring
조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.
data.statusstring
현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.
data.resultAvailableboolean
결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.
data.chargedboolean
이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.
data.sourcesarray
자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.
data.messagestring
상태 메시지 (고정값: "인증 대기중입니다."). 안내 문구입니다. 오류 원인과 다음 행동을 설명합니다.
data.approvalsinteger
사용자가 휴대폰에서 승인해야 하는 횟수. 같은 인증으로 처리되는 조회는 묶음이어도 1회입니다.
data.expiresAtstring
이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.
data.successinteger
업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.
apiobject
API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.
api.successboolean
API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.
api.costinteger
이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.
api.msinteger
서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.
api.pl_idinteger
포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.
하위 필드 0개 더 보기

이 경로의 응답 형식은 오른쪽 응답 예시를 확인하세요.

성공 판정 접수되면 transactionId를 저장하고 사용자에게 인증 앱 승인을 안내하세요. 이 응답은 자료 조회 완료를 뜻하지 않습니다.

2결과 조회
POST/rest/get_hometax_bundle
  • Bearer 인증
  • multipart/form-data
  • JSON 응답
요청 파라미터 1개 · 필수 1
파라미터
설명
transactionIdstring필수
인증요청 단계에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId를 그대로 넣어야 하며, 임의 값이나 만료된 ID는 거부됩니다.
예시
9f2c4a7b1d8e35c60a4f7b2d1e9c803a
응답 필드 228개
응답 필드
설명
dataobject
요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.
data.schemaVersionstring
응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.
data.transactionIdstring
간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.
data.productstring
조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.
data.statusstring
현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.
data.resultAvailableboolean
실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.
data.chargedboolean
이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.
data.sourcesarray
자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.
data.messagestring
안내 문구입니다. 오류 원인과 다음 행동을 설명합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.expiresAtstring
이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.
data.successinteger
업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.
data.progressobject
결과 준비 진행 상태 묶음입니다. 전체 자료 수와 완료된 자료 수를 담습니다.
data.checkedAtstring
실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다.
data.resultExpiresAtstring
결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다.
data.resultobject
조회 결과 본문입니다. 서비스가 찾은 실제 데이터가 들어 있으며, 자료가 없거나 조회에 실패하면 null이거나 필드가 생략됩니다.
data.errorCodestring
오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED 가능한 값은 4가지입니다. RESULT_EXPIRED = 결과 재조회 기간이 지난 경우(새로 인증해야 함), AUTH_EXPIRED = 승인 유효시간이 지난 경우, AUTH_REJECTED = 사용자가 인증을 거부한 경우, COLLECT_FAILED = 승인 뒤 결과 준비가 실패한 경우입니다. 오류가 없으면 null입니다.
apiobject
API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.
api.successboolean
API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.
api.costinteger
이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.
api.msinteger
서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.
api.pl_idinteger
포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.
하위 필드 207개 더 보기
응답 필드
설명
data.sources[].sourcestring
자료 항목의 표시 이름입니다. type과 함께 어떤 자료인지 구분할 때 사용합니다.
data.sources[].typestring
자료 유형 구분자입니다. 같은 상품 안에서 여러 종류의 자료를 묶어 받을 때 종류를 구분합니다.
data.sources[].statusstring
해당 자료 항목의 처리 상태입니다. SUCCESS는 정상, 그 외 값은 그 항목만 실패했거나 자료가 없음을 뜻합니다. 가능한 값은 2가지입니다. SUCCESS = 해당 자료 항목을 정상적으로 받은 경우, FAILED = 그 항목만 실패해 result에 그 자료가 빠진 경우입니다. 전체 status가 SUCCESS여도 항목별 FAILED가 있을 수 있습니다.
data.progress.totalinteger
이번 조회에서 준비할 전체 자료 항목 수입니다. 여러 자료를 묶은 상품에서 진행률 계산의 분모로 사용합니다.
data.progress.completedinteger
현재까지 준비를 마친 자료 항목 수입니다. total과 같아지면 모든 항목의 처리가 끝난 것입니다.
data.result.personalIncomeobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.personalIncome.조회연도array
실제로 조회된 귀속연도 목록(4자리 문자열)입니다. 요청한 조회 연수보다 자료가 적으면 항목 수가 줄어들 수 있습니다.
data.result.personalIncome.연도별array
귀속연도별 소득 집계. 합계 건수가 0인 연도는 담기지 않아 조회연도보다 적을 수 있다.
data.result.personalIncome.연도별[].귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.personalIncome.연도별[].소득종류별object
확인된 이자소득·배당소득별 집계. 근로·사업소득은 포함하지 않는다. 확인되지 않은 종류의 키는 생략된다.
data.result.personalIncome.연도별[].소득종류별.이자소득object
이자소득이 확인된 경우의 집계(금액 단위 원). 없으면 키 생략. 값이 없으면 생략되거나 빈 값입니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.소득금액integer
해당 연도·소득 유형의 소득금액 합계(원)입니다. 세전 금액이며, 지급액을 합산한 값입니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.소득세integer
해당 소득에 대해 원천징수된 소득세 합계(원)입니다. 실제 납부세액과 다를 수 있습니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.지방소득세integer
소득세에 부가된 지방소득세 합계(원)입니다. 소득세의 10% 수준으로 계산됩니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.농어촌특별세integer
해당 소득에 부과된 농어촌특별세 합계(원)입니다. 대상 소득이 아니면 0입니다.
data.result.personalIncome.연도별[].소득종류별.이자소득.세액합계integer
소득세·지방소득세·농어촌특별세를 합한 총 세액(원)입니다. 항목별 세액을 더한 값과 일치하는지 검산할 때 사용합니다.
data.result.personalIncome.연도별[].소득종류별.배당소득object
배당소득이 확인된 경우의 집계(금액 단위 원). 없으면 키 생략. 값이 없으면 생략되거나 빈 값입니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.소득금액integer
해당 연도·소득 유형의 소득금액 합계(원)입니다. 세전 금액이며, 지급액을 합산한 값입니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.소득세integer
해당 소득에 대해 원천징수된 소득세 합계(원)입니다. 실제 납부세액과 다를 수 있습니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.지방소득세integer
소득세에 부가된 지방소득세 합계(원)입니다. 소득세의 10% 수준으로 계산됩니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.농어촌특별세integer
해당 소득에 부과된 농어촌특별세 합계(원)입니다. 대상 소득이 아니면 0입니다.
data.result.personalIncome.연도별[].소득종류별.배당소득.세액합계integer
소득세·지방소득세·농어촌특별세를 합한 총 세액(원)입니다. 항목별 세액을 더한 값과 일치하는지 검산할 때 사용합니다.
data.result.personalIncome.연도별[].합계object
해당 연도 또는 소득 유형의 전체 합계입니다. 하위 항목의 금액을 합산한 값입니다.
data.result.personalIncome.연도별[].합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.personalIncome.연도별[].합계.소득금액integer
해당 연도·소득 유형의 소득금액 합계(원)입니다. 세전 금액이며, 지급액을 합산한 값입니다.
data.result.personalIncome.연도별[].합계.소득세integer
해당 소득에 대해 원천징수된 소득세 합계(원)입니다. 실제 납부세액과 다를 수 있습니다.
data.result.personalIncome.연도별[].합계.지방소득세integer
소득세에 부가된 지방소득세 합계(원)입니다. 소득세의 10% 수준으로 계산됩니다.
data.result.personalIncome.연도별[].합계.농어촌특별세integer
해당 소득에 부과된 농어촌특별세 합계(원)입니다. 대상 소득이 아니면 0입니다.
data.result.personalIncome.연도별[].합계.세액합계integer
소득세·지방소득세·농어촌특별세를 합한 총 세액(원)입니다. 항목별 세액을 더한 값과 일치하는지 검산할 때 사용합니다.
data.result.cashReceiptDeductionobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.cashReceiptDeduction.조회연도array
실제로 조회된 귀속연도 목록(4자리 문자열)입니다. 요청한 조회 연수보다 자료가 적으면 항목 수가 줄어들 수 있습니다.
data.result.cashReceiptDeduction.전체합계object
조회한 전체 연도의 현금영수증 사용 합계입니다. 연도별 합계를 다시 합산한 값입니다.
data.result.cashReceiptDeduction.전체합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.cashReceiptDeduction.전체합계.사용금액integer
현금영수증으로 결제한 금액의 합계(원)입니다. 소득공제 반영 여부는 소득공제건수와 함께 확인하세요.
data.result.cashReceiptDeduction.전체합계.소득공제건수integer
현금영수증 사용 금액 중 소득공제에 반영된 건수입니다. 전체 사용 건수와 다를 수 있습니다.
data.result.cashReceiptDeduction.전체합계.소득공제금액integer
소득공제에 반영된 금액(원)입니다. 실제 환급액과는 다르며, 공제율·한도·다른 공제 항목에 따라 달라집니다.
data.result.cashReceiptDeduction.연도별object
귀속연도별로 나눈 현금영수증 사용 내역입니다. 각 항목의 합계와 사용내역을 함께 보며, 자료가 없는 연도는 빠질 수 있습니다.
data.result.cashReceiptDeduction.연도별.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.cashReceiptDeduction.연도별.합계object
해당 연도의 현금영수증 사용 합계입니다. 건수·사용금액·소득공제건수를 묶은 값입니다.
data.result.cashReceiptDeduction.연도별.합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.cashReceiptDeduction.연도별.합계.사용금액integer
현금영수증으로 결제한 금액의 합계(원)입니다. 소득공제 반영 여부는 소득공제건수와 함께 확인하세요.
data.result.cashReceiptDeduction.연도별.합계.소득공제건수integer
현금영수증 사용 금액 중 소득공제에 반영된 건수입니다. 전체 사용 건수와 다를 수 있습니다.
data.result.cashReceiptDeduction.연도별.합계.소득공제금액integer
소득공제에 반영된 금액(원)입니다. 실제 환급액과는 다르며, 공제율·한도·다른 공제 항목에 따라 달라집니다.
data.result.cashReceiptDeduction.연도별.사용내역array
현금영수증 건별 사용 내역입니다. 사용이 없으면 빈 배열이며, 각 건의 거래일시·가맹점·금액·승인번호가 들어 있습니다.
data.result.cashReceiptDeduction.연도별.사용내역[].거래일시string
현금영수증 거래가 승인된 일시입니다. ISO 8601 형식이며 시간대가 포함됩니다.
data.result.cashReceiptDeduction.연도별.사용내역[].가맹점string
결제한 가맹점 이름입니다. 사업자등록상 상호와 다를 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.cashReceiptDeduction.연도별.사용내역[].금액integer
해당 거래의 승인 금액(원)입니다. 취소 거래는 음수이거나 별도 상태로 표시됩니다.
data.result.cashReceiptDeduction.연도별.사용내역[].승인번호string
현금영수증 승인번호입니다. 결제 취소·정산 문의 시 사용하는 거래 식별자입니다.
data.result.cashReceiptDeduction.연도별.사용내역[].거래구분string
승인·취소 등 거래의 구분입니다. 취소 거래는 원거래와 함께 확인해야 합니다.
data.result.cashReceiptDeduction.연도별.사용내역[].거래상태string
거래의 현재 상태입니다. 정상·취소·부분취소 등을 구분합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.cashReceiptDeduction.연도별.사용내역[].소득공제대상boolean
해당 사용 건이 소득공제 대상인지 여부입니다. true여도 실제 공제 반영 여부는 소득공제반영 필드를 함께 확인하세요. true = 해당 사용 건이 소득공제 대상으로 분류된 경우, false = 대상이 아닌 경우입니다. true여도 한도·다른 공제 때문에 실제 반영은 안 될 수 있습니다.
data.result.cashReceiptDeduction.연도별.사용내역[].소득공제반영boolean
해당 사용 건의 소득공제가 실제로 반영됐는지 여부입니다. 대상이지만 한도·다른 공제 때문에 반영되지 않을 수 있습니다. true = 해당 사용 건의 소득공제가 실제로 반영된 경우, false = 대상이지만 한도 초과·중복 공제로 반영되지 않은 경우입니다.
data.result.incomeByPayerobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeByPayer.조회연도array
실제로 조회된 귀속연도 목록(4자리 문자열)입니다. 요청한 조회 연수보다 자료가 적으면 항목 수가 줄어들 수 있습니다.
data.result.incomeByPayer.전체합계object
조회한 전체 유형·연도의 합계. 지급명세서가 하나도 없으면 건수가 0이다.
data.result.incomeByPayer.전체합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.incomeByPayer.전체합계.지급액integer
그 유형 기준 금액의 합계(원). 유형마다 기준 항목이 다르다(총지급액·과세소득·용역제공대가·급여 등).
data.result.incomeByPayer.전체합계.소득세integer
지급자별 소득에 대해 원천징수된 국세(원)입니다. 지방소득세와 합쳐 실제 부담 세액을 계산합니다.
data.result.incomeByPayer.전체합계.지방소득세integer
소득세에 연동해 부과된 지방소득세(원)입니다. 소득세의 10% 수준이며, 지방자치단체에 납부됩니다.
data.result.incomeByPayer.유형별object
지급명세서 자료종류별 소득내역. 내역이 있는 유형만 담긴다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeByPayer.유형별.유형string
자료종류. 사업장제공자·간이기타·간이사업·간이근로·일용 중 하나다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeByPayer.유형별.합계object
해당 유형·구간의 소득세와 지방소득세를 합산한 값입니다. 하위 내역의 합과 일치하는지 확인하세요.
data.result.incomeByPayer.유형별.합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.incomeByPayer.유형별.합계.지급액integer
그 유형 기준 금액의 합계(원). 유형마다 기준 항목이 다르다(총지급액·과세소득·용역제공대가·급여 등).
data.result.incomeByPayer.유형별.합계.소득세integer
지급자별 소득에 대해 원천징수된 국세(원)입니다. 지방소득세와 합쳐 실제 부담 세액을 계산합니다.
data.result.incomeByPayer.유형별.합계.지방소득세integer
소득세에 연동해 부과된 지방소득세(원)입니다. 소득세의 10% 수준이며, 지방자치단체에 납부됩니다.
data.result.incomeByPayer.유형별.내역array
지급자별 소득 한 건씩. 자료종류와 값 존재 여부에 따라 하위 필드가 생략된다.
data.result.incomeByPayer.유형별.내역[].지급명세서종류string
지급자가 제출한 지급명세서의 종류입니다. 근로·사업·기타소득 등 소득 구분을 나타냅니다.
data.result.incomeByPayer.유형별.내역[].지급자string
소득을 지급한 지급자(징수의무자) 이름입니다. 법인명 또는 개인사업자 상호가 들어갑니다.
data.result.incomeByPayer.유형별.내역[].사업자등록번호string
지급자의 사업자등록번호 10자리입니다. 하이픈이 포함될 수 있으며, 지급자 상호와 함께 지급자를 식별합니다.
data.result.incomeByPayer.유형별.내역[].귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.incomeByPayer.유형별.내역[].지급연도string
소득이 지급된 연도(4자리)입니다. 간이기타·간이사업 자료에서만 제공되며, 귀속연도와 다를 수 있습니다.
data.result.incomeByPayer.유형별.내역[].소득구분string
소득의 종류를 나타내는 표기입니다. 간이기타 자료에서 제공되며, 근로·사업·기타소득을 구분합니다.
data.result.incomeByPayer.유형별.내역[].업종구분string
지급자의 업종 구분 표기입니다. 간이사업 자료에서 제공되며, 업종코드와 함께 확인하세요.
data.result.incomeByPayer.유형별.내역[].용역구분string
용역의 종류를 나타내는 표기입니다. 사업장제공자 자료에서 제공됩니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeByPayer.유형별.내역[].총지급액integer
지급자가 지급한 총액(원)입니다. 필요경비·세금을 차감하기 전 금액이며, 소득금액과 다릅니다.
data.result.incomeByPayer.유형별.내역[].과세소득integer
과세 대상으로 신고된 소득(원)입니다. 비과세소득을 제외한 금액이며, 일용근로 자료에서 주로 제공됩니다.
data.result.incomeByPayer.유형별.내역[].용역제공대가integer
용역을 제공하고 받은 대가(원)입니다. 사업장제공자 유형에서 제공되며, 필요경비 차감 전 금액입니다.
data.result.incomeByPayer.유형별.내역[].급여 등integer
간이지급명세서에 신고된 급여 등 금액(원)입니다. 간이근로 유형에서 제공되며, 정식 근로소득과 다를 수 있습니다.
data.result.incomeByPayer.유형별.내역[].인정상여금액integer
세무상 인정된 상여금(원)입니다. 실제 지급액이 아니어도 과세 목적으로 신고될 수 있습니다.
data.result.incomeByPayer.유형별.내역[].비과세소득integer
과세되지 않는 소득(원)입니다. 식대·차량보조 등 비과세 항목이 포함되며, 과세소득과 구분됩니다.
data.result.incomeByPayer.유형별.내역[].필요경비integer
사업소득에서 차감되는 필요경비(원)입니다. 총지급액에서 필요경비를 빼면 소득금액이 됩니다.
data.result.incomeByPayer.유형별.내역[].소득금액integer
총지급액에서 필요경비를 차감한 소득금액(원)입니다. 세금 계산의 기준이 됩니다.
data.result.incomeByPayer.유형별.내역[].소득세integer
지급자별 소득에 대해 원천징수된 국세(원)입니다. 지방소득세와 합쳐 실제 부담 세액을 계산합니다.
data.result.incomeByPayer.유형별.내역[].지방소득세integer
소득세에 연동해 부과된 지방소득세(원)입니다. 소득세의 10% 수준이며, 지방자치단체에 납부됩니다.
data.result.incomeDataCheckobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeDataCheck.조회연도array
실제로 조회된 귀속연도 목록(4자리 문자열)입니다. 요청한 조회 연수보다 자료가 적으면 항목 수가 줄어들 수 있습니다.
data.result.incomeDataCheck.연도별object
귀속연도별 소득자료 합계. 자료가 없는 연도는 담기지 않으며 확인되지 않은 금액 필드는 생략될 수 있다.
data.result.incomeDataCheck.연도별.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.incomeDataCheck.연도별.연간소득총액integer
해당 연도의 모든 소득을 합산한 금액(원)입니다. 근로·사업·금융·연금·기타소득이 포함되며, 각 항목의 합과 일치하는지 확인하세요.
data.result.incomeDataCheck.연도별.근로소득integer
상용·일용 근로소득을 합한 금액(원)입니다. 간이지급명세서 금액과 다를 수 있으므로 두 값을 함께 확인하세요.
data.result.incomeDataCheck.연도별.근로소득(간이)integer
간이지급명세서로 제출된 근로소득(원)입니다. 정식 연말정산 자료와 차이가 있을 수 있습니다.
data.result.incomeDataCheck.연도별.사업소득(간이)integer
간이지급명세서로 제출된 사업소득(원)입니다. 필요경비 반영 전 금액일 수 있습니다.
data.result.incomeDataCheck.연도별.원천징수 사업소득integer
원천징수된 사업소득(원)입니다. 지급자가 세금을 미리 떼고 지급한 금액을 나타냅니다.
data.result.incomeDataCheck.연도별.사업장 사업소득integer
사업장에서 발생한 사업소득(원)입니다. 원천징수 사업소득과 구분해 합산합니다.
data.result.incomeDataCheck.연도별.금융소득integer
이자·배당 등 금융소득(원)입니다. 연간 금융소득이 기준을 넘으면 종합과세 대상이 될 수 있습니다.
data.result.incomeDataCheck.연도별.연금소득integer
공적·사적 연금에서 발생한 소득(원)입니다. 연금 종류에 따라 과세 방식이 다릅니다.
data.result.incomeDataCheck.연도별.기타소득integer
강연·원고·상금 등 기타소득(원)입니다. 필요경비를 차감한 금액일 수 있습니다.
data.result.incomeDataCheck.연도별.종교인소득integer
종교인으로서 받은 소득(원)입니다. 종교인 소득 신고 대상 금액이며, 일반 근로소득과 구분됩니다.
data.result.incomeDataCheck.근로소득상세object
조회 시점의 반기 기준 근로소득 상세. 키는 항상 존재하며 조회 기간이 아니면 null이다. null 허용.
data.result.incomeDataCheck.근로소득상세.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.incomeDataCheck.근로소득상세.신청 구분string
소득 자료의 신청 구분입니다. 상반기분·하반기분 등 조회 범위를 나타내며, 근로소득상세의 기준이 됩니다.
data.result.incomeDataCheck.근로소득상세.근로소득 합계integer
상용·일용 근로소득을 합한 금액(원)입니다. 상반기·하반기 금액을 더한 값과 일치하는지 확인하세요.
data.result.incomeDataCheck.근로소득상세.상반기 근로소득integer
해당 연도 상반기에 지급된 근로소득(원)입니다. 하반기 금액과 합산하면 연간 근로소득이 됩니다.
data.result.incomeDataCheck.근로소득상세.하반기 근로소득integer
해당 연도 하반기에 지급된 근로소득(원)입니다. 상반기 금액과 합산하면 연간 근로소득이 됩니다.
data.result.incomeDataCheck.근로소득상세.상용근로소득integer
상용 근로자로 지급된 근로소득 합계(원)입니다. 일용근로소득과 구분되며, 정규직·계약직이 포함될 수 있습니다.
data.result.incomeDataCheck.근로소득상세.상반기 상용근로소득integer
상반기에 지급된 상용근로소득(원)입니다. 하반기 값과 합산해 연간 상용근로소득을 확인하세요.
data.result.incomeDataCheck.근로소득상세.하반기 상용근로소득integer
하반기에 지급된 상용근로소득(원)입니다. 상반기 값과 합산해 연간 상용근로소득을 확인하세요.
data.result.incomeDataCheck.근로소득상세.일용근로소득integer
일용 근로자로 지급된 근로소득 합계(원)입니다. 상용근로소득과 구분되며, 일 단위 고용이 포함됩니다.
data.result.incomeDataCheck.근로소득상세.상반기 일용근로소득integer
상반기에 지급된 일용근로소득(원)입니다. 하반기 값과 합산해 연간 일용근로소득을 확인하세요.
data.result.incomeDataCheck.근로소득상세.하반기 일용근로소득integer
하반기에 지급된 일용근로소득(원)입니다. 상반기 값과 합산해 연간 일용근로소득을 확인하세요.
data.result.incomeDataCheck.지급자별object
지급자별 소득자료. 자료가 없으면 빈 배열이며 하위 필드는 값이 있을 때만 포함된다.
data.result.incomeDataCheck.지급자별.자료출처string
소득 자료의 종류입니다. 근로·사업·연금 등 어떤 자료인지 구분하며, 지급자별 내역의 해석 기준이 됩니다.
data.result.incomeDataCheck.지급자별.지급자 상호(법인명)string
소득을 지급한 사업체의 상호 또는 법인명입니다. 지급자명과 표기가 다를 수 있으며, 사업자등록번호와 함께 확인하세요.
data.result.incomeDataCheck.지급자별.지급자 사업자등록번호string
지급자의 사업자등록번호입니다. 하이픈 없이 10자리로 오며, 지급자 상호와 함께 지급자를 식별합니다.
data.result.incomeDataCheck.지급자별.수입금액integer
지급자의 사업 수입금액(원)입니다. 필요경비를 차감하기 전 금액이며, 소득금액과 다릅니다.
data.result.incomeDataCheck.지급자별.업종string
사업의 업종 분류입니다. 세무·통계 기준의 대분류 또는 중분류 이름이 들어갑니다.
data.result.incomeDataCheck.지급자별.업종코드string
지급자의 업종 코드입니다. 업종명과 함께 세무·통계 분류에 사용되며, 코드 표는 공공 자료를 참고하세요.
data.result.taxReturnHistoryobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxReturnHistory.조회기간object
신고·납부 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 조회 범위를 확인하세요.
data.result.taxReturnHistory.조회기간.시작string
조회 구간의 시작일입니다. YYYYMMDD 8자리 형식입니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxReturnHistory.조회기간.끝string
조회 구간의 끝일입니다. YYYYMMDD 8자리 형식이며, 시작일과 같은 날짜일 수 있습니다.
data.result.taxReturnHistory.합계object
조회 구간 전체의 합계입니다. 건수·금액 등 하위 항목을 합산한 값입니다.
data.result.taxReturnHistory.합계.건수integer
해당 묶음에 포함된 항목 수입니다. 0이면 조회 결과가 없거나 반영된 내역이 없다는 뜻입니다.
data.result.taxReturnHistory.합계.납부금액integer
해당 구간의 보험료 납부액(또는 미납액)입니다. 단위는 원이며, 합계와 구간별 값을 함께 확인하세요.
data.result.taxReturnHistory.합계.고지금액integer
세무서가 고지한 금액 합계(원)입니다. 감액·일부납부 전 금액일 수 있습니다.
data.result.taxReturnHistory.신고내역object
제출된 신고서 목록. 신고가 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxReturnHistory.신고내역.신고일string
신고서 제출일 원문. 예: YYYYMMDD. 구분 기호는 자료에 따라 다르다.
data.result.taxReturnHistory.신고내역.과세기간string
신고서에 적힌 과세기간입니다. 예: 2024년 1기 부가가치세. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxReturnHistory.신고내역.신고서string
신고서의 종류입니다. 부가가치세·종합소득세 등 어떤 세목의 신고인지 나타냅니다.
data.result.taxReturnHistory.신고내역.신고구분string
정기·수정 등 신고의 구분입니다. 수정신고는 원 신고와 함께 확인하세요.
data.result.taxReturnHistory.신고내역.신고상세string
신고의 상세 구분입니다. 일반·기한후·경정 등 세부 유형을 나타냅니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxReturnHistory.신고내역.세목string
세금 항목의 이름입니다. 예: 소득세, 부가가치세, 재산세. 같은 금액이라도 세목에 따라 납부처와 기한이 다릅니다.
data.result.taxReturnHistory.신고내역.작성방법string
신고서를 작성한 방법입니다. 전자신고·서면신고 등을 구분합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxReturnHistory.신고내역.납부년월string
납부 연월 원문. 예: YYYYMM. 납부 내역이 없으면 빈 값이다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxReturnHistory.신고내역.납부금액integer
해당 구간의 보험료 납부액(또는 미납액)입니다. 단위는 원이며, 합계와 구간별 값을 함께 확인하세요.
data.result.taxReturnHistory.신고내역.고지금액integer
세무서가 고지한 금액 합계(원)입니다. 감액·일부납부 전 금액일 수 있습니다.
data.result.taxPaymentHistoryobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistory.조회기간object
신고·납부 내역을 조회한 구간입니다. 시작·끝 필드와 함께 실제 조회 범위를 확인하세요.
data.result.taxPaymentHistory.조회기간.시작string
조회 구간의 시작일입니다. YYYYMMDD 8자리 형식입니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.조회기간.끝string
조회 구간의 끝일입니다. YYYYMMDD 8자리 형식이며, 시작일과 같은 날짜일 수 있습니다.
data.result.taxPaymentHistory.합계object
조회 구간 전체의 합계입니다. 건수·금액 등 하위 항목을 합산한 값입니다.
data.result.taxPaymentHistory.합계.납부건수integer
납부가 발생한 건수입니다. 환급·체납 건수와 함께 전체 세금 이력을 파악하세요.
data.result.taxPaymentHistory.합계.납부금액integer
해당 구간의 보험료 납부액(또는 미납액)입니다. 단위는 원이며, 합계와 구간별 값을 함께 확인하세요.
data.result.taxPaymentHistory.합계.환급건수integer
환급이 발생한 건수입니다. 환급금액·환급방법과 함께 확인하세요. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.합계.환급금액integer
환급된 금액의 합계(원)입니다. 실제 입금액은 은행·처리상태에 따라 다를 수 있습니다.
data.result.taxPaymentHistory.합계.체납건수integer
체납이 발생한 건수입니다. 0이면 체납 내역이 없습니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.합계.체납잔액integer
현재 남아 있는 체납 잔액(원)입니다. 가산금이 포함될 수 있습니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.합계.압류건수integer
체납으로 압류된 재산 건수입니다. 압류기관·재산종류와 함께 확인하세요. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.납부내역object
국세 납부 건별 내역. 납부금액은 국세·지방소득세·농어촌특별세·가산금을 더한 값이다.
data.result.taxPaymentHistory.납부내역.납부일string
세금을 납부한 날짜입니다. 납부구분과 함께 어떤 세목의 납부인지 확인하세요.
data.result.taxPaymentHistory.납부내역.세목string
세금 항목의 이름입니다. 예: 소득세, 부가가치세, 재산세. 같은 금액이라도 세목에 따라 납부처와 기한이 다릅니다.
data.result.taxPaymentHistory.납부내역.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.taxPaymentHistory.납부내역.납부금액integer
해당 구간의 보험료 납부액(또는 미납액)입니다. 단위는 원이며, 합계와 구간별 값을 함께 확인하세요.
data.result.taxPaymentHistory.납부내역.국세integer
납부·고지 금액 중 국세분(원)입니다. 지방소득세·농어촌특별세와 구분됩니다.
data.result.taxPaymentHistory.납부내역.지방소득세integer
납부·고지 금액 중 지방소득세분(원)입니다. 국세와 별도로 지방자치단체에 납부됩니다.
data.result.taxPaymentHistory.납부내역.농어촌특별세integer
납부·고지 금액 중 농어촌특별세분(원)입니다. 대상 세목이 아니면 0입니다.
data.result.taxPaymentHistory.납부내역.가산금integer
납부 지연·신고 불성실 등으로 추가된 가산금(원)입니다. 본세와 함께 확인하세요.
data.result.taxPaymentHistory.납부내역.납부구분string
납부의 구분입니다. 자동이체·카드·현금 등 납부 방법을 나타냅니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.납부내역.전자납부번호string
전자납부로 세금을 납부할 때 부여된 식별번호입니다. 납부 사실 확인이나 전자납부 내역과 대조할 때 사용합니다.
data.result.taxPaymentHistory.환급내역object
환급 결정·지급 내역. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistory.환급내역.세목string
세금 항목의 이름입니다. 예: 소득세, 부가가치세, 재산세. 같은 금액이라도 세목에 따라 납부처와 기한이 다릅니다.
data.result.taxPaymentHistory.환급내역.환급금액integer
환급된 금액의 합계(원)입니다. 실제 입금액은 은행·처리상태에 따라 다를 수 있습니다.
data.result.taxPaymentHistory.환급내역.환급방법string
환급금을 지급한 방법입니다. 계좌입금·현금 등이 들어가며, 실제 입금 여부는 처리상태를 확인하세요.
data.result.taxPaymentHistory.환급내역.과세기간시작string
환급 대상 과세기간의 시작일입니다. YYYYMMDD 형식입니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.환급내역.과세기간종료string
환급 대상 과세기간의 종료일입니다. YYYYMMDD 형식입니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.환급내역.환급결정일string
환급이 결정된 날짜입니다. 실제 입금일과 다를 수 있습니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.환급내역.처리상태string
환급·납부 처리의 현재 상태입니다. 완료·진행중·보류 등을 구분합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.환급내역.은행string
환급금을 받는 계좌의 은행 이름입니다. 계좌번호는 제공되지 않을 수 있습니다.
data.result.taxPaymentHistory.체납내역object
체납 건별 내역. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistory.체납내역.세목string
세금 항목의 이름입니다. 예: 소득세, 부가가치세, 재산세. 같은 금액이라도 세목에 따라 납부처와 기한이 다릅니다.
data.result.taxPaymentHistory.체납내역.고지세액integer
고지된 세액(원)입니다. 감액·일부납부 전 금액입니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.체납내역.감액세액integer
고지 후 감액된 세액(원)입니다. 이의신청·경정으로 줄어든 금액입니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.taxPaymentHistory.체납내역.일부납부세액integer
고지세액 중 일부 납부한 금액(원)입니다. 잔여납부할세액과 함께 확인하세요.
data.result.taxPaymentHistory.체납내역.잔여납부할세액integer
고지세액에서 감액·납부를 제외한 남은 금액(원)입니다. 체납 여부를 판단할 때 사용합니다.
data.result.taxPaymentHistory.체납내역.전자납부번호string
전자납부로 세금을 납부할 때 부여된 식별번호입니다. 납부 사실 확인이나 전자납부 내역과 대조할 때 사용합니다.
data.result.taxPaymentHistory.압류재산내역object
압류 재산 목록. 없으면 빈 배열이다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistory.압류재산내역.압류기관string
재산을 압류한 기관 이름입니다. 세무서·지방자치단체 등이 들어갑니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.압류재산내역.재산종류string
압류한 재산의 종류입니다. 부동산·예금·차량 등이 들어갑니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistory.압류재산내역.압류일자string
재산이 압류된 날짜입니다. 압류기관·재산종류와 함께 확인하세요. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCertobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeAmountCert.문서확인번호string
발급된 소득금액증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.incomeAmountCert.응답형식string
요청한 응답 형식(pdf·json·both) 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.소득금액string
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.발급문서string
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
data.result.incomeAmountCert.문서파일명string
발급 문서의 파일명 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.문서해시string
발급 문서의 SHA-256 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.문서크기integer
발급 문서의 바이트 크기 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.incomeAmountCert.PDF데이터object
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
data.result.incomeAmountCert.PDF데이터.사용가능boolean
PDF에서 글자를 뽑았는지 true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이 필드가 나타내는 조건이 성립한 경우, false = 성립하지 않은 경우입니다. 두 값 모두 정상 응답에 올 수 있으며, 값이 없으면 필드가 생략되거나 null일 수 있습니다.
data.result.incomeAmountCert.PDF데이터.페이지수integer
PDF 페이지 수 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.
data.result.incomeAmountCert.PDF데이터.필드object
라벨로 찾은 값(원문 표기 그대로) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.incomeAmountCert.PDF데이터.텍스트string
추출한 전체 텍스트 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.incomeAmountCert.PDF데이터.사유string
글자를 뽑지 못한 이유. 성공이면 빠진다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.pensionCreditCertobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.pensionCreditCert.문서확인번호string
발급된 확인서의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.pensionCreditCert.귀속연도string
해당 금액이 귀속되는 연도(4자리)입니다. 연도별 합계를 비교하거나 같은 연도의 다른 소득 자료와 맞출 때 기준 키로 사용합니다.
data.result.pensionCreditCert.PDF데이터object
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistoryCertobject
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.
data.result.taxPaymentHistoryCert.문서확인번호string
발급된 증명의 문서확인번호 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistoryCert.세목string
세금 항목의 이름입니다. 예: 소득세, 부가가치세, 재산세. 같은 금액이라도 세목에 따라 납부처와 기한이 다릅니다.
data.result.taxPaymentHistoryCert.납부금액string
해당 구간의 보험료 납부액(또는 미납액)입니다. 단위는 원이며, 합계와 구간별 값을 함께 확인하세요.
data.result.taxPaymentHistoryCert.수납기간string
수납기간 표기 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.
data.result.taxPaymentHistoryCert.PDF데이터object
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조) 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

성공 판정 resultAvailable이 true이면 결과를 사용하고 폴링을 멈춥니다. SUCCESS와 PARTIAL_SUCCESS를 구분하고, charged와 api.cost는 이번 요청의 과금 판단에만 사용하세요.

입력 조건·전송 규칙

1단계 · 조회 인증 요청

모든 입력은 하위 객체 없이 최상위 이름 그대로 보냅니다. user·requestData·options 같은 묶음은 쓰지 않습니다. 형식별 예시는 요청 본문 형식을 참고하세요. 조회 항목마다 필요한 추가 입력 이 다릅니다. 값이 비어 있으면 인증을 보내지 않고 무과금으로 거절하며, 이때는 결과 단가도 발생하지 않습니다. 필수 칸이 조건부인 값은 설명에 적힌 조건에 해당할 때만 필수입니다. 예: delivery=04(팩스)이면 fax_no, delivery=12(전자문서지갑)이면 wallet_address.
간편인증 방식(authProvider)
값
인증 방식
kakao
카카오톡
naver
네이버
toss
토스
pass
통신사 PASS
samsung
삼성패스
kb
KB국민은행
shinhan
신한은행
hana
하나은행
woori
우리은행
ibk
IBK기업은행
nh
NH농협은행
kakaobank
카카오뱅크
banksalad
뱅크샐러드
본문은 transactionId 하나입니다. 결과조회 엔드포인트는 인증요청과 짝이 되는 /rest/get_hometax_bundle 이며, 다른 항목의 엔드포인트로 조회하면 실패합니다. 조회 시각 기준 24시간이 지나면 RESULT_EXPIRED 가 반환됩니다. 이때는 인증요청부터 다시 시작해야 하며, 인증요청 단가(20P)가 다시 발생합니다.

응답 처리

HTTP 성공과 업무 결과를 구분하세요. 경로별 응답 필드와 예시는 위 요청과 응답에 함께 있습니다.

응답 안내 전체 펼쳐 보기
처리 상태(status)
값
의미
과금
AUTH_REQUESTED
조회 인증 요청 (/rest/req_hometax_bundle 응답)
인증요청 시 과금
AUTH_WAITING
사용자 인증 대기중
무과금
AUTH_COMPLETED
승인 완료, 조회 시작 전
무과금
COLLECTING
조회 결과를 준비하는 중
무과금
SUCCESS
모든 항목 조회 완료
최초 1회만
PARTIAL_SUCCESS
일부 항목만 조회 완료 (sources 참고)
최초 1회 — 선택형 묶음·발급형은 받은 항목 단가만, 받은 항목이 없으면 무과금
AUTH_REJECTED
사용자가 인증을 거부
무과금
AUTH_EXPIRED
제한 시간 안에 승인하지 않음
무과금
FAILED
조회 실패
무과금

결과 규격

이 묶음은 한 번 인증으로 9개 조회를 받으므로 result 안에 아래 9개 항목이 함께 옵니다. 항목마다 표를 따로 두었습니다.

result.personalIncome — 금융소득(이자·배당) 조회
경로
타입
값 존재
설명
예시
조회연도
Array<String>
O
실제로 조회한 전체 귀속연도 목록(4자리 문자열). 금융소득이 없는 연도도 포함한다.
["2025"]
연도별
Array<Object>
O
귀속연도별 소득 집계. 합계 건수가 0인 연도는 담기지 않아 조회연도보다 적을 수 있다.
귀속연도
String
O
귀속연도 4자리
2025
소득종류별
Object
O
확인된 이자소득·배당소득별 집계. 근로·사업소득은 포함하지 않는다. 확인되지 않은 종류의 키는 생략된다.
이자소득
Object
조건부
이자소득이 확인된 경우의 집계(금액 단위 원). 없으면 키 생략.
건수
Integer
O
소득 건수
12
소득금액
Integer
O
소득금액 합계(원)
1280000
소득세
Integer
O
소득세 합계(원)
154000
지방소득세
Integer
O
지방소득세 합계(원)
15400
농어촌특별세
Integer
O
농어촌특별세 합계(원)
0
세액합계
Integer
O
소득세 + 지방소득세 + 농어촌특별세(원)
169400
배당소득
Object
조건부
배당소득이 확인된 경우의 집계(금액 단위 원). 없으면 키 생략.
건수
Integer
O
소득 건수
12
소득금액
Integer
O
소득금액 합계(원)
1280000
소득세
Integer
O
소득세 합계(원)
154000
지방소득세
Integer
O
지방소득세 합계(원)
15400
농어촌특별세
Integer
O
농어촌특별세 합계(원)
0
세액합계
Integer
O
소득세 + 지방소득세 + 농어촌특별세(원)
169400
합계
Object
O
그 연도의 전체 합계
건수
Integer
O
소득 건수
12
소득금액
Integer
O
소득금액 합계(원)
1280000
소득세
Integer
O
소득세 합계(원)
154000
지방소득세
Integer
O
지방소득세 합계(원)
15400
농어촌특별세
Integer
O
농어촌특별세 합계(원)
0
세액합계
Integer
O
소득세 + 지방소득세 + 농어촌특별세(원)
169400
result.cashReceiptDeduction — 현금영수증 소득공제 내역
경로
타입
값 존재
설명
예시
조회연도
Array<String>
O
실제로 조회된 귀속연도 목록(4자리 문자열).
["2025"]
전체합계
Object
O
조회한 전체 연도의 합계.
건수
Integer
O
현금영수증 사용 건수
12
사용금액
Integer
O
사용금액 합계(원)
1280000
소득공제건수
Integer
O
소득공제에 반영된 건수
10
소득공제금액
Integer
O
소득공제에 반영된 금액(원)
1080000
연도별
Array<Object>
O
귀속연도별 합계와 사용내역.
귀속연도
String
O
귀속연도 4자리
2025
합계
Object
O
그 연도의 합계
건수
Integer
O
현금영수증 사용 건수
12
사용금액
Integer
O
사용금액 합계(원)
1280000
소득공제건수
Integer
O
소득공제에 반영된 건수
10
소득공제금액
Integer
O
소득공제에 반영된 금액(원)
1080000
사용내역
Array<Object>
O
건별 사용내역. 사용이 없으면 빈 배열이다.
거래일시
String(YYYY-MM-DD HH:mm:ss)
O
승인 일시
2025-03-14 15:22:31
가맹점
String
O
가맹점명
예시가맹점
금액
Integer
O
승인 금액(원)
1280000
승인번호
String
O
현금영수증 승인번호
2025-0001234
거래구분
String
O
승인·취소 구분
승인
거래상태
String
O
거래 상태
정상
소득공제대상
Boolean
O
소득공제 대상이면 true, 아니면 false.
true
소득공제반영
Boolean
O
소득공제가 반영됐으면 true, 아니면 false.
true
result.incomeByPayer — 일용·간이·용역 소득내역
경로
타입
값 존재
설명
예시
조회연도
Array<String>
O
실제로 조회한 귀속연도 목록(4자리 문자열).
["2025"]
전체합계
Object
O
조회한 전체 유형·연도의 합계. 지급명세서가 하나도 없으면 건수가 0이다.
건수
Integer
O
지급명세서 건수
3
지급액
Integer
O
그 유형 기준 금액의 합계(원). 유형마다 기준 항목이 다르다(총지급액·과세소득·용역제공대가·급여 등).
1280000
소득세
Integer
O
소득세 합계(원)
154000
지방소득세
Integer
O
지방소득세 합계(원)
15400
유형별
Array<Object>
O
지급명세서 자료종류별 소득내역. 내역이 있는 유형만 담긴다.
유형
String
O
자료종류. 사업장제공자·간이기타·간이사업·간이근로·일용 중 하나다.
일용
합계
Object
O
그 유형의 합계
건수
Integer
O
지급명세서 건수
3
지급액
Integer
O
그 유형 기준 금액의 합계(원). 유형마다 기준 항목이 다르다(총지급액·과세소득·용역제공대가·급여 등).
1280000
소득세
Integer
O
소득세 합계(원)
154000
지방소득세
Integer
O
지방소득세 합계(원)
15400
내역
Array<Object>
O
지급자별 소득 한 건씩. 자료종류와 값 존재 여부에 따라 하위 필드가 생략된다.
지급명세서종류
String
조건부
지급명세서 종류 표기
간이지급명세서(근로소득)
지급자
String
조건부
지급자(징수의무자)명
예시주식회사
사업자등록번호
String
조건부
지급자 사업자등록번호 10자리(하이픈 포함)
123-45-67890
귀속연도
String
조건부
귀속연도 4자리
2026
지급연도
String
조건부
지급연도 4자리. 간이기타·간이사업에만 온다.
2026
소득구분
String
조건부
소득구분 표기. 간이기타에만 온다.
기타소득
업종구분
String
조건부
업종구분 표기. 간이사업에만 온다.
서비스업
용역구분
String
조건부
용역구분 표기. 사업장제공자에만 온다.
인적용역
총지급액
Integer
조건부
총지급액(원). 간이기타·간이사업에 온다.
1280000
과세소득
Integer
조건부
과세소득(원). 일용에 온다.
1280000
용역제공대가
Integer
조건부
용역제공대가(원). 사업장제공자에 온다.
1280000
급여 등
Integer
조건부
급여 등(원). 간이근로에 온다.
40666665
인정상여금액
Integer
조건부
인정상여금액(원). 간이근로에 온다.
0
비과세소득
Integer
조건부
비과세소득(원). 일용에 온다.
0
필요경비
Integer
조건부
필요경비(원). 간이기타에 온다.
0
소득금액
Integer
조건부
소득금액(원). 간이기타에 온다.
1280000
소득세
Integer
조건부
소득세(원)
154000
지방소득세
Integer
조건부
지방소득세(원)
15400
result.incomeDataCheck — 소득자료 확인
경로
타입
값 존재
설명
예시
조회연도
Array<String>
O
실제로 조회된 귀속연도 목록(4자리 문자열).
["2025"]
연도별
Array<Object>
O
귀속연도별 소득자료 합계. 자료가 없는 연도는 담기지 않으며 확인되지 않은 금액 필드는 생략될 수 있다.
귀속연도
String
O
귀속연도 4자리
2025
연간소득총액
Integer
조건부
연간 소득 총액(원)
242634500
근로소득
Integer
O
상용·일용 근로소득 합계(원)
104469506
근로소득(간이)
Integer
조건부
간이지급명세서로 제출된 근로소득(원)
0
사업소득(간이)
Integer
조건부
간이지급명세서로 제출된 사업소득(원)
0
원천징수 사업소득
Integer
조건부
원천징수된 사업소득(원)
0
사업장 사업소득
Integer
조건부
사업장에서 발생한 사업소득(원)
0
금융소득
Integer
조건부
이자·배당 등 금융소득(원)
33695488
연금소득
Integer
조건부
연금소득(원)
0
기타소득
Integer
조건부
기타소득(원)
0
종교인소득
Integer
조건부
종교인소득(원)
0
근로소득상세
Object | null
O
조회 시점의 반기 기준 근로소득 상세. 키는 항상 존재하며 조회 기간이 아니면 null이다.
귀속연도
String
O
귀속연도 4자리
2026
신청 구분
String
O
상반기분 또는 하반기분
상반기분
근로소득 합계
Integer
조건부
상용·일용 근로소득 합계(원)
40666665
상반기 근로소득
Integer
조건부
상반기 근로소득(원)
40666665
하반기 근로소득
Integer
조건부
하반기 근로소득(원)
0
상용근로소득
Integer
조건부
상용근로소득 합계(원)
40666665
상반기 상용근로소득
Integer
조건부
상반기 상용근로소득(원)
40666665
하반기 상용근로소득
Integer
조건부
하반기 상용근로소득(원)
0
일용근로소득
Integer
조건부
일용근로소득 합계(원)
0
상반기 일용근로소득
Integer
조건부
상반기 일용근로소득(원)
0
하반기 일용근로소득
Integer
조건부
하반기 일용근로소득(원)
0
지급자별
Array<Object>
O
지급자별 소득자료. 자료가 없으면 빈 배열이며 하위 필드는 값이 있을 때만 포함된다.
자료출처
String
조건부
소득자료 종류 표기
지급명세서(사업소득)
지급자 상호(법인명)
String
조건부
지급자 상호 또는 법인명
예시주식회사
지급자 사업자등록번호
String
조건부
지급자 사업자등록번호. 하이픈 없이 10자리로 온다.
1234567890
수입금액
Integer
조건부
수입금액(원)
1280000
업종
String
조건부
업종 표기
서비스업
업종코드
String
조건부
업종코드
940909
result.taxReturnHistory — 국세 신고내역조회
경로
타입
값 존재
설명
예시
조회기간
Object
O
신고내역 조회 구간.
시작
String(YYYYMMDD)
O
조회 구간 시작(8자리)
20210101
끝
String(YYYYMMDD)
O
조회 구간 끝(8자리)
20251231
합계
Object
O
조회 구간 전체 합계.
건수
Integer
O
신고서 건수
12
납부금액
Integer
O
납부금액 합계(원)
1280000
고지금액
Integer
O
고지금액 합계(원)
0
신고내역
Array<Object>
O
제출된 신고서 목록. 신고가 없으면 빈 배열이다.
신고일
String
O
신고서 제출일 원문. 예: YYYYMMDD. 구분 기호는 자료에 따라 다르다.
20250531
과세기간
String
O
신고서에 적힌 과세기간
2024-01-01 ~ 2024-12-31
신고서
String
O
신고서 종류
종합소득세
신고구분
String
O
정기·수정 등 신고 구분
정기신고
신고상세
String
O
신고 상세 구분
일반
세목
String
O
세목
소득세
작성방법
String
O
작성 방법
전자신고
납부년월
String
O
납부 연월 원문. 예: YYYYMM. 납부 내역이 없으면 빈 값이다.
202505
납부금액
Integer
O
납부금액(원)
1280000
고지금액
Integer
O
고지금액(원)
0
result.taxPaymentHistory — 국세 납부·환급·체납조회
경로
타입
값 존재
설명
예시
조회기간
Object
O
조회 구간.
시작
String(YYYYMMDD)
O
조회 구간 시작(8자리)
20210101
끝
String(YYYYMMDD)
O
조회 구간 끝(8자리)
20251231
합계
Object
O
납부·환급·체납·압류 전체 합계.
납부건수
Integer
O
납부 건수
12
납부금액
Integer
O
납부금액 합계(원)
1280000
환급건수
Integer
O
환급 건수
1
환급금액
Integer
O
환급금액 합계(원)
154000
체납건수
Integer
O
체납 건수
0
체납잔액
Integer
O
체납 잔액(원)
0
압류건수
Integer
O
압류 재산 건수
0
납부내역
Array<Object>
O
국세 납부 건별 내역. 납부금액은 국세·지방소득세·농어촌특별세·가산금을 더한 값이다.
납부일
String
O
납부일
2025-03-14
세목
String
O
세목
소득세
귀속연도
String
O
귀속연도
2024
납부금액
Integer
O
총 납부금액(원)
1280000
국세
Integer
O
국세분(원)
1152000
지방소득세
Integer
O
지방소득세분(원)
115200
농어촌특별세
Integer
O
농어촌특별세분(원)
0
가산금
Integer
O
가산금(원)
12800
납부구분
String
O
납부 구분
자진납부
전자납부번호
String
O
전자납부번호
2025-0001234
환급내역
Array<Object>
O
환급 결정·지급 내역. 없으면 빈 배열이다.
세목
String
O
세목
소득세
환급금액
Integer
O
환급금액(원)
154000
환급방법
String
O
환급 방법
계좌이체
과세기간시작
String
O
환급 대상 과세기간 시작
2024-01-01
과세기간종료
String
O
환급 대상 과세기간 종료
2024-12-31
환급결정일
String
O
환급 결정일
2025-03-14
처리상태
String
O
처리 상태
환급완료
은행
String
O
환급 계좌 은행
국민은행
체납내역
Array<Object>
O
체납 건별 내역. 없으면 빈 배열이다.
세목
String
O
세목
소득세
고지세액
Integer
O
고지세액(원)
1280000
감액세액
Integer
O
감액세액(원)
0
일부납부세액
Integer
O
일부 납부한 세액(원)
0
잔여납부할세액
Integer
O
남은 납부할 세액(원)
1280000
전자납부번호
String
O
전자납부번호
2025-0001234
압류재산내역
Array<Object>
O
압류 재산 목록. 없으면 빈 배열이다.
압류기관
String
O
압류한 기관
서울특별시 강남구
재산종류
String
O
압류 재산 종류
자동차
압류일자
String
O
압류일
2025-03-14
result.incomeAmountCert — 소득금액증명 발급
경로
타입
값 존재
설명
예시
문서확인번호
String
O
발급된 소득금액증명의 문서확인번호
0000-0000-0000-0000
귀속연도
String
O
증명의 귀속연도 4자리
2025
소득금액
String
조건부
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다.
12345678
응답형식
String
O
요청한 응답 형식(pdf·json·both)
both
발급문서
String
조건부
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
JVBERi0xLjQK...
문서파일명
String
조건부
발급 문서의 파일명
income_amount_cert.pdf
문서해시
String
조건부
발급 문서의 SHA-256
9f2c4a7b1d8e35c6
문서크기
Integer
조건부
발급 문서의 바이트 크기
165432
PDF데이터
Object
조건부
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
사용가능
Boolean
O
PDF에서 글자를 뽑았는지
true
페이지수
Integer
O
PDF 페이지 수
1
필드
Object
O
라벨로 찾은 값(원문 표기 그대로)
{"귀속연도":"2025"}
텍스트
String
O
추출한 전체 텍스트
문서확인번호 0000-...
사유
String
조건부
글자를 뽑지 못한 이유. 성공이면 빠진다.
PDF_TEXT_UNAVAILABLE
result.pensionCreditCert — 연금보험료등 소득세액 공제확인서 발급
경로
타입
값 존재
설명
예시
문서확인번호
String
O
발급된 확인서의 문서확인번호
0000-0000-0000-0000
귀속연도
String
O
귀속연도 4자리
2025
PDF데이터
Object
조건부
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)
result.taxPaymentHistoryCert — 납부내역증명(납세사실증명) 발급
경로
타입
값 존재
설명
예시
문서확인번호
String
O
발급된 증명의 문서확인번호
0000-0000-0000-0000
세목
String
조건부
요청한 세목 표기
종합소득세
납부금액
String
조건부
납부금액(원 단위 숫자)
1250000
수납기간
String
조건부
수납기간 표기
2025-01 ~ 2025-12
PDF데이터
Object
조건부
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)
타입 읽는 법 — String 은 문자열, Integer 는 소수점 없는 정수(원 단위 금액 포함), Boolean 은 true/false, Object 는 이름이 있는 하위 항목 묶음, Array<Object> 는 같은 구조가 여러 건 오는 목록, Array<String> 은 문자열 목록입니다. String(YYYY-MM-DD) 처럼 괄호가 붙으면 그 형식의 문자열이라는 뜻이고 날짜 타입이 아닙니다. 값 존재 — O는 정상 결과에 있는 항목, 조건부는 해당 정보가 있을 때 제공하는 항목입니다. 누락·빈 문자열·빈 배열·0·null의 의미는 항목별 설명을 따릅니다. 부모 항목이 없으면 그 하위 항목도 없습니다. 예시 — 응답에 들어오는 형태 그대로의 값입니다. 실제 조회 결과가 아니며 개인을 특정할 수 없는 가상의 값입니다. 이 열이 비어 있으면 하위 항목이 있는 묶음이거나 값이 빠질 수 있는 항목입니다. 들여쓰기된 항목은 바로 위 부모 안에 들어 있는 하위 항목입니다. 경로 표기에서 . 는 하위 항목, [ ] 를 붙인 항목은 그 안에 여러 건이 오는 목록이라는 뜻입니다.
원문 응답 필드 표 보기
Body
이름
타입
설명
data
Object
인증 요청 결과
schemaVersion
String
결과 스키마 버전 (고정값: "1.0")
transactionId
String
결과 조회에 사용하는 트랜잭션 ID
product
String
조회 항목 코드. 결과조회에도 같은 값이 오므로 어느 항목의 결과인지 대조할 수 있습니다.
status
String
처리 상태 (AUTH_REQUESTED: 인증 요청 완료)
message
String
상태 메시지 (고정값: "인증 대기중입니다.")
approvals
Integer
사용자가 휴대폰에서 승인해야 하는 횟수. 같은 인증으로 처리되는 조회는 묶음이어도 1회입니다.
resultAvailable
Boolean
결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다.
charged
Boolean
이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다.
expiresAt
String
인증 유효 기한(ISO 8601). 이 시각까지 승인하지 못하면 인증 실패 처리됩니다.
success
Integer
과금 여부
0: 실패 또는 재사용(무과금)
1: 발송 성공(과금)
api
Object
API 호출 공통 데이터
success
Boolean
API 서버 정상 응답 여부
cost
Integer
API 호출 요금
ms
Integer
API 응답 시간
pl_id
Integer
API 결제 로그 ID
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
result
Object
조회된 결과 묶음. 실제 데이터가 있을 때만 포함됩니다.
personalIncome
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
cashReceiptDeduction
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
incomeByPayer
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
incomeDataCheck
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
taxReturnHistory
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
taxPaymentHistory
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
incomeAmountCert
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
pensionCreditCert
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
taxPaymentHistoryCert
Object
이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요.
message
String
상태 메시지
success
Integer
과금 여부
0: 결과 없음 또는 재조회(무과금)
1: 최초 결과 반환(과금)
api
Object
API 호출 공통 데이터
success
Boolean
API 서버 정상 응답 여부
cost
Integer
API 호출 요금
ms
Integer
API 응답 시간
pl_id
Integer
API 결제 로그 ID

오류 코드

응답을 아래 순서로 확인하세요. 결과 유무와 과금 여부는 서로 다릅니다.

  1. HTTP 상태전송·인증·입력 오류
  2. api.successAPI 처리 여부
  3. data · result업무 결과와 오류 문구
  4. api.cost이번 요청의 과금
대기

AUTH_REQUESTED · AUTH_WAITING · AUTH_COMPLETED · COLLECTING — 결과가 없으면 간격을 두고 같은 transactionId로 조회합니다.

완료

SUCCESS · PARTIAL_SUCCESS — resultAvailable=true이면 결과를 저장하고 중단합니다. 부분 성공은 sources의 항목별 결과도 확인하세요.

종료

FAILED · AUTH_REJECTED · AUTH_EXPIRED — 자동 반복을 멈추고 사용자에게 상태를 안내하세요. RESULT_EXPIRED는 status가 아닌 errorCode입니다.

HTTP 424

요청 처리·잠금·결제 기록 등 여러 원인이 있을 수 있습니다. 응답 본문의 오류를 함께 확인하고 인증 요청을 자동 반복하지 마세요.

간편인증 승인 유효시간은 300초입니다. 결과 준비 시간·클라이언트 대기시간·결과 보관시간과 구분하세요. 결과의 resultExpiresAt을 확인하고, 부분 성공 자료도 받는 즉시 보관하세요.

서비스 코드·조건

오류와 복구

입력 오류와 처리 중 거절은 data.error 에 안내 문구가 오고 과금되지 않습니다(api.cost 0). 실패 응답은 표의 HTTP 상태 코드와 함께 옵니다. 인증 거부·만료·조회 실패처럼 진행이 끝난 상태는 HTTP 200 으로 오며 data.status·data.errorCode 로 구분합니다.

상황
HTTP
data.error
해결
이름·생년월일·휴대전화 번호가 비었거나 형식이 틀림
400
입력 항목이 잘못됐습니다.(이름) — 괄호 안에 항목 이름(생년월일 8자리·휴대전화 번호)이 표시됩니다.
값을 고쳐 인증 요청을 다시 보냅니다. 인증이 발송되지 않아 과금되지 않습니다.
authProvider 가 허용값이 아니거나 지금 쓸 수 없는 인증방식
400
입력 항목이 잘못됐습니다.(인증방식)
간편인증 방식 표의 값(예: kakao)으로 보냅니다.
추가 입력이 비었거나 형식이 틀림
424
서비스 요청에 실패했습니다.
요청 표의 형식대로 고쳐 다시 보냅니다. 귀속연도는 최근 5년의 4자리, 코드는 2자리 숫자, 교부방법은 06·10·04·12 중 하나입니다. 인증이 발송되지 않아 과금되지 않습니다.
products 에 담기지 않은 값
400
입력 항목이 잘못됐습니다.(products)
아래 선택할 수 있는 조회의 상품 키로 보냅니다.
products 가 비었음
400
조회할 상품을 하나 이상 골라 주세요.(products)
받을 조회를 하나 이상 고릅니다.
고른 조회에 필요한 추가 입력이 비었음
400
입력 항목이 잘못됐습니다.(…) — 괄호 안에 빠진 항목이 표시됩니다.
요청 표에서 그 조회가 쓰는 입력을 채웁니다.
같은 상품의 앞선 요청을 처리하는 중
429
앞선 요청을 처리하고 있습니다. 잠시 후 다시 시도해 주세요.
인증 요청을 다시 보내지 말고 잠시 뒤 받은 transactionId 로 결과를 조회합니다.
보유 포인트가 이번 호출 단가보다 적음
200
data 대신 result.error 에 사용 가능한 포인트이 부족합니다.
충전한 뒤 다시 호출합니다. 결과조회는 같은 transactionId 를 그대로 씁니다.
결과를 청구하는 순간 포인트가 부족함
402
결제 금액보다 보유 포인트이 부족합니다.
충전한 뒤 같은 transactionId 로 다시 조회합니다. 결과는 24시간 보관됩니다.
결과조회에 transactionId 가 없음
400
입력 항목이 잘못됐습니다.(transactionId)
인증 요청 응답의 transactionId 를 보냅니다.
없는 transactionId 또는 다른 상품의 결과조회 경로
404
요청을 찾을 수 없습니다.
인증 요청한 상품의 /rest/get_hometax_bundle 로 조회합니다.
사용자가 승인을 거부함
200
없음 — status=AUTH_REJECTED, errorCode=AUTH_REJECTED
다시 시도할지 사용자에게 묻고 인증 요청부터 다시 합니다(인증 요청 단가가 다시 발생).
5분 안에 승인하지 않음
200
없음 — status=AUTH_EXPIRED, errorCode=AUTH_EXPIRED
인증 요청부터 다시 합니다. 결과 단가는 발생하지 않습니다.
조회하지 못함(대상이 아니거나 일시적으로 처리하지 못함)
200
없음 — status=FAILED, errorCode=COLLECT_FAILED
결과 단가는 발생하지 않습니다. 입력값을 확인한 뒤 잠시 후 인증 요청부터 다시 합니다.
결과 재조회 기간(24시간)이 지남
200
없음 — errorCode=RESULT_EXPIRED
받은 결과는 바로 저장해 두세요. 다시 받으려면 인증 요청부터 합니다.

HTTP 상태만으로 성공을 판단하지 말고 data.resultAvailable 과 data.status 를 함께 보세요. 공통 규칙은 공통 오류 응답에 있습니다.

인증·포인트 오류 result.error 문구
코드
HTTP
의미·조치
유효하지 않은 API키 입니다.
401
Authorization: Bearer 헤더의 인증키를 확인하세요.
허용되지 않은 IP주소 입니다.
401
마이페이지의 허용 IP 설정과 요청 서버 IP를 확인하세요.
비활성화된 계정입니다.
401
계정 이용 상태를 고객지원으로 문의하세요.
사용 가능한 포인트이 부족합니다.
200
HTTP 200이어도 result.error가 있으면 실패입니다. 포인트를 충전한 뒤 다시 요청하세요. 이 응답은 과금되지 않습니다.
무료 포인트로 사용할 수 없는 서비스입니다.
200
최소 1회 결제 후 이용할 수 있습니다. result.error 전체 문구를 그대로 표시하세요.
인증 정보를 확인할 수 없습니다.
424
일시적인 확인 실패입니다. 잠시 후 다시 시도하세요.
폼 입력 오류 error.code
코드
HTTP
의미·조치
FORM_DATA_INVALID
400
필드 이름·값의 타입·배열 인덱스를 확인하세요. 인덱스는 0부터 연속으로 사용합니다.
FORM_DATA_FIELD_CONFLICT
400
같은 값과 중첩 경로를 동시에 지정하지 마세요.
MULTIPART_LIMIT_OR_PARSE_ERROR
400·413
boundary·파일 크기·필드 개수를 확인하세요. 서비스별 제한이 우선 적용됩니다.

요금·이용 조건

기본 요금기본 단가 · 인증 20P / 결과 720P무료 포인트로는 이용할 수 없으며 최소 1회 결제 후 이용할 수 있습니다.
  • 인증 요청과 결과 제공에 각각 과금 조건이 있습니다. charged와 api.cost로 이번 호출의 비용을 확인하세요. 대기·무료 재조회 응답은 결과 성공 여부와 별개입니다.
  • 동일 계정·동일 상품의 인증 요청은 기존 transactionId를 재사용할 수 있습니다. 다른 대상자의 요청을 동시에 보내지 말고 기존 요청 상태를 먼저 확인하세요.

연동 팁

  • 결과 조회는 한 번씩 순서대로 기다리며 호출하세요. 권장 대기 간격은 5 → 10 → 20 → 30초이며 이후 30초를 유지합니다. 서버 제한이 아닌 클라이언트 권장값입니다.
  • 최대 대기시간과 요청별 시간 제한을 정하고, 결과·종료 상태·사용자 취소 시 멈추세요. 폴링 루프에서 인증 요청을 다시 보내지 마세요.
추가 예제·서비스별 연동 안내
응답 예시

{
    "data": {
        "schemaVersion": "1.0",
        "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
        "product": "hometax_bundle",
        "status": "AUTH_REQUESTED",
        "resultAvailable": false,
        "charged": true,
        "sources": [],
        "message": "인증 대기중입니다.",
        "approvals": 1,
        "expiresAt": "2026-09-20T05:24:07+09:00",
        "success": 1
    },
    "api": {
        "success": true,
        "cost": 20,
        "ms": 1284,
        "pl_id": 4902
    }
}
            
인증 대기중 (무과금)

{
    "data": {
        "schemaVersion": "1.0",
        "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
        "product": "hometax_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_bundle",
        "status": "COLLECTING",
        "resultAvailable": false,
        "charged": false,
        "sources": [],
        "progress": { "total": 9, "completed": 0 },
        "message": "정보를 조회하고 있습니다.",
        "success": 0
    },
    "api": {
        "success": true,
        "cost": 0,
        "ms": 38,
        "pl_id": -1
    }
}
            
조회 완료 (과금)

{
    "data": {
        "schemaVersion": "1.0",
        "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
        "product": "hometax_bundle",
        "status": "SUCCESS",
        "resultAvailable": true,
        "charged": true,
        "sources": [

            { "source": "금융소득(이자·배당) 조회","type": "PERSONAL_INCOME", "status": "SUCCESS" },

            { "source": "현금영수증 소득공제 내역","type": "CASH_RECEIPT_DEDUCTION", "status": "SUCCESS" },

            { "source": "일용·간이·용역 소득내역","type": "INCOME_BY_PAYER", "status": "SUCCESS" },

            { "source": "소득자료 확인","type": "INCOME_DATA_CHECK", "status": "SUCCESS" },

            { "source": "국세 신고내역 조회","type": "TAX_RETURN_HISTORY", "status": "SUCCESS" },

            { "source": "국세 납부·환급·체납 내역","type": "TAX_PAYMENT_HISTORY", "status": "SUCCESS" },

            { "source": "소득금액증명","type": "INCOME_AMOUNT_CERT", "status": "SUCCESS" },

            { "source": "연금보험료등 소득세액 공제확인서","type": "PENSION_CREDIT_CERT", "status": "SUCCESS" },

            { "source": "납부내역증명(납세사실증명)","type": "FACT_CERT", "status": "SUCCESS" }

        ],
        "checkedAt": "2026-09-20T04:47:33+09:00",
        "resultExpiresAt": "2026-09-21T04:47:33+09:00",
        "result": {
            "personalIncome": {
                "조회연도": [
                    "2025"
                ],
                "연도별": [
                    {
                        "귀속연도": "2025",
                        "소득종류별": {
                            "이자소득": {
                                "건수": 12,
                                "소득금액": 1280000,
                                "소득세": 154000,
                                "지방소득세": 15400,
                                "농어촌특별세": 0,
                                "세액합계": 169400
                            },
                            "배당소득": {
                                "건수": 12,
                                "소득금액": 1280000,
                                "소득세": 154000,
                                "지방소득세": 15400,
                                "농어촌특별세": 0,
                                "세액합계": 169400
                            }
                        },
                        "합계": {
                            "건수": 12,
                            "소득금액": 1280000,
                            "소득세": 154000,
                            "지방소득세": 15400,
                            "농어촌특별세": 0,
                            "세액합계": 169400
                        }
                    }
                ]
            },
            "cashReceiptDeduction": {
                "조회연도": [
                    "2025"
                ],
                "전체합계": {
                    "건수": 12,
                    "사용금액": 1280000,
                    "소득공제건수": 10,
                    "소득공제금액": 1080000
                },
                "연도별": [
                    {
                        "귀속연도": "2025",
                        "합계": {
                            "건수": 12,
                            "사용금액": 1280000,
                            "소득공제건수": 10,
                            "소득공제금액": 1080000
                        },
                        "사용내역": [
                            {
                                "거래일시": "2025-03-14 15:22:31",
                                "가맹점": "예시가맹점",
                                "금액": 1280000,
                                "승인번호": "2025-0001234",
                                "거래구분": "승인",
                                "거래상태": "정상",
                                "소득공제대상": true,
                                "소득공제반영": true
                            }
                        ]
                    }
                ]
            },
            "incomeByPayer": {
                "조회연도": [
                    "2025"
                ],
                "전체합계": {
                    "건수": 3,
                    "지급액": 1280000,
                    "소득세": 154000,
                    "지방소득세": 15400
                },
                "유형별": [
                    {
                        "유형": "일용",
                        "합계": {
                            "건수": 3,
                            "지급액": 1280000,
                            "소득세": 154000,
                            "지방소득세": 15400
                        },
                        "내역": [
                            {
                                "지급명세서종류": "간이지급명세서(근로소득)",
                                "지급자": "예시주식회사",
                                "사업자등록번호": "123-45-67890",
                                "귀속연도": "2026",
                                "지급연도": "2026",
                                "소득구분": "기타소득",
                                "업종구분": "서비스업",
                                "용역구분": "인적용역",
                                "총지급액": 1280000,
                                "과세소득": 1280000,
                                "용역제공대가": 1280000,
                                "급여 등": 40666665,
                                "인정상여금액": 0,
                                "비과세소득": 0,
                                "필요경비": 0,
                                "소득금액": 1280000,
                                "소득세": 154000,
                                "지방소득세": 15400
                            }
                        ]
                    }
                ]
            },
            "incomeDataCheck": {
                "조회연도": [
                    "2025"
                ],
                "연도별": [
                    {
                        "귀속연도": "2025",
                        "연간소득총액": 242634500,
                        "근로소득": 104469506,
                        "근로소득(간이)": 0,
                        "사업소득(간이)": 0,
                        "원천징수 사업소득": 0,
                        "사업장 사업소득": 0,
                        "금융소득": 33695488,
                        "연금소득": 0,
                        "기타소득": 0,
                        "종교인소득": 0
                    }
                ],
                "근로소득상세": {
                    "귀속연도": "2026",
                    "신청 구분": "상반기분",
                    "근로소득 합계": 40666665,
                    "상반기 근로소득": 40666665,
                    "하반기 근로소득": 0,
                    "상용근로소득": 40666665,
                    "상반기 상용근로소득": 40666665,
                    "하반기 상용근로소득": 0,
                    "일용근로소득": 0,
                    "상반기 일용근로소득": 0,
                    "하반기 일용근로소득": 0
                },
                "지급자별": [
                    {
                        "자료출처": "지급명세서(사업소득)",
                        "지급자 상호(법인명)": "예시주식회사",
                        "지급자 사업자등록번호": "1234567890",
                        "수입금액": 1280000,
                        "업종": "서비스업",
                        "업종코드": "940909"
                    }
                ]
            },
            "taxReturnHistory": {
                "조회기간": {
                    "시작": "20210101",
                    "끝": "20251231"
                },
                "합계": {
                    "건수": 12,
                    "납부금액": 1280000,
                    "고지금액": 0
                },
                "신고내역": [
                    {
                        "신고일": "20250531",
                        "과세기간": "2024-01-01 ~ 2024-12-31",
                        "신고서": "종합소득세",
                        "신고구분": "정기신고",
                        "신고상세": "일반",
                        "세목": "소득세",
                        "작성방법": "전자신고",
                        "납부년월": "202505",
                        "납부금액": 1280000,
                        "고지금액": 0
                    }
                ]
            },
            "taxPaymentHistory": {
                "조회기간": {
                    "시작": "20210101",
                    "끝": "20251231"
                },
                "합계": {
                    "납부건수": 12,
                    "납부금액": 1280000,
                    "환급건수": 1,
                    "환급금액": 154000,
                    "체납건수": 0,
                    "체납잔액": 0,
                    "압류건수": 0
                },
                "납부내역": [
                    {
                        "납부일": "2025-03-14",
                        "세목": "소득세",
                        "귀속연도": "2024",
                        "납부금액": 1280000,
                        "국세": 1152000,
                        "지방소득세": 115200,
                        "농어촌특별세": 0,
                        "가산금": 12800,
                        "납부구분": "자진납부",
                        "전자납부번호": "2025-0001234"
                    }
                ],
                "환급내역": [
                    {
                        "세목": "소득세",
                        "환급금액": 154000,
                        "환급방법": "계좌이체",
                        "과세기간시작": "2024-01-01",
                        "과세기간종료": "2024-12-31",
                        "환급결정일": "2025-03-14",
                        "처리상태": "환급완료",
                        "은행": "국민은행"
                    }
                ],
                "체납내역": [
                    {
                        "세목": "소득세",
                        "고지세액": 1280000,
                        "감액세액": 0,
                        "일부납부세액": 0,
                        "잔여납부할세액": 1280000,
                        "전자납부번호": "2025-0001234"
                    }
                ],
                "압류재산내역": [
                    {
                        "압류기관": "서울특별시 강남구",
                        "재산종류": "자동차",
                        "압류일자": "2025-03-14"
                    }
                ]
            },
            "incomeAmountCert": {
                "문서확인번호": "0000-0000-0000-0000",
                "귀속연도": "2025",
                "응답형식": "both"
            },
            "pensionCreditCert": {
                "문서확인번호": "0000-0000-0000-0000",
                "귀속연도": "2025"
            },
            "taxPaymentHistoryCert": {
                "문서확인번호": "0000-0000-0000-0000"
            }
        },
        "message": "인증이 완료되었습니다.",
        "success": 1
    },
    "api": {
        "success": true,
        "cost": 0,
        "ms": 318,
        "pl_id": 4903
    }
}
            
위 값은 응답 구조를 보여주기 위한 예시입니다. 값은 가상이지만 필드 구성과 타입은 실제 응답과 같습니다. 전체 항목은 결과 규격을 참고하세요. expiresAt 은 SUCCESS 응답에 없습니다. 인증 대기 기한(AUTH_WAITING)에만 있고, 결과를 받은 뒤에는 resultExpiresAt 이 그 역할을 대신합니다. 둘 중 어느 것이 오는지로 "지금이 승인 대기인지 결과 보관 기간인지"를 구분할 수 있습니다.

이 API로 조회되는 데이터

응답 필드
설명
금융소득(이자·배당) 조회 · 조회연도Array<String>
실제로 조회한 전체 귀속연도 목록(4자리 문자열). 금융소득이 없는 연도도 포함한다.
금융소득(이자·배당) 조회 · 연도별Array<Object>
귀속연도별 소득 집계. 합계 건수가 0인 연도는 담기지 않아 조회연도보다 적을 수 있다.
현금영수증 소득공제 내역 · 조회연도Array<String>
실제로 조회된 귀속연도 목록(4자리 문자열).
현금영수증 소득공제 내역 · 전체합계Object
조회한 전체 연도의 합계.
현금영수증 소득공제 내역 · 연도별Array<Object>
귀속연도별 합계와 사용내역.
일용·간이·용역 소득내역 · 조회연도Array<String>
실제로 조회한 귀속연도 목록(4자리 문자열).
일용·간이·용역 소득내역 · 전체합계Object
조회한 전체 유형·연도의 합계. 지급명세서가 하나도 없으면 건수가 0이다.
일용·간이·용역 소득내역 · 유형별Array<Object>
지급명세서 자료종류별 소득내역. 내역이 있는 유형만 담긴다.
소득자료 확인 · 조회연도Array<String>
실제로 조회된 귀속연도 목록(4자리 문자열).
소득자료 확인 · 연도별Array<Object>
귀속연도별 소득자료 합계. 자료가 없는 연도는 담기지 않으며 확인되지 않은 금액 필드는 생략될 수 있다.
소득자료 확인 · 근로소득상세Object
조회 시점의 반기 기준 근로소득 상세. 키는 항상 존재하며 조회 기간이 아니면 null이다.
null
가능
소득자료 확인 · 지급자별Array<Object>
지급자별 소득자료. 자료가 없으면 빈 배열이며 하위 필드는 값이 있을 때만 포함된다.
국세 신고내역조회 · 조회기간Object
신고내역 조회 구간.
국세 신고내역조회 · 합계Object
조회 구간 전체 합계.
국세 신고내역조회 · 신고내역Array<Object>
제출된 신고서 목록. 신고가 없으면 빈 배열이다.
국세 납부·환급·체납조회 · 조회기간Object
조회 구간.
국세 납부·환급·체납조회 · 합계Object
납부·환급·체납·압류 전체 합계.
국세 납부·환급·체납조회 · 납부내역Array<Object>
국세 납부 건별 내역. 납부금액은 국세·지방소득세·농어촌특별세·가산금을 더한 값이다.
국세 납부·환급·체납조회 · 환급내역Array<Object>
환급 결정·지급 내역. 없으면 빈 배열이다.
국세 납부·환급·체납조회 · 체납내역Array<Object>
체납 건별 내역. 없으면 빈 배열이다.
국세 납부·환급·체납조회 · 압류재산내역Array<Object>
압류 재산 목록. 없으면 빈 배열이다.
소득금액증명 발급 · 문서확인번호String
발급된 소득금액증명의 문서확인번호
소득금액증명 발급 · 귀속연도String
증명의 귀속연도 4자리
소득금액증명 발급 · 소득금액String
귀속연도의 소득금액(원 단위 숫자). 금액이 없으면 빠진다.
소득금액증명 발급 · 응답형식String
요청한 응답 형식(pdf·json·both)
소득금액증명 발급 · 발급문서String
발급된 PDF 원본을 base64 로 인코딩한 문자열. format 이 json 이면 빠진다.
소득금액증명 발급 · 문서파일명String
발급 문서의 파일명
소득금액증명 발급 · 문서해시String
발급 문서의 SHA-256
소득금액증명 발급 · 문서크기Integer
발급 문서의 바이트 크기
소득금액증명 발급 · PDF데이터Object
PDF를 열어 글자를 뽑고 라벨 기준으로 만든 값. format 이 pdf 이면 빠진다.
연금보험료등 소득세액 공제확인서 발급 · 문서확인번호String
발급된 확인서의 문서확인번호
연금보험료등 소득세액 공제확인서 발급 · 귀속연도String
귀속연도 4자리
연금보험료등 소득세액 공제확인서 발급 · PDF데이터Object
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)
납부내역증명(납세사실증명) 발급 · 문서확인번호String
발급된 증명의 문서확인번호
납부내역증명(납세사실증명) 발급 · 세목String
요청한 세목 표기
납부내역증명(납세사실증명) 발급 · 납부금액String
납부금액(원 단위 숫자)
납부내역증명(납세사실증명) 발급 · 수납기간String
수납기간 표기
납부내역증명(납세사실증명) 발급 · PDF데이터Object
PDF를 JSON으로 파싱한 값(PDF데이터 공통 구조)

활용 사례

  • 개인 소득·신고·납부·증명 결과를 한 번의 인증으로 모으기
  • 필요한 조회만 선택해 과금 줄이기
  • 증명별 문서확인번호를 제출 서류 목록에 남기기

조회 가능한 본인 자료와 응답 범위 안에서 활용하세요. 조회 결과는 심사·진단·거래 안전을 보장하지 않습니다.

자주 묻는 질문

개인 국세 통합조회에서 어떤 자료를 받나요?

금융소득(이자·배당) 조회 · 조회연도, 금융소득(이자·배당) 조회 · 연도별, 현금영수증 소득공제 내역 · 조회연도, 현금영수증 소득공제 내역 · 전체합계, 현금영수증 소득공제 내역 · 연도별, 일용·간이·용역 소득내역 · 조회연도 등을 제공합니다. 전체 항목과 빈 값·선택 항목의 조건은 아래 응답 명세를 확인하세요.

개인 국세 통합조회의 조회 비용은 어떻게 확인하나요?

현재 기본 단가는 인증 요청 20P, 결과 조회 720P입니다. 조회 기간·구성에 따른 조건과 실제 charged·api.cost는 요금 안내 및 응답에서 확인하세요.

개인 국세 통합조회 자료가 비어 있으면 어떻게 처리하나요?

응답 상태와 각 필드의 빈 배열·null·선택 항목 조건을 확인하세요. 자료 없음만으로 개인 국세 통합조회 대상의 상태를 단정하지 말고 오류 응답과 구분해 표시하세요.

개발가이드 검색

API 이름·경로·파라미터·오류 코드로 찾을 수 있습니다.

표시 가격은 기본 단가입니다. 상세 과금 조건은 각 가이드에서 확인하세요.