Index

1. Issue/File the e-Tax invoice

1.1. CheckMgtKeyInUse - Check the availability of invoice ID

ㆍCheck whether an invoice ID is in use or not.

ㆍThe invoice ID is a unique value assigned by user to avoid duplicated issuance and organized e-Tax invoices systematically.

boolean checkMgtKeyInUse(String CorpNum, MgtKeyType KeyType, String MgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID

Return

boolean - true (In use) / false (Out of use)

Throws

PopbillException

1.2. RegistIssue - Regist and Issue the e-Tax invoice

ㆍRegist and Issue the e-Tax invoice making e-Signature. At the same time of issuance, points(fee) is charged and notification mail is sent to customer.

ㆍThe status of invoice is changed to 'ISSUED' when the result is returned successfully.

※ An e-Tax invoice in status of ISSUED can be canceled before filing starts. [1.5. CancelIssue]

IssueResponse registIssue(String CorpNum, Taxinvoice taxinvoice, Boolean WriteSpecification, String Memo, Boolean ForceIssue, String DealInvoiceKey, String EmailSubject, String UserID) throws PopbillException

ㆍA certificate must be registered in POPBiLL server in advance.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 taxinvoice Taxinvoice - O Object of e-Tax invoice
3 WriteSpecification Boolean - - Whether user concurrently creates a statement or not
└ true = Do, false = Do not (Default)
4 Memo String 200 - Memo for user's convenience
└ invisible to customer
5 ForceIssue Boolean - - Whether user permits to issue an overdued e-Tax invoice or not
└ true = Do, false = Do not (Default)
6 DealInvoiceKey String 24 - Invoice ID of statement (created by no.3)
└ It's valid only when a value of {@no. 3 WriteSpecification} is true
7 EmailSubject String 300 - Title of notification mail sent to customer
└ Default: a title POPBiLL set in advance
8 UserID String 50 - User's POPBiLL ID

Return

IssueResponse

Throws

PopbillException

1.3. BulkSubmit - Submit the issuance of bulk invoices

ㆍSubmit the issuance of bulk invoices. A single request processes maximum 100 invoices at once.

ㆍDuplicated submission ID and e-Tax invoice data are not accepted and it’s handled by returning registered submission ID, not the error code and message.

BulkResponse bulkSubmit(String CorpNum, String SubmitID, List<Taxinvoice> taxinvoiceList, boolean ForceIssue, String UserID) throws PopbillException

ㆍA certificate must be registered in POPBiLL server in advance.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 SubmitID String 36 O Submission ID
└ A unique value combined English letter, numeric and hyphen(-)
3 taxinvoiceList List<Taxinvoice> 100 O [List] Object of e-Tax invoice
4 ForceIssue boolean - - Whether user permits to issue an overdued e-Tax invoice or not
└ true = Do, false = Do not (Default)
5 UserID String 50 - User's POPBiLL ID

Return

BulkResponse

Throws

PopbillException

1.4. GetBulkResult - Check the submission status for bulk issuance

ㆍCheck the submission status for bulk issuance using SubmitID.

ㆍThe issuance result is returned when the submission status(variable: txState) is changed to '2'(successfully completed).

BulkTaxinvoiceResult getBulkResult(String CorpNum, String SubmitID, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 SubmitID String 36 O Assigned submission ID for the bulk issuance
3 UserID String 50 - User's POPBiLL ID

Return

BulkTaxinvoiceResult

Throws

PopbillException

1.5. CancelIssue - Cancel the issuance of e-Tax invoice

ㆍCancel the issuance of e-Tax invoice in the state of 'ISSUED' before filing starts. It's impossible to cancel in other cases except 'ISSUED'.

Response cancelIssue(String CorpNum, MgtKeyType KeyType, String MgtKey, String Memo, String UserID) throws PopbillException

ㆍHow to reuse an invoice ID of canceled e-Tax invoice : Delete canceled e-Tax invoice calling [1.6. Delete] API.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 Memo String 200 - Memo for user's convenience
└ invisible to customer
5 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

1.6. Delete - Delete canceled e-Tax invoice

ㆍDelete canceled e-Tax invoice in status of 'CANCELED'. An invoice ID of deleted e-Tax invoice can be reused.

Response delete(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

1.7. SendToNTS - File issued e-Tax invoice to NTS

ㆍFile issued e-Tax invoice waiting for filing to NTS.

Response sendToNTS(String CorpNum, MgtKeyType KeyType, String MgtKey, String Memo, String UserID) throws PopbillException 

ㆍUser can get a result of filing within 30 min calling [2.1. GetInfo] or using EVENT Webhook.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 Memo String 200 - If you want to simulate 'NTS filling failure' case, input the text ' ERR002 ' on this field
(*Testbed-Limited Function)
5 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

2. Check the information of e-Tax invoice

2.1. GetInfo - Check the status of e-Tax invoice

ㆍCheck the status of a single e-Tax invoice and summarized information.

ㆍCheck variable 'stateCode' of returned 'TaxinvoiceInfo' to confirm status of e-Tax invoice. [Reference] e-Tax invoice status code

TaxinvoiceInfo getInfo(String CorpNum, MgtKeyType KeyType, String MgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID

Return

TaxinvoiceInfo

Throws

PopbillException

2.2. GetInfos - Check the status of multiple e-Tax invoices

ㆍCheck the status of multiple e-Tax invoices and summarized information. (Maximum : 1,000 invoices)

ㆍCheck variable 'stateCode' of returned 'TaxinvoiceInfo' to confirm status of e-Tax invoice. [Reference] e-Tax invoice status code

TaxinvoiceInfo[] getInfos(String CorpNum, MgtKeyType KeyType, String[] MgtKeyList) throws PopbillException

ㆍRecommend to use when user implements the list of e-Tax invoices with invoice ID.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKeyList String[ ] 1,000 O [Array] Invoice ID

Return

TaxinvoiceInfo[ ]

Throws

PopbillException

2.3. GetDetailInfo - Check the detailed information of the e-Tax invoice

ㆍCheck detailed information of a single e-Tax invoice.

Taxinvoice getDetailInfo(String CorpNum, MgtKeyType KeyType, String MgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID

Return

Taxinvoice

Throws

PopbillException

2.4. GetXML - Get the e-Tax invoice XML file

ㆍReturn a digitally signed e-Tax invoice XML.

Taxinvoice getXML(String CorpNum, MgtKeyType KeyType, String MgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID

Return

TaxinvoiceXML

Throws

PopbillException

2.5. Search - Search the list of e-Tax invoices

ㆍSearch e-Tax invoices corresponded to the search criteria.

ㆍDefault of optional fields is to 'search all'.

TISearchResult Search(String CorpNum, MgtKeyType KeyType, String DType, String SDate, String EDate, String[] State, String[] Type, String[] TaxType, String[] IssueType, Boolean LateOnly, String TaxRegIDType, String TaxRegID, String TaxRegIDYN, String QString, Integer Page, Integer PerPage, String Order, String InterOPYN, String[] RegType, String[] CloseDownState, String MgtKey) throws PopbillException

ㆍRecommend to use when user implement the list of e-Tax invoices with items related to the page(variable: Page, PerPage, Order)

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 DType String 1 O Date type in search criteria
└ Valid Value : R / W / I
└ R = Date of registration, W = of trading, I = of issuance
4 SDate String 8 O Initial date of search scope (Format : yyyyMMdd)
5 EDate String 8 O Last date of search scope (Format : yyyyMMdd)
6 State String[ ] - - [Array] e-Tax invoice status code
└ Wild card(*) can be put on 2nd, 3rd letter – e.g. "3**", "6**"
7 Type String[ ] - - [Array] Type of e-Tax invoice
└ Valid Value : N / M (multiple choice is possible)
└ N = General, M = Revised e-Tax invoice
8 TaxType String[ ] - - [Array] Taxation Type
└ Valid Value : T / N / Z (multiple choice is possible)
└ T = Taxable, N = Exempted, Z = Zero-rate
9 IssueType String[ ] - - [Array] Issuance Type
└ Valid Value : N (Issued by seller)
10 LateOnly Boolean - - Whether e-Tax invoice is issued after the due or not
└ Valid Value : null / true / false
└ null = all, true = issued after the due, false = issued within the due
11 TaxRegIDType String 1 - Type of the Identification number for minor place of business
└ Valid Value : S (Seller)
12 TaxRegID String - - Identification number for minor place of business
└ one more numbers must be separated by comma(',') (e.g. 1234, 1110)
13 TaxRegIDYN String 1 - Whether the Identification number for minor place of business is enrolled or not
└ Valid Value : null / 0 / 1
└ null = all, 0 = None, 1 = Enrolled
14 QString String - - Name of Buyer Company / Business Registration Number (for company) / Residential Registration Number (for entrepreneur) / 9999999999999 (for foreigner)
└ Do not enter hyphen('-')
15 Page Integer - - Page number
└ Default = 1
16 PerPage Integer - - The number of list to be displayed per page (Maximum : 1,000)
└ Default = 500
17 Order String 1 - Sort direction (related to {@no.3 DType})
└ Valid Value : D / A
└ D = Descending(Default), A = Ascending
18 InterOPYN String 1 - Whether e-Tax invoice is issued by API or not
└ Valid Value : null / 0 / 1
└ null = all, 0 = issued in POPBiLL website, 1 = issued by API
19 RegType String[ ] - - [Array] Registration type of e-Tax invoice
└ Valid Value : P / H (multiple choice is possible)
└ P = registered in POPBiLL, H = registered(issued) in Hometax or another ASP
20 CloseDownState String[ ] - - [Array] Customer company status
└ Valid Value : null / 0 / 1 / 2 / 3 / 4 (multiple choice is possible)
└ null = Unavailable to check, 0 = Unregistered
└ 1 = In business, 2 = Closed, 3 = Suspended, 4 = Failed to check
21 MgtKey String - - Invoice ID or NTS Confirm number

Return

TISearchResult

Throws

PopbillException

2.6. GetLogs - Check the log of status change

ㆍCheck the log of e-Tax invoice's status change.

TaxinvoiceLog[] getLogs(String CorpNum, MgtKeyType KeyType, String MgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID

Return

TaxinvoiceLog[ ]

Throws

PopbillException

2.7. GetURL - URL for e-Tax invoice menu

ㆍGet the URL to access the menu related to e-Tax invoice of POPBiLL website in login status.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getURL(String CorpNum, String UserID, String TOGO) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 UserID String 50 - User's POPBiLL ID
3 TOGO String - O Targeted Menu
└ Valid Value : TBOX / SBOX / PBOX / WRITE
└ TBOX = Draft list, SBOX = Sales list, PBOX = Purchase list, WRTIE = Create an e-Tax invoice

Return

String - Returned URL to response about the request

Throws

PopbillException

3. View/Print the e-Tax invoice

3.1. GetPopUpURL - URL to view the e-Tax invoice

ㆍGet the popup URL to view a single e-Tax invoice on POPBiLL website.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getPopUpURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.2. GetViewURL - URL to view the e-Tax invoice [without menus/buttons]

ㆍGet the popup URL to view a single e-Tax invoice on POPBiLL website (showing a page without menus and buttons)

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getViewURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.3. GetPrintURL - URL to print the e-Tax invoice [For seller/buyer]

ㆍGet the popup URL to print a single e-Tax invoice. User can select a print option - for seller/buyer/both.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getPrintURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.4. GetEPrintURL - URL to print the e-Tax invoice [For buyer]

ㆍGet the popup URL to print a single e-Tax invoice for buyer.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getEPrintURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.5. GetMassPrintURL - URL to print e-Tax invoices in bulk

ㆍGet the popup URL to print e-Tax invoices in bulk. (Maximum: 100 invoices)

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getMassPrintURL(String CorpNum, MgtKeyType KeyType, String[] MgtKeyList, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKeyList String[ ] 100 O [Array] Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.6. GetMailURL - URL for the mail link of e-Tax invoice

ㆍGet the popup URL of button located on bottom of a notification mail sent to buyer. User can access the page to check e-Tax invoice in detail.

ㆍThere is no valid time.

String getMailURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

3.7. GetPDFURL - URL to download the e-Tax invoice in PDF format

ㆍGet the popup URL to download the e-Tax invoice in PDF format.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getPDFURL(String CorpNum, MgtKeyType KeyType, String MgtKey, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

4. Additional Functions

4.1. GetAccessURL - URL to login to POPBiLL website

ㆍGet the popup URL to access POPBiLL website in login status.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getAccessURL(String CorpNum, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

4.2. SendEmail - Resend a notification mail

ㆍResend a notification mail to customer. There's no minimum time required and no maximum number of calling API.

Response sendEmail(String CorpNum, MgtKeyType KeyType, String MgtKey, String Receiver, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 Receiver String - O Email address
5 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

4.3. SendSMS - Send a SMS

ㆍSend a SMS(short message) to notify issuance of e-Tax invoice. To call this API, an additional cost is charged apart from the issuance cost.

ㆍUser can check the result of sending SMS on POPBiLL website [문자·팩스(Messaging/FAX) -> 문자(Messaging) -> 전송내역(Sending log)]

ㆍSMS's capacity is 90byte and exceeded contents are truncated automatically. (Maximum of Korean letters: 45)

Response sendSMS(String CorpNum, MgtKeyType KeyType, String MgtKey, String Sender, String Receiver, String Contents, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 Sender String - O Sender's Number
5 Receiver String - O Receiver(Customer)'s Number
6 Contents String 90 O Contents of SMS
(*Exceeded contents are truncated automatically)
7 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

4.4. SendFAX - Send an e-Tax invoice by fax

ㆍSend issued e-Tax invoice by fax. To call this API, an additional cost is charged apart from the issuance cost.

ㆍUser can check the result of sending fax on POPBiLL website [문자·팩스(Messaging/FAX) -> 팩스(FAX) -> 전송내역(Sending log)].

Response sendFAX(String CorpNum, MgtKeyType KeyType, String MgtKey, String Sender, String Receiver, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 Sender String - O Sender's Number
5 Receiver String - O Receiver(Customer)'s Number
6 UserID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

4.5. AssignMgtKey - Assign a invoice ID

ㆍAssign a invoice ID(invoicerMgtKey) to e-Tax invoice issued in POPBiLL website manually.

Response assignMgtKey(String corpNum, MgtKeyType keyType, String itemKey, String mgtKey, String userID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 corpNum String 10 O Business Registration Number of user (10 digits except '-')
2 keyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 itemKey String 18 O POPBiLL's invoice ID
└ Enter returned value 'itemkey' as a result of calling function [2.4. Search]
└ Refer {@no.7 list} of [A.11. TISearchResult]
4 mgtKey String 24 O Invoice ID
5 userID String 50 - User's POPBiLL ID

Return

Response

Throws

PopbillException

4.6. AttachStatement - Attach a statement

ㆍAttach a statement to the e-Tax invoice.

Response attachStatement(String CorpNum, MgtKeyType KeyType, String MgtKey, int SubItemCode, String SubMgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 SubItemCode int 3 O Type code of the statement
└ Valid Value : 121 / 122 / 123 / 124 / 125 / 126
└ 121 = Transaction details, 122 = Bill, 123 = Estimate, 124 = Purchase order, 125 = Deposit slip, 126 = Receipt
5 SubMgtKey String 24 O Statement ID

Return

Response

Throws

PopbillException

4.7. DetachStatement - Detach a statement

ㆍDetach a statement from the e-Tax invoice.

Response detachStatement(String CorpNum, MgtKeyType KeyType, String MgtKey, int SubItemCode, String SubMgtKey) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 KeyType MgtKeyType - O Type of the e-Tax invoice
└ Valid Value : SELL
3 MgtKey String 24 O Invoice ID
4 SubItemCode int 3 O Type code of the statement
└ Valid Value : 121 / 122 / 123 / 124 / 125 / 126
└ 121 = Transaction details, 122 = Bill, 123 = Estimate, 124 = Purchase order, 125 = Deposit slip, 126 = Receipt
5 SubMgtKey String 24 O Statement ID

Return

Response

Throws

PopbillException

5. Certificate Management

5.1. GetTaxCertURL - URL to register the certificate

ㆍGet the popup URL to register the certificate to POPBiLL.

ㆍReturned URL is valid for 30 seconds and after the valid time, page is not opened.

String getTaxCertURL(String CorpNum, String UserID) throws PopbillException

ㆍThe certificate must be re-registered where it is re-issued, renewed or its password is changed.

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 UserID String 50 - User's POPBiLL ID

Return

String - Returned URL to response about the request

Throws

PopbillException

5.2. GetCertificateExpireDate - Check certificate's expiration date

ㆍCheck certificate's expiration date registered in POPBiLL.

Date getCertificateExpireDate(String CorpNum) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')

Return

Date - Certificate's expiration date

Throws

PopbillException

5.3. CheckCertValidation - Check certificate's validity

ㆍCheck certificate's validity registered in POPBiLL.

Response checkCertValidation(String CorpNum) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')

Return

Response

Throws

PopbillException

6. Member Information

6.1. CheckIsMember - Check whether a user is POPBiLL member

ㆍCheck whether a user is POPBiLL member or not to register in integrated system

Response checkIsMember(String CorpNum, String LinkID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 LinkID String - O LinkID (*one of API Key)

Return

Response- code : 0 (Not registered) / code : 1 (Registered)

Throws

PopbillException

6.2. CheckID - Check whether ID is in use or not

ㆍCheck whether user ID is in use or not to register in integrated system

Response checkID(String CheckID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CheckID String 10 O ID to be checked

Return

Response- code : 0 (Not in use) / code : 1 (In use)

Throws

PopbillException

6.3. JoinMember - Register as integrated system user

ㆍRegister the POPBiLL member(Admin) as integrated system user

Response joinMember(JoinForm joinInfo) throws PopbillException

Parameters

No. Name Type Length Required Description
1 joinInfo JoinForm - O Objects of user(Admin) information

Return

Response

Throws

PopbillException

6.4. GetCorpInfo - Get the company information

ㆍGet the company information of integrated system user

CorpInfo getCorpInfo(String CorpNum, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 UserID String 50 - User’s POPBiLL ID

Return

CorpInfo

Throws

PopbillException

6.5. UpdateCorpInfo - Update the company information

ㆍUpdate the company information of integrated system user

Response updateCorpInfo(String CorpNum, CorpInfo corpInfo, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 corpInfo CorpInfo - O Objects of company information
3 UserID String 50 - User’s POPBiLL ID

Return

Response

Throws

PopbillException

6.6. RegistContact - Register a sub-account

ㆍRegister a sub-account(user) of integrated system user

ㆍOn the basis of business registration number, multiple accounts can be operated

Response registContact(String CorpNum, ContactInfo contactInfo, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 contactInfo ContactInfo - O Objects of user information
3 UserID String 50 - User’s POPBiLL ID

Return

Response

Throws

PopbillException

6.7. ListContact - Get the user list

ㆍCheck the user list of integrated system user registered by business registration number

ContactInfo[] listContact(String CorpNum, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 UserID String 50 - User’s POPBiLL ID

Return

ContactInfo[ ]

Throws

PopbillException

6.8. UpdateContact - Update the user information

ㆍUpdate the user information of integrated system user

Response updateContact(String CorpNum, ContactInfo contactInfo, String UserID) throws PopbillException

Parameters

No. Name Type Length Required Description
1 CorpNum String 10 O Business Registration Number of user (10 digits except '-')
2 contactInfo ContactInfo - O Objects of user information
3 UserID String 50 - User’s POPBiLL ID

Return

Response

Throws

PopbillException

A. Object Information

A.1. Response

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing

A.2. IssueResponse

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing
3 ntsConfirmNum String 24 NTS Confirm Number
└ POPBiLL assigns when e-Tax invoice is issued

A.3. PopbillException

No. Name Type Length Description
1 code long - Error code for failure of API process (8 digits starting with '-')
[Reference] Error codes
2 message String - Error message for failure of API process

A.4. MgtKeyType (enum)

No. Name Type Length Description
1 SELL enum - Sales
2 BUY enum - Purchase

A.5. Taxinvoice

No. Name Type Length Required Description
1 ntsconfirmNum String 24 X NTS Confirm Number
└ POPBiLL assigns when e-Tax invoice is issued
2 issueType String 3 O Issuance Type
└ Valid Value : 정발행
└ 정발행 = e-Tax invoice
3 taxType String 2 O Taxation Type
└ Valid Value : 과세 / 영세 / 면세
└ 과세 = Taxable, 영세 = Zero-rate, 면세 = Exempted
4 chargeDirection String 3 O Charging Direction
└ Valid Value : 정과금
└ 정과금 = Paid by seller
5 serialNum String 30 - One of e-Tax invoice's items to manage document – 'Serial number'
6 kwon Short 4 - One of e-Tax invoice's items to manage document – 'Volume' for a book
7 ho Short 4 - One of e-Tax invoice's items to manage document – 'Number' for a book
8 writeDate String 8 O Date of preparation
└ Format : yyyyMMdd
9 purposeType String 2 O Type of the total amount
└ Valid Value : 영수 / 청구 / 없음
└ 영수 = Amount paid, 청구 = Amount due, 없음 = None
10 supplyCostTotal String 18 O Sum of supply values
└ Only positive(+)/negative(-) numbers and – (minus sign) are available
11 taxTotal String 18 O Sum of tax amount
└ Only positive(+)/negative(-) numbers and – (minus sign) are available
12 totalAmount String 18 O Total Amount
└ sum of {@no.10 supplyCostTotal} and {@no.11 taxTotal}
└ Only positive(+)/negative(-) numbers and – (minus sign) are available
13 cash String 18 - Payment Method – 'cash'
14 chkBill String 18 - Payment Method – 'check'
15 credit String 18 - Payment Method – 'credit'
16 note String 18 - Payment Method – 'note'
17 remark1 String 150 1st Remark
└ Mandatory in case of {@no 35. invoiceeType} is "외국인" (foreigner).
└ Need to put 'Alien Registration Number' or 'Passport Number'.
18 remark2 String 150 - 2nd Remark
19 remark3 String 150 - 3rd Remark
20 invoicerMgtKey String 24 [Seller] Invoice ID assigned by user (No redundancy)
└ A unique value to combine English letter, numeric, hyphen('-')
21 invoicerCorpNum String 10 O [Seller] Business Registration Number
└ 10 digits number except hyphen('-')
22 invoicerTaxRegID String 4 - [Seller] Identification Number for minor place of business
└ 4 digits number
23 invoicerCorpName String 200 O [Seller] Name of Company
24 invoicerCEOName String 100 O [Seller] Name of Representative
25 invoicerAddr String 300 - [Seller] Company Address
26 invoicerBizType String 100 - [Seller] Business Type
27 invoicerBizClass String 100 - [Seller] Business Item
28 invoicerContactName String 100 - [Seller] Name of the person in charge
29 invoicerDeptName String 100 - [Seller] Department of the person in charge
30 invoicerTEL String 20 - [Seller] Telephone of the person in charge
31 invoicerHP String 20 - [Seller] Mobile of the person in charge
32 invoicerEmail String 100 - [Seller] Email address of the person in charge
33 invoicerSMSSendYN Boolean - - [Seller] Whether you send a notification SMS or not to buyer's mobile(@no. 48 invoiceeHP1) issuing an e-Tax invoice.
└ true = send, false = not send
└ Fee is charged to every SMS and is refunded if sending fails.
34 invoiceeMgtKey String 24 It's only requires to 'requested e-Tax invoice'
35 invoiceeType String - O Buyer Type
└ Valid Value : 사업자 / 개인 / 외국인
└ 사업자 = company, 개인 = individual, 외국인 = foreigner
36 invoiceeCorpNum String - O [Buyer] Business Registration Number
└ It must be synchronized with {@no. 35 invoiceeType}
└ Company: Business registration number (10 digits except '-')
└ Individual: Resident registration number (13 digits except '-')
└ Foreigner: "9999999999999"(13 digits except '-')
37 invoiceeTaxRegID String 4 - [Buyer] Identification Number for minor place of business
└ 4 digits number
38 invoiceeCorpName String 200 O [Buyer] Name of Company
39 invoiceeCEOName String 100 O [Buyer] Name of Representative
40 invoiceeAddr String 300 - [Buyer] Company Address
41 invoiceeBizType String 100 - [Buyer] Business Type
42 invoiceeBizClass String 100 - [Buyer] Business Item
43 closeDownState Integer 1 X [Buyer] Company Status
└ The result of company status check executed when e-Tax invoice is issued
└ Valid Value : null / 0 / 1 / 2 / 3 / 4
└ null = Processing, 0 = Unregistered, 1 = In business, 2 = Closed, 3 = Suspended, 4 = Failed to check
44 closeDownStateDate String 8 X [Buyer] Date of Business Closure
└ It's returned only when {@no.43 closeDownState} is 2 or 3.
└ Format : yyyyMMdd
45 invoiceeContactName1 String 100 - [Buyer] Name of the person in charge
46 invoiceeDeptName1 String 100 - [Buyer] Department of the person in charge
47 invoiceeTEL1 String 20 - [Buyer] Telephone of the person in charge
48 invoiceeHP1 String 20 - [Buyer] Mobile of the person in charge
49 invoiceeEmail1 String 100 - [Buyer] Email address of the person in charge
50 invoiceeContactName2 String 30 - [Buyer] Name of the 2nd person in charge
51 invoiceeDeptName2 String 40 - [Buyer] Department of the 2nd person in charge
52 invoiceeTEL2 String 20 - [Buyer] Telephone of the 2nd person in charge
53 invoiceeHP2 String 20 - [Buyer] Mobile of the 2nd person in charge
54 invoiceeEmail2 String 70 - [Buyer] Email of the 2nd person in charge
55 invoiceeSMSSendYN Boolean - - It's only requires to 'requested e-Tax invoice'
56 modifyCode Short 1 Modification Code
└ Mandatory value for revised (tax) invoice
└ Valid Value : 1 / 2 / 3 / 4 / 5 / 6
└ 1 = Correction of errors, 2 = Change in supply values, 3 = Return,
└ 4 = Cancellation of contract, 5 = Post opening of local letter of credit, 6 = Duplicated issuance
57 orgNTSConfirmNum String 24 NTS Confirm Number of the Original
└ Mandatory value for revised (tax) invoice
58 businessLicenseYN Boolean - - Whether you attach registered business license
└ true : attach, false : not attach(Default) 
59 bankBookYN Boolean - - Whether you attach registered copy of bankbook
└ true : attach, false : not attach(Default)
60 detailList List<TaxinvoiceDetail> - [List] Detailed list of items (Maximum : 99)
61 addContactList List<TaxinvoiceAddContact> - [List] To send notification mails to multiple person in charge (Maximum : 5)

A.6. TaxinvoiceDetail

No. Name Type Length Required Description
1 serialNum Short - O Serial Number
└ Must write the number in a row starting from 1 (Maximum : 99)
2 purchaseDT String 8 - Date of preparation
└ Format : yyyyMMdd
3 itemName String 100 - Item name
4 spec String 60 - Specification
5 qty String 12 - Quantity
└ Available to two decimal places
└ Minus(Negative) amount is available
6 unitCost String 18 - Unit price
└ Available to two decimal places
└ Minus(Negative) amount is available
7 supplyCost String 18 - Supply values
└ Unavailable to decimal places
└ Minus(Negative) amount is available
└ Below the decimal point is rounded off
8 tax String 18 - Tax amount
└ Unavailable to decimal places
└ Minus(Negative) amount is available
└ Below the decimal point is rounded off
9 remark String 100 - Remark

A.7. TaxinvoiceXML

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing
3 retObject String - XML document of e-Tax invoice

A.8. TaxinvoiceAddContact

No. Name Type Length Required Description
1 serialNum int - O Serial Number
└ Must write the number in a row starting from 1 (Maximum : 5)
2 contactName String 100 O Name of the person in charge
3 email String 100 O Email

A.9. BulkResponse

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing
3 receiptID String 24 Automatically assigned by POPBiLL when the submission is processed.

A.10. BulkTaxinvoiceResult

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing
3 submitID String 36 Submission ID
└ assigned by user when the submission is processed
4 submitCount long - The number of invoices submitted for issuance
5 successCount long - The number of invoices issued successfully
6 failCount long - The number of invoices failed to issue
7 txState long - Status code of submission
└ Valid Value : 0 / 1 / 2
└ 0 = Submitted, 1 = In progress, 2 = Completed
8 txResultCode long - Result code of submission
9 txStartDT String 14 Start date and time of submission process
└ Format : yyyyMMddHHmmss
10 txEndDT String 14 End date and time of submission process
└ Format : yyyyMMddHHmmss
11 receiptDT String 14 Date and Time of receipt
└ Format : yyyyMMddHHmmss
12 issueResult List<BulkTaxinvoiceIssueResult> Returned when {@no.7 txState} is changed to 2
13 receiptID String 36 Receipt ID
└ assigned by POPBiLL when the submission is processed

A.11. BulkTaxinvoiceIssueResult

No. Name Type Length Description
1 invoicerMgtKey String 24 Invoice ID
└ assigned by user when the bulk issuance is submitted
2 code long - Issuance result of the e-Tax invoice that {@no.1 invoicerMgtKey} is assigned
3 ntsconfirmNum String 24 NTS Confirm Number
└ POPBiLL assigns when e-Tax invoice is issued
4 issueDT String 14 Date and Time of Issuance
└ Format : yyyyMMddHHmmss

A.12. TISearchResult

No. Name Type Length Description
1 code long - Response code for API processing
2 message String - Response message for API processing
3 total String - The total number of search results
4 perPage String - The number of search result per page
5 pageNum String - Page number
6 pageCount String - The number of pages
7 list List<TaxinvoiceInfo> [List] e-Tax invoice's status info / Summarized info (1,000 invoices)
└ The configuration is same as a return value of [2.1. GetInfo]

A.13. TaxinvoiceInfo

No. Name Type Length Description
1 itemKey String 18 Invoice ID assigned by POPBiLL for internal management
2 taxType String 2 Taxation Type
└ Valid Value : 과세 / 영세 / 면세
└ 과세 = Taxable, 영세 = Zero-rate, 면세 = Exempted
3 writeDate String 8 Date of preparation
└ Format : yyyyMMdd
4 regDT String 8 Date of Registration as a draft
└ Format : yyyyMMdd
5 issueType String 3 Issuance Type
└ Valid Value : 정발행
└ 정발행 = e-Tax invoice
6 supplyCostTotal String 18 Sum of supply values
7 taxTotal String 18 Sum of tax amount
8 purposeType String 2 Type of the total amount
└ Valid Value : 영수 / 청구 / 없음
└ 영수 = Amount paid, 청구 = Amount due, 없음 = None
9 issueDT String 14 Date and Time of Issuance
└ Format : yyyyMMddHHmmss
10 lateIssueYN String - Whether you allow to force the issuance after a due date
└ true = allow, false = not allow
11 openYN boolean - Whether an e-Tax invoice is checked
└ The status is changed to 'Checked' when customer(buyer) checks the details of e-Tax invoice via the notification mail clicking the button on the bottom
└ true = Check, false = Not Checked
12 openDT String 14 Date and Time of checking an e-Tax invoice
└ It's returned only when {@no.11 openYN} is 'true'
└ Format : yyyyMMddHHmmss
13 stateMemo String 200 Memo about status
14 stateCode Integer 3 Status Code [Reference] e-Tax invoice status code
15 stateDT String 14 Date and Time of Status Change
└ Format : yyyyMMddHHmmss
16 ntsconfirmNum String 24 NTS Confirm Number
17 ntsresult String 6 Filing Result to NTS
18 ntssendDT String 14 Date and Time of Filing to NTS
└ Format : yyyyMMddHHmmss
19 ntsresultDT String 14 Date and Time of Receiving Filing Result
└ Format : yyyyMMddHHmmss
20 ntssendErrCode String 8 Error Code of Filing Failure
[Reference] Result code of filing to NTS
21 modifyCode Integer 1 Code of modification reason for revised e-Tax invoice
[Reference] Revised (tax) Invoice
22 interOPYN boolean - Whether tax invoice is issued in integration system
└ true = Issued in integration system, false = Issued in POPBiLL web-portal
23 invoicerCorpName String 200 [Seller] Name of Company
24 invoicerCorpNum String 10 [Seller] Tax Registration Number
25 invoicerMgtKey String 24 [Seller] Invoice ID
26 invoicerPrintYN boolean - [Seller] Whether e-Tax invoice is printed
└ true = printed, false = not printed
27 invoiceeCorpName String 200 [Buyer] Name of Company
28 invoiceeCorpNum String 10 [Buyer] Business Registration Number
29 invoiceeMgtKey String 24 It's only requires to 'requested e-Tax invoice'
30 invoiceePrintYN boolean - [Buyer] Whether e-Tax invoice is printed
└ true = printed, false = not printed
31 closeDownState Integer 1 [Buyer] Company Status
└ Null = Processing, 0 = Unregistered, 1 = In Business, 2 = Closed, 3 = Suspended, 4 = Failed to check
32 closeDownStateDate String 8 [Buyer] Date of Business Closure
└ Format : yyyyMMdd

A.14. TaxinvoiceLog

No. Name Type Length Description
1 docLogType Integer 3 Log type
└ 100 : Saved / 101 : Revised / 102 : Checked / 103 : Received
└ 111 : Resend a mail / 112 : Resend a text / 113 : Resend a fax / 122 : Result of text sending
└ 123 : Result of fax sending / 124 : Result of company status check / 125 : Assign an Invoice ID
└ 230 : Issued / 240 : Canceled / 250 : Registered in filing list / 251 : Waiting for filing
└ 252 : Processing / 253 : Delivered to NTS / 254 : Succeed / 255 : Failed
2 log String 2000
3 procType String 3 Handling type
└ Valid Value : 연동 / 일반 / 시스템
└ 연동 = processed by API, 일반 = processed in POPBiLL web portal, 시스템 = POPBiLL processed
4 procCorpName String 70 Name of company in charge
5 procContactName String 30 A person in charge
6 procMemo String 200 Memo about process
7 regDT String 14 Date and Time of registration
└ Format : yyyyMMddHHmmss
8 ip String 39

A.15. JoinForm

No. Name Type Length Required Description
1 ID String 50 O From 6 to 50 letters
2 Password String 20 O From 8 to 20 letters
└ Must include English letter, numeric and special character all
3 LinkID String 20 O One of API Keys
4 CorpNum String 10 O Business Registration Number
└ 10 digits except ‘-’
5 CEOName String 100 O Name of representative
6 CorpName String 200 O Name of company
7 Addr String 300 O Company Address
8 BizType String 100 O Business Type
9 BizClass String 100 O Business Item
10 ContactName String 100 O Name of the person in charge
11 ContactEmail String 100 O Email of the person in charge
12 ContactTEL String 20 O Contact of the person in charge
13 ContactHP String 20 - Mobile of the person in charge
14 ContactFAX String 20 - Fax Number of the person in charge

A.16. CorpInfo

No. Name Type Length Required Description
1 ceoname String 100 O Name of representative
2 corpName String 200 O Name of company
3 addr String 300 O Company Address
4 bizType String 100 O Business Type
5 bizClass String 100 O Business Item

A.17. ContactInfo

No. Name Type Length Required Description
1 id String 50 O From 6 to 50 letters
2 Password String 20 From 8 to 20 letters
└ Must include English letter, numeric and special character all
3 personName String 100 O Name of the person in charge
4 tel String 20 O Contact of the person in charge
5 hp String 20 - Mobile of the person in charge
6 fax String 20 - Fax Number of the person in charge
7 email String 100 O Email of the person in charge
8 regDT String 14 X Date and Time of user registration
9 searchRole Integer - - User Access Level
└ Valid Value : 1 / 2 / 3
└ 1 = Account Limited and Full edit, 2 = Access all and Read-only(No edit), 3 = Access all and Full edit
10 mgrYN Boolean - X Whether user is the administrator or not
└ True : Administrator, False : (General) User
11 state Integer 1 X Account State
└ Valid Value : 1
└ 1 = Activated