Malaysia (MY) Field Mapping
Country: MY Compliance: LHDN e-invoicing Last Updated: 2026
This page includes the full Malaysia field mapping with actual JSON field paths and Malaysia extension notes in one place.
Complete Sample Payload
{
"invoice_data": {
"currency_code": "MYR",
"exchange_percentage": 1,
"invoice_date": "2026-02-16",
"invoice_due_date": "2026-02-17",
"invoice_endDate": "2026-02-15",
"invoice_number": "INVOICE-RETRY15438765434567",
"invoice_startDate": "2026-02-15",
"invoice_time": "14:30:00",
"line_extension_amount": 20000,
"tax_exclusive_amount": 20000,
"total_amount": 23000,
"total_discount": "0",
"total_payable_amount": 23000,
"total_tax_amount": 3000,
"vat_currency_code": "MYR"
},
"seller_info": {
"Additional_Type": "BRN",
"additional_address_info": "Building 123",
"address_info": "Bangunan Merdeka",
"BRN_number": "198801006871",
"building_number": "1234",
"city_name": "Kuala Lumpur",
"company_name": "Advanced Tech Solutions Malaysia Sdn Bhd",
"contact_name": "Ahmad Rahman",
"country_code": "MY",
"district_name": "Kuala Lumpur",
"email": "contact@advancedtech.my",
"phone": "+60123456789",
"postal_code": "50000",
"seller_id": "123456789012",
"seller_industryCode": "01111",
"state_name": "WILAYAH_PERSEKUTUAN_KUALA_LUMPUR",
"street_address": "Jalan Tun Razak",
"tax_scheme": "TIN",
"vat_registration": "C22181204000"
},
"buyer_info": {
"Additional_Type": "BRN",
"BRN_Number": "201234567890",
"buyer_additional_address_info": "Block A",
"buyer_address": "Industrial City",
"buyer_address_info": "Persiaran Jaya",
"buyer_building": "4567",
"buyer_city": "Kuala Lumpur",
"buyer_country": "MY",
"buyer_district": "Industrial Area",
"buyer_id": "987654321098",
"buyer_name": "Global Manufacturing Co. Malaysia",
"buyer_postal": "50000",
"buyer_state": "WILAYAH_PERSEKUTUAN_KUALA_LUMPUR",
"buyer_tax_scheme": "TIN",
"buyer_vat": "C4855999070",
"phone": "60123456789"
},
"line_items": [
{
"classification_code": "001",
"discount_amount": "0",
"item_id": "ITEM001",
"item_name": "Industrial Server System",
"quantity": "2",
"sub_Total": "19550",
"tax_amount": "2550.00",
"tax_category": "01",
"tax_rate": "15",
"taxable_amount": "17000",
"unit_code": "XUN",
"unit_price": "8500.00"
}
],
"malaysia_compliance": {
"B2B_transaction": "true",
"export_transaction": "false",
"self_billed_invoice": "false"
},
"destinations": [
{
"type": "tax_authority",
"details": {
"authority": "LHDN",
"country": "MY",
"document_type": "tax_invoice"
}
}
],
"additional_data": {
"delivery_date": "2024-01-20",
"order_reference": "PO-2024-5678",
"source_system": "malaysia-source-system"
}
}Field Mapping Reference
Use the tables below to map your data to the correct JSON field paths. All paths use dot notation.
Document Header Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
invoice_data.invoice_number | string | Yes | LHDN reference number (must be unique per seller). | INVOICE-RETRY15438765434567 |
invoice_data.invoice_date | string | Yes | Invoice issue date (YYYY-MM-DD). | 2026-02-16 |
invoice_data.invoice_time | string | Yes | Invoice issue time (HH:MM:SS). | 14:30:00 |
invoice_data.currency_code | string | Yes | Currency code (ISO 4217). Defaults to MYR. | MYR |
invoice_data.invoice_due_date | string | No | Payment due date. | 2026-02-17 |
invoice_data.invoice_startDate | string | No | Invoice period start date. | 2026-02-15 |
invoice_data.invoice_endDate | string | No | Invoice period end date. | 2026-02-15 |
invoice_data.exchange_percentage | number | No | Exchange rate (1 for MYR). | 1 |
invoice_data.line_extension_amount | number | No | Sum of line amounts. | 20000 |
invoice_data.tax_exclusive_amount | number | No | Total excluding SST. | 20000 |
invoice_data.total_amount | number | No | Total including SST. | 23000 |
invoice_data.total_discount | string | No | Total discount amount. | 0 |
invoice_data.total_payable_amount | number | No | Final amount due. | 23000 |
invoice_data.total_tax_amount | number | No | Total SST amount. | 3000 |
invoice_data.vat_currency_code | string | No | Tax currency code. | MYR |
Seller Information Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
seller_info.company_name | string | Yes | Legal registered name. Must match LHDN registration. | Advanced Tech Solutions Malaysia Sdn Bhd |
seller_info.vat_registration | string | Yes | Malaysia TIN (format: C + 12 digits). | C22181204000 |
seller_info.tax_scheme | string | Yes | Tax identification scheme (TIN). | TIN |
seller_info.BRN_number | string | Yes | Business Registration Number (BRN). | 198801006871 |
seller_info.Additional_Type | string | Yes | Registration type (BRN). | BRN |
seller_info.seller_industryCode | string | No | MSIC code for business activity (5 digits). | 01111 |
seller_info.street_address | string | Yes | Primary street address. | Jalan Tun Razak |
seller_info.additional_address_info | string | No | Additional address info. | Building 123 |
seller_info.address_info | string | No | Additional address line. | Bangunan Merdeka |
seller_info.building_number | string | No | Building number. | 1234 |
seller_info.district_name | string | No | District name. | Kuala Lumpur |
seller_info.city_name | string | Yes | City name. | Kuala Lumpur |
seller_info.state_name | string | Yes | State name. | WILAYAH_PERSEKUTUAN_KUALA_LUMPUR |
seller_info.postal_code | string | Yes | Postal code. | 50000 |
seller_info.country_code | string | Yes | Country code (must be MY). | MY |
seller_info.seller_id | string | No | Internal seller identifier. | 123456789012 |
seller_info.phone | string | No | Contact phone number. | +60123456789 |
seller_info.email | string | No | Contact email address. | contact@advancedtech.my |
seller_info.contact_name | string | No | Contact person name. | Ahmad Rahman |
Buyer Information Fields (B2B)
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
buyer_info.buyer_name | string | Yes | Legal buyer name. | Global Manufacturing Co. Malaysia |
buyer_info.buyer_vat | string | Conditional | Buyer TIN. Required for B2B. | C4855999070 |
buyer_info.buyer_tax_scheme | string | Yes | Tax identification scheme (TIN). | TIN |
buyer_info.BRN_Number | string | No | Buyer Business Registration Number. | 201234567890 |
buyer_info.Additional_Type | string | No | Buyer registration type. | BRN |
buyer_info.buyer_address | string | Yes | Buyer street address. | Industrial City |
buyer_info.buyer_additional_address_info | string | No | Additional address line. | Block A |
buyer_info.buyer_address_info | string | No | Additional address info. | Persiaran Jaya |
buyer_info.buyer_building | string | No | Buyer building number. | 4567 |
buyer_info.buyer_district | string | No | Buyer district. | Industrial Area |
buyer_info.buyer_city | string | Yes | Buyer city name. | Kuala Lumpur |
buyer_info.buyer_state | string | Yes | Buyer state name. | WILAYAH_PERSEKUTUAN_KUALA_LUMPUR |
buyer_info.buyer_postal | string | Yes | Buyer postal code. | 50000 |
buyer_info.buyer_country | string | Yes | Country code (must be MY). | MY |
buyer_info.buyer_id | string | No | Internal buyer identifier. | 987654321098 |
buyer_info.phone | string | No | Buyer contact phone. | 60123456789 |
Line Items Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
line_items[].item_id | string | Yes | Unique line identifier. | ITEM001 |
line_items[].item_name | string | Yes | Item/product name. | Industrial Server System |
line_items[].quantity | string | Yes | Invoiced quantity. | 2 |
line_items[].unit_code | string | Yes | Unit of measurement (UN/ECE Rec 20). | XUN |
line_items[].unit_price | string | Yes | Price per unit. | 8500.00 |
line_items[].discount_amount | string | No | Line-level discount amount. | 0 |
line_items[].taxable_amount | string | Yes | Taxable amount (SST). | 17000 |
line_items[].tax_category | string | Yes | Tax type (01=Standard, 00=Zero-rated). | 01 |
line_items[].tax_rate | string | Yes | SST rate (6% services, 10% goods, 0% zero-rated). | 15 |
line_items[].tax_amount | string | Yes | SST amount for this line. | 2550.00 |
line_items[].sub_Total | string | No | Line subtotal including SST. | 19550 |
line_items[].classification_code | string | No | Item classification code. | 001 |
Totals and Amounts Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
invoice_data.line_extension_amount | number | No | Sum of line amounts. | 20000 |
invoice_data.tax_exclusive_amount | number | No | Total excluding SST. | 20000 |
invoice_data.total_tax_amount | number | No | Total SST amount. | 3000 |
invoice_data.total_amount | number | No | Total including SST. | 23000 |
invoice_data.total_payable_amount | number | No | Final amount due. | 23000 |
Malaysia Compliance Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
malaysia_compliance.export_transaction | string | No | Export transaction flag (true/false). | false |
malaysia_compliance.self_billed_invoice | string | No | Self-billed invoice flag (true/false). | false |
malaysia_compliance.B2B_transaction | string | No | B2B transaction flag (true/false). | true |
Destinations Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
destinations[].type | string | Yes | Destination type (tax_authority). | tax_authority |
destinations[].details.authority | string | Yes | Tax authority name (LHDN). | LHDN |
destinations[].details.country | string | Yes | Country code. | MY |
destinations[].details.document_type | string | Yes | Document type for submission. | tax_invoice |
Additional Data Fields
| JSON Field Path | Type | Required | Description | Example |
|---|---|---|---|---|
additional_data.order_reference | string | No | Purchase order reference. | PO-2024-5678 |
additional_data.delivery_date | string | No | Delivery date. | 2024-01-20 |
additional_data.source_system | string | No | Source system identifier. | malaysia-source-system |
See Also
- Back to Field Mapping Overview
- Unify API Integration Guide — Complete API integration documentation
- Examples — Code examples and cURL requests