# Generate E-Invoice for a Document

This API enables the submits the e-invoicing payload for generation of LHDN compliant e-invoices. This is a bulk API which supports submitting an array of documents in one call to LHDN. This API will also share the document through the PEPPOL network if it's enabled for sharing.

### Request Method

POST

### Request URL

```
{{HOST}}/einvoice/v1/documents/generate
```

### Request Headers

| Parameter             | Data Type | Field Validations                              | Description                                                                                     |
| --------------------- | --------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| x-cleartax-auth-token | String    | Cannot be empty                                | Mandatory. User auth token.                                                                     |
| x-clear-tin           | String    | Cannot be empty                                | Mandatory. TIN of the entity                                                                    |
| x-clear-branch        | String    | Should be a valid branch from the user account | Optional. Branch name (store name) added in the user account which maps to a TIN of the entity. |
| x-request-id          | UUID      | Should be unique for every request             | <p>Optional. Unique request ID.</p><p>Used for Debugging Support Issues</p>                     |
| Content-Type          | String    | application/json                               | application/json                                                                                |

### Request Path Params

There are no path parameters for this API.

### Request Query Params

| Parameter     | Data Type | Field Validations           | Description                                           |
| ------------- | --------- | --------------------------- | ----------------------------------------------------- |
| dry-run       | Boolean   | true/false                  | <p>Default: false</p><p>Will only run Validations</p> |
| einvoice-type | ENUM      | SALES, PURCHASE, SALES\_B2C | Default: SALES                                        |

### Request Body

| Parameter                         | Data Type | Field Validations                               | Description                                                                                           |
| --------------------------------- | --------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Documents                         | Array     | <p>MinListLength: 1</p><p>MaxListLength: 10</p> | Mandatory. List of Documents                                                                          |
| Version                           | String    | <p><br>NA</p>                                   | Mandatory. MY\_GENERATE\_UBL\_2\_1\_V1                                                                |
| AllowCancelledDocumentsGeneration | Boolean   | NA                                              | Optional : If passed `true`, will re-generate Cancelled documents if any in the given Documents list. |

#### Documents Object

| Parameter        | Data Type | Field Validations | Description                                                                                                                                                                                                                                              |
| ---------------- | --------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DocumentData     | String    | NA                | Mandatory. Base64 of the document data shared below                                                                                                                                                                                                      |
| DocumentFormat   | ENUM      | JSON, XML         | Mandatory. Describes the data received is in the JSON Format or in the XML Format.                                                                                                                                                                       |
| UniqueIdentifier | String    | NA                | <p>Mandatory. Identifier provided by the user to distinctly identify the document at their end. Generally formed with concatenation of TIN, Document Number, Document Type, Fiscal Year fields with \_</p><p>Example: C948329382\_INV-101\_INV\_2024</p> |
| CustomFields     | Object    | NA                | <p>Map of Custom fields with key-value pair eg : ( {<br>“Internal Number” : “INV000012”</p><p>})</p>                                                                                                                                                     |

{% content-ref url="broken-reference" %}
[Broken link](https://docs.cleartax.in/cleartax-docs/e-invoicing-malaysia-api/e-invoicing-malaysia-api-reference/api-lists/broken-reference)
{% endcontent-ref %}

**Custom Fields Object**

This is a custom object of key-value pairs that can be used to display custom fields in custom output PDF templates or in certain reports.&#x20;

For example:

```json
{
    "country_of_origin": "IN",
    "total_containers": "3"
}
```

### Sample Request

Request Body

```json
{
    "Documents": [
        {
            "DocumentData": "ewogICAgIkludm9pY2VUeXBlQ29kZSI6IHsKICAgICAgICAiVmFsdWUiOiAiMDEiCiAgICB9LAogICAgIkludm9pY2VQZXJpb2QiOiB7CiAgICAgICAgIlN0YXJ0RGF0ZSI6ICIyMDI0LTA2LTAzIiwKICAgICAgICAiRW5kRGF0ZSI6ICIyMDI0LTA2LTAzIiwKICAgICAgICAiRGVzY3JpcHRpb24iOiAiTW9udGhseSIKICAgIH0sCiAgICAiQmlsbGluZ1JlZmVyZW5jZSI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJBZGRpdGlvbmFsRG9jdW1lbnRSZWZlcmVuY2UiOiB7CiAgICAgICAgICAgICAgICAiSWQiOiAiIgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgXSwKICAgICJJc3N1ZURhdGUiOiAiMjAyNC0wNi0wMyIsCiAgICAiSXNzdWVUaW1lIjogIjE4OjMwOjAwIiwKICAgICJEb2N1bWVudEN1cnJlbmN5Q29kZSI6ICJNWVIiLAogICAgIklkIjogIlRFU1QtU0FMRVMtMDAxIiwKICAgICJBY2NvdW50aW5nQ3VzdG9tZXJQYXJ0eSI6IHsKICAgICAgICAiUGFydHkiOiB7CiAgICAgICAgICAgICJDb250YWN0IjogewogICAgICAgICAgICAgICAgIkVsZWN0cm9uaWNNYWlsIjogImluZm9AZ21haWwuY29tIiwKICAgICAgICAgICAgICAgICJUZWxlcGhvbmUiOiAiNjAzMjIzMDA5MCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIlBhcnR5SWRlbnRpZmljYXRpb24iOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIklkIjogewogICAgICAgICAgICAgICAgICAgICAgICAiU2NoZW1lSUQiOiAiVElOIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIkM1ODk2MjM0MDQwIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIklkIjogewogICAgICAgICAgICAgICAgICAgICAgICAiU2NoZW1lSUQiOiAiQlJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIjE5OTUwMTAxMDY2NiIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtZUlEIjogIlNTVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICJOQSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJQYXJ0eUxlZ2FsRW50aXR5IjogewogICAgICAgICAgICAgICAgIlJlZ2lzdHJhdGlvbk5hbWUiOiAiRGVmbWFjcm8gU29mdHdhcmUgUHZ0IEx0ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIlBvc3RhbEFkZHJlc3MiOiB7CiAgICAgICAgICAgICAgICAiQWRkcmVzc0xpbmUiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiTGluZSI6ICJMZXZlbCAzMyIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIkxpbmUiOiAiSWxoYW0gVG93ZXIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJMaW5lIjogIiA4IEphbGFuIEJpbmphaSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIkNpdHlOYW1lIjogIiA4IEphbGFuIEJpbmphaSIsCiAgICAgICAgICAgICAgICAiQ291bnRyeSI6IHsKICAgICAgICAgICAgICAgICAgICAiSWRlbnRpZmljYXRpb25Db2RlIjogewogICAgICAgICAgICAgICAgICAgICAgICAiQ291bnRyeUNvZGUiOiAiTVlTIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiQ291bnRyeVN1YmVudGl0eUNvZGUiOiAiMTQiLAogICAgICAgICAgICAgICAgIlBvc3RhbFpvbmUiOiAiNTA0NTAiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9LAogICAgIkFjY291bnRpbmdTdXBwbGllclBhcnR5IjogewogICAgICAgICJQYXJ0eSI6IHsKICAgICAgICAgICAgIkNvbnRhY3QiOiB7CiAgICAgICAgICAgICAgICAiRWxlY3Ryb25pY01haWwiOiAiZ2VuZXJhbEBwbHVzLmNvbS5teSIsCiAgICAgICAgICAgICAgICAiVGVsZXBob25lIjogIjYwMzIyMzAwOTAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJJbmR1c3RyeUNsYXNzaWZpY2F0aW9uQ29kZSI6IHsKICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIwMTExMSIsCiAgICAgICAgICAgICAgICAiTmFtZSI6ICJPdGhlciBzZXJ2aWNlIGFjdGl2aXRpZXMgbi5lLmMuIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiUGFydHlJZGVudGlmaWNhdGlvbiI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiSWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWVJRCI6ICJUSU4iLAogICAgICAgICAgICAgICAgICAgICAgICAiVmFsdWUiOiAiQzU4NzQ2NzA4MDgwIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIklkIjogewogICAgICAgICAgICAgICAgICAgICAgICAiU2NoZW1lSUQiOiAiQlJOIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIjIwMjQwMTAyMTEyOCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtZUlEIjogIlNTVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICJOQSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtZUlEIjogIlRUWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICJOQSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJQYXJ0eUxlZ2FsRW50aXR5IjogewogICAgICAgICAgICAgICAgIlJlZ2lzdHJhdGlvbk5hbWUiOiAiWFlaIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiUG9zdGFsQWRkcmVzcyI6IHsKICAgICAgICAgICAgICAgICJBZGRyZXNzTGluZSI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJMaW5lIjogIk1lbmFyYSBLb3Jwb3JhdCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIkxpbmUiOiAiUGVyc2FkYSBQTFVTIgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiTGluZSI6ICJQZXJzaW1wYW5nYW4gQmVydGluZ2thdCBTdWJhbmcgS00xNSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIkNpdHlOYW1lIjogIkxlYnVocmF5YSBCYXJ1IExlbWJhaCBLbGFuZyIsCiAgICAgICAgICAgICAgICAiQ291bnRyeSI6IHsKICAgICAgICAgICAgICAgICAgICAiSWRlbnRpZmljYXRpb25Db2RlIjogewogICAgICAgICAgICAgICAgICAgICAgICAiQ291bnRyeUNvZGUiOiAiTVlTIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiQ291bnRyeVN1YmVudGl0eUNvZGUiOiAiMTAiLAogICAgICAgICAgICAgICAgIlBvc3RhbFpvbmUiOiAiNDczMDEiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9LAogICAgIkRlbGl2ZXJ5IjogewogICAgICAgICJEZWxpdmVyeVBhcnR5IjogewogICAgICAgICAgICAiQ29udGFjdCI6IHsKICAgICAgICAgICAgICAgICJFbGVjdHJvbmljTWFpbCI6ICJpbmZvQG9saXZlc3RvdWNoLmNvbSIsCiAgICAgICAgICAgICAgICAiVGVsZXBob25lIjogIjYwMzIyMzAwOTAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJQYXJ0eUlkZW50aWZpY2F0aW9uIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtZUlEIjogIlRJTiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICJDNTg5NjIzNDA0MCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJZCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIlNjaGVtZUlEIjogIkJSTiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIxOTk1MDEwMTA2NjYiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiSWQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJTY2hlbWVJRCI6ICJTU1QiLAogICAgICAgICAgICAgICAgICAgICAgICAiVmFsdWUiOiAiTkEiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiUGFydHlMZWdhbEVudGl0eSI6IHsKICAgICAgICAgICAgICAgICJSZWdpc3RyYXRpb25OYW1lIjogIkNBTVBCRUxMIFNPVVAgU09VVEhFQVNUIEFTSUEgU0ROIEJIRCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIlBvc3RhbEFkZHJlc3MiOiB7CiAgICAgICAgICAgICAgICAiQWRkcmVzc0xpbmUiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiTGluZSI6ICJMZXZlbCAzMyIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgIkxpbmUiOiAiSWxoYW0gVG93ZXIiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJMaW5lIjogIiA4IEphbGFuIEJpbmphaSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgIkNpdHlOYW1lIjogIiA4IEphbGFuIEJpbmphaSIsCiAgICAgICAgICAgICAgICAiQ291bnRyeSI6IHsKICAgICAgICAgICAgICAgICAgICAiSWRlbnRpZmljYXRpb25Db2RlIjogewogICAgICAgICAgICAgICAgICAgICAgICAiQ291bnRyeUNvZGUiOiAiTVlTIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAiQ291bnRyeVN1YmVudGl0eUNvZGUiOiAiMTQiLAogICAgICAgICAgICAgICAgIlBvc3RhbFpvbmUiOiAiNTA0NTAiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9LAogICAgIkludm9pY2VMaW5lIjogWwogICAgICAgIHsKICAgICAgICAgICAgIklkIjogIjEiLAogICAgICAgICAgICAiSW52b2ljZWRRdWFudGl0eSI6IHsKICAgICAgICAgICAgICAgICJRdWFudGl0eSI6IDEsCiAgICAgICAgICAgICAgICAiVW5pdENvZGUiOiAiS0dTIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiSXRlbSI6IHsKICAgICAgICAgICAgICAgICJDb21tb2RpdHlDbGFzc2lmaWNhdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJJdGVtQ2xhc3NpZmljYXRpb25Db2RlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxpc3RJRCI6ICJDTEFTUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVmFsdWUiOiAiMDExIgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJEZXNjcmlwdGlvbiI6ICJSZXBhaXIgYW5kIG1haW50ZW5hbmNlIiwKICAgICAgICAgICAgICAgICJPcmlnaW5Db3VudHJ5IjogewogICAgICAgICAgICAgICAgICAgICJJZGVudGlmaWNhdGlvbkNvZGUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJDb3VudHJ5Q29kZSI6ICJNWVMiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiSXRlbVByaWNlRXh0ZW5zaW9uIjogewogICAgICAgICAgICAgICAgIkFtb3VudCI6IHsKICAgICAgICAgICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIxMjAwMDAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJBbGxvd2FuY2VDaGFyZ2UiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkNoYXJnZUluZGljYXRvciI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICJNdWx0aXBsaWVyRmFjdG9yTnVtZXJpYyI6IDAuMTAsCiAgICAgICAgICAgICAgICAgICAgIkFsbG93YW5jZUNoYXJnZVJlYXNvbiI6ICJTYW1wbGUiLAogICAgICAgICAgICAgICAgICAgICJBbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJDdXJyZW5jeUlEIjogIk1ZUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIxMjAwMC4wMCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJDaGFyZ2VJbmRpY2F0b3IiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJNdWx0aXBsaWVyRmFjdG9yTnVtZXJpYyI6IDAsCiAgICAgICAgICAgICAgICAgICAgIkFsbG93YW5jZUNoYXJnZVJlYXNvbiI6ICJTYW1wbGUiLAogICAgICAgICAgICAgICAgICAgICJBbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJDdXJyZW5jeUlEIjogIk1ZUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIwLjAwIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgIlByaWNlIjogewogICAgICAgICAgICAgICAgIlByaWNlQW1vdW50IjogewogICAgICAgICAgICAgICAgICAgICJDdXJyZW5jeUlEIjogIk1ZUiIsCiAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIjEwODAwMC4wMCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIkxpbmVFeHRlbnNpb25BbW91bnQiOiB7CiAgICAgICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAgICAgIlZhbHVlIjogIjEwODAwMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIlRheFRvdGFsIjogewogICAgICAgICAgICAgICAgIlRheEFtb3VudCI6IHsKICAgICAgICAgICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICI4NjQwLjAwIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJUYXhTdWJ0b3RhbCI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJUYXhBbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIjg2NDAuMDAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJUYXhhYmxlQW1vdW50IjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIkN1cnJlbmN5SUQiOiAiTVlSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIxMDgwMDAuMDAiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJUYXhDYXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJZCI6ICIwMSIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIF0sCiAgICAiQWxsb3dhbmNlQ2hhcmdlIjogWwogICAgICAgIHsKICAgICAgICAgICAgIkNoYXJnZUluZGljYXRvciI6IGZhbHNlLAogICAgICAgICAgICAiQWxsb3dhbmNlQ2hhcmdlUmVhc29uIjogIlNhbXBsZSBEZXNjcmlwdGlvbiIsCiAgICAgICAgICAgICJBbW91bnQiOiB7CiAgICAgICAgICAgICAgICAiVmFsdWUiOiA4MDAwLAogICAgICAgICAgICAgICAgIkN1cnJlbmN5SUQiOiAiTVlSIgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJDaGFyZ2VJbmRpY2F0b3IiOiB0cnVlLAogICAgICAgICAgICAiQWxsb3dhbmNlQ2hhcmdlUmVhc29uIjogIlNlcnZpY2UgY2hhcmdlIiwKICAgICAgICAgICAgIkFtb3VudCI6IHsKICAgICAgICAgICAgICAgICJWYWx1ZSI6IDAsCiAgICAgICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICBdLAogICAgIlRheFRvdGFsIjogWwogICAgICAgIHsKICAgICAgICAgICAgIlRheEFtb3VudCI6IHsKICAgICAgICAgICAgICAgICJDdXJyZW5jeUlEIjogIk1ZUiIsCiAgICAgICAgICAgICAgICAiVmFsdWUiOiAiMTAwMDAuMDAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJUYXhTdWJ0b3RhbCI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiVGF4YWJsZUFtb3VudCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIkN1cnJlbmN5SUQiOiAiTVlSIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlZhbHVlIjogIjEwMDAwMC4wMCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJUYXhBbW91bnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJDdXJyZW5jeUlEIjogIk1ZUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSI6ICIxMDAwMC4wMCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJUYXhDYXRlZ29yeSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIklkIjogIjAxIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0sCiAgICAiTGVnYWxNb25ldGFyeVRvdGFsIjogewogICAgICAgICJMaW5lRXh0ZW5zaW9uQW1vdW50IjogewogICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAiVmFsdWUiOiAiMTA4MDAwLjAwIgogICAgICAgIH0sCiAgICAgICAgIkFsbG93YW5jZVRvdGFsQW1vdW50IjogewogICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAiVmFsdWUiOiAiODAwMC4wMCIKICAgICAgICB9LAogICAgICAgICJDaGFyZ2VUb3RhbEFtb3VudCI6IHsKICAgICAgICAgICAgIkN1cnJlbmN5SUQiOiAiTVlSIiwKICAgICAgICAgICAgIlZhbHVlIjogIjAuMDAiCiAgICAgICAgfSwKICAgICAgICAiVGF4RXhjbHVzaXZlQW1vdW50IjogewogICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAiVmFsdWUiOiAiMTAwMDAwLjAwIgogICAgICAgIH0sCiAgICAgICAgIlRheEluY2x1c2l2ZUFtb3VudCI6IHsKICAgICAgICAgICAgIkN1cnJlbmN5SUQiOiAiTVlSIiwKICAgICAgICAgICAgIlZhbHVlIjogIjExMDAwMC4wMCIKICAgICAgICB9LAogICAgICAgICJQcmVwYWlkQW1vdW50IjogewogICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAiVmFsdWUiOiAiMC4wMCIKICAgICAgICB9LAogICAgICAgICJQYXlhYmxlQW1vdW50IjogewogICAgICAgICAgICAiQ3VycmVuY3lJRCI6ICJNWVIiLAogICAgICAgICAgICAiVmFsdWUiOiAiMTEwMDAwLjAwIgogICAgICAgIH0sCiAgICAgICAgIlBheWFibGVSb3VuZGluZ0Ftb3VudCI6IHsKICAgICAgICAgICAgIlZhbHVlIjogIjAuMDAiCiAgICAgICAgfQogICAgfSwKICAgICJQYXltZW50TWVhbnMiOiB7CiAgICAgICAgIlBheW1lbnRNZWFuc0NvZGUiOiAiNCIKICAgIH0sCiAgICAiUGF5bWVudFRlcm1zIjogewogICAgICAgICJOb3RlIjogIlBheW1lbnQgTWV0aG9kIGlzIGNhc2giCiAgICB9Cn0=",
            "DocumentFormat": "JSON",
            "UniqueIdentifier": "C58746708080_TEST-SALES-001_01_2024",
            "CustomFields": {
                "Internal Number": "INV00001234561687"
            },
            "version": "MY_GENERATE_UBL_2_1_V1"
        }
    ],
    "AllowCancelledDocumentsGeneration" : "true"
}
```

**Document Data - Sample JSON and XML**

{% tabs %}
{% tab title="JSON" %}

```json
{
    "InvoiceTypeCode": {
        "Value": "01"
    },
    "InvoicePeriod": {
        "StartDate": "2024-07-01",
        "EndDate": "2024-07-30",
        "Description": "Monthly"
    },
    "BillingReference": [
        {
            "AdditionalDocumentReference": {
                "Id": "",
                "UUID": ""
            }
        }
    ],
    "IssueDate": "2025-07-01",
    "IssueTime": "11:20:00",
    "DocumentCurrencyCode": "MYR",
    "Id": "TEST-CT-00001",
    "AccountingCustomerParty": {
        "Party": {
            "Contact": {
                "ElectronicMail": "e-invoice@pacificofats.com",
                "Telephone": "+6032230090"
            },
            "PartyIdentification": [
                {
                    "Id": {
                        "SchemeID": "TIN",
                        "Value": "C4853558030"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "BRN",
                        "Value": "198801004020"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "SST",
                        "Value": "W10-1809-32000158"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "TTX",
                        "Value": "NA"
                    }
                }
            ],
            "PartyLegalEntity": {
                "RegistrationName": "PACIFIC OILS & FATS INDUSTRIES SDN. BHD."
            },
            "PostalAddress": {
                "AddressLine": [
                    {
                        "Line": "No 8, Jalan Besi Utama, Batu 24, Kelapa Sawit"
                    },
                    {
                        "Line": "line2"
                    },
                    {
                        "Line": "line3"
                    }
                ],
                "CityName": "KULAI",
                "Country": {
                    "IdentificationCode": {
                        "CountryCode": "MYS"
                    }
                },
                "CountrySubentityCode": "01",
                "PostalZone": "81030"
            }
        }
    },
    "AccountingSupplierParty": {
        "Party": {
            "Contact": {
                "ElectronicMail": "jsphchong@yahoo.com",
                "Telephone": "+6012345678"
            },
            "IndustryClassificationCode": {
                "Value": "00000",
                "Name": "NOT APPLICABLE"
            },
            "PartyIdentification": [
                {
                    "Id": {
                        "SchemeID": "TIN",
                        "Value": "C58746708080"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "BRN",
                        "Value": "202401021128"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "SST",
                        "Value": "NA"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "TTX",
                        "Value": "NA"
                    }
                }
            ],
            "PartyLegalEntity": {
                "RegistrationName": "Defmacro Software Pvt Ltd"
            },
            "PostalAddress": {
                "AddressLine": [
                    {
                        "Line": "PLO 2244 Jln Suasa,"
                    },
                    {
                        "Line": "Kaw. Perind. Pasir Gudang"
                    },
                    {
                        "Line": "KL"
                    }
                ],
                "CityName": "Pasir Gudang",
                "Country": {
                    "IdentificationCode": {
                        "CountryCode": "MYS"
                    }
                },
                "CountrySubentityCode": "01",
                "PostalZone": "81750"
            }
        }
    },
    "Delivery": {
        "DeliveryParty": {
            "PartyIdentification": [
                {
                    "Id": {
                        "SchemeID": "TIN",
                        "Value": "C5896234040"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "BRN",
                        "Value": "199501010666"
                    }
                },
                {
                    "Id": {
                        "SchemeID": "SST",
                        "Value": "NA"
                    }
                }
            ],
            "PartyLegalEntity": {
                "RegistrationName": "CAMPBELL SOUP SOUTHEAST ASIA SDN BHD"
            },
            "PostalAddress": {
                "AddressLine": [
                    {
                        "Line": "Level 33"
                    },
                    {
                        "Line": "Ilham Tower"
                    },
                    {
                        "Line": " 8 Jalan Binjai"
                    }
                ],
                "CityName": " 8 Jalan Binjai",
                "Country": {
                    "IdentificationCode": {
                        "CountryCode": "MYS"
                    }
                },
                "CountrySubentityCode": "14",
                "PostalZone": "50450"
            }
        }
    },
    "InvoiceLine": [
        {
            "Id": 1,
            "InvoicedQuantity": {
                "Quantity": 100000,
                "UnitCode": "H87"
            },
            "Item": {
                "AdditionalItemProperty": [
                    {
                        "Name": "Field1",
                        "Value": "A1"
                    },
                    {
                        "Name": "Field2",
                        "Value": "B1"
                    }
                   
                ], 
                "CommodityClassification": [
                    {
                        "ItemClassificationCode": {
                            "ListID": "CLASS",
                            "Value": "022"
                        }
                    }
                ],
                "ProductTariffCode": {
                    "ItemClassificationCode": {
                        "Value": "9800.0010"
                    }
                },
                "Description": "test description",
                "OriginCountry": {
                    "IdentificationCode": {
                        "CountryCode": "MYS"
                    }
                }
            },
            "ItemPriceExtension": {
                "Amount": {
                    "CurrencyID": "MYR",
                    "Value": 50000000
                }
            },
            "AllowanceCharge": [
                {
                    "ChargeIndicator": "false",
                    "MultiplierFactorNumeric": 0,
                    "AllowanceChargeReason": "NA",
                    "Amount": {
                        "CurrencyID": "MYR",
                        "Value": 2000
                    }
                },
                {
                    "ChargeIndicator": "true",
                    "MultiplierFactorNumeric": 0,
                    "AllowanceChargeReason": "NA",
                    "Amount": {
                        "CurrencyID": "MYR",
                        "Value": 1000
                    }
                }
            ],
            "Price": {
                "PriceAmount": {
                    "CurrencyID": "MYR",
                    "Value": 500
                }
            },
            "LineExtensionAmount": {
                "CurrencyID": "MYR",
                "Value": 49999000
            },
            "TaxTotal": {
                "TaxAmount": {
                    "CurrencyID": "MYR",
                    "Value": 3999920
                },
                "TaxSubtotal": [
                    {
                        "TaxAmount": {
                            "CurrencyID": "MYR",
                            "Value": 3999920
                        },
                        "TaxableAmount": {
                            "CurrencyID": "MYR",
                            "Value": 49999000
                        },
                        "TaxCategory": {
                            "Id": "01",
                            "TaxExemptionReason": ""
                        },
                        "Percent": "0.08"
                    }
                ]
            }
        }
    ],
    "AllowanceCharge": [
        {
            "ChargeIndicator": "false",
            "MultiplierFactorNumeric": 0,
            "AllowanceChargeReason": "In store discount",
            "Amount": {
                "CurrencyID": "MYR",
                "Value": 4000
            }
        },
        {
            "ChargeIndicator": "true",
            "MultiplierFactorNumeric": 0,
            "AllowanceChargeReason": "Convenience fee",
            "Amount": {
                "CurrencyID": "MYR",
                "Value": 4000
            }
        }
    ],
    "PrepaidPayment": {
        "Id": "Clear-02",
        "PaidAmount": {
            "CurrencyID": "MYR",
            "Value": "1500000"
        },
        "PaidDate": "2024-07-28",
        "PaidTime": "13:00:00"
    },
    "TaxTotal": [
        {
            "TaxAmount": {
                "CurrencyID": "MYR",
                "Value": 3999920
            },
            "TaxableAmount": {
                "CurrencyID": "MYR",
                "Value": 49999000
            },
            "TaxSubtotal": [
                {
                    "TaxAmount": {
                        "CurrencyID": "MYR",
                        "Value": 3999920
                    },
                    "TaxableAmount": {
                        "CurrencyID": "MYR",
                        "Value": 49999000
                    },
                    "TaxCategory": {
                        "Id": "01",
                        "TaxExemptionReason": ""
                    }
                }
            ]
        }
    ],
    "LegalMonetaryTotal": {
        "LineExtensionAmount": {
            "CurrencyID": "MYR",
            "Value": 49999000
        },
        "AllowanceTotalAmount": {
            "CurrencyID": "MYR",
            "Value": 4000
        },
        "ChargeTotalAmount": {
            "CurrencyID": "MYR",
            "Value": 4000
        },
        "TaxExclusiveAmount": {
            "CurrencyID": "MYR",
            "Value": 49999000
        },
        "TaxInclusiveAmount": {
            "CurrencyID": "MYR",
            "Value": 53998920
        },
        "PrepaidAmount": {
            "CurrencyID": "MYR",
            "Value": 1500000
        },
        "PayableAmount": {
            "CurrencyID": "MYR",
            "Value": 52498920
        },
        "PayableRoundingAmount": {
            "CurrencyID": "MYR",
            "Value": 0
        }
    },
    "PaymentMeans": {
        "PaymentMeansCode": "04",
        "PayeeFinancialAccount": {
            "Id": "1234567890123"
        }
    },
    "PaymentTerms": {
        "Note": "Payment Method is CARD"
    },
    "TaxExchangeRate": {
        "CalculationRate": "0"
    },
    "AdditionalDocumentReference": [
        {
            "Id": "E12345678912",
            "DocumentType": "CustomsImportForm"
        },
        {
            "Id": "FTA",
            "DocumentDescription": "",
            "DocumentType": "FreeTradeAgreement"
        },
        {
            "Id": "E12345678912",
            "DocumentType": "K2"
        },
        {
            "Id": "CIF"
        }
    ]
}
```

{% endtab %}

{% tab title="XML" %}

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cac:InvoiceTypeCode>
    <cbc:Value>01</cbc:Value>
  </cac:InvoiceTypeCode>
  <cac:InvoicePeriod>
    <cbc:StartDate>2024-07-01</cbc:StartDate>
    <cbc:EndDate>2024-07-30</cbc:EndDate>
    <cbc:Description>Monthly</cbc:Description>
  </cac:InvoicePeriod>
  <cac:BillingReference>
    <cac:AdditionalDocumentReference>
      <cbc:Id></cbc:Id>
    </cac:AdditionalDocumentReference>
  </cac:BillingReference>
  <cbc:IssueDate>2025-07-01</cbc:IssueDate>
  <cbc:IssueTime>11:19:36</cbc:IssueTime>
  <cbc:DocumentCurrencyCode>MYR</cbc:DocumentCurrencyCode>
  <cbc:Id>TEST-CT-00001</cbc:Id>
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:Contact>
        <cbc:ElectronicMail>e-invoice@pacificofats.com</cbc:ElectronicMail>
        <cbc:Telephone>+6032230090</cbc:Telephone>
      </cac:Contact>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>TIN</cbc:SchemeID>
          <cbc:Value>C4853558030</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>BRN</cbc:SchemeID>
          <cbc:Value>198801004020</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>SST</cbc:SchemeID>
          <cbc:Value>W10-1809-32000158</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>TTX</cbc:SchemeID>
          <cbc:Value>NA</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>PACIFIC OILS &amp; FATS INDUSTRIES SDN. BHD.</cbc:RegistrationName>
      </cac:PartyLegalEntity>
      <cac:PostalAddress>
        <cac:AddressLine>
          <cbc:Line>No 8, Jalan Besi Utama, Batu 24, Kelapa Sawit</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line>line2</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line>line3</cbc:Line>
        </cac:AddressLine>
        <cbc:CityName>KULAI</cbc:CityName>
        <cac:Country>
          <cac:IdentificationCode>
            <cbc:CountryCode>MYS</cbc:CountryCode>
          </cac:IdentificationCode>
        </cac:Country>
        <cbc:CountrySubentityCode>01</cbc:CountrySubentityCode>
        <cbc:PostalZone>81030</cbc:PostalZone>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:Contact>
        <cbc:ElectronicMail>jsphchong@yahoo.com</cbc:ElectronicMail>
        <cbc:Telephone>+6007252390</cbc:Telephone>
      </cac:Contact>
      <cac:IndustryClassificationCode>
        <cbc:Value>00000</cbc:Value>
        <cbc:Name>NOT APPLICABLE</cbc:Name>
      </cac:IndustryClassificationCode>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>TIN</cbc:SchemeID>
          <cbc:Value>C58746708080</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>BRN</cbc:SchemeID>
          <cbc:Value>202401021128</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>SST</cbc:SchemeID>
          <cbc:Value>NA</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>TTX</cbc:SchemeID>
          <cbc:Value>NA</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Defmacro Software Pvt Ltd</cbc:RegistrationName>
      </cac:PartyLegalEntity>
      <cac:PostalAddress>
        <cac:AddressLine>
          <cbc:Line>PLO 2244 Jln Suasa,</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line>Kaw. Perind. Pasir Gudang</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line>KL</cbc:Line>
        </cac:AddressLine>
        <cbc:CityName>Pasir Gudang</cbc:CityName>
        <cac:Country>
          <cac:IdentificationCode>
            <cbc:CountryCode>MYS</cbc:CountryCode>
          </cac:IdentificationCode>
        </cac:Country>
        <cbc:CountrySubentityCode>01</cbc:CountrySubentityCode>
        <cbc:PostalZone>81750</cbc:PostalZone>
      </cac:PostalAddress>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:Delivery>
    <cac:DeliveryParty>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>TIN</cbc:SchemeID>
          <cbc:Value>C5896234040</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>BRN</cbc:SchemeID>
          <cbc:Value>199501010666</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyIdentification>
        <cac:Id>
          <cbc:SchemeID>SST</cbc:SchemeID>
          <cbc:Value>NA</cbc:Value>
        </cac:Id>
      </cac:PartyIdentification>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>CAMPBELL SOUP SOUTHEAST ASIA SDN BHD</cbc:RegistrationName>
      </cac:PartyLegalEntity>
      <cac:PostalAddress>
        <cac:AddressLine>
          <cbc:Line>Level 33</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line>Ilham Tower</cbc:Line>
        </cac:AddressLine>
        <cac:AddressLine>
          <cbc:Line> 8 Jalan Binjai</cbc:Line>
        </cac:AddressLine>
        <cbc:CityName> 8 Jalan Binjai</cbc:CityName>
        <cac:Country>
          <cac:IdentificationCode>
            <cbc:CountryCode>MYS</cbc:CountryCode>
          </cac:IdentificationCode>
        </cac:Country>
        <cbc:CountrySubentityCode>14</cbc:CountrySubentityCode>
        <cbc:PostalZone>50450</cbc:PostalZone>
      </cac:PostalAddress>
    </cac:DeliveryParty>
  </cac:Delivery>
  <cac:InvoiceLine>
    <cbc:Id>1</cbc:Id>
    <cac:InvoicedQuantity>
      <cbc:Quantity>100000</cbc:Quantity>
      <cbc:UnitCode>H87</cbc:UnitCode>
    </cac:InvoicedQuantity>
    <cac:Item>
      <cac:CommodityClassification>
        <cac:ItemClassificationCode>
          <cbc:ListID>CLASS</cbc:ListID>
          <cbc:Value>022</cbc:Value>
        </cac:ItemClassificationCode>
      </cac:CommodityClassification>
      <cac:ProductTariffCode>
        <cac:ItemClassificationCode>
          <cbc:Value>9800.0010</cbc:Value>
        </cac:ItemClassificationCode>
      </cac:ProductTariffCode>
      <cbc:Description>test description</cbc:Description>
      <cac:OriginCountry>
        <cac:IdentificationCode>
          <cbc:CountryCode>MYS</cbc:CountryCode>
        </cac:IdentificationCode>
      </cac:OriginCountry>
	  <cac:AdditionalItemProperty>
	<cbc:Value>0012000748</cbc:Value>
	<cbc:Name>Customer Code</cbc:Name>
	</cac:AdditionalItemProperty>
	<cac:AdditionalItemProperty>
	<cbc:Value>12345</cbc:Value>
	<cbc:Name>VBKD-BSTKD</cbc:Name>
	</cac:AdditionalItemProperty>
    </cac:Item>
    <cac:ItemPriceExtension>
      <cac:Amount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>5.0E7</cbc:Value>
      </cac:Amount>
    </cac:ItemPriceExtension>
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
      <cbc:MultiplierFactorNumeric>0</cbc:MultiplierFactorNumeric>
      <cbc:AllowanceChargeReason>NA</cbc:AllowanceChargeReason>
      <cac:Amount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>2000</cbc:Value>
      </cac:Amount>
    </cac:AllowanceCharge>
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
      <cbc:MultiplierFactorNumeric>0</cbc:MultiplierFactorNumeric>
      <cbc:AllowanceChargeReason>NA</cbc:AllowanceChargeReason>
      <cac:Amount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>1000</cbc:Value>
      </cac:Amount>
    </cac:AllowanceCharge>
    <cac:Price>
      <cac:PriceAmount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>500.0</cbc:Value>
      </cac:PriceAmount>
    </cac:Price>
    <cac:LineExtensionAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4.9999E7</cbc:Value>
    </cac:LineExtensionAmount>
    <cac:TaxTotal>
      <cac:TaxAmount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>3999920.0</cbc:Value>
      </cac:TaxAmount>
      <cac:TaxSubtotal>
        <cac:TaxAmount>
          <cbc:CurrencyID>MYR</cbc:CurrencyID>
          <cbc:Value>3999920.0</cbc:Value>
        </cac:TaxAmount>
        <cac:TaxableAmount>
          <cbc:CurrencyID>MYR</cbc:CurrencyID>
          <cbc:Value>4.9999E7</cbc:Value>
        </cac:TaxableAmount>
        <cac:TaxCategory>
          <cbc:Id>01</cbc:Id>
          <cbc:TaxExemptionReason></cbc:TaxExemptionReason>
        </cac:TaxCategory>
        <cbc:Percent>0.08</cbc:Percent>
      </cac:TaxSubtotal>
    </cac:TaxTotal>
  </cac:InvoiceLine>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
    <cbc:MultiplierFactorNumeric>0</cbc:MultiplierFactorNumeric>
    <cbc:AllowanceChargeReason>In store discount</cbc:AllowanceChargeReason>
    <cac:Amount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4000.0</cbc:Value>
    </cac:Amount>
  </cac:AllowanceCharge>
  <cac:AllowanceCharge>
    <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
    <cbc:MultiplierFactorNumeric>0</cbc:MultiplierFactorNumeric>
    <cbc:AllowanceChargeReason>Convenience fee</cbc:AllowanceChargeReason>
    <cac:Amount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4000.0</cbc:Value>
    </cac:Amount>
  </cac:AllowanceCharge>
  <cac:PrepaidPayment>
    <cbc:Id>Clear-02</cbc:Id>
    <cac:PaidAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>1500000</cbc:Value>
    </cac:PaidAmount>
    <cbc:PaidDate>2024-07-28</cbc:PaidDate>
    <cbc:PaidTime>13:00:00</cbc:PaidTime>
  </cac:PrepaidPayment>
  <cac:TaxTotal>
    <cac:TaxAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>3999920.0</cbc:Value>
    </cac:TaxAmount>
    <cac:TaxableAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4.9999E7</cbc:Value>
    </cac:TaxableAmount>
    <cac:TaxSubtotal>
      <cac:TaxAmount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>3999920.0</cbc:Value>
      </cac:TaxAmount>
      <cac:TaxableAmount>
        <cbc:CurrencyID>MYR</cbc:CurrencyID>
        <cbc:Value>4.9999E7</cbc:Value>
      </cac:TaxableAmount>
      <cac:TaxCategory>
        <cbc:Id>01</cbc:Id>
        <cbc:TaxExemptionReason></cbc:TaxExemptionReason>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cac:LineExtensionAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4.9999E7</cbc:Value>
    </cac:LineExtensionAmount>
    <cac:AllowanceTotalAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4000.0</cbc:Value>
    </cac:AllowanceTotalAmount>
    <cac:ChargeTotalAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4000.0</cbc:Value>
    </cac:ChargeTotalAmount>
    <cac:TaxExclusiveAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>4.9999E7</cbc:Value>
    </cac:TaxExclusiveAmount>
    <cac:TaxInclusiveAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>5.399892E7</cbc:Value>
    </cac:TaxInclusiveAmount>
    <cac:PrepaidAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>1500000</cbc:Value>
    </cac:PrepaidAmount>
    <cac:PayableAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>5.249892E7</cbc:Value>
    </cac:PayableAmount>
    <cac:PayableRoundingAmount>
      <cbc:CurrencyID>MYR</cbc:CurrencyID>
      <cbc:Value>0.0</cbc:Value>
    </cac:PayableRoundingAmount>
  </cac:LegalMonetaryTotal>
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>04</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:Id>1234567890123</cbc:Id>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:PaymentTerms>
    <cbc:Note>Payment Method is CARD</cbc:Note>
  </cac:PaymentTerms>
  <cac:TaxExchangeRate>
    <cbc:CalculationRate>0</cbc:CalculationRate>
  </cac:TaxExchangeRate>
  <cac:AdditionalDocumentReference>
    <cbc:Id>E12345678912</cbc:Id>
    <cbc:DocumentType>CustomsImportForm</cbc:DocumentType>
  </cac:AdditionalDocumentReference>
  <cac:AdditionalDocumentReference>
    <cbc:Id>FTA</cbc:Id>
    <cbc:DocumentDescription></cbc:DocumentDescription>
    <cbc:DocumentType>FreeTradeAgreement</cbc:DocumentType>
  </cac:AdditionalDocumentReference>
  <cac:AdditionalDocumentReference>
    <cbc:Id>E12345678912</cbc:Id>
    <cbc:DocumentType>K2</cbc:DocumentType>
  </cac:AdditionalDocumentReference>
  <cac:AdditionalDocumentReference>
    <cbc:Id>CIF</cbc:Id>
  </cac:AdditionalDocumentReference>
</Invoice>
```

{% endtab %}
{% endtabs %}

### Response Status Codes

| HTTP Status Code | Description                                                   |
| ---------------- | ------------------------------------------------------------- |
| 200              | For successfully submitted document or with validation errors |
| 400              | For any kind of Invalid Payload issues                        |
| 401              | If the user is not authenticated for the operation            |
| 403              | If the user is not authorized for the operation               |
| 429              | Too many requests                                             |

### Response Schema

| Parameter         | Data Type           | Field Validations | Description                                            |
| ----------------- | ------------------- | ----------------- | ------------------------------------------------------ |
| Success           | Boolean             | true/false        | Mandatory. Indicates the request was successful or not |
| DocumentResponses | Array               | NA                | NA                                                     |
| ErrorDetails      | Array\<ErrorDetail> | Error details     | <p>Optional.</p><p>Error list from ClearTax</p>        |

#### Document Details Object

| Parameter        | Data Type           | Field Validations | Description                                                                           |
| ---------------- | ------------------- | ----------------- | ------------------------------------------------------------------------------------- |
| DocumentId       | String              | <p><br>NA</p>     | Unique document id generated in database                                              |
| UniqueId         | String              | <p>NA<br></p>     | Mandatory. Same uniqueId as shared in the request                                     |
| UniqueIdentifier | String              | NA                | Unique identifier provided in the input request.                                      |
| Success          | Boolean             | true/false        | Indicates, if the request for this document was successfully processed or not         |
| Uuid             | Boolean             | true/false        | Mandatory. Cleartax reference Id used for further actions. Should be persisted in ERP |
| ErrorDetails     | Array\<ErrorDetail> | Error details     | <p>Optional.</p><p>Error list from ClearTax/LHDN</p>                                  |
| WarningDetails   | Array\<ErrorDetail> | Warning details   | <p>Optional.<br>Warning list from ClearTax</p>                                        |

### Sample Response (Success)

HTTP Status Code

200

Response Body

```json
{
    "ErrorDetails": null,
    "Success": true,
    "DocumentResponses": [
        {
            "DocumentId": "665f28c2f626dc2cac32abea",
            "Success": "true",
            "UniqueId": "C58746708080_TEST-SALES-001_01_2024",
            "Uuid": "Y4K7SPNCBE8FAQSCWDEEVHZH10",
            "InternalId": null,
            "ErrorDetails": [],
            "WarningDetails": null,
            "UniqueIdentifier": null
        }
    ]
}
```

### Sample Response (Error)

HTTP Status Code: 400

Response Body

```json
{
    "ErrorDetails": null,
    "Success": true,
    "DocumentResponses": [
        {
            "DocumentId": null,
            "Success": false,
            "UniqueId": "C10709273050_20240410035_01_2024",
            "Uuid": null,
            "InternalId": null,
            "ErrorDetails": [
                {
                    "ErrorCode": "ERR-10001",
                    "ErrorMessage": "Supplier TIN null is not matching the TIN present in the account",
                    "ErrorSource": "CLEARTAX"
                }
            ],
            "WarningDetails": [
                {
                    "Code": null,
                    "Message": null
                }
            ]
        }
    ]
}
```

### API Validations

Currently there are no known validations.

### API Constraints

1. This API needs to be authenticated with a valid user authentication token. If the auth token is not present or is invalid, the API will return HTTP Status Code 401.
2. Each customer is allowed to send a limited number of requests per minute to prevent server overload. If the limit is exceeded, the server will respond with a 429 Too Many Requests status code.
3. If the auth token is valid, but the user does not have the authorization to generate an e-invoice for a document, then the API will return HTTP Status Code 403. The user, whose auth token is used, should have an Admin role for the particular TIN used in the request.
4. Rate Limit: The below rate limits are in line with those applied by LHDN.&#x20;

   **Production - 100 API calls per minute with a burst capacity of 10 API calls**&#x20;

   **Sandbox - 10 API calls per minute with a burst capacity of 2 API calls**
