POPBill Developers
API Reference

1. 세금계산서 발행/전송

1.1. RegistIssue - 즉시 발행

Function RegistIssue(CorpNum As String, Taxinvoice As PBTaxinvoice, Optional UserID As String = "") As PBResponse
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

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

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
Taxinvoice PBTaxinvoice - Y 세금계산서 객체정보
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.2. BulkSubmit - 초대량 발행 접수

  • 최대 100건의 세금계산서 발행을 한번의 요청으로 접수합니다.
Function BulkSubmit(CorpNum As String, submitID As String, taxinvoiceList As Collection, forceIssue As Boolean, Optional UserID As String = "") As PBBulkResponse
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

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

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
submitID String 36 Y 제출아이디
영문, 숫자, '-' 조합으로 구성
taxinvoiceList Collection of PBTaxinvoice Y 세금계산서 객체정보 목록
최대 : 100건
forceIssue Boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
UserID String 50 N 팝빌회원 아이디
Return

PBBulkResponse

Throws

Err

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

  • 접수시 기재한 SubmitID를 사용하여 세금계산서 접수결과를 확인합니다.
  • txState(접수상태)가 2(완료)일 때, 개별 세금계산서 발행결과(성공/실패) 확인이 가능합니다.
Function GetBulkResult(CorpNum As String, submitID As String, Optional UserID As String = "") As PBBulkTaxinvoiceResult
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
submitID String 36 Y 초대량 발행 접수시 기재한 제출아이디
UserID String 50 N 팝빌회원 아이디
Return

PBBulkTaxinvoiceResult

Throws

Err

1.4. Register - 임시저장

  • 작성된 세금계산서 데이터를 팝빌에 저장합니다.
  • "임시저장" 상태의 세금계산서는 [Issue - 발행] 함수를 호출하여 "발행완료" 처리한 경우에만 국세청으로 전송됩니다.
Function Register(CorpNum As String, Taxinvoice As PBTaxinvoice, Optional writeSpecification As Boolean = False, Optional UserID As String = "") As PBResponse
  • 세금계산서 파일첨부 기능을 구현하는 경우, [Register – 임시저장][AttachFile – 파일첨부][Issue – 발행] 함수를 차례로 호출합니다.
  • 역발행 세금계산서를 저장하는 경우, 객체 PBTaxinvoice 의 변수 'chargeDirection' 값을 통해 과금 주체를 지정할 수 있습니다.

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

  • 임시저장된 세금계산서는 팝빌 사이트 '임시문서함'에서 확인 가능합니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
Taxinvoice PBTaxinvoice - Y 세금계산서 객체정보
writeSpecification Boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.5. Update - 수정

  • "임시저장" 상태의 세금계산서를 수정합니다.
Function Update(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Taxinvoice As PBTaxinvoice, Optional writeSpecification As Boolean = False, Optional UserID As String = "") As PBResponse
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
MgtKey String 24 Y 파트너가 할당한 문서번호
Taxinvoice PBTaxinvoice - Y 수정사항이 반영된 세금계산서 객체정보
writeSpecification Boolean - N 거래명세서 동시작성 여부
true사용
false미사용 : 기본값
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.6. Issue - 발행

  • "임시저장" 또는 "(역)발행대기" 상태의 세금계산서를 발행(전자서명)하며, "발행완료" 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
  • "발행완료"된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] 함수로 국세청 신고 대상에서 제외할 수 있습니다.
Function Issue(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, memo As String, Optional emailSubject As String, Optional forceIssue As Boolean = False, Optional UserID As String = "") As PBResponse
  • 세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.

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

  • 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
MgtKey String 24 Y 파트너가 할당한 문서번호
memo String 200 Y 세금계산서 상태 이력을 관리하기 위한 메모
emailSubject String 300 N 세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 사용
forceIssue Boolean - N 지연발행 가능여부
true가능
false불가능 : 기본값
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.7. CancelIssue - 발행취소

  • 국세청 전송 이전 "발행완료" 상태의 전자세금계산서를 "발행취소"하고 국세청 신고대상에서 제외합니다.
Function CancelIssue(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional memo As String, Optional UserID As String = "") As PBResponse

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

Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
MgtKey String 24 Y 파트너가 할당한 문서번호
memo String 200 Y 세금계산서 상태 이력을 관리하기 위한 메모
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.8. RegistRequest - 역발행 즉시 요청

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

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

Function RegistRequest(CorpNum As String, Taxinvoice As PBTaxinvoice, Optional UserID As String = "") As PBResponse
  • 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
  • 공급자가 역발행 세금계산서 발행시 포인트가 과금되며, 객체 PBTaxinvoice 의 변수 'chargeDirection' 값에 따라 과금 주체를 변경할 수 있습니다.

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

Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
Taxinvoice PBTaxinvoice - Y 세금계산서 객체정보
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.9. Request - 역발행 요청

  • 공급받는자가 저장된 역발행 세금계산서를 공급자에게 송부하여 발행 요청합니다.
  • 역발행 요청된 세금계산서는 "(역)발행대기" 상태이며, 공급자가 팝빌 사이트 또는 함수를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
  • 공급자는 팝빌 사이트의 "매출 발행 대기함"에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
Function Request(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional memo As String, Optional UserID As String = "") As PBResponse
  • 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
  • 공급자가 역발행 세금계산서 발행시 포인트가 과금됩니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형
BUY(매입) 입력
MgtKey String 24 Y 파트너가 할당한 문서번호
memo String 200 Y 세금계산서 상태 이력을 관리하기 위한 메모
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.10. CancelRequest - 역발행 요청취소

  • 공급자가 요청받은 역발행 세금계산서를 발행하기 전, 공급받는자가 역발행요청을 취소합니다.
  • 함수 호출시 "취소" 상태로 변경되고, 해당 역발행 세금계산서는 공급자에 의해 발행 될 수 없습니다.
Function CancelRequest(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional memo As String, Optional UserID As String = "") As PBResponse
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형
BUY(매입) 입력
MgtKey String 24 Y 파트너가 할당한 문서번호
memo String 200 Y 세금계산서 상태 이력을 관리하기 위한 메모
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.11. Refuse - 역발행 요청거부

  • 공급자가 공급받는자에게 역발행 요청 받은 세금계산서의 발행을 거부합니다.
Function Refuse(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional memo As String, Optional UserID As String = "") As PBResponse
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형
SELL(매출) 입력
MgtKey String 24 Y 파트너가 할당한 문서번호
memo String 200 Y 세금계산서 상태 이력을 관리하기 위한 메모
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.12. Delete - 삭제

  • 삭제 가능한 상태의 세금계산서를 삭제합니다.

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

Function Delete(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional UserID As String = "") As PBResponse
  • 삭제처리된 세금계산서의 문서번호는 재사용이 가능합니다.
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
MgtKey String 24 Y 파트너가 할당한 문서번호
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err

1.13. SendToNTS - 국세청 즉시 전송

  • "발행완료" 상태의 전자세금계산서를 국세청에 즉시 전송하며, 함수 호출 후 최대 30분 이내에 전송 처리가 완료됩니다.
Function SendToNTS(CorpNum As String, KeyType As MgtKeyType, MgtKey As String, Optional UserID As String = "") As PBResponse
Parameters
순번변수명타입길이필수설명
CorpNum String 10 Y 팝빌회원 사업자번호 ('-' 제외)
KeyType MgtKeyType - Y 세금계산서 유형 (택 1)
SELL매출
TRUSTEE위수탁
MgtKey String 24 Y 파트너가 할당한 문서번호
UserID String 50 N 팝빌회원 아이디
Return

PBResponse

Throws

Err