1. 세금계산서 발행/전송
1.1. RegistIssue - 즉시 발행
- 작성된 세금계산서 데이터를 팝빌에 저장과 동시에 발행(전자서명)하여 "발행완료" 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
-
"발행완료"된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] 함수로 국세청 신고 대상에서 제외할 수 있습니다.
※ [Register - 임시저장]과 [Issue - 발행] 함수 기능을 한 번의 프로세스로 처리합니다.
function RegistIssue(CorpNum : String; Taxinvoice : TTaxinvoice; WriteSpecification : boolean = false; ForceIssue : boolean = false; Memo : String = ''; EmailSubject : String = ''; DealInvoiceMgtKey : String = ''; UserID : String = '') : TIssueResponse;
-
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁발행의 경우, 수탁자의 인증서 등록이 필요합니다.
- 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
Taxinvoice | TTaxinvoice | - | Y | 세금계산서 객체정보 | |
WriteSpecification | boolean | - | N |
거래명세서 동시작성 여부
true사용
false미사용 : 기본값
|
|
ForceIssue | boolean | - | N |
지연발행 가능여부
true가능
false불가능 : 기본값
|
|
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
EmailSubject | String | 300 | N |
세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 사용
|
|
DealInvoiceMgtKey | String | 24 | N |
거래명세서 문서번호
기본값 : 세금계산서 문서번호와 동일하게 할당
|
|
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.2. BulkSubmit - 초대량 발행 접수
- 최대 100건의 세금계산서 발행을 한번의 요청으로 접수합니다.
function BulkSubmit(CorpNum : String; SubmitID : String; TaxinvoiceList : Array Of TTaxinvoice; ForceIssue : boolean = false; UserID : String = '') : TBulkResponse;
-
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁발행의 경우, 수탁자의 인증서 등록이 필요합니다.
- 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
SubmitID | String | 36 | Y |
제출아이디
영문, 숫자, '-' 조합으로 구성
|
|
taxinvoiceList | Array Of TTaxinvoice | Y |
세금계산서 객체정보 목록
최대 : 100건
|
||
ForceIssue | boolean | - | N |
지연발행 가능여부
true가능
false불가능 : 기본값
|
|
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.3. GetBulkResult - 초대량 접수결과 확인
- 접수시 기재한 SubmitID를 사용하여 세금계산서 접수결과를 확인합니다.
- txState(접수상태)가 2(완료)일 때, 개별 세금계산서 발행결과(성공/실패) 확인이 가능합니다.
function GetBulkResult(CorpNum : String; SubmitID : String; UserID : String = '') : TBulkTaxinvoiceResult;
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
SubmitID | String | 36 | Y | 초대량 발행 접수시 기재한 제출아이디 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.4. Register - 임시저장
- 작성된 세금계산서 데이터를 팝빌에 저장합니다.
- "임시저장" 상태의 세금계산서는 [Issue - 발행] 함수를 호출하여 "발행완료" 처리한 경우에만 국세청으로 전송됩니다.
function Register(CorpNum : String; Taxinvoice : TTaxinvoice; UserID : String = ''; writeSpecification : boolean = false) : TResponse;
- 세금계산서 파일첨부 기능을 구현하는 경우, [Register – 임시저장] → [AttachFile – 파일첨부] → [Issue – 발행] 함수를 차례로 호출합니다.
-
역발행 세금계산서를 저장하는 경우, 객체
TTaxinvoice
의 변수 'chargeDirection' 값을 통해 과금 주체를 지정할 수 있습니다.
※ 정과금: 공급자 과금, 역과금: 공급받는자 과금
- 임시저장된 세금계산서는 팝빌 사이트 '임시문서함'에서 확인 가능합니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
Taxinvoice | TTaxinvoice | - | Y | 세금계산서 객체정보 | |
UserID | String | 50 | N | 팝빌회원 아이디 | |
writeSpecification | boolean | - | N |
거래명세서 동시작성 여부
true사용
false미사용 : 기본값
|
Return
Throws
1.5. Update - 수정
- "임시저장" 상태의 세금계산서를 수정합니다.
function Update(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Taxinvoice : TTaxinvoice; UserID : String = ''; writeSpecification : boolean = false) : TResponse;
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Taxinvoice | TTaxinvoice | - | Y | 수정사항이 반영된 세금계산서 객체정보 | |
UserID | String | 50 | N | 팝빌회원 아이디 | |
writeSpecification | boolean | - | N |
거래명세서 동시작성 여부
true사용
false미사용 : 기본값
|
Return
Throws
1.6. Issue - 발행
- "임시저장" 또는 "(역)발행대기" 상태의 세금계산서를 발행(전자서명)하며, "발행완료" 상태로 처리합니다. [참고] 팝빌 국세청 전송 정책
- "발행완료"된 전자세금계산서는 국세청 전송 이전에 [CancelIssue – 발행취소] 함수로 국세청 신고 대상에서 제외할 수 있습니다.
function Issue(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Memo : String; EmailSubject : String; ForceIssue : Boolean; UserID : String = '') : TIssueResponse;
-
세금계산서 발행을 위해서 공급자의 인증서가 팝빌 인증서버에 사전등록 되어야 합니다.
※ 위수탁발행의 경우, 수탁자의 인증서 등록이 필요합니다.
- 세금계산서 발행시 포인트가 과금되며, 공급받는자에게 발행 메일이 발송됩니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
EmailSubject | String | 300 | N |
세금계산서 발행 안내메일 제목
기본값 : 팝빌에서 설정한 안내메일 제목 사용
|
|
ForceIssue | boolean | - | N |
지연발행 가능여부
true가능
false불가능 : 기본값
|
|
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.7. CancelIssue - 발행취소
- 국세청 전송 이전 "발행완료" 상태의 전자세금계산서를 "발행취소"하고 국세청 신고대상에서 제외합니다.
function CancelIssue(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Memo : String; UserID : String = '') : TResponse;
[Delete – 삭제] 함수를 호출하여 "발행취소" 상태의 전자세금계산서를 삭제하면, 문서번호 재사용이 가능합니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.8. RegistRequest - 역발행 즉시 요청
- 공급받는자가 작성한 세금계산서 데이터를 팝빌에 저장하고 공급자에게 송부하여 발행을 요청합니다.
- 역발행 요청된 세금계산서는 "(역)발행대기" 상태이며, 공급자가 팝빌 사이트 또는 함수를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
-
공급자는 팝빌 사이트의 "매출 발행 대기함"에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
※ [Register – 임시저장]과 [Request – 역발행 요청]함수 기능을 한 번의 프로세스로 처리합니다.
function RegistRequest(CorpNum : String; Taxinvoice : TTaxinvoice; Memo : String =''; UserID : String = '') : TResponse;
- 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
-
공급자가 역발행 세금계산서 발행시 포인트가 과금되며, 객체
TTaxinvoice
의 변수 'chargeDirection' 값에 따라 과금 주체를 변경할 수 있습니다.
※ 정과금 : 공급자 과금, 역과금 : 공급받는자 과금
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
Taxinvoice | TTaxinvoice | - | Y | 세금계산서 객체정보 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.9. Request - 역발행 요청
- 공급받는자가 저장된 역발행 세금계산서를 공급자에게 송부하여 발행 요청합니다.
- 역발행 요청된 세금계산서는 "(역)발행대기" 상태이며, 공급자가 팝빌 사이트 또는 함수를 호출하여 발행한 경우에만 국세청으로 전송됩니다.
- 공급자는 팝빌 사이트의 "매출 발행 대기함"에서 발행대기 상태의 역발행 세금계산서를 확인할 수 있습니다.
function Request(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Memo : String; UserID : String = '') : TResponse;
- 역발행 요청시 공급자에게 역발행 요청 메일이 발송됩니다.
- 공급자가 역발행 세금계산서 발행시 포인트가 과금됩니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형
BUY(매입) 입력
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.10. CancelRequest - 역발행 요청취소
- 공급자가 요청받은 역발행 세금계산서를 발행하기 전, 공급받는자가 역발행요청을 취소합니다.
- 함수 호출시 "취소" 상태로 변경되고, 해당 역발행 세금계산서는 공급자에 의해 발행 될 수 없습니다.
function CancelRequest(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Memo : String; UserID : String = '') : TResponse;
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형
BUY(매입) 입력
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.11. Refuse - 역발행 요청거부
- 공급자가 공급받는자에게 역발행 요청 받은 세금계산서의 발행을 거부합니다.
function Refuse(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; Memo : String; UserID : String = '') : TResponse;
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형
SELL(매출) 입력
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
Memo | String | 200 | N | 세금계산서 상태 이력을 관리하기 위한 메모 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.12. Delete - 삭제
-
삭제 가능한 상태의 세금계산서를 삭제합니다.
※ 삭제 가능한 상태: "임시저장", "발행취소", "역발행거부", "역발행취소", "전송실패"
function Delete(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; UserID : String = '') : TResponse;
- 삭제처리된 세금계산서의 문서번호는 재사용이 가능합니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형 (택 1)
SELL매출
BUY매입
TRUSTEE위수탁
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
UserID | String | 50 | N | 팝빌회원 아이디 |
Return
Throws
1.13. SendToNTS - 국세청 즉시 전송
- "발행완료" 상태의 전자세금계산서를 국세청에 즉시 전송하며, 함수 호출 후 최대 30분 이내에 전송 처리가 완료됩니다.
function SendToNTS(CorpNum : String; MgtKeyType : EnumMgtKeyType; MgtKey : String; UserID : String = '') : TResponse;
- 함수 [GetInfo – 상태확인] 또는 Webhook을 통해 국세청 전송 결과를 확인 합니다.
Parameters
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
CorpNum | String | 10 | Y | 팝빌회원 사업자번호 ('-' 제외) | |
MgtKeyType | EnumMgtKeyType | - | Y |
세금계산서 유형 (택 1)
SELL매출
TRUSTEE위수탁
|
|
MgtKey | String | 24 | Y | 파트너가 할당한 문서번호 | |
UserID | String | 50 | N | 팝빌회원 아이디 |