How your customers get an e-Invoice from your online store

31 October 2026 · Online stores · 8 min read

Every guide to Malaysian e-Invoicing explains what the seller has to submit to LHDN. Almost none of them answer the question a shop owner actually gets asked at the counter: "Can I have an e-Invoice for this?" — and what happens next. This article is about that moment: who has to issue one, how a customer asks for it, and how the whole thing runs on an EZsite store without anyone typing a TIN into a spreadsheet.

Everything here about the rules comes from LHDN's own pages and FAQs, linked where it matters. We are a software company, not tax agents; if your situation is unusual, your tax agent's word beats ours.

Where the rules stand now

LHDN's implementation timeline (as updated 30 August 2026) rolled e-Invoicing out by company size:

1 August 2024Annual turnover above RM100 million
1 January 2025Above RM25 million, up to RM100 million
1 July 2025Above RM5 million, up to RM25 million
1 January 2026Up to RM5 million

So by now every phase has started. The one line that matters most to a small retailer is the exemption underneath the table: a business with annual turnover or revenue below RM3 million is exempt. That threshold was raised more than once on the way here — older articles still quote RM500,000 or RM1 million — so check the LHDN page itself rather than a blog post, including this one, before you decide anything.

Two more rules from LHDN's general FAQ shape how a shop handles customers:

  • You do not have to issue an e-Invoice to every walk-in customer. Where the buyer does not ask for one, the sale goes into a consolidated e-Invoice — one document for the whole month, B2C or B2B alike, submitted within seven calendar days after the month ends (FAQ 38 and 39).
  • When a buyer does ask, they have to give you their details — name, TIN, identification number, address (FAQ 31). An individual's TIN starts with "IG". Without those details there is no e-Invoice to issue.

And one that catches online sellers: if you sell through a marketplace such as Shopee or Lazada, the platform issues the e-Invoice, not you (FAQ 110). Sales from your physical shop and from your own website are yours to report. That is exactly the split an EZsite store owner lives in: the marketplace handles its side, your own site is your responsibility.

The part nobody explains: how does the customer ask?

Walk into any chain pharmacy or supermarket in Malaysia today and look at the bottom of the receipt. There is a QR code and a line that says something like "Scan to request e-Invoice". That is the answer the retail industry settled on, and it is a good one, for three reasons:

  1. The cashier does not have to stop the queue to type a TIN.
  2. The customer types their own details, so the typos are theirs to fix, and they do it when they get home, not at the counter.
  3. Only the customers who actually need an e-Invoice go through the trouble. Everyone else stays in the consolidated one.

An online store has the same problem in a different shape. The receipt is a PDF in an email; the "counter" is the order confirmation page. The customer who needs an e-Invoice for a company purchase is usually not the person who placed the order, and the person who placed it did not think about tax at checkout. If the only way to get an e-Invoice is to email the shop and wait, most of those requests arrive as a complaint a month later — after the consolidated e-Invoice for that month has already gone to LHDN.

How it runs on an EZsite store

We built the retail pattern into the platform. One switch in the backend, under E-Invoice → Configuration, turns it on. From then:

1. The receipt carries the QREvery invoice PDF and official receipt the store sends gets a "Need an e-Invoice? Scan to request" QR code and the same link printed under it. The order page in the customer's account gets a Request e-Invoice button. Once an order has an e-Invoice, the QR is replaced by LHDN's validation QR instead.
2. The customer fills in their detailsThe link opens a page on your own domain showing the order number, date and amount, and a short form: individual or business, name, TIN, NRIC or BRN, address, state, email and phone. The name, email and phone are already filled from the order. The link is signed, so it only ever opens that one order on that one store; it cannot be edited to reach anyone else's purchase.
3. You get an email, and a listEach request lands in E-Invoice → e-Invoice Requests and in your inbox. The list shows the order, whether it is paid, the buyer and their TIN.
4. One click to issueApprove opens the same e-Invoice preview you use for any order, with the buyer's details already in place of the member record. You check it, submit, and MyInvois validates it. The request is closed, the customer gets an email with LHDN's validation link, and the details are saved to their member account so the next order needs no form at all.
5. Or one click to declineIf the TIN does not match the company name, or the order was never paid, Reject sends the customer your reason and a link to send a corrected request.
6. Everyone else: consolidatedOrders nobody asked about are still there in Pending Invoice. Select the month, issue the consolidated e-Invoice, done — within the seven days LHDN gives you.

A few things the page refuses to do, on purpose. A cancelled order gets a message, not a form. An order that already has an e-Invoice shows the validation link instead. An order already reported inside a consolidated e-Invoice tells the customer to contact you, because that one needs a decision from a human, not a button.

Do you need to switch it on?

Three questions, in order:

Is your turnover above RM3 million?Below it you are exempt and can stop reading, unless your corporate customers insist on e-Invoices for their own books — some do, and the QR is still the easiest way to give them one.
Where do the sales happen?Marketplace sales are the platform's job. Your website and your shop are yours.
Who are your buyers?Mostly consumers: consolidated e-Invoice every month plus the QR for the few who ask. Mostly companies: expect most orders to come back as requests, and make sure the person approving them checks the TIN against the company name before submitting.

What you need before the first e-Invoice

  1. MyInvois API credentials. Log in to the MyInvois Portal, open your taxpayer profile, go to View and Register ERP and register a system. The portal gives you a Client ID and Client Secret; paste them into EZsite under E-Invoice → Configuration. The sandbox portal issues separate credentials, which is how you run a test submission first.
  2. Your company's registered details: name as registered, TIN, SSM number, SST number if you are registered, MSIC code, address.
  3. A mailbox someone reads, because that is where the requests go.
  4. The switch for the QR, and a test order to scan it from.

From there it is a monthly habit: approve the requests that came in, issue the consolidated e-Invoice for the rest within the first week of the month, and remember that LHDN gives you 72 hours after validation to cancel a mistake (FAQ, section on cancellation) — after that, it is a new document.

If your store runs on EZsite, e-Invoicing is already in your backend; the QR request flow is one switch away, and we will walk you through the MyInvois Portal registration. If you are not on EZsite yet and e-Invoicing is one of the things holding your store launch up, tell us about your shop.

← All articles