Do you have to do this
The obligation follows your annual turnover, not your industry and not who your customers are. Find your bracket, and that tells you almost everything.
| Bracket | Turnover | From | Position |
|---|---|---|---|
| Phase 1 | Above RM100 million | 1 August 2024 | mandatoryRelaxation period has long closed. |
| Phase 2 | RM25 million to RM100 million | 1 January 2025 | mandatoryRelaxation period has closed. |
| Phase 3 | RM5 million to RM25 million | 1 July 2025 | mandatoryRelaxation period has closed. |
| Phase 4 | RM1 million to RM5 million | 1 January 2026 | mandatoryThe six-month relaxation window closed on 30 June 2026. This is the bracket most owner-run businesses sit in, and it is the one that lost its cushion most recently. |
| Final phase | RM500,000 to RM1 million | Was 1 July 2026 | restructuredRestructured by the December 2025 announcement that lifted the exemption to RM1 million. Businesses under RM1 million are treated as exempt rather than brought in on this date. |
| Exempt | Below RM1 million | Current position | exemptExempt following the December 2025 change. Exempt today does not mean exempt permanently, and crossing the threshold brings an obligation with it. |
If you are between RM1 million and RM5 million, this is the paragraph that matters to you. That bracket became mandatory on 1 January 2026 and its six-month relaxation window closed on 30 June 2026. A lot of businesses in it are running half-compliant right now, mostly because the deadline arrived without a letter.
What happens if you do not
Two separate things, and it is worth keeping them apart. There is the statutory penalty, and there is the commercial friction, which usually bites first.
The penalty
Public reporting puts the fine range at roughly RM200 to RM20,000 per offence, and it is assessed per document rather than as one flat charge. That arithmetic is the point: a business issuing hundreds of invoices a month has an exposure that scales. Confirm the current figures with a tax agent. Do not act on this paragraph.
The friction, which arrives sooner
Your business customers are being pulled into this too, and larger ones need a validated e-Invoice from you to support their own position. Once a buyer asks and you cannot produce one, it stops being a tax question and becomes a reason to use a different supplier. In practice this is what moves people, not the fine.
What MyInvois actually is
Stripped of the terminology: instead of an invoice being a document you send to your customer, it becomes a document you send to LHDN first, which they check and stamp, and then it goes to your customer carrying that stamp.
The shape of it, in order:
- Your system produces the invoice in the required structure, with seller details, buyer details, line items and classification codes
- It is submitted to LHDN, either by hand or by an integration
- It is validated. Either it is accepted and given a unique identifier, or it is rejected with a reason
- The validated document, carrying its identifier, is what your customer is entitled to receive
- Corrections and refunds are separate documents that reference the original, not edits to it
Two consequences fall out of this that catch people. Your invoice is no longer final the moment you create it, because it can be rejected. And a refund is not an undo; it is a new document with its own life.
Four routes, and their trade-offs
The right answer depends almost entirely on volume and on how many systems raise invoices today. Two of these four involve hiring nobody.
The MyInvois portal, by hand
Fits when: A handful of invoices a month, and no appetite for a project.
In favour
- No software cost and nothing to build
- Available immediately
- Fine for very low volume
Against
- Someone re-types every invoice, so the effort scales with sales
- Two systems now hold your invoice data and they will disagree
- Manual entry is where wrong tax numbers and wrong buyer details come from
Whatever your accounting software ships
Fits when: You already run a package that has added e-Invoice support and your invoicing lives there.
In favour
- Usually the cheapest workable option
- Maintained by the vendor as rules change
- No integration work on your side
Against
- Only covers invoices raised inside that package
- You inherit the vendor's interpretation of edge cases
- Little control over timing when rules change
A middleware or service provider
Fits when: Several systems raise invoices and you want one place that talks to LHDN.
In favour
- Handles validation, retries and the format details
- Absorbs specification changes for you
- Can sit in front of more than one source system
Against
- An ongoing subscription, usually per document
- Another vendor between you and your own data
- You are still responsible for what you send it
Direct integration from your own system
This is what we doFits when: Your orders and invoices already live in a system you own, and re-typing is not acceptable.
In favour
- The invoice is submitted the moment it is raised, with nobody re-typing
- Validation failures surface in your own admin, not in an inbox
- No per-document fee to a third party
Against
- The highest upfront cost of the four
- You own the maintenance when the specification changes, which it will
- Only worth it above a certain volume; below that the portal is genuinely the right answer
If you issue a few invoices a month, use the portal. Paying anyone to build an integration at that volume is a waste of your money, and we would rather say so here than on a call.
Where it goes wrong
Not the specification. These are the things that turn a two-week integration into a two-month one, and none of them are visible when you start.
Buyer details you have never collected
Consumer sales rarely capture a tax identification number or a full registered address. A B2C order flow that was fine for years suddenly has mandatory fields with nowhere to get the data from, and the answer is usually a consolidated submission rather than chasing every customer.
Your product data has no tax classification
Submissions expect a classification code per line. Most catalogues built for a storefront have never carried one, so this becomes a data exercise across every product before a single invoice can go out.
Refunds and credit notes are separate documents
A refund is not an edited invoice. It is its own document type with its own reference back to the original, and systems that model a refund as a status change on the order have nowhere to put it.
Validation fails silently
If nobody is watching the response, a rejected submission looks exactly like a successful one from inside your own admin. Failure handling is not a nice-to-have here; without it you find out at the end of the month.
Timing against your own accounting close
Submission windows and your bookkeeping cycle are not the same clock. Deciding who reconciles the two, and when, is a process question that no integration can answer for you.
The pattern across all of them: the integration is rarely the hard part. The hard part is that your existing data was never collected with this in mind.
How long integration takes
No figures here, for the same reason there are none on the pricing page. What is useful is knowing which situation you are in, because the gap between the two is large.
The short version
One system already owns invoicing. Buyer tax details are captured. Products carry classification codes, or there are few enough to classify by hand. This is a contained piece of work: build the submission, handle the failures, test against the sandbox, watch the first real week closely.
The long version
Invoices come out of two or three places. Nobody has ever collected a buyer tax number. The catalogue has hundreds of items with no classification. Here the submission code is a small fraction of the effort, and the real project is deciding who owns invoicing and cleaning the data behind it. That is worth knowing before you budget, not after.
Questions
Do I have to do anything if my turnover is under RM1 million?
On the current position, no. The December 2025 change lifted the exemption to RM1 million of annual turnover. That is a threshold, not a permanent status, so it is worth knowing roughly when you would cross it. Confirm your own position with your accountant rather than with a web page.
My relaxation period just ended. What actually changes?
During a relaxation window, consolidated submissions are generally accepted and enforcement is lighter. Once it closes, you are expected to be issuing properly validated documents and to be able to produce an individual validated e-Invoice when a buyer asks for one.
What are the penalties for not complying?
Public reporting puts the fine range at roughly RM200 to RM20,000 per offence, and the exposure is per document rather than a single flat fine. Treat that as an indication only and get the current position from a tax agent, because the number matters and this page is not authoritative.
Can you file my e-Invoices for me?
No, and we would be cautious about anyone who offers to. We build the integration that submits from your system and we make sure it validates. Acting as your filing agent is a different service with different liability, and it belongs with your tax agent.
How long does an integration take?
For a system where invoices are already generated in one place and the buyer data is complete, it is a small project. For a system that has never captured tax numbers or product classifications, the integration is the easy part and the data work is the project. We can tell which one you have after looking at it.
Do I need this if I only sell to consumers?
The obligation follows your turnover, not your customer type. What changes for consumer sales is the mechanism: you are more likely to be submitting consolidated documents rather than one per buyer, because consumers usually will not give you the details an individual submission needs.
We use several systems. Which one should submit?
Whichever one is the system of record for the invoice. Submitting the same document from two places creates duplicates that are tedious to unwind. If no single system owns invoicing today, fixing that is the first piece of work, before any integration.
What happens if a submission is rejected?
It has to be corrected and resubmitted, which means somebody has to know it failed. Rejections that nobody sees are the most common way a technically finished integration still leaves you non-compliant.
Will the rules change again?
The thresholds have already moved once, in December 2025. Anything built for this should assume the specification will change and should keep the submission logic in one replaceable place rather than scattered through the codebase.
Can you look at our setup before we commit to anything?
Yes. Describe what raises your invoices today and we will tell you which of the four routes fits, including the ones we are not paid for. If the portal is the right answer for your volume, we will say so.
If you want a second opinion
Tell us what raises your invoices today and roughly how many a month. We will tell you which of the four routes fits, including the two we get paid nothing for.
If the portal is right for your volume, that is the answer you will get.
This guide is general information about a compliance regime, not tax advice, and we are not tax agents. Figures and dates change. Confirm your own position with your accountant or a licensed tax agent before you act on anything here.