Request Reverse Issuance
The sum of all item amounts becomes the issuance amount. Provide each item’s tax (tax) according to taxType.
The amount calculation is the same as for standard issuance. See the Issuance amount guide and Email-approval reverse issuance | Simple-approval reverse issuance.
curl --request POST \
--url https://xapi.bolta.io/v1/taxInvoices/issueRequest \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'Supplier-Key: <supplier-key>' \
--data '
{
"date": "2026-05-27",
"purpose": "CLAIM",
"taxType": "ZERO_RATE",
"supplier": {
"identificationNumber": "5648102684",
"taxRegistrationId": null,
"organizationName": "Bolta Corporation",
"representativeName": "Munhyeok Lee",
"address": null,
"businessItem": "Software",
"businessType": "Service",
"manager": {
"email": "supplier@example.com",
"name": "Supplier Manager",
"telephone": null
}
},
"supplied": {
"identificationNumber": "0987654321",
"taxRegistrationId": null,
"organizationName": "Recipient Company",
"representativeName": "Recipient Representative",
"address": null,
"businessItem": null,
"businessType": null,
"managers": [
{
"email": "recipient@example.com",
"name": "Recipient Manager",
"telephone": null
}
]
},
"items": [
{
"date": "2026-05-27",
"name": "Zero-rate item",
"unitPrice": null,
"quantity": null,
"supplyCost": 100000,
"tax": 0,
"specification": null,
"description": null
}
],
"description": null
}
'import requests
url = "https://xapi.bolta.io/v1/taxInvoices/issueRequest"
payload = {
"date": "2026-05-27",
"purpose": "CLAIM",
"taxType": "ZERO_RATE",
"supplier": {
"identificationNumber": "5648102684",
"taxRegistrationId": None,
"organizationName": "Bolta Corporation",
"representativeName": "Munhyeok Lee",
"address": None,
"businessItem": "Software",
"businessType": "Service",
"manager": {
"email": "supplier@example.com",
"name": "Supplier Manager",
"telephone": None
}
},
"supplied": {
"identificationNumber": "0987654321",
"taxRegistrationId": None,
"organizationName": "Recipient Company",
"representativeName": "Recipient Representative",
"address": None,
"businessItem": None,
"businessType": None,
"managers": [
{
"email": "recipient@example.com",
"name": "Recipient Manager",
"telephone": None
}
]
},
"items": [
{
"date": "2026-05-27",
"name": "Zero-rate item",
"unitPrice": None,
"quantity": None,
"supplyCost": 100000,
"tax": 0,
"specification": None,
"description": None
}
],
"description": None
}
headers = {
"Supplier-Key": "<supplier-key>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Supplier-Key': '<supplier-key>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
date: '2026-05-27',
purpose: 'CLAIM',
taxType: 'ZERO_RATE',
supplier: {
identificationNumber: '5648102684',
taxRegistrationId: null,
organizationName: 'Bolta Corporation',
representativeName: 'Munhyeok Lee',
address: null,
businessItem: 'Software',
businessType: 'Service',
manager: {email: 'supplier@example.com', name: 'Supplier Manager', telephone: null}
},
supplied: {
identificationNumber: '0987654321',
taxRegistrationId: null,
organizationName: 'Recipient Company',
representativeName: 'Recipient Representative',
address: null,
businessItem: null,
businessType: null,
managers: [{email: 'recipient@example.com', name: 'Recipient Manager', telephone: null}]
},
items: [
{
date: '2026-05-27',
name: 'Zero-rate item',
unitPrice: null,
quantity: null,
supplyCost: 100000,
tax: 0,
specification: null,
description: null
}
],
description: null
})
};
fetch('https://xapi.bolta.io/v1/taxInvoices/issueRequest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://xapi.bolta.io/v1/taxInvoices/issueRequest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2026-05-27',
'purpose' => 'CLAIM',
'taxType' => 'ZERO_RATE',
'supplier' => [
'identificationNumber' => '5648102684',
'taxRegistrationId' => null,
'organizationName' => 'Bolta Corporation',
'representativeName' => 'Munhyeok Lee',
'address' => null,
'businessItem' => 'Software',
'businessType' => 'Service',
'manager' => [
'email' => 'supplier@example.com',
'name' => 'Supplier Manager',
'telephone' => null
]
],
'supplied' => [
'identificationNumber' => '0987654321',
'taxRegistrationId' => null,
'organizationName' => 'Recipient Company',
'representativeName' => 'Recipient Representative',
'address' => null,
'businessItem' => null,
'businessType' => null,
'managers' => [
[
'email' => 'recipient@example.com',
'name' => 'Recipient Manager',
'telephone' => null
]
]
],
'items' => [
[
'date' => '2026-05-27',
'name' => 'Zero-rate item',
'unitPrice' => null,
'quantity' => null,
'supplyCost' => 100000,
'tax' => 0,
'specification' => null,
'description' => null
]
],
'description' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"Supplier-Key: <supplier-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://xapi.bolta.io/v1/taxInvoices/issueRequest"
payload := strings.NewReader("{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Supplier-Key", "<supplier-key>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://xapi.bolta.io/v1/taxInvoices/issueRequest")
.header("Supplier-Key", "<supplier-key>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://xapi.bolta.io/v1/taxInvoices/issueRequest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Supplier-Key"] = '<supplier-key>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}"
response = http.request(request)
puts response.read_body{
"issuanceKey": "8D529FAD3EBAE050B79CE943CCC7CEDE"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}Authorizations
Base64-encode your API key and pass it. Enter the API key as the username and leave the password empty.
Headers
The identification key of the supplier (issuer). This is the key of the issuing party itself, not the supplied party (recipient). Use the supplierKey obtained from the Register Supplier API (POST /v1/suppliers); the supplied party information goes in the supplied field of the request body. It is managed independently per API key. Glossary | Authentication guide
Body
Write date
"2024-08-24"
RECEIPT: receipt, CLAIM: claim
RECEIPT, CLAIM TAXABLE: taxable (e-tax invoice), ZERO_RATE: zero-rate (e-tax invoice), TAX_FREE: tax-exempt (invoice). For TAXABLE the item tax cannot be null; for ZERO_RATE every item's tax must be 0; for TAX_FREE every item's tax must be null.
TAXABLE, ZERO_RATE, TAX_FREE "TAXABLE"
"ZERO_RATE"
"TAX_FREE"
Supplier
Show child attributes
Show child attributes
Supplied party
Show child attributes
Show child attributes
Items
1 - 16 elementsShow child attributes
Show child attributes
Tax invoice note
1 - 150Response
An identifier for the issuance request. Note that the format and length may change.
"8D529FAD3EBAE050B79CE943CCC7CEDE"
curl --request POST \
--url https://xapi.bolta.io/v1/taxInvoices/issueRequest \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'Supplier-Key: <supplier-key>' \
--data '
{
"date": "2026-05-27",
"purpose": "CLAIM",
"taxType": "ZERO_RATE",
"supplier": {
"identificationNumber": "5648102684",
"taxRegistrationId": null,
"organizationName": "Bolta Corporation",
"representativeName": "Munhyeok Lee",
"address": null,
"businessItem": "Software",
"businessType": "Service",
"manager": {
"email": "supplier@example.com",
"name": "Supplier Manager",
"telephone": null
}
},
"supplied": {
"identificationNumber": "0987654321",
"taxRegistrationId": null,
"organizationName": "Recipient Company",
"representativeName": "Recipient Representative",
"address": null,
"businessItem": null,
"businessType": null,
"managers": [
{
"email": "recipient@example.com",
"name": "Recipient Manager",
"telephone": null
}
]
},
"items": [
{
"date": "2026-05-27",
"name": "Zero-rate item",
"unitPrice": null,
"quantity": null,
"supplyCost": 100000,
"tax": 0,
"specification": null,
"description": null
}
],
"description": null
}
'import requests
url = "https://xapi.bolta.io/v1/taxInvoices/issueRequest"
payload = {
"date": "2026-05-27",
"purpose": "CLAIM",
"taxType": "ZERO_RATE",
"supplier": {
"identificationNumber": "5648102684",
"taxRegistrationId": None,
"organizationName": "Bolta Corporation",
"representativeName": "Munhyeok Lee",
"address": None,
"businessItem": "Software",
"businessType": "Service",
"manager": {
"email": "supplier@example.com",
"name": "Supplier Manager",
"telephone": None
}
},
"supplied": {
"identificationNumber": "0987654321",
"taxRegistrationId": None,
"organizationName": "Recipient Company",
"representativeName": "Recipient Representative",
"address": None,
"businessItem": None,
"businessType": None,
"managers": [
{
"email": "recipient@example.com",
"name": "Recipient Manager",
"telephone": None
}
]
},
"items": [
{
"date": "2026-05-27",
"name": "Zero-rate item",
"unitPrice": None,
"quantity": None,
"supplyCost": 100000,
"tax": 0,
"specification": None,
"description": None
}
],
"description": None
}
headers = {
"Supplier-Key": "<supplier-key>",
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Supplier-Key': '<supplier-key>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
date: '2026-05-27',
purpose: 'CLAIM',
taxType: 'ZERO_RATE',
supplier: {
identificationNumber: '5648102684',
taxRegistrationId: null,
organizationName: 'Bolta Corporation',
representativeName: 'Munhyeok Lee',
address: null,
businessItem: 'Software',
businessType: 'Service',
manager: {email: 'supplier@example.com', name: 'Supplier Manager', telephone: null}
},
supplied: {
identificationNumber: '0987654321',
taxRegistrationId: null,
organizationName: 'Recipient Company',
representativeName: 'Recipient Representative',
address: null,
businessItem: null,
businessType: null,
managers: [{email: 'recipient@example.com', name: 'Recipient Manager', telephone: null}]
},
items: [
{
date: '2026-05-27',
name: 'Zero-rate item',
unitPrice: null,
quantity: null,
supplyCost: 100000,
tax: 0,
specification: null,
description: null
}
],
description: null
})
};
fetch('https://xapi.bolta.io/v1/taxInvoices/issueRequest', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://xapi.bolta.io/v1/taxInvoices/issueRequest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'date' => '2026-05-27',
'purpose' => 'CLAIM',
'taxType' => 'ZERO_RATE',
'supplier' => [
'identificationNumber' => '5648102684',
'taxRegistrationId' => null,
'organizationName' => 'Bolta Corporation',
'representativeName' => 'Munhyeok Lee',
'address' => null,
'businessItem' => 'Software',
'businessType' => 'Service',
'manager' => [
'email' => 'supplier@example.com',
'name' => 'Supplier Manager',
'telephone' => null
]
],
'supplied' => [
'identificationNumber' => '0987654321',
'taxRegistrationId' => null,
'organizationName' => 'Recipient Company',
'representativeName' => 'Recipient Representative',
'address' => null,
'businessItem' => null,
'businessType' => null,
'managers' => [
[
'email' => 'recipient@example.com',
'name' => 'Recipient Manager',
'telephone' => null
]
]
],
'items' => [
[
'date' => '2026-05-27',
'name' => 'Zero-rate item',
'unitPrice' => null,
'quantity' => null,
'supplyCost' => 100000,
'tax' => 0,
'specification' => null,
'description' => null
]
],
'description' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"Supplier-Key: <supplier-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://xapi.bolta.io/v1/taxInvoices/issueRequest"
payload := strings.NewReader("{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Supplier-Key", "<supplier-key>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://xapi.bolta.io/v1/taxInvoices/issueRequest")
.header("Supplier-Key", "<supplier-key>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://xapi.bolta.io/v1/taxInvoices/issueRequest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Supplier-Key"] = '<supplier-key>'
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"date\": \"2026-05-27\",\n \"purpose\": \"CLAIM\",\n \"taxType\": \"ZERO_RATE\",\n \"supplier\": {\n \"identificationNumber\": \"5648102684\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Bolta Corporation\",\n \"representativeName\": \"Munhyeok Lee\",\n \"address\": null,\n \"businessItem\": \"Software\",\n \"businessType\": \"Service\",\n \"manager\": {\n \"email\": \"supplier@example.com\",\n \"name\": \"Supplier Manager\",\n \"telephone\": null\n }\n },\n \"supplied\": {\n \"identificationNumber\": \"0987654321\",\n \"taxRegistrationId\": null,\n \"organizationName\": \"Recipient Company\",\n \"representativeName\": \"Recipient Representative\",\n \"address\": null,\n \"businessItem\": null,\n \"businessType\": null,\n \"managers\": [\n {\n \"email\": \"recipient@example.com\",\n \"name\": \"Recipient Manager\",\n \"telephone\": null\n }\n ]\n },\n \"items\": [\n {\n \"date\": \"2026-05-27\",\n \"name\": \"Zero-rate item\",\n \"unitPrice\": null,\n \"quantity\": null,\n \"supplyCost\": 100000,\n \"tax\": 0,\n \"specification\": null,\n \"description\": null\n }\n ],\n \"description\": null\n}"
response = http.request(request)
puts response.read_body{
"issuanceKey": "8D529FAD3EBAE050B79CE943CCC7CEDE"
}{
"code": "<string>",
"message": "<string>"
}{
"code": "<string>",
"message": "<string>"
}