How to use Postman generate e-Invoice/e-Tax Invoice via Leceipt API
If you want to create e-Tax Invoice & e-Receipt documents through your system. This guide will teach you how to create a simple etax document via Postman with sample code for easy understanding.
You can import the collection using the link below.
https://www.getpostman.com/collections/e42fe4deea6b7517f7ab
1. Generate API Key
This API key will be used to connect the API to the Leceipt system. The method for generating it is in the link below.
How to generate an API Key: https://www.leceipt.com/docs/etax/api-key
2. Provide information
Provide important information in order to create documents on Leceipt. You can see examples of information on Github
Customer
Structure
Parameters | Require | Type | Meaning |
---|---|---|---|
name | yes | string | Seller name |
buildingNumber | yes | string | Building Number |
address | yes | string | Address |
streetprefix | no | string | Street Prefix |
streetName | no | string | Street Name |
subDistrictPrefix | no | string | Sub-District Prefix |
subDistrictCode | yes | string | Sub-District Code |
districtPrefix | no | string | District Prefix |
districtCode | yes | string | District Code |
provincePrefix | no | string | Province Prefix |
provinceCode | yes | string | Province Code |
postcode | yes | string | Postcode |
branchNumber | yes | string | Branch Number |
taxNumberType | yes | string | Tax Number Type |
taxId | yes | string | Tax Id |
phone | no | string | Phone number |
no | string | ||
unstructure | yes | boolean | Specify “false” if it is a structure address. |
Example
{
"customer": {
"name": "Buyer Test Co.,LTD.",
"addressLineOne": "999 Moo 999 Sathorn Rd. 99",
"addressLineTwo": "Silom BanRak Bangkok",
"countryName": "Thailand",
"postcode": "10500",
"branchNumber": "00000",
"taxNumberType": "TXID",
"taxId": "1234567890123",
"phone": "0812345678",
"email": "test@test.com",
"unstructure": true
}
}
Unstructure
Parameters | Require | Type | Meaning |
---|---|---|---|
name | yes | string | Seller name |
addressLineOne | yes | string | Address Line One |
addressLineTwo | no | string | Address Line Two |
postcode | yes | string | Postcode |
countryName | no | string | Country |
branchNumber | yes | string | Branch Number |
taxNumberType | yes | string | Tax Number Type |
taxId | yes | string | Tax Id |
phone | no | string | Phone number |
no | string | ||
unstructure | no | string | Specify “true” if it is an unstructure address. |
Example
{
"customer": {
"name": "Buyer Test Co.,LTD.",
"buildingNumber": "99",
"address": "Moo 99",
"streetName": "Sathorn 99",
"branchNumber": "00000",
"subDistrictCode": "100402",
"districtCode": "1004",
"provinceCode": "10",
"postcode": "10500",
"taxNumberType": "TXID",
"taxId": "1234567890123",
"phone": "0812345678",
"email": "test@test.com",
"unstructure": false
}
}
items
This parameter is an Array. If the document contains multiple items or services, add an Object to this Array manually.
Parameters | Require | Type | Meaning |
---|---|---|---|
number | yes | number | Order of goods or services |
description | yes | string | Product or service details |
quantity | yes | number | Number of products |
unitName | no | string | Product unit |
price | yes | number | Price of goods or services |
discount | no | number | Product or service discounts |
percentVat | yes | number | The item’s tax percentage includes, if it’s a tax-exempt item, indicate -1, if it’s a 0% tax item, indicate 0, if it’s a 7% tax item, specify 7. |
Example
{
"items": [
{
"number": 1,
"description": "Food and beverage",
"quantity": 1,
"unitName": "EA",
"price": 1500,
"discount": 0,
"percentVat": 0
},
{
"number": 2,
"description": "Food and beverage",
"quantity": 1,
"unitName": "",
"price": 1000,
"discount": 0,
"percentVat": 7
}
]
}
refer
Refer here refers to the reference document. If no documents are issued in lieu of the original This section is not required to be filled out.
Parameters | Require | Type | Meaning | |
---|---|---|---|---|
number | yes | string |
|
|
dateBE | yes | string | Date, month, year (B.E.) the document was issued to refer to. | |
reasonCode | yes | string | Reason Code | |
specificReason | yes (ถ้า reasonCode เป็น TIVC99) | string | Other reason |
ตัวอย่าง
{
"refer": {
"number": "TIV20210300000",
"dateBE": "18/03/2564",
"reasonCode": "TIVC01"
}
}
data
Parameters | Require | Type | Meaning |
---|---|---|---|
number | yes | string | No. Invoice/Tax Invoice |
reference | no | string | Reference number |
dateBE | yes | string | Date, month, year (B.E.) the Invoice/Tax Invoice is issued. |
dueDateBE | no | string | Date Month Year (B.E.) Due Date of Invoice/Tax Invoice |
includeVat | no | boolean | The price of the product or service includes Vat includeVat=true, the price of the product or service does not include Vat includeVat=false (default). |
customer | yes | object | Details of the purchaser of the product or service. |
items | yes | array | Product or service details. |
language | no | string | Language (includes th (Thai) (default) and en (English) |
discount | no | number | Total discount |
note | no | string | Remarks that need to be shown in the Invoice/Tax Invoice |
createdBy | no | string | Created By |
reIssue | no | boolean | If a document is issued in lieu of the original one, specify true, if not, specify false (default). |
refer | yes (ถ้า reIssue เป็น true) | object | Reference document |
Example
{
"number": "TIV20210300001",
"dateBE": "23/03/2564",
"includeVat": false,
"items": [
{
"number": 1,
"description": "Food and beverage",
"quantity": 1,
"unitName": "EA",
"price": 1500,
"discount": 0,
"percentVat": 0
},
{
"number": 2,
"description": "Food and beverage",
"quantity": 1,
"unitName": "",
"price": 1000,
"discount": 0,
"percentVat": 7
}
],
"discount": 0,
"language": "th",
"customer": {
"name": "Buyer Test Co.,LTD.",
"buildingNumber": "99",
"address": "Moo 99",
"streetName": "Sathorn 99",
"branchNumber": "00000",
"subDistrictCode": "100402",
"districtCode": "1004",
"provinceCode": "10",
"postcode": "10500",
"taxNumberType": "TXID",
"taxId": "1234567890123",
"phone": "0812345678",
"email": "test@test.com",
"unstructure": false
},
"note": "Test Notes",
"createdBy": "Somchai",
"reIssue": true,
"refer": {
"number": "TIV20210300000",
"dateBE": "18/03/2564",
"reasonCode": "TIVC01"
},
"reference": ""
}
3. Send Request to Postman
Endpoint: https://api.leceipt.com/etax/documents/invoices-taxinvoices
Method: Post
Copy the endpoint above and put it in the Postman, put the API-Key in the Headers and the data in step 2. Put it in the Body and select raw.
Example
Response:
Once the request has been submitted successfully, the Leceipt system will create a document. Deemed to be completed.
But if you want to download the pdf file, see the next step.
4. Save FileId for Download
Endpoint: https://api.leceipt.com/etax/jobs/{id}
Method: Get
Send a get request to the endpoint above with the id taken from the response in step 3.
Example
Put this id at the end of the endpoint (don’t put ” around the id).
Response:
When you get a response, use fileId in the next step.
5. Download PDF file
Endpoint: https://api.leceipt.com/etax/files/{fileId}/?api-version=2022-07-12
Method: Get
The fileId is taken from the response in clause 4.
Example
Example
Response: