POPBill Developers
API Reference

6. Custom Functions

The following APIs are for the customized process only. It is required to notify partner center before implementing these functions.

6.1. Register - Draft

POST https://popbill-test.linkhub.co.kr/Taxinvoice
POST https://popbill.linkhub.co.kr/Taxinvoice
  • This API saves the e-Tax invoice data with “Saved” status in POPBiLL server.
  • To send an e-Tax invoice to the NTS, an e-Tax invoice with a “saved” status must be proceeded as an “issued” status via [Issue- Issue an e-Tax invoice] API.
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Content-Type Y Request body format
application/json
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Request Body
No. Field Type Length Mandatory Description
issueType string 3 Y Issuance type
정발행general issuance
taxType string 2 Y Taxation type
과세taxable
영세zero-rated
면세exempted
chargeDirection string 3 Y Charging Direction
정과금Paid by seller
serialNum string 30 N Serial number
kwon number 4 N Volume of a book
integer values(+/-) only
ho number 4 N Number of a book
integer values(+/-) only
writeDate string 8 Y Date of preparation
format : yyyyMMdd
purposeType string 8 Y Payments received or not
영수payment received
청구payment not received
없음none
supplyCostTotal string 18 Y Sum of supply values
integer values(+/-) only
decimals will be automatically truncated
taxTotal string 18 Y Sum of tax amount
integer values(+/-) only
decimals will be automatically truncated
totalAmount string 18 Y Total amount
integer values(+/-) only
decimals will be automatically truncated
cash string 18 Y Payment method – ‘cash’
chkBill string 18 Y Payment method – ‘check’
credit string 18 Y Payment method – ‘credit’
note string 18 Y Payment method – ‘note’
remark1 string 150 Conditional 1st Remark
remark2 string 150 N 2nd Remark
remark3 string 150 N 3rd Remark
invoicerMgtKey string 24 Y [Seller] document ID
unique value that can contain alphanumeric characters and special characters (‘-’, ‘_’)
invoicerCorpNum string 10 Y [Seller] business registration number
10 digits except a hyphen(‘-’)
invoicerTaxRegID string 4 N [Seller] identification number of a branch place
4 digits value
invoicerCorpName string 200 Y [Seller] company name
invoicerCEOName string 100 Y [Seller] CEO name
invoicerAddr string 300 N [Seller] company address
invoicerBizType string 100 N [Seller] type of business
invoicerBizClass string 100 N [Seller] items of business
invoicerContactName string 100 N [Seller] name of the person in charge
invoicerDeptName string 100 N [Seller] department of the person in charge
invoicerTEL string 20 N [Seller] contact number of the person in charge
invoicerHP string 20 N [Seller] cell phone number of the person in charge
invoicerEmail string 100 N [Seller] email of the person in charge
invoiceeType string - N [Buyer] type of customer
사업자business proprietor
개인individual
외국인foreigner
invoiceeCorpNum string 13 Y [Buyer] business registration number
- if {invoiceeType} = 사업자(business proprietor type) : business registration number, 10 digits except a hyphen(‘-’)
- if {invoiceeType} = 개인(individual type) : resident registration number, 13 digits except a hyphen(‘-’)
- if {invoiceeType} = 외국인(foreigner type) : 9999999999999
invoiceeTaxRegID string 4 N [Buyer] identification number of a branch place
4 digits
invoiceeCorpName string 200 Y [Buyer] company name
invoiceeCEOName string 100 Y [Buyer] CEO name
invoiceeAddr string 300 N [Buyer] company address
invoiceeBizType string 100 N [Buyer] type of business
invoiceeBizClass string 100 N [Buyer] items of business
invoiceeContactName1 string 100 N [Buyer] name of the person in charge
invoiceeDeptName1 string 100 N [Buyer] department of the person in charge
invoiceeTEL1 string 20 N [Buyer] contact number of the person in charge
invoiceeHP1 string 20 N [Buyer] telephone number of the person in charge
invoiceeEmail1 string 100 N [Buyer] email of the person in charge
modifyCode number 1 Conditional Reason for revocation
mandatory when writing a revised invoice
orgNTSConfirmNum string 24 Conditional NTS confirmation number of the original tax invoice
mandatory when writing a revised invoice
detailList array - N Detailed list of items
maximum : 99
No. Field Type Length Mandatory Description
serialNum number 2 Y Serial number
write sequentially starting from 1
maximum : 99
purchaseDT string 8 N Trade date
format : yyyyMMdd
itemName string 100 N Item name
spec string 60 N Specification
qty string 12 N Quantity
-99999999.99 ~ 999999999.99
allowed to enter two decimal places
unitCost string 18 N Unit price
-99999999999999.99 ~ 999999999999999.99
allowed to enter two decimal places
supplyCost string 18 N Supply values
integer values(+/-) only
decimals will be automatically truncated
tax string 18 N Tax amount
integer values(+/-) only
decimals will be automatically truncated
remark string 100 N Remark
addContactList array - N Additional person in charge information of the buyer
use this when sending notification mails to multiple persons in charge
maximum : 5
No. Field Type Length Mandatory Description
serialNum number 1 Y Serial number
write sequentially starting from 1
maximum value : 5
contactName string 100 N Name of the person in charge
email string 100 Y Email of the person in charge
memo string 200 N Memo for user’s convenience
writeSpecification boolean - N Whether a user uses concurrent creation of a transaction details or not
truedo
falsedo not (default)
Request Example
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
Response Body
No. Field Type Length Description
code number - API response code
message string - API response message
Response Example
{
    "code": 1,
    "message": "등록 완료"
}

6.2. AttachFile - File attachment

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files
  • This API attaches a single file to an e-Tax invoice with “Saved” status. (Maximum : 5 files)
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Content-Type Y Request body format
multipart/form-data
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
MgtKeyType string - Y Type of the e-Tax invoice
SELLSales
MgtKey string 24 Y Document ID
Request Body
No. Field Type Length Mandatory Description
Filedata file - Y Data of an attachment file
Request Example
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}/Files' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: multipart/form-data' \
  --form 'Filedata=@"/path/test.jpg"'
Response
Response Body
No. Field Type Length Description
code number - API response code
message string - API response message
Response Example
{
    "code": 1,
    "message": "첨부 완료"
}

6.3. Issue - Issuance

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}
  • This API issues (digitally signs) an e-Tax invoice with “Saved” status and proceed it as “Issued”.
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Content-Type Y Request body format
application/json
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-HTTP-Method-Override Y Request method override
ISSUE
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
MgtKeyType string - Y Type of the e-Tax invoice
SELLSales
MgtKey string 24 Y Document ID
Request Body
No. Field Type Length Mandatory Description
memo string 200 N Memo for user’s convenience
emailSubject string 300 N Title of a notification mail sent to a buyer
default : title assigned by POPBiLL
forceIssue boolean - N Whether a user permits to issue an overdue e-Tax invoice or not
truedo
falsedo not (default)
Request Example
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
Response Body
No. Field Type Length Description
code number - API response code
message string - API response message
ntsConfirmNum string 24 NTS confirmation number
POPBiLL automatically assigns this when issuing a tax invoice.
Response Example
{
    "code": 1,
    "message": "발행 완료",
    "ntsConfirmNum": "20251016888888880000004c",
    "issueDT": null
}

6.4. GetFiles - Check attached file list

GET https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files
GET https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files
  • This API returns a list of attachments within a single e-Tax invoice.
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
MgtKeyType string - Y Type of the e-Tax invoice
SELLSales
MgtKey string 24 Y Document ID
Request Example
curl --request GET \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}/Files' \
  --header 'Authorization: Bearer {token}'
Response
Response Body
No. Field Type Length Description
serialNum number 1 Serial number
item to manage the list of attachment files
attachedFile string 255 File ID
It is required to enter this value when calling [DeleteFile - Delete an attachment within an e-Tax invoice] API.
displayName string 255 Name of an attachment file
regDT string 14 Date and time of attachment creation
format : yyyyMMddHHmmss
Response Example
[
    {
        "displayName": "test.jpg",
        "serialNum": 2,
        "attachedFile": "B8930D66-6684-4B25-ABA0-3BD4E848ECAF.PBF",
        "regDT": "20251022203916"
    }
]

6.5. DeleteFile - Delete attached file

POST https://popbill-test.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files/{FileID}
POST https://popbill.linkhub.co.kr/Taxinvoice/{MgtKeyType}/{MgtKey}/Files/{FileID}
  • This API deletes a single attachment of an e-Tax invoice with “Saved” status.
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-HTTP-Method-Override Y Request method override
DELETE
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
MgtKeyType string - Y Type of the e-Tax invoice
SELLSales
MgtKey string 24 Y Document ID
FileID string 255 Y Unique identification number assigned by POPBiLL system to manage attachment files.
to find this, refer to the returned value of the AttachedFile via [GetFiles – View the list of attachments within an e-Tax invoice] API.
Request Example
curl --request POST \
  --url 'https://{domain}/Taxinvoice/{MgtKeyType}/{MgtKey}/Files/{FileID}' \
  --header 'Authorization: Bearer {token}' \
  --header 'X-HTTP-Method-Override: DELETE'
Response
Response Body
No. Field Type Length Description
code number - API response code
1Success
message string - API response message
Response Example
{
    "code": 1,
    "message": "첨부삭제 완료"
}