Not tax advice. Computation tools only. Have a professional check your work before filing.
openaccountants/skills/malaysia-einvoice.md

Use this skill with your AI agent

View on GitHub

Paste this skill into your AI agent's context, or save the file to your project. Works with any AI agent that reads markdown.

malaysia-einvoice.md411 lines16.8 KB
v10Malaysia
Not yet verified by an accountantContact accountant
1---
2name: malaysia-einvoice
3description: >
4 Use this skill whenever asked about Malaysia e-invoicing, MyInvois system, LHDN/LHDNM/IRBM e-invoice, Inland Revenue Board Malaysia, UBL 2.1 for Malaysia, e-invoice mandatory timeline, RM threshold phases, MyInvois portal, MyInvois API, e-invoice validation, digital signature for Malaysian e-invoice, self-billed invoice, consolidated invoice, B2B/B2C/B2G e-invoice Malaysia, or any question about generating, submitting, validating, or troubleshooting Malaysian e-invoices. Also trigger when advising on compliance phases, relaxation periods, exemptions, or technical integration with IRBM. ALWAYS read this skill before touching any Malaysia e-invoice work.
5version: 1.0
6jurisdiction: MY
7category: invoicing
8depends_on:
9 - einvoice-workflow-base
10---
11 
12# Malaysia E-Invoice (MyInvois) Skill v1.0
13 
14---
15 
16## Section 1 -- Quick Reference
17 
18| Field | Value |
19|---|---|
20| Country | Malaysia |
21| Currency | MYR (Malaysian Ringgit) |
22| E-Invoicing System | MyInvois |
23| Governing Body | Inland Revenue Board of Malaysia (IRBM / LHDNM / LHDN) |
24| Key Legislation | Income Tax Act 1967 (Section 82C); Income Tax (Issuance of Electronic Invoice) Rules 2024 [P.U.(A) 265] |
25| Schema Standard | UBL 2.1 (Universal Business Language) |
26| Format | XML or JSON |
27| Model | Continuous Transaction Control (CTC) — validation before use |
28| Implementation Start | 1 August 2024 (Phase 1) |
29| Current Status | Phase 4 active (RM1M-RM5M from 1 Jan 2026); full enforcement from 1 Jan 2027 |
30| Portal | myinvois.hasil.gov.my |
31| SDK Documentation | sdk.myinvois.hasil.gov.my |
32 
33### Implementation Timeline
34 
35| Phase | Annual Revenue (FY2022) | Mandatory From | Relaxation Ends | Full Enforcement |
36|---|---|---|---|---|
37| Phase 1 | > RM100 million | 1 August 2024 | 31 January 2025 | Active |
38| Phase 2 | RM25M -- RM100M | 1 January 2025 | 30 June 2025 | Active |
39| Phase 3 | RM5M -- RM25M | 1 July 2025 | 31 December 2025 | Active |
40| Phase 4 | RM1M -- RM5M | 1 January 2026 | 31 December 2026 | 1 January 2027 |
41| New businesses (2023-2025, ≥RM1M) | RM1M+ | 1 July 2026 | 31 December 2026 | 1 January 2027 |
42 
43### Exemption Threshold
44 
45- Businesses with annual turnover below RM1 million are currently exempt
46- Revenue determination based on FY2022 Audited Financial Statements (or tax return if no audit required)
47- For new businesses commencing from 2026 onwards: mandatory from 1 July 2026 or commencement date (unless first-year revenue < RM1M)
48 
49---
50 
51## Section 2 -- Mandate Scope
52 
53### Who Must Comply
54 
55- All taxpayers carrying on a business in Malaysia whose annual turnover/revenue meets the threshold for their implementation phase
56- Covers: companies, sole proprietors, partnerships, LLPs, cooperatives, associations, trusts, and other entities
57- Revenue measured from Statement of Comprehensive Income in FY2022 Audited Financial Statements
58 
59### Transaction Coverage
60 
61| Transaction Type | E-Invoice Required |
62|---|---|
63| B2B (business to business) | Yes — individual e-invoice per transaction |
64| B2G (business to government) | Yes — individual e-invoice per transaction |
65| B2C (business to consumer) | Yes — individual e-invoice for transactions > RM10,000 (from 1 Jan 2026); consolidated for smaller |
66| Cross-border (exports) | Yes — e-invoice required |
67| Self-billed transactions | Yes — buyer issues self-billed e-invoice |
68| Foreign income receipts | Yes — self-billed e-invoice by Malaysian recipient |
69 
70### Document Types
71 
72| Type Code | Document | Description |
73|---|---|---|
74| 01 | Invoice | Standard tax invoice |
75| 02 | Credit Note | Adjustment reducing amount |
76| 03 | Debit Note | Adjustment increasing amount |
77| 04 | Refund Note | Refund document |
78| 11 | Self-Billed Invoice | Buyer-issued invoice |
79| 12 | Self-Billed Credit Note | Buyer-issued credit note |
80| 13 | Self-Billed Debit Note | Buyer-issued debit note |
81| 14 | Self-Billed Refund Note | Buyer-issued refund |
82 
83### Consolidated E-Invoice (B2C)
84 
85- Permitted for B2C transactions where individual e-invoice is not required
86- Must be issued within 7 calendar days after month-end
87- Aggregate all transactions for the period into a single submission
88- From 1 January 2026: individual e-invoice mandatory for B2C transactions exceeding RM10,000
89 
90---
91 
92## Section 3 -- Technical Format
93 
94### UBL 2.1 Structure
95 
96| Aspect | Detail |
97|---|---|
98| Standard | Universal Business Language 2.1 (ISO/IEC 19845) |
99| Submission Format | XML or JSON (both accepted) |
100| Root Element (XML) | `<Invoice>` |
101| UBL Namespace | urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 |
102| CAC Namespace | urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 |
103| CBC Namespace | urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 |
104| Document Version | v1.1 (current as of 2026) |
105| Character Encoding | UTF-8 |
106 
107### Data Structure Categories (55 Fields in 8 Groups)
108 
109| Category | Fields Included |
110|---|---|
111| 1. Address | Street, city, state, postal code, country |
112| 2. Business Details | TIN, BRN/SST number, MSIC code, tourism tax number |
113| 3. Contact Number | Telephone, email |
114| 4. Invoice Details | Version, type, code/number, date, time, currency, tax calculation |
115| 5. Parties | Supplier and Buyer identification |
116| 6. Party Details | Names, addresses, contact information |
117| 7. Payment Info | Payment mode, terms, prepayment details |
118| 8. Products/Services | Description, quantity, unit price, tax type, tax rate, tax amount, subtotal |
119 
120### Digital Signature Requirement
121 
122- Every e-invoice must include an issuer's digital signature
123- Certificate obtained from IRBM-approved certificate authority (PosDigicert or equivalent)
124- Signature embedded in UBL `cac:Signature` element
125- XAdES format for XML; equivalent JSON structure for JSON submissions
126 
127---
128 
129## Section 4 -- Mandatory Fields
130 
131### Invoice Header
132 
133| UBL Path | Field Name | Description | Example |
134|---|---|---|---|
135| cbc:InvoiceTypeCode/@listVersionID | e-Invoice Version | Current version | 1.1 |
136| cbc:InvoiceTypeCode | e-Invoice Type Code | Document type | 01 |
137| cbc:ID | e-Invoice Code/Number | Unique reference | INV-2026-001 |
138| cbc:IssueDate | Issue Date | UTC date | 2026-05-22 |
139| cbc:IssueTime | Issue Time | UTC time | 15:30:00Z |
140| cbc:DocumentCurrencyCode | Currency Code | ISO 4217 | MYR |
141| cac:Signature | Digital Signature | Issuer signature | (embedded) |
142 
143### Supplier (cac:AccountingSupplierParty)
144 
145| Field | Description | Mandatory |
146|---|---|---|
147| TIN | Tax Identification Number | Yes |
148| BRN / NRIC / Passport | Registration/ID number | Yes |
149| SST Registration Number | Sales & Service Tax number | If registered |
150| Tourism Tax Registration | Tourism tax number | If applicable |
151| MSIC Code | Malaysian Standard Industrial Classification | Yes |
152| Name | Legal name | Yes |
153| Address | Full address (street, city, state, postal code) | Yes |
154| Contact (Phone) | Telephone number | Yes |
155| Contact (Email) | Email address | Yes |
156| Country | Country code | Yes (MY) |
157| State | State code (per IRBM code table) | Yes |
158 
159### Buyer (cac:AccountingCustomerParty)
160 
161| Field | Description | Mandatory |
162|---|---|---|
163| TIN | Tax Identification Number | Yes |
164| BRN / NRIC / Passport | Registration/ID number | Yes |
165| SST Registration Number | Sales & Service Tax number | If applicable |
166| Name | Legal name or individual name | Yes |
167| Address | Full address | Yes |
168| Contact (Phone) | Telephone number | Yes |
169| Country | Country code | Yes |
170 
171### Line Items (cac:InvoiceLine)
172 
173| Field | Description | Mandatory |
174|---|---|---|
175| Item Classification Code | IRBM classification code | Yes |
176| Item Description | Product/service description | Yes |
177| Unit Price | Price per unit | Yes |
178| Quantity | Number of units | Yes |
179| Measurement (Unit) | Unit of measure | Yes |
180| Subtotal | Line amount (Qty × Unit Price) | Yes |
181| Tax Type | Tax category (01=SST, 02=Service Tax, E=Exempt, etc.) | Yes |
182| Tax Rate | Applicable percentage | Yes (if taxable) |
183| Tax Amount | Calculated tax | Yes (if taxable) |
184| Total Excluding Tax | Line total before tax | Yes |
185| Total Including Tax | Line total with tax | Yes |
186 
187### Totals
188 
189| Field | Description |
190|---|---|
191| Total Excluding Tax | Sum of all line totals before tax |
192| Total Tax Amount | Sum of all tax amounts |
193| Total Including Tax | Grand total |
194| Total Payable Amount | Amount due from buyer |
195 
196---
197 
198## Section 5 -- Transmission Method
199 
200### Submission Channels
201 
202| Channel | Description | Use Case |
203|---|---|---|
204| MyInvois Portal | Web-based manual submission | Low volume (< 50 invoices/month) |
205| System-to-System API | Direct API integration | Medium-to-high volume |
206| ERP/Accounting Software | Pre-built integration via middleware | Enterprise |
207 
208### API Endpoints (Production)
209 
210| Endpoint | Method | Purpose |
211|---|---|---|
212| /api/v1.0/login/taxpayer | POST | Authenticate via OAuth 2.0 (client credentials) |
213| /api/v1.0/login/intermediary | POST | Authenticate as intermediary system |
214| /api/v1.0/documentsubmissions | POST | Submit e-invoice(s) for validation |
215| /api/v1.0/documents/{uuid}/details | GET | Retrieve validated document |
216| /api/v1.0/documents/{uuid}/cancel | PUT | Cancel an e-invoice |
217| /api/v1.0/documents/{uuid}/reject | PUT | Reject received e-invoice (buyer) |
218| /api/v1.0/documents/search | GET | Search submitted documents |
219| /api/v1.0/documents/{uuid}/qrcode | GET | Get QR code for document |
220 
221### Base URLs
222 
223| Environment | URL |
224|---|---|
225| Production | https://myinvois.hasil.gov.my |
226| Sandbox | https://preprod-api.myinvois.hasil.gov.my |
227| SDK Portal | https://sdk.myinvois.hasil.gov.my |
228 
229### Authentication
230 
231- OAuth 2.0 Client Credentials flow
232- Client ID and Client Secret obtained from MyInvois portal
233- Token validity: 1 hour
234- Intermediary systems can act on behalf of multiple taxpayers
235 
236### Validation Flow
237 
2381. Supplier generates e-invoice in UBL 2.1 XML/JSON format
2392. Supplier signs the document with digital signature
2403. Submit to IRBM via API or portal
2414. IRBM validates structure, data, digital signature
2425. If valid: IRBM assigns unique identifier + validation timestamp
2436. Validated e-invoice shared with buyer (via MyInvois or direct)
2447. Buyer has 72 hours to reject (if disputed)
245 
246---
247 
248## Section 6 -- Validation Rules
249 
250### IRBM Validation Checks
251 
2521. **Schema validation** — Conforms to UBL 2.1 structure per MyInvois SDK specification
2532. **Mandatory field completeness** — All 55 required fields present
2543. **Digital signature verification** — Valid certificate from approved authority
2554. **TIN validation** — Both supplier and buyer TIN must be valid and active
2565. **BRN/NRIC consistency** — Must match IRBM records
2576. **Tax calculation** — Tax amounts must equal rate × base (within tolerance)
2587. **Code table validation** — MSIC codes, state codes, currency codes, tax types must be from valid lists
2598. **Duplicate check** — Same document ID from same supplier not accepted twice
2609. **Date/time validation** — Must be in UTC; not future-dated beyond tolerance
261 
262### Validation Statuses
263 
264| Status | Meaning |
265|---|---|
266| Submitted | Received, awaiting validation |
267| Valid | Passed all checks; legally valid e-invoice |
268| Invalid | Failed validation; must correct and resubmit |
269| Cancelled | Cancelled by supplier (within permitted window) |
270| Rejected | Rejected by buyer (within 72 hours of validation) |
271 
272### Common Rejection Reasons
273 
274| Error | Description | Resolution |
275|---|---|---|
276| Invalid TIN | TIN not found or inactive | Verify TIN at IRBM portal |
277| Missing mandatory field | Required field absent | Add missing field per SDK spec |
278| Invalid digital signature | Certificate expired or unrecognized | Renew certificate from approved CA |
279| Tax calculation mismatch | Computed tax ≠ stated tax | Recalculate: TaxAmount = Rate × Base |
280| Invalid classification code | Item code not in IRBM table | Look up correct code in classification list |
281| Duplicate submission | Same ID already validated | Use unique invoice number |
282 
283---
284 
285## Section 7 -- Tax Computation Rules
286 
287### Applicable Taxes
288 
289| Tax Type | Code | Rate | Applicable To |
290|---|---|---|---|
291| Sales Tax | 01 | 5% or 10% | Manufactured/imported goods |
292| Service Tax | 02 | 6% or 8% | Prescribed services |
293| Tourism Tax | 03 | RM10/room/night | Accommodation |
294| Exempt | E | 0% | Exempted goods/services |
295| Not Applicable | 06 | 0% | Out of scope |
296 
297### Calculation Rules
298 
299- Line Tax Amount = Taxable Amount × Tax Rate / 100
300- Rounding: 2 decimal places (standard rounding)
301- Document-level Tax Total = sum of all line tax amounts
302- Total Including Tax = Total Excluding Tax + Total Tax Amount
303- Multiple tax types can appear on same invoice (different lines)
304 
305### Multi-Rate Invoice
306 
307- Each line item carries its own Tax Type and Tax Rate
308- Invoice totals aggregate across all tax types
309- Self-billed invoices follow same calculation rules
310 
311### Discount/Charge Handling
312 
313- Discounts applied at line level (reduce Unit Price or add discount element)
314- Charges (e.g., freight, handling) added as separate line items or invoice-level charges
315- Tax calculated on net amount (after discount, before charges where applicable)
316 
317### Foreign Currency
318 
319- If DocumentCurrencyCode ≠ MYR, include exchange rate
320- Tax amounts may need to be expressed in MYR for SST purposes
321- Use Bank Negara Malaysia published rates
322 
323---
324 
325## Section 8 -- Archiving Requirements
326 
327| Requirement | Detail |
328|---|---|
329| Retention Period | 7 years from end of the year of assessment (Income Tax Act 1967) |
330| Format | Original validated XML/JSON (with IRBM validation response) |
331| Accessibility | Must be retrievable from MyInvois portal; also maintain own copy |
332| Digital Signature | Preserved within the document |
333| QR Code | Generated by IRBM post-validation; contains link to verify e-invoice |
334| Buyer Copy | Buyer can access validated e-invoice via MyInvois portal |
335| Cancellation Records | Cancelled e-invoices remain in system with cancelled status |
336| Medium | Electronic storage acceptable; no paper copy required for tax purposes |
337| Audit | IRBM can request access to any e-invoice via MyInvois system directly |
338 
339---
340 
341## Section 9 -- Penalties for Non-Compliance
342 
343| Violation | Penalty | Legal Basis |
344|---|---|---|
345| Failure to issue e-invoice | RM200 -- RM20,000 fine per instance OR up to 6 months imprisonment | Section 82C, Income Tax Act 1967 |
346| Issuing e-invoice with incorrect information | RM200 -- RM20,000 fine per instance | Section 82C |
347| Late submission | Subject to penalty after relaxation period ends | P.U.(A) 265 |
348| Repeated non-compliance | Higher end of penalty range; potential prosecution | Income Tax Act 1967 |
349 
350### Relaxation Period
351 
352- During relaxation period for each phase, IRBM will not impose penalties
353- Relaxation is for technical adaptation — taxpayers should still attempt compliance
354- Phase 4 relaxation: 1 January 2026 -- 31 December 2026 (full enforcement from 1 January 2027)
355 
356### Buyer Impact
357 
358- Buyers may not claim tax deductions without valid e-invoice from supplier
359- Self-billed e-invoices required for certain expense types (foreign services, employee benefits)
360 
361---
362 
363## Section 10 -- Interaction with Tax Skills
364 
365### Corporate Income Tax (Form C)
366 
367- Revenue reported in Form C must align with e-invoices issued via MyInvois
368- IRBM can cross-reference declared revenue against total validated e-invoices
369- Deductions must be supported by received/self-billed e-invoices
370 
371### SST Return
372 
373- Sales Tax and Service Tax amounts declared in SST-02 return derived from e-invoice data
374- IRBM reconciles SST return against e-invoice tax totals
375- Discrepancies may trigger audit or penalty
376 
377### Transfer Pricing
378 
379- Cross-border e-invoices provide documentation for transfer pricing compliance
380- Self-billed e-invoices for foreign services create audit trail
381 
382### Withholding Tax (Section 109)
383 
384- Payments to non-residents requiring withholding tax must have corresponding e-invoice
385- Self-billed e-invoice issued by Malaysian payer for non-resident service providers
386 
387### Real Property Gains Tax (RPGT)
388 
389- Property transactions require e-invoice issuance
390- Captures transaction value for RPGT assessment
391 
392### Employer Obligations
393 
394- Benefits-in-kind and perquisites to employees may require e-invoice/self-billed e-invoice
395- Medical benefits, club memberships, accommodation: reportable via e-invoice system
396- Links to Form EA/EC employee reporting
397 
398### Audit Trail
399 
400- IRBM maintains centralized record of all validated e-invoices
401- Full digital audit trail from issuance to payment
402- Reduces paper-based audit requirements; enables data-driven risk assessment
403 
404---
405 
406## Disclaimer
407 
408This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a tax agent, chartered accountant, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon.
409 
410The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com).
411 

Run this skill, then get an accountant to check it

After running the full skill pack in your AI agent, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.

Verification status

Research-verified

Drafted from authoritative sources (tax authority sites, Big-4 summaries). Awaiting credentialed sign-off.

Needs section-by-section practitioner review to reach accountant-verified.

Section review progress

0/42

About

Use this skill whenever asked about Malaysia e-invoicing, MyInvois system, LHDN/LHDNM/IRBM e-invoice, Inland Revenue Board Malaysia, UBL 2.1 for Malaysia, e-invoice mandatory timeline, RM threshold phases, MyInvois portal, MyInvois API, e-invoice validation, digital signature for Malaysian e-invoice, self-billed invoice, consolidated invoice, B2B/B2C/B2G e-invoice Malaysia, or any question about generating, submitting, validating, or troubleshooting Malaysian e-invoices. Also trigger when advising on compliance phases, relaxation periods, exemptions, or technical integration with IRBM. ALWAYS read this skill before touching any Malaysia e-invoice work.

MYty-2025

Use this skill

This skill is open source and free to use in any AI agent. Copy it, download it, or clone the repo. If you find an error, report an issue — a licensed accountant will review.

2 of 5 in the MY workflow: