Skip to content

Connect the business functions your service needs.

Issue tax invoices, check business details, and retrieve financial data. Choose an API and start integrating.

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.

Explore API
  1. Confirm the transaction and amount

  2. Request standard issuance from your system

  3. Apply the issuance result

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.

  1. Create a test key

    Sign up for Bolta, create a workspace, then create a test_ key in the Developer Center.

  2. 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.

  3. 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.

Request / cURL
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
    }
  ]
}'

issuanceKey is the acceptance response. Receive the success or failure webhook, or confirm the result through the query API.

Replace the highlighted API key, dates, business registration numbers, and client reference with your values. Dates use YYYY-MM-DD and must fall within the issuance deadline. Each tab copies only its own code.

Tax invoice API guide (Korean) (opens in a new tab)

Follow what happens after a request.

API pricing and requirements

Billing units and requirements vary by API. Check the conditions for each feature.

Business status lookup

Contact us

Pricing depends on lookup volume. Tell us your expected usage and we will quote it.

Reverse issuance

KRW 200 each

The recipient writes and requests it; the supplier approves

Cash receipts

Free

Income deduction, expense evidence, and voluntary issuance

Account holder lookup

50 points 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 lookup

Standard plan or higher

No points are deducted. The workspace needs a Standard plan or higher instead.

Document issuance

500 points per document

Only successful issuances are charged. Failures cost nothing, and test keys are never 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)

Teams using Bolta API

오더체크 logo
“The live test environment let us verify immediately, and we finished the integration in a day.”
오더체크

Verified the integration in test

브랜더진 logo
“Being able to issue invoices straight from our back office made the work far easier.”
브랜더진

Issuing from the back office

모먼트 스튜디오 logo
“We issue from Notion, which is already open all day, with no context switch. It saves 15 minutes daily.”
모먼트 스튜디오

Issuance wired into Notion

Questions teams ask before integrating

Do I need to contact sales or sign a separate contract for the API?

Create test and live API keys in the Developer Center after signing up. Business status lookup pricing is agreed separately based on your usage.

Do I need a paid subscription to use only the API?

You can create API keys without a paid subscription. The bank transactions API requires 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 issuance?

For issuance on behalf of a customer, use the supplier customer's certificate. Entrusted 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 has to approve in person.

What do I need before issuing for real?

Standard issuance requires an issuer and a registered joint 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 reference id you sent. Reusing the same 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.

How long does an integration take?

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 and amended issuance 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 Bolta API.

Create your own API key with no sales call or contract, and pay only for what you issue.