Malaysia's Inland Revenue Board (LHDN) has mandated e-Invoice submission through the MyInvois system. For most small and medium businesses, this is no longer optional—it's a regulatory requirement with hard deadlines and financial penalties for non-compliance. The rollout happens in phases, and your business may already be in scope, or you may have months to prepare. Either way, getting it wrong costs time, audit risk, and potentially cash. This guide walks you through the actual scope of the mandate, the submission timeline, what a compliant invoice must contain, and how to restructure your invoicing process without breaking your existing workflow. Who is in scope (and when it mattered that you read this earlier) The MyInvois mandate applies to: Large companies (revenue ≥ RM100 million annually): December 2023 onwards. Medium enterprises (revenue RM25–RM100 million): June 1, 2024 onwards. Small businesses and sole proprietors (revenue < RM25 million): December 1, 2024 onwards. If your annual turnover is below RM100,000, e-Invoice is not yet mandatory, but LHDN has encouraged voluntary adoption. If you're close to the thresholds or growing, it's safer to assume you'll need to comply soon. Critical point: These dates have already passed for large and medium entities. If you fall into those categories and are not yet submitting, you are actively non-compliant. Check your LHDN correspondence and filing history immediately. Penalties include fines up to RM100,000 and potential loss of tax relief. If you're unsure about your scope, verify with LHDN's registration portal or contact your accountant. What MyInvois actually requires in an invoice A compliant e-Invoice is not just a PDF emailed to a customer. It must be a structured XML document that contains specific data points in a specific format. The invoice must include: Supplier details: Business name, registration number, business address, and tax ID. Customer details: Customer name, business or identity number, and address. Invoice metadata: Invoice number, date, due date, and a unique hash (generated by MyInvois). Line items: Item description, quantity, unit price, discount (if any), GST or SST rate, and total amount. Tax breakdown: Sales and Service Tax (SST) or Goods and Services Tax (GST) amount, depending on what you're selling. Total invoice value: Including all taxes. Payment terms and method. (optional but recommended). This data must be submitted to MyInvois before the invoice is issued to your customer. You cannot issue the invoice first and submit later—compliance requires advance submission. Once approved by MyInvois, you receive a unique invoice reference number (IRN) and a digital stamp. Only after you have both can you issue the invoice. The submission workflow: how your invoicing process changes The old workflow—create invoice, email to customer, record in your books—is obsolete. The new flow is: Create the invoice in your system (spreadsheet, accounting software, or platform like Orin's invoicing module ). Submit to MyInvois before you send it to the customer. MyInvois validates the data against LHDN rules (SST rates, business registration, etc.). Receive the IRN and digital stamp from MyInvois (usually instant or within seconds). Issue the invoice to the customer with the IRN and stamp embedded. Record the transaction in your accounting system with the MyInvois submission date and IRN for audit trail. The submission happens via an API or web portal. If you use accounting software (like Xero, FreshBooks, or similar), your provider may have already built MyInvois integration. If you use a spreadsheet or manual invoicing, you'll need to either: Migrate to software with MyInvois support (simplest path). Use a third-party MyInvois submission service (faster than coding your own API). Build API integration yourself (high effort, not worth it for small teams). The integration handles the XML formatting and submission automatically. Without it, you'll be manually copying invoice data into the MyInvois portal for every invoice—which is error-prone and inefficient at scale. Tax rates and SST compliance: the detail that breaks submissions One of the most common submission rejections is incorrect SST coding. SST in Malaysia is 6%, but it applies differently depending on the goods or service: Standard rate (6%): Most goods and taxable services. Zero-rated (0%): Food, pharmaceuticals, and certain exported services. Exempt: Financial services, insurance, and education (no SST line on invoice). MyInvois validates your SST classification against a lookup table. If you code a service as zero-rated when LHDN classifies it as standard, the submission fails. You'll need to know the correct classification for every line item before submission. Similarly, if you sell to customers in different states or to GST-registered businesses, there may be different treatment. Always confirm your classification with your accountant or cross-check the LHDN SST guidelines b