When multi-currency invoicing applies
If your Malaysian business invoices clients in a foreign currency — USD, SGD, EUR, GBP, RMB, or any other — you need to handle multi-currency e-invoicing correctly in MyInvois. This is common for:
- Exporters selling goods to overseas buyers
- IT and professional services firms billing foreign clients
- Trading companies importing and exporting goods
- Manufacturers with international supply chains
- Freelancers and consultants working with foreign clients
Even if your business is entirely domestic, you might receive invoices in foreign currencies from overseas suppliers. If you issue self-billed invoices for those purchases, multi-currency rules apply.
LHDN requires specific fields and calculations when an e-invoice involves a currency other than Malaysian Ringgit (MYR). Getting these wrong is one of the most common reasons for MyInvois rejection.
The currency fields in MyInvois
Every e-invoice submitted to MyInvois includes a document currency code — the currency in which the invoice is denominated. For most domestic transactions, this is MYR. For international transactions, it can be any valid ISO 4217 currency code.
When the document currency is not MYR, you must include additional fields:
Required currency exchange fields
| Field | Description | Example |
|---|---|---|
| Document Currency Code | The currency of the invoice | USD |
| Tax Currency Code | Must always be MYR for Malaysian tax reporting | MYR |
| Currency Exchange Rate | The conversion rate from document currency to MYR | 4.4700 |
| Tax Amount in MYR | Tax calculated and reported in Ringgit | RM 2,682.00 |
The critical rule: tax amounts must always be reported in MYR, regardless of the invoice currency. You can bill your client in USD, but the SST or tax component must be calculated and stated in Ringgit.
How the exchange rate works
The exchange rate in your e-invoice converts the document currency to MYR. LHDN expects this rate to be a reasonable market rate on or near the invoice date. You are not required to use a specific source (Bank Negara, commercial bank, xe.com), but the rate must be defensible if questioned.
Example calculation:
- Invoice amount: USD 10,000.00
- Exchange rate: 1 USD = 4.4700 MYR
- MYR equivalent: RM 44,700.00
- SST at 6%: RM 2,682.00 (calculated on the MYR equivalent)
- Total in USD: USD 10,600.00 (shown to the customer)
- Tax amount in MYR: RM 2,682.00 (reported to LHDN)
Step-by-step: creating a multi-currency e-invoice
Step 1: Determine the invoice currency
This is straightforward — it is whatever currency you and your client have agreed upon. If you are billing a Singapore company in SGD, the document currency is SGD.
Step 2: Obtain the exchange rate
Get the exchange rate for the invoice date. Common sources used by Malaysian businesses:
| Source | Pros | Cons |
|---|---|---|
| Bank Negara Malaysia | Official, defensible | Published daily, may not cover all currencies |
| Your commercial bank | Matches your actual conversion rate | Varies by bank, may include spread |
| xe.com or similar | Real-time, covers all currencies | Not an official Malaysian source |
| Contractual rate | Pre-agreed, no ambiguity | May differ significantly from market rate |
Best practice: Use the Bank Negara Malaysia exchange rate for the invoice date as your default. If Bank Negara does not publish a rate for a particular currency, use your commercial bank's rate.
Some contracts specify a fixed exchange rate or a particular rate source. In these cases, use the contractual rate and note it in the invoice.
Step 3: Calculate line items
Line items on the e-invoice are stated in the document currency (the foreign currency). Your client sees amounts in the currency they expect.
Example: IT consulting services billed in USD
| Line Item | Description | Qty | Unit Price (USD) | Amount (USD) |
|---|---|---|---|---|
| 1 | Senior developer — January 2026 (160 hours) | 160 | 75.00 | 12,000.00 |
| 2 | Cloud infrastructure management | 1 | 2,500.00 | 2,500.00 |
| 3 | Technical documentation | 1 | 500.00 | 500.00 |
| Subtotal | 15,000.00 |
Step 4: Calculate tax in MYR
Convert the subtotal to MYR using your exchange rate, then calculate the tax:
- Subtotal in USD: 15,000.00
- Exchange rate: 4.4700
- Subtotal in MYR: RM 67,050.00
- SST at 6%: RM 4,023.00
The tax amount (RM 4,023.00) is reported in the Tax Currency Code (MYR) fields of the e-invoice.
Step 5: Present the total to your client
Your client sees the total in the document currency:
- Subtotal: USD 15,000.00
- Tax equivalent: USD 900.00 (RM 4,023.00 / 4.4700)
- Total payable: USD 15,900.00
The e-invoice contains both the USD figures (for the client) and the MYR tax amounts (for LHDN).
Step 6: Include the exchange rate in the e-invoice
The UBL document must include a CurrencyExchangeRate element specifying:
- Source currency: USD (document currency)
- Target currency: MYR (tax currency)
- Exchange rate: 4.4700
- Rate date: The date the rate was obtained (typically the invoice date)
This is a technical detail handled by your e-invoicing software — you should not need to construct UBL XML manually. But it is important to understand what is happening behind the scenes so you can verify correctness.
Common multi-currency scenarios
Exporting goods (FOB, CIF, etc.)
When you export goods, the invoice is typically in the buyer's currency or in USD. Key considerations:
- Incoterms affect which charges are included in the invoice (freight, insurance, duties)
- Each charge is a separate line item in the document currency
- Tax treatment may differ: exported goods are often zero-rated for SST purposes, meaning the tax amount is RM 0.00 even though you still need the currency exchange fields
For zero-rated exports, you still must include the currency exchange rate and tax currency code. The tax amount fields simply show zero.
Importing goods (self-billed invoices)
When you purchase from a foreign supplier who does not submit e-invoices to MyInvois, you may need to issue a self-billed invoice. In this case:
- You (the buyer) are the one submitting the e-invoice to LHDN
- The document currency is whatever currency you paid the foreign supplier in
- The exchange rate converts to MYR for tax reporting
- The supplier and buyer fields are swapped in the UBL document (standard self-billing format)
This is one of the most common multi-currency scenarios for Malaysian SMEs.
Mixed-currency contracts
Some contracts have pricing in multiple currencies — for example, local labor billed in MYR and imported materials billed in USD. In MyInvois, a single e-invoice can only have one document currency. Your options:
- Issue separate e-invoices — One in MYR for local components, one in USD for imported components
- Convert everything to one currency — Bill the entire contract in MYR (or USD) and apply the exchange rate to the foreign-currency portions
Option 1 is cleaner from an accounting perspective. Option 2 is simpler if the contract allows it.
Recurring invoices in foreign currency
If you bill a foreign client the same amount every month (a retainer or subscription), the exchange rate will differ each month. Each monthly e-invoice needs:
- The current exchange rate for that invoice date
- Recalculated MYR tax amounts based on the new rate
- The same document currency code
Do not reuse last month's exchange rate. Each invoice must reflect the rate applicable to its own date.
Exchange rate disputes and audits
What if LHDN questions your exchange rate?
LHDN may review exchange rates during audits, particularly for large transactions or rates that deviate significantly from Bank Negara published rates. To protect yourself:
- Document your rate source — Keep a record of where you obtained the rate (screenshot, bank statement, printout)
- Use rates from the invoice date — Not the payment date, not the delivery date, not an arbitrary date
- Be consistent — Use the same rate source across all your invoices. Switching between Bank Negara, your bank, and xe.com for different invoices raises questions
What about exchange rate gains and losses?
The exchange rate on the e-invoice is the rate at the invoice date. If the actual payment arrives weeks later at a different rate, the resulting gain or loss is an accounting matter — it does not require a new e-invoice or an adjustment to the original.
For example:
- Invoice date rate: 1 USD = 4.4700 MYR
- Payment date rate: 1 USD = 4.5200 MYR
- Invoice amount: USD 10,000
- Expected MYR: RM 44,700
- Actual MYR received: RM 45,200
- Exchange gain: RM 500
This RM 500 gain is recorded in your books but does not generate a new e-invoice or modify the original.
Rounding and precision
Multi-currency invoices introduce rounding challenges. LHDN's system validates calculations to a specific precision:
- Exchange rates: Up to 8 decimal places are supported
- Line item amounts: 2 decimal places in the document currency
- Tax amounts in MYR: 2 decimal places
- Rounding adjustments: Use the rounding amount field for Malaysian sen rounding (nearest 5 sen)
When converting between currencies, intermediate calculations should carry full precision. Only round the final amounts that appear on the e-invoice. Premature rounding on line items can cause the total to be off by a few sen, which triggers a validation error.
Example of a rounding issue:
- 3 line items, each USD 33.33
- Subtotal should be USD 99.99 (not USD 100.00)
- If you round each line item to USD 33.33 and sum them, you get USD 99.99. Correct.
- If you round the subtotal independently to USD 100.00, it does not match the sum of line items. LHDN rejects this.
Always let the total be the sum of the line items, not an independently calculated figure.
Supported currencies
MyInvois supports any valid ISO 4217 currency code. The most commonly used in Malaysian business:
| Currency | Code | Common Use Case |
|---|---|---|
| US Dollar | USD | International trade, tech services |
| Singapore Dollar | SGD | Singapore-based clients, cross-border trade |
| Euro | EUR | European clients and suppliers |
| British Pound | GBP | UK-based clients |
| Chinese Yuan | CNY/RMB | China trade |
| Japanese Yen | JPY | Japanese companies in Malaysia |
| Thai Baht | THB | Thailand cross-border trade |
| Indonesian Rupiah | IDR | Indonesia cross-border trade |
| Australian Dollar | AUD | Australian clients |
Practical checklist for multi-currency invoicing
Before submitting a multi-currency e-invoice to MyInvois, verify:
- Document currency code is correct (ISO 4217)
- Tax currency code is set to MYR
- Exchange rate is from a reputable source and dated correctly
- All line items are in the document currency
- Tax amounts are calculated in MYR (not the document currency)
- Subtotal equals the sum of line items (no independent rounding)
- Total tax equals the sum of line-item tax amounts
- Exchange rate source is documented for your records
