API integration
Connect the business functions your service needs.
Issue tax invoices, check business details, and retrieve financial data. Choose an API and start integrating.
01
Start with what you need.
Issue, look up, and request documents. Find the APIs that fit your service.
Issuance
- Tax invoice APIIssue through the issue endpoint. Amend with the original issuance key and the endpoint for your amendment reason. Get the final result from a webhook or the lookup API, and the PDF once issuance completes.Explore API
- Reverse issuance APIThe recipient drafts the transaction and the supplier approves it to issue. Send the approval by email, or fetch an approval URL and wire it into your own screen.Explore API
- Cash receipt APIIssue by mobile number or business registration number, and fall back to self-issuance when you cannot identify the payer. Issuance is free.Explore API
Lookups
- Business registration status APISend a business registration number and Bolta returns its registration status and tax type. Call it when you onboard a vendor or right before you issue an invoice to avoid billing a closed business.Explore API
- Bank account holder APISend a bank code and account number and Bolta returns the holder name. Call it where customers register accounts or where you build a transfer, and wrong-account payments stop before they leave.Explore API
- Bank account transactions APIRead transactions from accounts connected to Bolta and ask for fresh data. Use it to reconcile receivables or confirm incoming payments from code.Explore API
- Revenue and expense APIRead sales and purchase tax invoices from Hometax and Bolta in the order they changed. Use it to move tax invoice records into your books or ERP from code.Explore API
- Business registration certificate APISend a business registration certificate file and get the business details with the NTS verification result. Add it to sign-up or vendor registration to finish entry and verification in one step.Explore API
02
Connect it to your workflow.
Your own sales
Issue your own sales invoices automatically
Connect it when your ERP or back office confirms a sale, or when you bill SaaS fees. Your company is the supplier and issues to the buying counterparty.
Confirm the transaction and amount
Request standard issuance from your system
Apply the issuance result
Delegated issuance for customer sales
Issue your customers' sales invoices for them
Connect it when you offer issuance to merchants, carriers, or other customers on your platform. The customer is the supplier and your platform calls the API on their behalf.
Register the customer's certificate and confirm the sale
Request standard issuance from the platform
Report the result back to the customer
Purchases and settlement
Request the invoices your purchases and settlements need
Connect it when your company confirms a purchase and asks the counterparty to issue. The recipient writes the details and the supplying counterparty approves.
Confirm the purchase or settlement
Request reverse issuance
Supplier approves
Confirm the result
03
Capabilities
| Capability | When | What it does |
|---|---|---|
| Standard issuance (opens in a new tab) | The supplier writes the transaction and issues | Taxable and zero-rated tax invoices, plus tax-exemption invoices |
| Amendment (opens in a new tab) | Correcting an invoice you already issued | Amendments for cancellation of contract, change in supply cost, and double issuance by mistake |
| Reverse issuance (opens in a new tab) | The recipient writes it and the supplier approves | Approval wired through email or an approval URL |
| Cash receipts (opens in a new tab) | You need income-deduction, expense-evidence, or self-issued receipts | Issuance requests, status lookups, and full cancellation |
Delegated issuance
The customer, who is the supplier, registers their own certificate. The platform requests standard issuance on the supplier's behalf using that certificate.Brokered tax invoice issuance
Uses the trustee's certificate. Send trustee details alongside the supplier and recipient to request standard issuance.
04
Send your first API request.
Nothing is sent to the NTS and no points are charged. Validate the flows you need with a test key, and use a test certificate for methods that require one.
Create a test key
Sign up for Bolta, create a workspace, then create a test_ key in the Developer Center.
Prepare issuance for your type
Register your own certificate for your own sales, or the customer's for delegated issuance. For reverse issuance, prepare for email or simple approval. Use test certificates where a test needs one.
Send the request and read the result
Send the transaction details and the API returns an acceptance response. Confirm the issuance result afterwards through a webhook or the lookup API.
curl -X POST https://xapi.bolta.io/v1/taxInvoices/issue \
--user 'test_YOUR_API_KEY:' \
-H 'Bolta-Client-Reference-Id: YOUR_UNIQUE_REFERENCE_ID' \
-H 'Content-Type: application/json' \
-d '{
"date": "YYYY-MM-DD",
"purpose": "RECEIPT",
"taxType": "TAXABLE",
"supplier": {
"identificationNumber": "SUPPLIER_BUSINESS_NUMBER",
"organizationName": "공급자 상호",
"representativeName": "홍길동",
"manager": {
"email": "supplier@example.com"
}
},
"supplied": {
"identificationNumber": "RECIPIENT_BUSINESS_NUMBER",
"organizationName": "공급받는자 상호",
"representativeName": "김철수",
"managers": [
{
"email": "recipient@example.com"
}
]
},
"items": [
{
"date": "YYYY-MM-DD",
"name": "테스트 품목",
"unitPrice": 10000,
"quantity": 1,
"supplyCost": 10000,
"tax": 1000
}
]
}'{
"date": "YYYY-MM-DD",
"purpose": "RECEIPT",
"taxType": "TAXABLE",
"supplier": {
"identificationNumber": "SUPPLIER_BUSINESS_NUMBER",
"organizationName": "공급자 상호",
"representativeName": "홍길동",
"manager": {
"email": "supplier@example.com"
}
},
"supplied": {
"identificationNumber": "RECIPIENT_BUSINESS_NUMBER",
"organizationName": "공급받는자 상호",
"representativeName": "김철수",
"managers": [
{
"email": "recipient@example.com"
}
]
},
"items": [
{
"date": "YYYY-MM-DD",
"name": "테스트 품목",
"unitPrice": 10000,
"quantity": 1,
"supplyCost": 10000,
"tax": 1000
}
]
}{
"issuanceKey": "EXAMPLE_ISSUANCE_KEY"
}issuanceKey is the acceptance response. Receive the success or failure webhook, or confirm the result through the lookup API.
Replace the highlighted API key, dates, business registration numbers, and client reference ID with your values. Dates use YYYY-MM-DD and must fall within the issuance deadline. Each tab copies only its own code.
- Quickstart guide (opens in a new tab)
- HTTP examples by language and developer tools (opens in a new tab)
- Zapier integration (opens in a new tab)
- Make integration (opens in a new tab)
05
Follow what happens after a request.
Receive results by webhook
Issuance results arrive at the HTTPS URL you register. Test and live webhooks are configured separately, and timing differs per product.See webhook setup and events (opens in a new tab)Look up the status when there is no response
Send a client reference ID with every tax invoice request. If you get no response, look up the acceptance status with that ID before retrying.See client reference IDs and duplicate handling (opens in a new tab)Review delivery history in the event log
View webhook delivery results and details for each API key in the Developer Center.See how to use the event log (opens in a new tab)
06
API pricing and requirements
Billing units and requirements vary by API. Check the conditions for each feature.
- Standard issuanceKRW 90 each
An ordinary tax invoice the supplier writes and issues
- AmendmentKRW 90 each
Correcting an issued invoice with a reason code
- Reverse issuanceKRW 200 each
The recipient writes and requests it; the supplier approves
- Cash receiptsFree
Income deduction, expense evidence, and self-issuance
- Business registration status lookupKRW 10 per business registration number
Only numbers with a confirmed status are charged. Numbers that could not be confirmed and test key calls are free.
- Bank account holder lookupKRW 50 per successful account lookup
Only accounts that returned a holder are charged. Misses, failures, and quota rejections cost nothing, and test keys are always free.
- Bank transaction lookupStandard plan or higher
No points are deducted. The workspace needs a Standard plan or higher instead.
- Revenue and expense lookupStandard plan or higher
No points are deducted. The workspace needs a Standard plan or higher instead.
- Business registration certificate extractionKRW 100 per document
Charged for each document that gets a match or no-match result from the NTS check. Documents the NTS could not check, error responses, and test key calls are free.
- Hometax document issuanceKRW 500 per document
Only successful issuances are charged. Failures cost nothing, and test keys are never charged.
- Corporate registry (view copy)KRW 1,000 per document
For checking the register's contents. Request it with a corporation registration number, no certificate needed.
- Corporate registry (submission copy)KRW 1,500 per document
For submission to government offices or banks. Failed issuances are not charged.
Testing is free, paid issuance runs on prepaid points
Test keys never consume points. Top up points before requesting paid issuance in live. Requests fail when the balance runs out.
See how point top-ups work (opens in a new tab)07
Teams using the Bolta API
CJ ENM Commerce
HD Hyundai
Hyundai Vendis
Gowid
Kimcaddie
Fanding
Fruits Family
Vacatio
From teams that integrated
“The live test environment let us verify immediately, and we finished the integration in a day.”
오더체크Verified the integration in test
“Being able to issue invoices straight from our back office made the work far easier.”
브랜더진Issuing from the back office
“We issue from Notion, which is already open all day, with no context switch. It saves 15 minutes daily.”
모먼트 스튜디오Issuance wired into Notion
08FAQ
Questions teams ask before integrating
Integration steps and error codes are in the API docs.
Read the API docs (opens in a new tab)Do I need to contact sales or sign a separate contract for the API?
No. Create test and live API keys in the Developer Center after signing up. Business registration status lookups are self-serve too, at KRW 10 per business registration number.
Do I need a paid subscription to use only the API?
You can create API keys without a paid subscription. The Bank account transactions API and the Revenue and expense API require Standard or higher; other APIs follow their product-specific pricing and requirements.
Can one platform use several integration types at once?
Yes. Choose per transaction based on who the supplier and recipient are. Issue your platform's own fees and commissions as your own sales, and issue a merchant's sales on that merchant's behalf. Use reverse issuance when you write up a purchase and ask the supplier to approve it.
How does delegated issuance differ from brokered tax invoice issuance?
Delegated issuance uses the certificate of the customer who is the supplier. Brokered tax invoice issuance uses the trustee's certificate and includes the supplier, recipient, and trustee information.
What do the two reverse approval methods need?
Both register the supplier as an issuer. Email approval works without registering the supplier's certificate in advance; the supplier opens the link Bolta emails them and approves. Simple approval requires the supplier to register a certificate first, then your system points them at an approval URL. In both cases the supplier must approve it themselves.
What do I need before issuing for real?
Standard issuance requires an issuer and a registered certificate. Reverse issuance needs different preparation depending on the approval method. Top up points in the Developer Center before requesting paid issuance with a live key.
Does testing send anything to the NTS?
No. Test keys (test_) verify the integration without sending to the NTS and do not deduct points. Test certificates are available too. Live keys (live_) are for real issuance.
Does an API response mean the invoice was issued?
An issuanceKey response means the request was accepted. Confirm the final result through a webhook or the lookup API. Webhook timing differs between tax invoices and cash receipts.
If I get no response, can I just send the request again?
For tax invoices, look up the acceptance status with the client reference ID you sent. Reusing the same client reference ID raises a duplicate request error. Cash receipts handle duplicates differently, so follow the per-product rules in the authentication guide.
Which languages does the API support?
Any language or environment that can send an HTTP request. The API docs include request examples per language. Per-language HTTP examples and official SDKs are not the same thing.
Can I connect with a no-code tool?
Bolta provides Zapier and Make guides. Prepare the data your issuance needs in that tool, then configure API authentication and the request. Each guide covers its own scope and setup.
What steps does an integration follow?
Connect issuance, customer registration, and approval flows in the free test environment, then start issuing with a live key.
How is API usage billed?
Standard issuance and amendments deduct KRW 90 each and reverse issuance KRW 200 each from prepaid points. There is no minimum spend, support fee, or maintenance fee. You need a remaining point balance to request paid issuance.
Start building with the Bolta API.
Create your own API key with no sales call or contract, and pay only for what you use.
Want to talk through scope first?Talk to us about the API







