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
email no string Email
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
email no string Email
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
Reference document number
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: