발행/전송
1. RegistIssue - 즉시 발행
섹션 제목: “1. RegistIssue - 즉시 발행” https://popbill-test.linkhub.co.kr/Taxinvoice - 작성된 세금계산서 데이터를 팝빌에 저장과 동시에 발행(전자서명)하여 “발행완료” 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
- “발행완료”된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] API로 국세청 신고 대상에서 제외할 수 있습니다.
※ [Register - 임시저장]과 [Issue - 발행] API 기능을 한 번의 프로세스로 처리합니다.
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.
세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | issueType | string | 3 | Y | 발행형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | taxType | string | 2 | Y | 과세형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | chargeDirection | string | 3 | Y | 과금방향
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | serialNum | string | 30 | N | 일련번호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | kwon | number | 4 | N | 책번호 "권" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | ho | number | 4 | N | 책번호 "호" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | writeDate | string | 8 | Y | 작성일자 형식 : yyyyMMdd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | purposeType | string | 2 | Y | 영수/청구
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | supplyCostTotal | string | 18 | Y | 공급가액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | taxTotal | string | 18 | Y | 세액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | totalAmount | string | 18 | Y | 합계금액 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | cash | string | 18 | N | 현금 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | chkBill | string | 18 | N | 수표 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | credit | string | 18 | N | 외상 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | note | string | 18 | N | 어음 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | remark1 | string | 150 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | remark2 | string | 150 | N | 비고2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | remark3 | string | 150 | N | 비고3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | invoicerMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | invoicerCorpNum | string | 10 | Y | 공급자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | invoicerTaxRegID | string | 4 | N | 공급자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | invoicerCorpName | string | 200 | Y | 공급자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | invoicerCEOName | string | 100 | Y | 공급자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | invoicerAddr | string | 300 | N | 공급자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | invoicerBizType | string | 100 | N | 공급자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | invoicerBizClass | string | 100 | N | 공급자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | invoicerContactName | string | 100 | N | 공급자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | invoicerDeptName | string | 100 | N | 공급자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | invoicerTEL | string | 20 | N | 공급자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | invoicerHP | string | 20 | N | 공급자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | invoicerEmail | string | 100 | N | 공급자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | invoicerSMSSendYN | boolean | - | N | 공급자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | invoiceeMgtKey | string | 24 | 조건부 | 공급받는자 문서번호 문서 관리를 위해 파트너가 할당하는 고유 식별번호 영문 대소문자, 숫자, 특수문자('-', '_')만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | invoiceeType | string | - | N | 공급받는자 유형 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | invoiceeCorpNum | string | 13 | Y | 공급받는자 등록번호 ('-' 제외) {invoiceeType}="사업자" 경우 사업자번호 {invoiceeType}="개인" 경우 주민등록번호 {invoiceeType}="외국인" 경우 "9999999999999" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | invoiceeTaxRegID | string | 4 | N | 공급받는자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | invoiceeCorpName | string | 200 | Y | 공급받는자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | invoiceeCEOName | string | 100 | Y | 공급받는자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | invoiceeAddr | string | 300 | N | 공급받는자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | invoiceeBizType | string | 100 | N | 공급받는자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | invoiceeBizClass | string | 100 | N | 공급받는자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | invoiceeContactName1 | string | 100 | N | 공급받는자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | invoiceeDeptName1 | string | 100 | N | 공급받는자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | invoiceeTEL1 | string | 20 | N | 공급받는자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | invoiceeHP1 | string | 20 | N | 공급받는자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | invoiceeEmail1 | string | 100 | N | 공급받는자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | invoiceeSMSSendYN | boolean | - | N | 공급받는자 알림문자 전송 여부
수신자 : 공급자 휴대폰번호 {invoicerHP} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | trusteeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | trusteeCorpNum | string | 10 | 조건부 | 수탁자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | trusteeTaxRegID | string | 4 | N | 수탁자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | trusteeCorpName | string | 200 | 조건부 | 수탁자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | trusteeCEOName | string | 100 | 조건부 | 수탁자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | trusteeAddr | string | 300 | N | 수탁자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | trusteeBizType | string | 100 | N | 수탁자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | trusteeBizClass | string | 100 | N | 수탁자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | trusteeContactName | string | 100 | N | 수탁자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | trusteeDeptName | string | 100 | N | 수탁자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | trusteeTEL | string | 20 | N | 수탁자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | trusteeHP | string | 20 | N | 수탁자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | trusteeEmail | string | 100 | N | 수탁자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | trusteeSMSSendYN | boolean | - | N | 수탁자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | modifyCode | number | 1 | 조건부 | 수정 사유코드 수정세금계산서 작성시 필수 [참고] 수정세금계산서 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | orgNTSConfirmNum | string | 24 | 조건부 | 당초 국세청승인번호 수정세금계산서 작성시 필수 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | businessLicenseYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | bankBookYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | array | - | N | 품목 상세정보 최대 : 99개 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
detailList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | array | - | N | 공급받는자 추가담당자 정보 여러 담당자에게 발행 안내 메일을 보내야할 경우 사용 최대 : 5명 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addContactList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | memo | string | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | emailSubject | string | 300 | N | 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | writeSpecification | boolean | - | N | 거래명세서 동시작성 여부
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | forceIssue | boolean | - | N | 지연발행 가능여부
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
| 3 | ntsConfirmNum | string | 24 | 국세청승인번호 전자세금계산서 발행 시점에 팝빌에서 자동으로 할당 |
| 4 | issueDT | string | 14 | 발행일시 형식 : yyyyMMddHHmmss |
응답 예시
{ "code": 1, "message": "발행 완료", "ntsConfirmNum": "202510168888888800000023", "issueDT": "20251016151123"}2. BulkSubmit - 초대량 발행 접수
섹션 제목: “2. BulkSubmit - 초대량 발행 접수” https://popbill-test.linkhub.co.kr/Taxinvoice - 최대 100건의 세금계산서 발행을 한번의 요청으로 접수합니다.
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.
세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-Message-Digest | Y | |
| 7 | X-PB-Submit-ID | Y | 제출아이디 영문, 숫자, '-' 조합으로 최대 36자 길이로 구성 |
| 8 | X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | array | - | Y | 전자세금계산서 목록 최대 : 100건 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
invoices
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | forceIssue | boolean | - | N | 지연발행 가능여부
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
요청 예시
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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
| 3 | receiptID | string | 36 | 접수아이디 접수 시점에 팝빌에서 자동으로 할당 |
응답 예시
{ "code": 1, "message": "접수 완료", "receiptID": "0251023-cf84677932f44e3baa2541160366"}3. GetBulkResult - 초대량 접수결과 확인
섹션 제목: “3. GetBulkResult - 초대량 접수결과 확인” https://popbill-test.linkhub.co.kr/Taxinvoice/BULK/{submitID}/State - 접수시 기재한 SubmitID를 사용하여 세금계산서 접수결과를 확인합니다.
- txState(접수상태)가 2(완료)일 때, 개별 세금계산서 발행결과(성공/실패) 확인이 가능합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Accept-Language | N | 응답 언어 설정
|
| 3 | Accept-Encoding | N | 응답 압축 방식
|
| 4 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | submitID | string | 36 | Y | 파트너가 할당한 제출 아이디 |
요청 예시
curl --request GET \ --url 'https://{domain}/Taxinvoice/BULK/{submitID}/State' \ --header 'Authorization: Bearer {token}'Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
| |||||||||||||||||||||||||||||||||||
| 2 | message | string | - | API 처리에 대한 응답메시지 | |||||||||||||||||||||||||||||||||||
| 3 | receiptID | string | 36 | 접수아이디 접수 시점에 팝빌에서 자동으로 할당 | |||||||||||||||||||||||||||||||||||
| 4 | submitID | string | 36 | 접수 시점에 고객사에서 할당한 제출아이디 | |||||||||||||||||||||||||||||||||||
| 5 | submitCount | number | - | 세금계산서 접수 건수 | |||||||||||||||||||||||||||||||||||
| 6 | successCount | number | - | 세금계산서 발행 성공 건수 | |||||||||||||||||||||||||||||||||||
| 7 | failCount | number | - | 세금계산서 발행 실패 건수 | |||||||||||||||||||||||||||||||||||
| 8 | txState | number | 1 | 접수상태
| |||||||||||||||||||||||||||||||||||
| 9 | txStartDT | string | 14 | 발행처리 시작일시 형식 : yyyyMMddHHmmss | |||||||||||||||||||||||||||||||||||
| 10 | txEndDT | string | 14 | 발행처리 완료일시 형식 : yyyyMMddHHmmss | |||||||||||||||||||||||||||||||||||
| 11 | txResultCode | number | - | ||||||||||||||||||||||||||||||||||||
| 12 | array | - | 발행결과 최대 : 100건 | ||||||||||||||||||||||||||||||||||||
issueResult
| |||||||||||||||||||||||||||||||||||||||
| 13 | 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 - 임시저장
섹션 제목: “4. Register - 임시저장” https://popbill-test.linkhub.co.kr/Taxinvoice - 작성된 세금계산서 데이터를 팝빌에 저장합니다.
- “임시저장” 상태의 세금계산서는 [Issue - 발행] API를 호출하여 “발행완료” 처리한 경우에만 국세청으로 전송됩니다.
세금계산서 파일첨부 기능을 구현하는 경우,
[Register – 임시저장] → [AttachFile – 파일첨부] → [Issue – 발행] API를 차례로 호출합니다.
역발행 세금계산서를 저장하는 경우, chargeDirection 값을 통해 과금 주체를 지정할 수 있습니다.
※ 정과금: 공급자 과금, 역과금: 공급받는자 과금
임시저장된 세금계산서는 팝빌 사이트 ‘임시문서함’에서 확인 가능합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | issueType | string | 3 | Y | 발행형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | taxType | string | 2 | Y | 과세형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | chargeDirection | string | 3 | Y | 과금방향 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | serialNum | string | 30 | N | 일련번호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | kwon | number | 4 | N | 책번호 "권" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | ho | number | 4 | N | 책번호 "호" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | writeDate | string | 8 | Y | 작성일자 형식 : yyyyMMdd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | purposeType | string | 2 | Y | 영수/청구
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | supplyCostTotal | string | 18 | Y | 공급가액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | taxTotal | string | 18 | Y | 세액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | totalAmount | string | 18 | Y | 합계금액 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | cash | string | 18 | N | 현금 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | chkBill | string | 18 | N | 수표 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | credit | string | 18 | N | 외상 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | note | string | 18 | N | 어음 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | remark1 | string | 150 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | remark2 | string | 150 | N | 비고2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | remark3 | string | 150 | N | 비고3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | invoicerMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | invoicerCorpNum | string | 10 | Y | 공급자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | invoicerTaxRegID | string | 4 | N | 공급자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | invoicerCorpName | string | 200 | Y | 공급자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | invoicerCEOName | string | 100 | Y | 공급자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | invoicerAddr | string | 300 | N | 공급자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | invoicerBizType | string | 100 | N | 공급자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | invoicerBizClass | string | 100 | N | 공급자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | invoicerContactName | string | 100 | N | 공급자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | invoicerDeptName | string | 100 | N | 공급자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | invoicerTEL | string | 20 | N | 공급자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | invoicerHP | string | 20 | N | 공급자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | invoicerEmail | string | 100 | N | 공급자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | invoicerSMSSendYN | boolean | - | N | 공급자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | invoiceeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | invoiceeType | string | - | N | 공급받는자 유형 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | invoiceeCorpNum | string | 13 | Y | 공급받는자 등록번호 ('-' 제외) {invoiceeType}="사업자" 경우 사업자번호 {invoiceeType}="개인" 경우 주민등록번호 {invoiceeType}="외국인" 경우 "9999999999999" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | invoiceeTaxRegID | string | 4 | N | 공급받는자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | invoiceeCorpName | string | 200 | Y | 공급받는자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | invoiceeCEOName | string | 100 | Y | 공급받는자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | invoiceeAddr | string | 300 | N | 공급받는자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | invoiceeBizType | string | 100 | N | 공급받는자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | invoiceeBizClass | string | 100 | N | 공급받는자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | invoiceeContactName1 | string | 100 | N | 공급받는자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | invoiceeDeptName1 | string | 100 | N | 공급받는자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | invoiceeTEL1 | string | 20 | N | 공급받는자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | invoiceeHP1 | string | 20 | N | 공급받는자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | invoiceeEmail1 | string | 100 | N | 공급받는자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | invoiceeSMSSendYN | boolean | - | N | 공급받는자 알림문자 전송 여부
수신자 : 공급자 휴대폰번호 {invoicerHP} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | trusteeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | trusteeCorpNum | string | 10 | 조건부 | 수탁자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | trusteeTaxRegID | string | 4 | N | 수탁자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | trusteeCorpName | string | 200 | 조건부 | 수탁자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | trusteeCEOName | string | 100 | 조건부 | 수탁자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | trusteeAddr | string | 300 | N | 수탁자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | trusteeBizType | string | 100 | N | 수탁자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | trusteeBizClass | string | 100 | N | 수탁자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | trusteeContactName | string | 100 | N | 수탁자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | trusteeDeptName | string | 100 | N | 수탁자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | trusteeTEL | string | 20 | N | 수탁자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | trusteeHP | string | 20 | N | 수탁자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | trusteeEmail | string | 100 | N | 수탁자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | trusteeSMSSendYN | boolean | - | N | 수탁자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | modifyCode | number | 1 | 조건부 | 수정 사유코드 수정세금계산서 작성시 필수 [참고] 수정세금계산서 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | orgNTSConfirmNum | string | 24 | 조건부 | 당초 국세청승인번호 수정세금계산서 작성시 필수 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | businessLicenseYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | bankBookYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | array | - | N | 품목 상세정보 최대 : 99개 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
detailList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | array | - | N | 공급받는자 추가담당자 정보 여러 담당자에게 발행 안내 메일을 보내야할 경우 사용 최대 : 5명 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addContactList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | memo | string | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | emailSubject | string | 300 | N | 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | writeSpecification | boolean | - | N | 거래명세서 동시작성 여부
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | forceIssue | boolean | - | N | 지연발행 가능여부
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "등록 완료"}5. Update - 수정
섹션 제목: “5. Update - 수정” https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey} - “임시저장” 상태의 세금계산서를 수정합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKeyType | string | - | Y | 문서번호 유형 (택 1)
|
| 2 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | issueType | string | 3 | Y | 발행형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | taxType | string | 2 | Y | 과세형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | chargeDirection | string | 3 | Y | 과금방향 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | serialNum | string | 30 | N | 일련번호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | kwon | number | 4 | N | 책번호 "권" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | ho | number | 4 | N | 책번호 "호" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | writeDate | string | 8 | Y | 작성일자 형식 : yyyyMMdd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | purposeType | string | 2 | Y | 영수/청구
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | supplyCostTotal | string | 18 | Y | 공급가액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | taxTotal | string | 18 | Y | 세액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | totalAmount | string | 18 | Y | 합계금액 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | cash | string | 18 | Y | 현금 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | chkBill | string | 18 | Y | 수표 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | credit | string | 18 | Y | 외상 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | note | string | 18 | Y | 어음 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | remark1 | string | 150 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | remark2 | string | 150 | N | 비고2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | remark3 | string | 150 | N | 비고3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | invoicerMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | invoicerCorpNum | string | 10 | Y | 공급자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | invoicerTaxRegID | string | 4 | N | 공급자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | invoicerCorpName | string | 200 | Y | 공급자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | invoicerCEOName | string | 100 | Y | 공급자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | invoicerAddr | string | 300 | N | 공급자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | invoicerBizType | string | 100 | N | 공급자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | invoicerBizClass | string | 100 | N | 공급자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | invoicerContactName | string | 100 | N | 공급자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | invoicerDeptName | string | 100 | N | 공급자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | invoicerTEL | string | 20 | N | 공급자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | invoicerHP | string | 20 | N | 공급자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | invoicerEmail | string | 100 | N | 공급자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | invoicerSMSSendYN | boolean | - | N | 공급자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | invoiceeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | invoiceeType | string | - | N | 공급받는자 유형 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | invoiceeCorpNum | string | 13 | Y | 공급받는자 등록번호 ('-' 제외) {invoiceeType}="사업자" 경우 사업자번호 {invoiceeType}="개인" 경우 주민등록번호 {invoiceeType}="외국인" 경우 "9999999999999" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | invoiceeTaxRegID | string | 4 | N | 공급받는자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | invoiceeCorpName | string | 200 | Y | 공급받는자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | invoiceeCEOName | string | 100 | Y | 공급받는자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | invoiceeAddr | string | 300 | N | 공급받는자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | invoiceeBizType | string | 100 | N | 공급받는자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | invoiceeBizClass | string | 100 | N | 공급받는자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | invoiceeContactName1 | string | 100 | N | 공급받는자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | invoiceeDeptName1 | string | 100 | N | 공급받는자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | invoiceeTEL1 | string | 20 | N | 공급받는자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | invoiceeHP1 | string | 20 | N | 공급받는자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | invoiceeEmail1 | string | 100 | N | 공급받는자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | invoiceeSMSSendYN | boolean | - | N | 공급받는자 알림문자 전송 여부
수신자 : 공급자 휴대폰번호 {invoicerHP} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | trusteeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | trusteeCorpNum | string | 10 | 조건부 | 수탁자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | trusteeTaxRegID | string | 4 | N | 수탁자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | trusteeCorpName | string | 200 | 조건부 | 수탁자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | trusteeCEOName | string | 100 | 조건부 | 수탁자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | trusteeAddr | string | 300 | N | 수탁자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | trusteeBizType | string | 100 | N | 수탁자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | trusteeBizClass | string | 100 | N | 수탁자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | trusteeContactName | string | 100 | N | 수탁자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | trusteeDeptName | string | 100 | N | 수탁자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | trusteeTEL | string | 20 | N | 수탁자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | trusteeHP | string | 20 | N | 수탁자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | trusteeEmail | string | 100 | N | 수탁자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | trusteeSMSSendYN | boolean | - | N | 수탁자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | modifyCode | number | 1 | 조건부 | 수정 사유코드 수정세금계산서 작성시 필수 [참고] 수정세금계산서 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | orgNTSConfirmNum | string | 24 | 조건부 | 당초 국세청승인번호 수정세금계산서 작성시 필수 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | businessLicenseYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | bankBookYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | array | - | N | 품목 상세정보 최대 : 99개 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
detailList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | array | - | N | 공급받는자 추가담당자 정보 여러 담당자에게 발행 안내 메일을 보내야할 경우 사용 최대 : 5명 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addContactList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | memo | string | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | emailSubject | string | 300 | N | 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | writeSpecification | boolean | - | N | 거래명세서 동시작성 여부
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | forceIssue | boolean | - | N | 지연발행 가능여부
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "수정 완료"}6. Issue - 발행
섹션 제목: “6. Issue - 발행” https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey} - “임시저장” 또는 “(역)발행대기” 상태의 세금계산서를 발행(전자서명)하며, “발행완료” 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
- “발행완료”된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] API로 국세청 신고 대상에서 제외할 수 있습니다.
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁의 경우, 수탁자의 인증서 등록이 필요합니다.
세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKeyType | string | - | Y | 문서번호 유형 (택 1)
|
| 2 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | memo | string | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 |
| 2 | emailSubject | string | 300 | N | 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 |
| 3 | forceIssue | boolean | - | N | 지연발행 가능여부
|
요청 예시
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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
| 3 | ntsConfirmNum | string | 24 | 국세청승인번호 전자세금계산서 발행 시점에 팝빌에서 자동으로 할당 |
| 4 | issueDT | string | - | 발행일시 형식 : yyyyMMddHHmmss |
응답 예시
{ "code": 1, "message": "발행 완료", "ntsConfirmNum": "20251016888888880000004c", "issueDT": null}7. CancelIssue - 발행취소
섹션 제목: “7. CancelIssue - 발행취소” https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey} - 국세청 전송 이전 “발행완료” 상태의 전자세금계산서를 “발행취소”하고 국세청 신고대상에서 제외합니다.
[Delete – 삭제] API를 호출하여 “발행취소” 상태의 전자세금계산서를 삭제하면, 문서번호 재사용이 가능합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKeyType | string | - | Y | 문서번호 유형 (택 1)
|
| 2 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "발행취소 완료"}8. RegistRequest - 역발행 즉시 요청
섹션 제목: “8. RegistRequest - 역발행 즉시 요청” https://popbill-test.linkhub.co.kr/Taxinvoice - 공급받는자가 작성한 세금계산서 데이터를 팝빌에 저장하고 공급자에게 송부하여 발행을 요청합니다.
- 역발행 요청된 세금계산서는 “(역)발행대기” 상태이며, 공급자가 팝빌 사이트 또는 API를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
- 공급자는 팝빌 사이트의 “매출 발행 대기함”에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
※ [Register – 임시저장]과 [Request – 역발행 요청] API 기능을 한 번의 프로세스로 처리합니다.
역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
공급자가 역발행 세금계산서 발행시 포인트가 과금되며, chargeDirection 값에 따라 과금 주체를 변경할 수 있습니다.
※ 정과금 : 공급자 과금, 역과금 : 공급받는자 과금
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | issueType | string | 3 | Y | 발행형태
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | taxType | string | 2 | Y | 과세형태 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | chargeDirection | string | 3 | Y | 과금방향 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | serialNum | string | 30 | N | 일련번호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | kwon | number | 4 | N | 책번호 "권" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | ho | number | 4 | N | 책번호 "호" 항목 정수만 입력 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | writeDate | string | 8 | Y | 작성일자 형식 : yyyyMMdd | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | purposeType | string | 2 | Y | 영수/청구
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | supplyCostTotal | string | 18 | Y | 공급가액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | taxTotal | string | 18 | Y | 세액 합계 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | totalAmount | string | 18 | Y | 합계금액 정수만 입력 가능(소수점 자동 절사) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | cash | string | 18 | N | 현금 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | chkBill | string | 18 | N | 수표 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | credit | string | 18 | N | 외상 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | note | string | 18 | N | 어음 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16 | remark1 | string | 150 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 17 | remark2 | string | 150 | N | 비고2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18 | remark3 | string | 150 | N | 비고3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 19 | invoicerMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20 | invoicerCorpNum | string | 10 | Y | 공급자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 21 | invoicerTaxRegID | string | 4 | N | 공급자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | invoicerCorpName | string | 200 | Y | 공급자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 23 | invoicerCEOName | string | 100 | Y | 공급자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 24 | invoicerAddr | string | 300 | N | 공급자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25 | invoicerBizType | string | 100 | N | 공급자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 26 | invoicerBizClass | string | 100 | N | 공급자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27 | invoicerContactName | string | 100 | N | 공급자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28 | invoicerDeptName | string | 100 | N | 공급자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 29 | invoicerTEL | string | 20 | N | 공급자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 30 | invoicerHP | string | 20 | N | 공급자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 31 | invoicerEmail | string | 100 | N | 공급자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 32 | invoicerSMSSendYN | boolean | - | N | 공급자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 33 | invoiceeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 34 | invoiceeType | string | - | N | 공급받는자 유형 (택 1)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 35 | invoiceeCorpNum | string | 13 | Y | 공급받는자 등록번호 ('-' 제외) {invoiceeType}="사업자" 경우 사업자번호 {invoiceeType}="개인" 경우 주민등록번호 {invoiceeType}="외국인" 경우 "9999999999999" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 36 | invoiceeTaxRegID | string | 4 | N | 공급받는자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 37 | invoiceeCorpName | string | 200 | Y | 공급받는자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 38 | invoiceeCEOName | string | 100 | Y | 공급받는자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 | invoiceeAddr | string | 300 | N | 공급받는자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 40 | invoiceeBizType | string | 100 | N | 공급받는자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 41 | invoiceeBizClass | string | 100 | N | 공급받는자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 42 | invoiceeContactName1 | string | 100 | N | 공급받는자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 43 | invoiceeDeptName1 | string | 100 | N | 공급받는자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 44 | invoiceeTEL1 | string | 20 | N | 공급받는자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 45 | invoiceeHP1 | string | 20 | N | 공급받는자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 46 | invoiceeEmail1 | string | 100 | N | 공급받는자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 47 | invoiceeSMSSendYN | boolean | - | N | 공급받는자 알림문자 전송 여부
수신자 : 공급자 휴대폰번호 {invoicerHP} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 48 | trusteeMgtKey | string | 24 | 조건부 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 49 | trusteeCorpNum | string | 10 | 조건부 | 수탁자 사업자번호 ('-' 제외) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 50 | trusteeTaxRegID | string | 4 | N | 수탁자 종사업장 식별번호 종사업장 식별번호는 4자리 숫자로만 구성 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 51 | trusteeCorpName | string | 200 | 조건부 | 수탁자 상호 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 52 | trusteeCEOName | string | 100 | 조건부 | 수탁자 대표자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 53 | trusteeAddr | string | 300 | N | 수탁자 주소 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 54 | trusteeBizType | string | 100 | N | 수탁자 업태 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | trusteeBizClass | string | 100 | N | 수탁자 종목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 56 | trusteeContactName | string | 100 | N | 수탁자 담당자 성명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 57 | trusteeDeptName | string | 100 | N | 수탁자 담당자 부서명 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 58 | trusteeTEL | string | 20 | N | 수탁자 담당자 연락처 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 59 | trusteeHP | string | 20 | N | 수탁자 담당자 휴대폰 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 60 | trusteeEmail | string | 100 | N | 수탁자 담당자 메일 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 61 | trusteeSMSSendYN | boolean | - | N | 수탁자 알림문자 전송 여부
수신자 : 공급받는자 휴대폰번호 {invoiceeHP1} 문자 전송 포인트가 차감(단, 전송실패 건은 환불) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 62 | modifyCode | number | 1 | 조건부 | 수정 사유코드 수정세금계산서 작성시 필수 [참고] 수정세금계산서 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 63 | orgNTSConfirmNum | string | 24 | 조건부 | 당초 국세청승인번호 수정세금계산서 작성시 필수 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 64 | businessLicenseYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 65 | bankBookYN | boolean | - | N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 66 | array | - | N | 품목 상세정보 최대 : 99개 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
detailList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 67 | array | - | N | 공급받는자 추가담당자 정보 여러 담당자에게 발행 안내 메일을 보내야할 경우 사용 최대 : 5명 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addContactList
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 68 | memo | string | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 69 | emailSubject | string | 300 | N | 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 70 | writeSpecification | boolean | - | N | 거래명세서 동시작성 여부
공급받는자 유형 {invoiceeType}="사업자" 경우만 가능 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 71 | forceIssue | boolean | - | N | 지연발행 가능여부
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 72 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "발행요청 완료"}9. Request - 역발행 요청
섹션 제목: “9. Request - 역발행 요청” https://popbill-test.linkhub.co.kr/Taxinvoice/BUY/{MgtKey} - 공급받는자가 저장된 역발행 세금계산서를 공급자에게 송부하여 발행 요청합니다.
- 역발행 요청된 세금계산서는 “(역)발행대기” 상태이며, 공급자가 팝빌 사이트 또는 API를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
- 공급자는 팝빌 사이트의 “매출 발행 대기함”에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
공급자가 역발행 세금계산서 발행시 포인트가 과금됩니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "(역)발행요청 완료"}10. CancelRequest - 역발행 요청취소
섹션 제목: “10. CancelRequest - 역발행 요청취소” https://popbill-test.linkhub.co.kr/Taxinvoice/BUY/{MgtKey} - 공급자가 요청받은 역발행 세금계산서를 발행하기 전, 공급받는자가 역발행요청을 취소합니다.
- API 호출시 “취소” 상태로 변경되고, 해당 역발행 세금계산서는 공급자에 의해 발행 될 수 없습니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "(역)발행요청 취소 완료"}11. Refuse - 역발행 요청거부
섹션 제목: “11. Refuse - 역발행 요청거부” https://popbill-test.linkhub.co.kr/Taxinvoice/SELL/{MgtKey} - 공급자가 공급받는자에게 역발행 요청 받은 세금계산서의 발행을 거부합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Content-Type | Y | 요청 본문 형식
|
| 3 | Accept-Language | N | 응답 언어 설정
|
| 4 | Accept-Encoding | N | 응답 압축 방식
|
| 5 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 6 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 본문
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | 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
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "역발행 거부 완료"}12. Delete - 삭제
섹션 제목: “12. Delete - 삭제” https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey} - 삭제 가능한 상태의 세금계산서를 삭제합니다.
※ 삭제 가능한 상태: “임시저장”, “발행취소”, “역발행거부”, “역발행취소”, “전송실패”
삭제 처리된 세금계산서의 문서번호는 재사용이 가능합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Accept-Language | N | 응답 언어 설정
|
| 3 | Accept-Encoding | N | 응답 압축 방식
|
| 4 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 5 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKeyType | string | - | Y | 문서번호 유형 (택 1)
|
| 2 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 예시
curl --request POST \ --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \ --header 'Authorization: Bearer {token}' \ --header 'X-HTTP-Method-Override: DELETE'Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "삭제 완료"}13. SendToNTS - 국세청 즉시 전송
섹션 제목: “13. SendToNTS - 국세청 즉시 전송” https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey} - “발행완료” 상태의 전자세금계산서를 국세청에 즉시 전송하며, API 호출 후 최대 30분 이내에 전송 처리가 완료됩니다.
[GetInfo – 상태확인] API 또는 [Webhook]을 통해 국세청 전송 결과를 확인 합니다.
Request
요청 헤더
| 순번 | 변수명 | 필수 | 설명 |
|---|---|---|---|
| 1 | Authorization | Y | 인증 토큰 |
| 2 | Accept-Language | N | 응답 언어 설정
|
| 3 | Accept-Encoding | N | 응답 압축 방식
|
| 4 | X-HTTP-Method-Override | Y | 요청 메서드 재정의
|
| 5 | X-PB-UserID | N | 팝빌회원 아이디 |
Path 파라미터
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
|---|---|---|---|---|---|
| 1 | MgtKeyType | string | - | Y | 문서번호 유형 (택 1)
|
| 2 | MgtKey | string | 24 | Y | 파트너가 할당한 문서번호 |
요청 예시
curl --request POST \ --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}' \ --header 'Authorization: Bearer {token}' \ --header 'X-HTTP-Method-Override: NTS'Response
응답 본문
| 순번 | 변수명 | 타입 | 길이 | 설명 |
|---|---|---|---|---|
| 1 | code | number | - | API 처리에 대한 응답코드
|
| 2 | message | string | - | API 처리에 대한 응답메시지 |
응답 예시
{ "code": 1, "message": "전송요청 완료"}