POPBill Developers
연동신청
  • 가이드 0
  • 레퍼런스 0
  • 오류코드 0
전자세금계산서
  • 전자세금계산서
  • 현금영수증
  • 전자명세서
  • 홈택스수집(세금)
  • 홈택스수집(현금)
  • 사업자등록상태조회
  • 기업정보조회
  • 계좌조회
  • 예금주조회
  • 카카오톡
  • 문자
  • 팩스
API 레퍼런스

발행/전송

1. RegistIssue - 즉시 발행

POST https://popbill-test.linkhub.co.kr/Taxinvoice
POST https://popbill.linkhub.co.kr/Taxinvoice
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

    ※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
ISSUE
X-PB-UserID N 팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
issueType string 3 Y 발행형태 (택 1)
정발행
위수탁
taxType string 2 Y 과세형태 (택 1)
과세
영세
면세
chargeDirection string 3 Y 과금방향
정과금공급자 과금
serialNum string 30 N 일련번호
kwon number 4 N 책번호 "권" 항목
정수만 입력 가능
ho number 4 N 책번호 "호" 항목
정수만 입력 가능
writeDate string 8 Y 작성일자
형식 : yyyyMMdd
purposeType string 8 Y 영수/청구
영수
청구
없음
supplyCostTotal string 18 Y 공급가액 합계
정수만 입력 가능(소수점 자동 절사)
taxTotal string 18 Y 세액 합계
정수만 입력 가능(소수점 자동 절사)
totalAmount string 18 Y 합계 합계
정수만 입력 가능(소수점 자동 절사)
cash string 18 Y 현금
chkBill string 18 Y 수표
credit string 18 Y 외상
note string 18 Y 어음
remark1 string 150 조건부 비고1
remark2 string 150 N 비고2
remark3 string 150 N 비고3
invoicerMgtKey string 24 조건부 공급자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoicerCorpNum string 10 Y 공급자 사업자번호 ('-' 제외)
invoicerTaxRegID string 4 N 공급자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoicerCorpName string 200 Y 공급자 상호
invoicerCEOName string 100 Y 공급자 대표자 성명
invoicerAddr string 300 N 공급자 주소
invoicerBizType string 100 N 공급자 업태
invoicerBizClass string 100 N 공급자 종목
invoicerContactName string 100 N 공급자 담당자 성명
invoicerDeptName string 100 N 공급자 담당자 부서명
invoicerTEL string 20 N 공급자 담당자 연락처
invoicerHP string 20 N 공급자 담당자 휴대폰
invoicerEmail string 100 N 공급자 담당자 메일
invoicerSMSSendYN boolean - N 공급자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
invoiceeMgtKey string 24 조건부 공급받는자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoiceeType string - N 공급받는자 유형 (택 1)
사업자
개인
외국인
invoiceeCorpNum string 13 Y 공급받는자 등록번호 ('-' 제외)
- {invoiceeType}="사업자" 경우 사업자번호
- {invoiceeType}="개인" 경우 주민등록번호
- {invoiceeType}="외국인" 경우 "9999999999999"
invoiceeTaxRegID string 4 N 공급받는자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoiceeCorpName string 200 Y 공급받는자 상호
invoiceeCEOName string 100 Y 공급받는자 대표자 성명
invoiceeAddr string 300 N 공급받는자 주소
invoiceeBizType string 100 N 공급받는자 업태
invoiceeBizClass string 100 N 공급받는자 종목
invoiceeContactName1 string 100 N 공급받는자 담당자 성명
invoiceeDeptName1 string 100 N 공급받는자 담당자 부서명
invoiceeTEL1 string 20 N 공급받는자 담당자 연락처
invoiceeHP1 string 20 N 공급받는자 담당자 휴대폰
invoiceeEmail1 string 100 N 공급받는자 담당자 메일
invoiceeSMSSendYN boolean - N 공급받는자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급자 휴대폰번호 {invoicerHP}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
trusteeMgtKey string 24 조건부 수탁자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
trusteeCorpNum string 10 조건부 수탁자 사업자번호 ('-' 제외)
trusteeTaxRegID string 4 N 수탁자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
trusteeCorpName string 200 조건부 수탁자 상호
trusteeCEOName string 100 조건부 수탁자 대표자 성명
trusteeAddr string 300 N 수탁자 주소
trusteeBizType string 100 N 수탁자 업태
trusteeBizClass string 100 N 수탁자 종목
trusteeContactName string 100 N 수탁자 담당자 성명
trusteeDeptName string 100 N 수탁자 담당자 부서명
trusteeTEL string 20 N 수탁자 담당자 연락처
trusteeHP string 20 N 수탁자 담당자 휴대폰
trusteeEmail string 100 N 수탁자 담당자 메일
trusteeSMSSendYN boolean - N 수탁자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
modifyCode number 1 조건부 수정 사유코드
수정세금계산서 작성시 필수 [참고] 수정세금계산서
orgNTSConfirmNum string 24 조건부 당초 국세청승인번호
수정세금계산서 작성시 필수
businessLicenseYN boolean - N 팝빌에 등록된 사업자등록증 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
bankBookYN boolean - N 팝빌에 등록된 통장사본 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
detailList array - N 품목 상세정보
최대 : 99개
순번 변수명 타입 길이 필수 설명
serialNum number 2 Y 일련번호
purchaseDT string 8 N 거래일자
형식 : yyyyMMdd
itemName string 100 N 품명
spec string 60 N 규격
qty string 12 N 수량
-99999999.99 ~ 999999999.99
소수점 아래 2번째 자리까지 입력 가능
unitCost string 18 N 단가
-99999999999999.99 ~ 999999999999999.99
소수점 아래 2번째 자리까지 입력 가능
supplyCost string 18 N 공급가액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
tax string 18 N 세액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
remark string 100 N 비고
addContactList array - N 공급받는자 추가담당자 정보
여러 담당자에게 발행 안내 메일을 보내야할 경우 사용
최대 : 5명
순번 변수명 타입 길이 필수 설명
serialNum number 1 Y 일련번호
contactName string 100 N 담당자 성명
email string 100 Y 메일
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
writeSpecification boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
dealInvoiceKey string 24 N 거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: ISSUE' \
  --data '{
    "issueType": "정발행",
    "taxType": "과세",
    "chargeDirection": "정과금",
    "writeDate": "20251117",
    "purposeType": "영수",
    "supplyCostTotal": "10000",
    "taxTotal": "1000",
    "totalAmount": "11000",
    "invoicerMgtKey": "TEST202511170900000",
    "invoicerCorpNum": "1234567890",
    "invoicerCorpName": "공급자 상호",
    "invoicerCEOName": "공급자 대표자 성명",
    "invoiceeType": "사업자",
    "invoiceeCorpNum": "1234567890",
    "invoiceeCorpName": "공급받는자 상호",
    "invoiceeCEOName": "공급받는자 대표자 성명",
    "detailList": [
        {
            "serialNum": 1,
            "purchaseDT": "20251117",
            "itemName": "품명",
            "spec": "규격",
            "qty": "1",
            "unitCost": "10000",
            "supplyCost": "10000",
            "tax": "1000",
            "remark": "비고"
        }
    ],
    "addContactList": [
        {
            "serialNum": 1,
            "contactName": "담당자 성명",
            "email": "test@test.com"
        }
    ]
}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
ntsConfirmNum string 24 국세청승인번호
전자세금계산서 발행 시점에 팝빌에서 자동으로 할당
issueDT string 14 발행일시
형식 : yyyyMMddHHmmss
응답 예시
{
  "code": 1,
  "message": "발행 완료",
  "ntsConfirmNum": "202510168888888800000023",
  "issueDT": "20251016151123"
}

2. BulkSubmit - 초대량 발행 접수

POST https://popbill-test.linkhub.co.kr/Taxinvoice
POST https://popbill.linkhub.co.kr/Taxinvoice
  • 최대 100건의 세금계산서 발행을 한번의 요청으로 접수합니다.
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

    ※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
BULKISSUE
X-PB-Message-Digest Y Message Digest
요청 본문의 무결성을 검증하는데 사용
X-PB-Submit-ID Y 제출아이디
영문, 숫자, '-' 조합으로 최대 36자 길이로 구성
X-PB-UserID N 팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
invoices array - Y 전자세금계산서 목록
최대 : 100건
순번 변수명 타입 길이 필수 설명
issueType string 3 Y 발행형태 (택 1)
정발행
역발행
위수탁
taxType string 2 Y 과세형태 (택 1)
과세
영세
면세
chargeDirection string 3 Y 과금방향
정과금공급자 과금
serialNum string 30 N 일련번호
kwon number 4 N 책번호 "권" 항목
정수만 입력 가능
ho number 4 N 책번호 "호" 항목
정수만 입력 가능
writeDate string 8 Y 작성일자
형식 : yyyyMMdd
purposeType string 8 Y 영수/청구
영수
청구
없음
supplyCostTotal string 18 Y 공급가액 합계
정수만 입력 가능(소수점 자동 절사)
taxTotal string 18 Y 세액 합계
정수만 입력 가능(소수점 자동 절사)
totalAmount string 18 Y 합계 합계
정수만 입력 가능(소수점 자동 절사)
cash string 18 Y 현금
chkBill string 18 Y 수표
credit string 18 Y 외상
note string 18 Y 어음
remark1 string 150 조건부 비고1
remark2 string 150 N 비고2
remark3 string 150 N 비고3
invoicerMgtKey string 24 조건부 공급자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoicerCorpNum string 10 Y 공급자 사업자번호 ('-' 제외)
invoicerTaxRegID string 4 N 공급자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoicerCorpName string 200 Y 공급자 상호
invoicerCEOName string 100 Y 공급자 대표자 성명
invoicerAddr string 300 N 공급자 주소
invoicerBizType string 100 N 공급자 업태
invoicerBizClass string 100 N 공급자 종목
invoicerContactName string 100 N 공급자 담당자 성명
invoicerDeptName string 100 N 공급자 담당자 부서명
invoicerTEL string 20 N 공급자 담당자 연락처
invoicerHP string 20 N 공급자 담당자 휴대폰
invoicerEmail string 100 N 공급자 담당자 메일
invoicerSMSSendYN boolean - N 공급자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
invoiceeMgtKey string 24 조건부 공급받는자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoiceeType string - N 공급받는자 유형 (택 1)
사업자
개인
외국인
invoiceeCorpNum string 13 Y 공급받는자 등록번호 ('-' 제외)
- {invoiceeType}="사업자" 경우 사업자번호
- {invoiceeType}="개인" 경우 주민등록번호
- {invoiceeType}="외국인" 경우 "9999999999999"
invoiceeTaxRegID string 4 N 공급받는자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoiceeCorpName string 200 Y 공급받는자 상호
invoiceeCEOName string 100 Y 공급받는자 대표자 성명
invoiceeAddr string 300 N 공급받는자 주소
invoiceeBizType string 100 N 공급받는자 업태
invoiceeBizClass string 100 N 공급받는자 종목
invoiceeContactName1 string 100 N 공급받는자 담당자 성명
invoiceeDeptName1 string 100 N 공급받는자 담당자 부서명
invoiceeTEL1 string 20 N 공급받는자 담당자 연락처
invoiceeHP1 string 20 N 공급받는자 담당자 휴대폰
invoiceeEmail1 string 100 N 공급받는자 담당자 메일
invoiceeSMSSendYN boolean - N 공급받는자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급자 휴대폰번호 {invoicerHP}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
trusteeMgtKey string 24 조건부 수탁자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
trusteeCorpNum string 10 조건부 수탁자 사업자번호 ('-' 제외)
trusteeTaxRegID string 4 N 수탁자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
trusteeCorpName string 200 조건부 수탁자 상호
trusteeCEOName string 100 조건부 수탁자 대표자 성명
trusteeAddr string 300 N 수탁자 주소
trusteeBizType string 100 N 수탁자 업태
trusteeBizClass string 100 N 수탁자 종목
trusteeContactName string 100 N 수탁자 담당자 성명
trusteeDeptName string 100 N 수탁자 담당자 부서명
trusteeTEL string 20 N 수탁자 담당자 연락처
trusteeHP string 20 N 수탁자 담당자 휴대폰
trusteeEmail string 100 N 수탁자 담당자 메일
trusteeSMSSendYN boolean - N 수탁자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
modifyCode number 1 조건부 수정 사유코드
수정세금계산서 작성시 필수 [참고] 수정세금계산서
orgNTSConfirmNum string 24 조건부 당초 국세청승인번호
수정세금계산서 작성시 필수
businessLicenseYN boolean - N 팝빌에 등록된 사업자등록증 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
bankBookYN boolean - N 팝빌에 등록된 통장사본 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
detailList array - N 품목 상세정보
최대 : 99개
순번 변수명 타입 길이 필수 설명
serialNum number 2 Y 일련번호
purchaseDT string 8 N 거래일자
형식 : yyyyMMdd
itemName string 100 N 품명
spec string 60 N 규격
qty string 12 N 수량
-99999999.99 ~ 999999999.99
소수점 아래 2번째 자리까지 입력 가능
unitCost string 18 N 단가
-99999999999999.99 ~ 999999999999999.99
소수점 아래 2번째 자리까지 입력 가능
supplyCost string 18 N 공급가액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
tax string 18 N 세액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
remark string 100 N 비고
addContactList array - N 공급받는자 추가담당자 정보
여러 담당자에게 발행 안내 메일을 보내야할 경우 사용
최대 : 5명
순번 변수명 타입 길이 필수 설명
serialNum number 1 Y 일련번호
contactName string 100 N 담당자 성명
email string 100 Y 메일
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
writeSpecification boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능
dealInvoiceKey string 24 N 거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: BULKISSUE' \
  --header 'X-PB-Message-Digest: {MessageDigest}' \
  --header 'X-PB-Submit-ID: {submitID}' \
  --data '{
    "invoices": [
        {
            "issueType": "정발행",
            "taxType": "과세",
            "chargeDirection": "정과금",
            "writeDate": "20251016",
            "purposeType": "영수",
            "supplyCostTotal": "10000",
            "taxTotal": "1000",
            "totalAmount": "11000",
            "invoicerMgtKey": "TEST202510281800000",
            "invoicerCorpNum": "1234567890",
            "invoicerCorpName": "공급자 상호",
            "invoicerCEOName": "공급자 대표자 성명",
            "invoiceeType": "사업자",
            "invoiceeCorpNum": "1234567890",
            "invoiceeCorpName": "공급받는자 상호",
            "invoiceeCEOName": "공급받는자 대표자 성명",
            "detailList": [
                {
                    "serialNum": 1,
                    "purchaseDT": "20251117",
                    "itemName": "품명",
                    "spec": "규격",
                    "qty": "1",
                    "unitCost": "10000",
                    "supplyCost": "10000",
                    "tax": "1000",
                    "remark": "비고"
                }
            ],
            "addContactList": [
                {
                    "serialNum": 1,
                    "contactName": "담당자 성명",
                    "email": "test@test.com"
                }
            ]
        }
    ]
}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
receiptID string 36 접수아이디
접수 시점에 팝빌에서 자동으로 할당
응답 예시
{
    "code": 1,
    "message": "접수 완료",
    "receiptID": "0251023-cf84677932f44e3baa2541160366"
}

3. GetBulkResult - 초대량 접수결과 확인

GET https://popbill-test.linkhub.co.kr/Taxinvoice/BULK/{submitID}/State
GET https://popbill.linkhub.co.kr/Taxinvoice/BULK/{submitID}/State
  • 접수시 기재한 SubmitID를 사용하여 세금계산서 접수결과를 확인합니다.
  • txState(접수상태)가 2(완료)일 때, 개별 세금계산서 발행결과(성공/실패) 확인이 가능합니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
submitID string 36 Y 파트너가 할당한 제출아이디
요청 예시
curl --request GET \
  --url 'https://{domain}/Taxinvoice/BULK/{submitID}/State' \
  --header 'Authorization: Bearer {token}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
receiptID string 36 접수아이디
접수 시점에 팝빌에서 자동으로 할당
submitID string 36 접수 시점에 고객사에서 할당한 제출아이디
submitCount number - 세금계산서 접수 건수
successCount number - 세금계산서 발행 성공 건수
failCount number - 세금계산서 발행 실패 건수
txState number 1 접수상태
0접수
1처리중
2처리완료
txStartDT string 14 발행처리 시작일시
형식 : yyyyMMddHHmmss
txEndDT string 14 발행처리 완료일시
형식 : yyyyMMddHHmmss
txResultCode number - 접수 결과코드
- 성공 : 1
- 실패 : 음의 정수 8자리 숫자값 [참고] 오류코드
issueResult array - 발행결과
최대 : 100건
순번 변수명 타입 길이 설명
invoicerMgtKey string 24 공급자 문서번호
공급자의 문서 관리를 위해 파트너가 할당한 식별번호
trusteeMgtKey string 24 수탁자 문서번호
파트너가 할당한 문서번호
code number - API 처리에 대한 응답코드
- 성공 : 1
- 실패 : 음의 정수 8자리 숫자값 [참고] 오류코드
message string - API 처리에 대한 응답메시지
ntsconfirmNum string 24 국세청승인번호
전자세금계산서 발행 시점에 팝빌에서 자동으로 할당
issueDT string 14 발행일시
형식 : yyyyMMddHHmmss
receiptDT string 14 접수일시
형식 : yyyyMMddHHmmss
응답 예시
{
    "code": 1,
    "message": "확인 완료",
    "receiptID": "0251023-cf84677932f44e3baa2541160366",
    "submitID": "20210930-01",
    "submitCount": 1,
    "successCount": 1,
    "failCount": 0,
    "txState": 2,
    "txStartDT": "20251023113522",
    "txEndDT": "20251023113527",
    "txResultCode": 1,
    "issueResult": [
        {
            "invoicerMgtKey": "20251023-02-2",
            "code": 1,
            "ntsconfirmNum": "20251023888888880000000e",
            "issueDT": "20251023114550"
        },
    ],
    "receiptDT": "20251023113521"
}

4. Register - 임시저장

POST https://popbill-test.linkhub.co.kr/Taxinvoice
POST https://popbill.linkhub.co.kr/Taxinvoice
  • 작성된 세금계산서 데이터를 팝빌에 저장합니다.
  • "임시저장" 상태의 세금계산서는 [Issue - 발행] API를 호출하여 "발행완료" 처리한 경우에만 국세청으로 전송됩니다.
  • 세금계산서 파일첨부 기능을 구현하는 경우, [Register – 임시저장][AttachFile – 파일첨부][Issue – 발행] API를 차례로 호출합니다.
  • 역발행 세금계산서를 저장하는 경우, chargeDirection 값을 통해 과금 주체를 지정할 수 있습니다.

    ※ 정과금: 공급자 과금, 역과금: 공급받는자 과금

  • 임시저장된 세금계산서는 팝빌 사이트 '임시문서함'에서 확인 가능합니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-PB-UserID N 팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
issueType string 3 Y 발행형태 (택 1)
정발행
역발행
위수탁
taxType string 2 Y 과세형태 (택 1)
과세
영세
면세
chargeDirection string 3 Y 과금방향 (택 1)
정과금 공급자 과금
역과금 공급받는자 과금
- {issueType}="정발행", "역발행", "위수탁" 경우 정과금 가능
- {issueType}="역발행" 경우 역과금 가능
serialNum string 30 N 일련번호
kwon number 4 N 책번호 "권" 항목
정수만 입력 가능
ho number 4 N 책번호 "호" 항목
정수만 입력 가능
writeDate string 8 Y 작성일자
형식 : yyyyMMdd
purposeType string 8 Y 영수/청구
영수
청구
없음
supplyCostTotal string 18 Y 공급가액 합계
정수만 입력 가능(소수점 자동 절사)
taxTotal string 18 Y 세액 합계
정수만 입력 가능(소수점 자동 절사)
totalAmount string 18 Y 합계 합계
정수만 입력 가능(소수점 자동 절사)
cash string 18 Y 현금
chkBill string 18 Y 수표
credit string 18 Y 외상
note string 18 Y 어음
remark1 string 150 조건부 비고1
remark2 string 150 N 비고2
remark3 string 150 N 비고3
invoicerMgtKey string 24 조건부 공급자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoicerCorpNum string 10 Y 공급자 사업자번호 ('-' 제외)
invoicerTaxRegID string 4 N 공급자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoicerCorpName string 200 Y 공급자 상호
invoicerCEOName string 100 Y 공급자 대표자 성명
invoicerAddr string 300 N 공급자 주소
invoicerBizType string 100 N 공급자 업태
invoicerBizClass string 100 N 공급자 종목
invoicerContactName string 100 N 공급자 담당자 성명
invoicerDeptName string 100 N 공급자 담당자 부서명
invoicerTEL string 20 N 공급자 담당자 연락처
invoicerHP string 20 N 공급자 담당자 휴대폰
invoicerEmail string 100 N 공급자 담당자 메일
invoicerSMSSendYN boolean - N 공급자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
invoiceeMgtKey string 24 조건부 공급받는자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoiceeType string - N 공급받는자 유형 (택 1)
사업자
개인
외국인
invoiceeCorpNum string 13 Y 공급받는자 등록번호 ('-' 제외)
- {invoiceeType}="사업자" 경우 사업자번호
- {invoiceeType}="개인" 경우 주민등록번호
- {invoiceeType}="외국인" 경우 "9999999999999"
invoiceeTaxRegID string 4 N 공급받는자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoiceeCorpName string 200 Y 공급받는자 상호
invoiceeCEOName string 100 Y 공급받는자 대표자 성명
invoiceeAddr string 300 N 공급받는자 주소
invoiceeBizType string 100 N 공급받는자 업태
invoiceeBizClass string 100 N 공급받는자 종목
invoiceeContactName1 string 100 N 공급받는자 담당자 성명
invoiceeDeptName1 string 100 N 공급받는자 담당자 부서명
invoiceeTEL1 string 20 N 공급받는자 담당자 연락처
invoiceeHP1 string 20 N 공급받는자 담당자 휴대폰
invoiceeEmail1 string 100 N 공급받는자 담당자 메일
invoiceeSMSSendYN boolean - N 공급받는자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급자 휴대폰번호 {invoicerHP}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
trusteeMgtKey string 24 조건부 수탁자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
trusteeCorpNum string 10 조건부 수탁자 사업자번호 ('-' 제외)
trusteeTaxRegID string 4 N 수탁자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
trusteeCorpName string 200 조건부 수탁자 상호
trusteeCEOName string 100 조건부 수탁자 대표자 성명
trusteeAddr string 300 N 수탁자 주소
trusteeBizType string 100 N 수탁자 업태
trusteeBizClass string 100 N 수탁자 종목
trusteeContactName string 100 N 수탁자 담당자 성명
trusteeDeptName string 100 N 수탁자 담당자 부서명
trusteeTEL string 20 N 수탁자 담당자 연락처
trusteeHP string 20 N 수탁자 담당자 휴대폰
trusteeEmail string 100 N 수탁자 담당자 메일
trusteeSMSSendYN boolean - N 수탁자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
modifyCode number 1 조건부 수정 사유코드
수정세금계산서 작성시 필수 [참고] 수정세금계산서
orgNTSConfirmNum string 24 조건부 당초 국세청승인번호
수정세금계산서 작성시 필수
businessLicenseYN boolean - N 팝빌에 등록된 사업자등록증 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
bankBookYN boolean - N 팝빌에 등록된 통장사본 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
detailList array - N 품목 상세정보
최대 : 99개
순번 변수명 타입 길이 필수 설명
serialNum number 2 Y 일련번호
purchaseDT string 8 N 거래일자
형식 : yyyyMMdd
itemName string 100 N 품명
spec string 60 N 규격
qty string 12 N 수량
-99999999.99 ~ 999999999.99
소수점 아래 2번째 자리까지 입력 가능
unitCost string 18 N 단가
-99999999999999.99 ~ 999999999999999.99
소수점 아래 2번째 자리까지 입력 가능
supplyCost string 18 N 공급가액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
tax string 18 N 세액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
remark string 100 N 비고
addContactList array - N 공급받는자 추가담당자 정보
여러 담당자에게 발행 안내 메일을 보내야할 경우 사용
최대 : 5명
순번 변수명 타입 길이 필수 설명
serialNum number 1 Y 일련번호
contactName string 100 N 담당자 성명
email string 100 Y 메일
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
writeSpecification boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
dealInvoiceKey string 24 N 거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "issueType": "정발행",
    "taxType": "과세",
    "chargeDirection": "정과금",
    "writeDate": "20251117",
    "purposeType": "영수",
    "supplyCostTotal": "10000",
    "taxTotal": "1000",
    "totalAmount": "11000",
    "invoicerMgtKey": "TEST202511170900000",
    "invoicerCorpNum": "1234567890",
    "invoicerCorpName": "공급자 상호",
    "invoicerCEOName": "공급자 대표자 성명",
    "invoiceeType": "사업자",
    "invoiceeCorpNum": "1234567890",
    "invoiceeCorpName": "공급받는자 상호",
    "invoiceeCEOName": "공급받는자 대표자 성명",
    "detailList": [
        {
            "serialNum": 1,
            "purchaseDT": "20251117",
            "itemName": "품명",
            "spec": "규격",
            "qty": "1",
            "unitCost": "10000",
            "supplyCost": "10000",
            "tax": "1000",
            "remark": "비고"
        }
    ],
    "addContactList": [
        {
            "serialNum": 1,
            "contactName": "담당자 성명",
            "email": "test@test.com"
        }
    ]
}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "등록 완료"
}

5. Update - 수정

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • "임시저장" 상태의 세금계산서를 수정합니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
PATCH
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKeyType string - Y 문서번호 유형 (택 1)
SELL매출
TRUSTEE위수탁
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
issueType string 3 Y 발행형태 (택 1)
정발행
역발행
위수탁
taxType string 2 Y 과세형태 (택 1)
과세
영세
면세
chargeDirection string 3 Y 과금방향 (택 1)
정과금 공급자 과금
역과금 공급받는자 과금
- {issueType}="정발행", "역발행", "위수탁" 경우 정과금 가능
- {issueType}="역발행" 경우 역과금 가능
serialNum string 30 N 일련번호
kwon number 4 N 책번호 "권" 항목
정수만 입력 가능
ho number 4 N 책번호 "호" 항목
정수만 입력 가능
writeDate string 8 Y 작성일자
형식 : yyyyMMdd
purposeType string 8 Y 영수/청구
영수
청구
없음
supplyCostTotal string 18 Y 공급가액 합계
정수만 입력 가능(소수점 자동 절사)
taxTotal string 18 Y 세액 합계
정수만 입력 가능(소수점 자동 절사)
totalAmount string 18 Y 합계 합계
정수만 입력 가능(소수점 자동 절사)
cash string 18 Y 현금
chkBill string 18 Y 수표
credit string 18 Y 외상
note string 18 Y 어음
remark1 string 150 조건부 비고1
remark2 string 150 N 비고2
remark3 string 150 N 비고3
invoicerMgtKey string 24 조건부 공급자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoicerCorpNum string 10 Y 공급자 사업자번호 ('-' 제외)
invoicerTaxRegID string 4 N 공급자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoicerCorpName string 200 Y 공급자 상호
invoicerCEOName string 100 Y 공급자 대표자 성명
invoicerAddr string 300 N 공급자 주소
invoicerBizType string 100 N 공급자 업태
invoicerBizClass string 100 N 공급자 종목
invoicerContactName string 100 N 공급자 담당자 성명
invoicerDeptName string 100 N 공급자 담당자 부서명
invoicerTEL string 20 N 공급자 담당자 연락처
invoicerHP string 20 N 공급자 담당자 휴대폰
invoicerEmail string 100 N 공급자 담당자 메일
invoicerSMSSendYN boolean - N 공급자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
invoiceeMgtKey string 24 조건부 공급받는자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoiceeType string - N 공급받는자 유형 (택 1)
사업자
개인
외국인
invoiceeCorpNum string 13 Y 공급받는자 등록번호 ('-' 제외)
- {invoiceeType}="사업자" 경우 사업자번호
- {invoiceeType}="개인" 경우 주민등록번호
- {invoiceeType}="외국인" 경우 "9999999999999"
invoiceeTaxRegID string 4 N 공급받는자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoiceeCorpName string 200 Y 공급받는자 상호
invoiceeCEOName string 100 Y 공급받는자 대표자 성명
invoiceeAddr string 300 N 공급받는자 주소
invoiceeBizType string 100 N 공급받는자 업태
invoiceeBizClass string 100 N 공급받는자 종목
invoiceeContactName1 string 100 N 공급받는자 담당자 성명
invoiceeDeptName1 string 100 N 공급받는자 담당자 부서명
invoiceeTEL1 string 20 N 공급받는자 담당자 연락처
invoiceeHP1 string 20 N 공급받는자 담당자 휴대폰
invoiceeEmail1 string 100 N 공급받는자 담당자 메일
invoiceeSMSSendYN boolean - N 공급받는자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급자 휴대폰번호 {invoicerHP}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
trusteeMgtKey string 24 조건부 수탁자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
trusteeCorpNum string 10 조건부 수탁자 사업자번호 ('-' 제외)
trusteeTaxRegID string 4 N 수탁자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
trusteeCorpName string 200 조건부 수탁자 상호
trusteeCEOName string 100 조건부 수탁자 대표자 성명
trusteeAddr string 300 N 수탁자 주소
trusteeBizType string 100 N 수탁자 업태
trusteeBizClass string 100 N 수탁자 종목
trusteeContactName string 100 N 수탁자 담당자 성명
trusteeDeptName string 100 N 수탁자 담당자 부서명
trusteeTEL string 20 N 수탁자 담당자 연락처
trusteeHP string 20 N 수탁자 담당자 휴대폰
trusteeEmail string 100 N 수탁자 담당자 메일
trusteeSMSSendYN boolean - N 수탁자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
modifyCode number 1 조건부 수정 사유코드
수정세금계산서 작성시 필수 [참고] 수정세금계산서
orgNTSConfirmNum string 24 조건부 당초 국세청승인번호
수정세금계산서 작성시 필수
businessLicenseYN boolean - N 팝빌에 등록된 사업자등록증 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
bankBookYN boolean - N 팝빌에 등록된 통장사본 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
detailList array - N 품목 상세정보
최대 : 99개
순번 변수명 타입 길이 필수 설명
serialNum number 2 Y 일련번호
purchaseDT string 8 N 거래일자
형식 : yyyyMMdd
itemName string 100 N 품명
spec string 60 N 규격
qty string 12 N 수량
-99999999.99 ~ 999999999.99
소수점 아래 2번째 자리까지 입력 가능
unitCost string 18 N 단가
-99999999999999.99 ~ 999999999999999.99
소수점 아래 2번째 자리까지 입력 가능
supplyCost string 18 N 공급가액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
tax string 18 N 세액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
remark string 100 N 비고
addContactList array - N 공급받는자 추가담당자 정보
여러 담당자에게 발행 안내 메일을 보내야할 경우 사용
최대 : 5명
순번 변수명 타입 길이 필수 설명
serialNum number 1 Y 일련번호
contactName string 100 N 담당자 성명
email string 100 Y 메일
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
writeSpecification boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
dealInvoiceKey string 24 N 거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: PATCH' \
  --data '{
    "issueType": "정발행",
    "taxType": "과세",
    "chargeDirection": "정과금",
    "writeDate": "20251117",
    "purposeType": "영수",
    "supplyCostTotal": "10000",
    "taxTotal": "1000",
    "totalAmount": "11000",
    "invoicerMgtKey": "TEST202511170900000",
    "invoicerCorpNum": "1234567890",
    "invoicerCorpName": "공급자 상호",
    "invoicerCEOName": "공급자 대표자 성명",
    "invoiceeType": "사업자",
    "invoiceeCorpNum": "1234567890",
    "invoiceeCorpName": "공급받는자 상호",
    "invoiceeCEOName": "공급받는자 대표자 성명",
    "detailList": [
        {
            "serialNum": 1,
            "purchaseDT": "20251117",
            "itemName": "품명",
            "spec": "규격",
            "qty": "1",
            "unitCost": "10000",
            "supplyCost": "10000",
            "tax": "1000",
            "remark": "비고"
        }
    ],
    "addContactList": [
        {
            "serialNum": 1,
            "contactName": "담당자 성명",
            "email": "test@test.com"
        }
    ]
}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "수정 완료"
}

6. Issue - 발행

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • "임시저장" 또는 "(역)발행대기" 상태의 세금계산서를 발행(전자서명)하며, "발행완료" 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
  • "발행완료"된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] API로 국세청 신고 대상에서 제외할 수 있습니다.
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

    ※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
ISSUE
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKeyType string - Y 문서번호 유형 (택 1)
SELL매출
TRUSTEE위수탁
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/SELL/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: ISSUE' \
  --data '{
    "memo": "메모",
    "emailSubject": "세금계산서 발행 안내메일 제목",
    "forceIssue": false
  }'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
ntsConfirmNum string 24 국세청승인번호
전자세금계산서 발행 시점에 팝빌에서 자동으로 할당
issueDT string - 발행일시
형식 : yyyyMMddHHmmss
응답 예시
{
    "code": 1,
    "message": "발행 완료",
    "ntsConfirmNum": "20251016888888880000004c",
    "issueDT": null
}

7. CancelIssue - 발행취소

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • 국세청 전송 이전 "발행완료" 상태의 전자세금계산서를 "발행취소"하고 국세청 신고대상에서 제외합니다.

[Delete – 삭제] API를 호출하여 "발행취소" 상태의 전자세금계산서를 삭제하면, 문서번호 재사용이 가능합니다.

Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
CANCELISSUE
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKeyType string - Y 문서번호 유형 (택 1)
SELL매출
TRUSTEE위수탁
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: CANCELISSUE' \
  --data '{
    "memo": "메모"
  }'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "발행취소 완료"
}

8. RegistRequest - 역발행 즉시 요청

POST https://popbill-test.linkhub.co.kr/Taxinvoice
POST https://popbill.linkhub.co.kr/Taxinvoice
  • 공급받는자가 작성한 세금계산서 데이터를 팝빌에 저장하고 공급자에게 송부하여 발행을 요청합니다.
  • 역발행 요청된 세금계산서는 "(역)발행대기" 상태이며, 공급자가 팝빌 사이트 또는 API를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
  • 공급자는 팝빌 사이트의 "매출 발행 대기함"에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.

    [Register – 임시저장][Request – 역발행 요청] API 기능을 한 번의 프로세스로 처리합니다.

  • 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
  • 공급자가 역발행 세금계산서 발행시 포인트가 과금되며, chargeDirection 값에 따라 과금 주체를 변경할 수 있습니다.

    ※ 정과금 : 공급자 과금, 역과금 : 공급받는자 과금

Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
REQUEST
X-PB-UserID N 팝빌회원 아이디
요청 본문
순번 변수명 타입 길이 필수 설명
issueType string 3 Y 발행형태
역발행
taxType string 2 Y 과세형태 (택 1)
과세
영세
면세
chargeDirection string 3 Y 과금방향 (택 1)
정과금 공급자 과금
역과금 공급받는자 과금
- {issueType}="정발행", "역발행", "위수탁" 경우 정과금 가능
- {issueType}="역발행" 경우 역과금 가능
serialNum string 30 N 일련번호
kwon number 4 N 책번호 "권" 항목
정수만 입력 가능
ho number 4 N 책번호 "호" 항목
정수만 입력 가능
writeDate string 8 Y 작성일자
형식 : yyyyMMdd
purposeType string 8 Y 영수/청구
영수
청구
없음
supplyCostTotal string 18 Y 공급가액 합계
정수만 입력 가능(소수점 자동 절사)
taxTotal string 18 Y 세액 합계
정수만 입력 가능(소수점 자동 절사)
totalAmount string 18 Y 합계 합계
정수만 입력 가능(소수점 자동 절사)
cash string 18 Y 현금
chkBill string 18 Y 수표
credit string 18 Y 외상
note string 18 Y 어음
remark1 string 150 조건부 비고1
remark2 string 150 N 비고2
remark3 string 150 N 비고3
invoicerMgtKey string 24 조건부 공급자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoicerCorpNum string 10 Y 공급자 사업자번호 ('-' 제외)
invoicerTaxRegID string 4 N 공급자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoicerCorpName string 200 Y 공급자 상호
invoicerCEOName string 100 Y 공급자 대표자 성명
invoicerAddr string 300 N 공급자 주소
invoicerBizType string 100 N 공급자 업태
invoicerBizClass string 100 N 공급자 종목
invoicerContactName string 100 N 공급자 담당자 성명
invoicerDeptName string 100 N 공급자 담당자 부서명
invoicerTEL string 20 N 공급자 담당자 연락처
invoicerHP string 20 N 공급자 담당자 휴대폰
invoicerEmail string 100 N 공급자 담당자 메일
invoicerSMSSendYN boolean - N 공급자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
invoiceeMgtKey string 24 조건부 공급받는자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
invoiceeType string - N 공급받는자 유형 (택 1)
사업자
개인
외국인
invoiceeCorpNum string 13 Y 공급받는자 등록번호 ('-' 제외)
- {invoiceeType}="사업자" 경우 사업자번호
- {invoiceeType}="개인" 경우 주민등록번호
- {invoiceeType}="외국인" 경우 "9999999999999"
invoiceeTaxRegID string 4 N 공급받는자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
invoiceeCorpName string 200 Y 공급받는자 상호
invoiceeCEOName string 100 Y 공급받는자 대표자 성명
invoiceeAddr string 300 N 공급받는자 주소
invoiceeBizType string 100 N 공급받는자 업태
invoiceeBizClass string 100 N 공급받는자 종목
invoiceeContactName1 string 100 N 공급받는자 담당자 성명
invoiceeDeptName1 string 100 N 공급받는자 담당자 부서명
invoiceeTEL1 string 20 N 공급받는자 담당자 연락처
invoiceeHP1 string 20 N 공급받는자 담당자 휴대폰
invoiceeEmail1 string 100 N 공급받는자 담당자 메일
invoiceeSMSSendYN boolean - N 공급받는자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급자 휴대폰번호 {invoicerHP}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
trusteeMgtKey string 24 조건부 수탁자 문서번호
문서 관리를 위해 파트너가 할당하는 고유 식별번호
영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능
trusteeCorpNum string 10 조건부 수탁자 사업자번호 ('-' 제외)
trusteeTaxRegID string 4 N 수탁자 종사업장 식별번호
종사업장 식별번호는 4자리 숫자로만 구성
trusteeCorpName string 200 조건부 수탁자 상호
trusteeCEOName string 100 조건부 수탁자 대표자 성명
trusteeAddr string 300 N 수탁자 주소
trusteeBizType string 100 N 수탁자 업태
trusteeBizClass string 100 N 수탁자 종목
trusteeContactName string 100 N 수탁자 담당자 성명
trusteeDeptName string 100 N 수탁자 담당자 부서명
trusteeTEL string 20 N 수탁자 담당자 연락처
trusteeHP string 20 N 수탁자 담당자 휴대폰
trusteeEmail string 100 N 수탁자 담당자 메일
trusteeSMSSendYN boolean - N 수탁자 알림문자 전송 여부
true전송
false미전송 : 기본값
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1}
문자 전송 포인트가 차감(단, 전송실패 건은 환불)
modifyCode number 1 조건부 수정 사유코드
수정세금계산서 작성시 필수 [참고] 수정세금계산서
orgNTSConfirmNum string 24 조건부 당초 국세청승인번호
수정세금계산서 작성시 필수
businessLicenseYN boolean - N 팝빌에 등록된 사업자등록증 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
bankBookYN boolean - N 팝빌에 등록된 통장사본 첨부 여부
true첨부
false미첨부 : 기본값
팝빌 사이트 또는 [GetSealURL - 인감 및 첨부문서 등록 팝업 URL]을 이용하여 등록
detailList array - N 품목 상세정보
최대 : 99개
순번 변수명 타입 길이 필수 설명
serialNum number 2 Y 일련번호
purchaseDT string 8 N 거래일자
형식 : yyyyMMdd
itemName string 100 N 품명
spec string 60 N 규격
qty string 12 N 수량
-99999999.99 ~ 999999999.99
소수점 아래 2번째 자리까지 입력 가능
unitCost string 18 N 단가
-99999999999999.99 ~ 999999999999999.99
소수점 아래 2번째 자리까지 입력 가능
supplyCost string 18 N 공급가액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
tax string 18 N 세액
정수만 입력 가능
마이너스 금액 입력 가능, 소수점 자동 절사
remark string 100 N 비고
addContactList array - N 공급받는자 추가담당자 정보
여러 담당자에게 발행 안내 메일을 보내야할 경우 사용
최대 : 5명
순번 변수명 타입 길이 필수 설명
serialNum number 1 Y 일련번호
contactName string 100 N 담당자 성명
email string 100 Y 메일
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject string 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목
writeSpecification boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능
forceIssue boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
dealInvoiceKey string 24 N 거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: REQUEST' \
  --data '{
    "issueType": "역발행",
    "taxType": "과세",
    "chargeDirection": "정과금",
    "writeDate": "20251016",
    "purposeType": "영수",
    "supplyCostTotal": "10000",
    "taxTotal": "1000",
    "totalAmount": "11000",
    "invoicerCorpNum": "1234567890",
    "invoicerCorpName": "공급자 상호",
    "invoicerCEOName": "공급자 대표자 성명",
    "invoiceeMgtKey": "TEST202510281800000",
    "invoiceeType": "사업자",
    "invoiceeCorpNum": "1234567890",
    "invoiceeCorpName": "공급받는자 상호",
    "invoiceeCEOName": "공급받는자 대표자 성명",
    "detailList": [
        {
            "serialNum": 1,
            "purchaseDT": "20251117",
            "itemName": "품명",
            "spec": "규격",
            "qty": "1",
            "unitCost": "10000",
            "supplyCost": "10000",
            "tax": "1000",
            "remark": "비고"
        }
    ],
    "addContactList": [
        {
            "serialNum": 1,
            "contactName": "담당자 성명",
            "email": "test@test.com"
        }
    ]
}'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "발행요청 완료"
}

9. Request - 역발행 요청

POST https://popbill-test.linkhub.co.kr/Taxinvoice/BUY/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/BUY/{MgtKey}
  • 공급받는자가 저장된 역발행 세금계산서를 공급자에게 송부하여 발행 요청합니다.
  • 역발행 요청된 세금계산서는 "(역)발행대기" 상태이며, 공급자가 팝빌 사이트 또는 API를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
  • 공급자는 팝빌 사이트의 "매출 발행 대기함"에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
  • 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
  • 공급자가 역발행 세금계산서 발행시 포인트가 과금됩니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
REQUEST
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/BUY/{mgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'X-HTTP-Method-Override: REQUEST' \
  --header 'Content-Type: application/json' \
  --data '{
    "memo": "메모"
  }'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "(역)발행요청 완료"
}

10. CancelRequest - 역발행 요청취소

POST https://popbill-test.linkhub.co.kr/Taxinvoice/BUY/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/BUY/{MgtKey}
  • 공급자가 요청받은 역발행 세금계산서를 발행하기 전, 공급받는자가 역발행요청을 취소합니다.
  • API 호출시 "취소" 상태로 변경되고, 해당 역발행 세금계산서는 공급자에 의해 발행 될 수 없습니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
CANCELREQUEST
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/BUY/{mgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: CANCELREQUEST' \
  --data '{
    "memo": "메모"
  }'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "(역)발행요청 취소 완료"
}

11. Refuse - 역발행 요청거부

POST https://popbill-test.linkhub.co.kr/Taxinvoice/SELL/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/SELL/{MgtKey}
  • 공급자가 공급받는자에게 역발행 요청 받은 세금계산서의 발행을 거부합니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Content-Type Y 요청 본문 형식
application/json
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
REFUSE
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 본문
순번 변수명 타입 길이 필수 설명
memo string 200 N 세금계산서 상태 이력을 관리하기 위한 메모
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/SELL/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --header 'X-HTTP-Method-Override: REFUSE' \
  --data '{
    "memo": "메모"
  }'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "역발행 거부 완료"
}

12. Delete - 삭제

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • 삭제 가능한 상태의 세금계산서를 삭제합니다.

    ※ 삭제 가능한 상태: "임시저장", "발행취소", "역발행거부", "역발행취소", "전송실패"

  • 삭제 처리된 세금계산서의 문서번호는 재사용이 가능합니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
DELETE
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKeyType string - Y 문서번호 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'X-HTTP-Method-Override: DELETE'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "삭제 완료"
}

13. SendToNTS - 국세청 즉시 전송

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • "발행완료" 상태의 전자세금계산서를 국세청에 즉시 전송하며, API 호출 후 최대 30분 이내에 전송 처리가 완료됩니다.
Request
요청 헤더
순번 변수명 필수 설명
Authorization Y 인증 토큰
Accept-Language N 응답 언어 설정
ko-KR: 기본값
en-US
Accept-Encoding N 응답 압축 방식
gzip
X-HTTP-Method-Override Y 요청 메서드 재정의
NTS
X-PB-UserID N 팝빌회원 아이디
Path 파라미터
순번 변수명 타입 길이 필수 설명
MgtKeyType string - Y 문서번호 유형 (택 1)
SELL매출
TRUSTEE위수탁
MgtKey string 24 Y 파트너가 할당한 문서번호
요청 예시
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \
  --header 'Authorization: Bearer {token}' \
  --header 'X-HTTP-Method-Override: NTS'
Response
응답 본문
순번 변수명 타입 길이 설명
code number - API 처리에 대한 응답코드
1성공
message string - API 처리에 대한 응답메시지
응답 예시
{
    "code": 1,
    "message": "전송요청 완료"
}