Home / Blogs & Insights / Odoo Malaysia MyInvois: E-Invoicing and SST Setup Guide

Odoo Malaysia MyInvois: E-Invoicing and SST Setup Guide

Odoo Malaysia MyInvois e-invoicing dashboard showing MyInvois connection status, SST setup, invoice submissions, and Malaysia compliance workflow for electronic invoicing.

Table of Contents

However Malaysia e-invoicing through MyInvois is a government validation workflow - not a PDF template upgrade. It requires correct company data, Tax Identification Number, MyTax intermediary setup, MyInvois mode selection, contact field completion, product classification codes, and tax type mapping before a single invoice can be submitted.

Odoo supports this through its Malaysia localization and electronic invoicing configuration, available for Odoo 17 databases and onward.

Short answer: Odoo officially supports Malaysia MyInvois e-invoicing. Businesses can configure Malaysia localization, register Odoo for MyInvois, submit confirmed invoices and vendor bills, track validation status, cancel within the allowed window, and send credit notes once the original invoice is validated.

Odoo provides Malaysia localization and MyInvois workflows, but final compliance depends on correct setup, valid taxpayer data, tax treatment, product classification, and review by a qualified Malaysian tax advisor.

What Is Malaysia MyInvois E-Invoicing?

MyInvois is Malaysia's national e-invoicing system, operated by LHDN (Lembaga Hasil Dalam Negeri). It validates and stores transaction data in near real-time across B2B, B2C, and B2G transactions. It is not a document format change - it is a government validation requirement.

Annual turnover / revenueImplementation date
More than RM100 million 1 August 2024
More than RM25 million up to RM100 million 1 January 2025
More than RM5 million up to RM25 million 1 July 2025
Up to RM5 million 1 January 2026
Less than RM1 million Exempted from e-invoice implementation

Timeline sourced from LHDN's official e-Invoice implementation timeline, updated December 2025. Verify current thresholds and requirements with LHDN or a qualified Malaysian tax advisor.

Does Odoo Officially Support Malaysia MyInvois?

Yes. Odoo officially supports Malaysia MyInvois through its Malaysia localization and electronic invoicing configuration. Here odoo's blog confirms the MyInvois integration is available for databases running Odoo 17 and onward.

Odoo-supported Malaysia MyInvois capabilities

  • MyInvois mode - select pre-production or production environment based on company registration status
  • Odoo registration - register Odoo to process e-invoices via the MyInvois integration
  • MyTax intermediary setup - add Odoo as intermediary and grant document submit, cancel, and rejection permissions
  • Company e-invoicing fields - identification type, ID number, and Tax ID configuration
  • Contact e-invoicing fields - country, state, phone, Tax ID, and identification type per contact
  • Product classification codes - Malaysian classification code required per product
  • Malaysian Tax Type - tax type configuration and tax exemption reason where applicable
  • Invoice submission - send confirmed customer invoices to MyInvois from the invoice record
  • Vendor bill / self-billed invoice submission - send confirmed bills to MyInvois on behalf of suppliers
  • Status tracking - validation state, Submission UID, MyInvois ID, and validation time shown per invoice
  • Cancellation - cancel submitted invoices within the 72-hour allowed window
  • Credit notes - send credit notes after the original invoice has been validated

Odoo Malaysia Localization Data Required Before Setup

Gather and verify all of the following before configuring MyInvois in Odoo. Missing or incorrect data causes validation failures that must be corrected invoice by invoice. If you are still organising your Odoo finance setup, our guide to expense tracking in Odoo shows how the accounting modules fit together.

Company Data

  • Tax Identification Number (TIN)
  • Identification type (e.g. BRN, NRIC, Passport)
  • Identification number matching the type
  • Registered business name and address

MyTax / MyInvois Access

  • Active MyTax account access
  • Odoo registered as intermediary in MyTax
  • Submit, cancel, and rejection permissions granted
  • Pre-production environment access for testing

Contact Data (Per Buyer/Supplier)

  • Country and state fields completed
  • Phone number in correct format
  • Tax ID / TIN where applicable
  • Identification type and ID number

Product and Tax Data

  • Malaysian classification code per product
  • Malaysian Tax Type configured per tax
  • Tax Exemption Reason defined for exempt lines
Odoo documentation confirms that products included in e-invoices require a Malaysian classification code, and tax-exempt documents require a Tax Exemption Reason in the MyInvois tab.

How to Configure MyInvois in Odoo

Complete these steps in sequence. Before switching to production, test the workflow in pre-production because a rejected production submission cannot be undone without cancellation.

1

Confirm company Tax ID and identification details

Within Odoo company settings, verify the Tax ID (TIN), identification type, and identification number. These fields populate every e-invoice payload sent to MyInvois.

2

Log in to MyTax and add Odoo as an intermediary

Next, open the MyTax portal and go to the intermediary management section. Add Odoo as an authorised intermediary for your company’s TIN.

3

Grant document permissions

After that, grant Odoo permission for document submission, cancellation, and rejection request. All three permissions are required for full MyInvois workflow support in Odoo. New to Odoo’s permission model? See our guide to How to create user create and manage users in odoo.

4

Select MyInvois mode in Odoo

Then, go to Accounting → Configuration → Settings. Under Malaysian Electronic Invoicing, choose pre-production for testing or production for live submissions.

5

Allow Odoo to process e-invoices and click Register

Once the mode is selected, enable the permission for Odoo to process e-invoices and click Register. This links the Odoo database to MyInvois for the selected company.

6

Test in pre-production before switching to production

Finally, run sample invoices through pre-production MyInvois. Verify that validation succeeds, status updates correctly, and the Submission UID and MyInvois ID are populated as expected.

How to Send Invoices to MyInvois from Odoo

Invoices can only be submitted to MyInvois after they are confirmed and posted. Draft invoices cannot be sent. The MyInvois tab on the invoice record shows all submission fields and status updates.

Odoo MyInvois invoice submission workflow showing invoice confirmation, MyInvois submission, validation process, and final invoice status
1

Create and complete the customer invoice

Ensure all required fields are populated: buyer Tax ID, contact identification, product classification codes, and Malaysian Tax Type. Missing fields cause validation failure.

2

Confirm (post) the invoice

Click Confirm to post the invoice. The Send to MyInvois option becomes available only after the invoice is in confirmed status.

3

Click Send to MyInvois from the MyInvois tab

Open the MyInvois tab on the confirmed invoice. Click Send to MyInvois to submit. Odoo transmits the e-invoice payload to MyInvois for validation.

4

Monitor validation status

The MyInvois tab updates with Validation in Progress, then Valid or Invalid. Odoo checks and updates status automatically every hour. A manual update option is also available.

5

Record the Submission UID, MyInvois ID, and validation time

Once validated, these three fields are populated in the MyInvois tab. Retain them as proof of successful e-invoice submission. Odoo also supports batch submissions for higher invoice volumes.

How Vendor Bills and Self-Billed Invoices Work

Odoo MyInvois self-billed invoice workflow showing vendor bill creation, bill posting, MyInvois submission, and self-billed invoice categorisation

Sending a vendor bill to MyInvois is required when issuing an e-invoice on behalf of a supplier - for example, when the supplier cannot issue their own compliant e-invoice. Before posting supplier bills, teams often verify them with 3-way invoice matching to catch quantity or price discrepancies early. MyInvois categorises these as Self-billed Invoice.

Self-billed invoice workflow

  • Create the vendor bill in Odoo for the relevant supplier
  • Confirm (post) the vendor bill in Odoo
  • Open the MyInvois tab on the confirmed bill
  • Click Send to MyInvois - this submits as a self-billed invoice type
  • MyInvois categorises the submission as Self-billed Invoice

Review the Bill Reference behaviour for self-billed invoices with your tax advisor before go-live. The treatment of self-billed invoice submission obligations depends on the supplier arrangement and LHDN guidelines for your business type.

MyInvois Statuses, Cancellation and Credit Notes in Odoo

Understanding MyInvois status fields and the rules for cancellation and credit notes prevents common errors in the post-submission workflow.

WorkflowBehaviour in Odoo / MyInvois
Validation in ProgressMyInvois is processing the submission. Status auto-updates hourly or via manual refresh.
ValidSubmission UID, MyInvois ID, and Validation Time are populated in the MyInvois tab.
Invalid / RejectedSubmission failed validation. Correct the identified data fields and resubmit.
Status update frequencyOdoo checks and updates MyInvois status automatically every hour. Manual update is available.
Cancellation windowSubmitted invoices can be cancelled within 72 hours from the MyInvois validation time.
Post-72-hour correctionBeyond 72 hours, a credit note is the required correction mechanism - cancellation is no longer available.
Credit note - requirementThe original invoice must be successfully submitted and validated before a credit note can be sent.
Credit note - MyInvois categorisationMyInvois may categorise Odoo credit notes differently depending on reconciliation. Verify with your tax advisor.

Odoo documentation confirms the hourly automatic status check, the 72-hour cancellation window, and the requirement for original invoice validation before credit note submission.

Malaysia SST and Tax Type Setup in Odoo

For MyInvois submissions, correct tax type configuration affects the e-invoice payload and LHDN validation. However, SST filing treatment remains a separate compliance matter that should be reviewed independently.

Malaysian Tax Type configuration for MyInvois

Tax configuration areaWhat to set upWhy it matters for MyInvois
Malaysian Tax TypeSelect the correct type per tax (e.g. Sales Tax, Service Tax, Tax Exempt)Tax type is included in the e-invoice payload submitted to MyInvois
Tax Exempt handlingMark lines as tax-exempt where applicableExempt lines require a Tax Exemption Reason in the MyInvois tab
Tax Exemption ReasonDefine the exemption reason in the MyInvois tabRequired field - missing reason causes submission failure for exempt invoices
Product classification codeMalaysian classification code per product lineLHDN requires product classification in every e-invoice line item

Additionally, Odoo supports tax configuration and MyInvois tax-type fields. However, SST registration, filing obligations, and rate applicability should still be reviewed with a qualified Malaysian tax advisor, as these compliance requirements are not handled automatically by Odoo.

Common Odoo Malaysia MyInvois Setup Mistakes

These are the most frequent errors in Odoo MyInvois implementations. However, most are preventable during setup and testing.

Mistake 01

Wrong MyInvois environment

Submitting live invoices to the pre-production environment - or vice versa - causes failed or test submissions. Therefore, confirm the mode before go-live.

Mistake 02

Odoo not added as intermediary

Without the MyTax intermediary registration, Odoo cannot communicate with MyInvois. As a result, this step must be completed before submission.

Mistake 03

Incomplete MyTax permissions

All three permissions - document submit, cancel, and rejection request - must be granted. Otherwise, specific MyInvois workflows may fail.

Mistake 04

Incorrect company TIN or identification

The company TIN, identification type, and identification number must exactly match LHDN records. Even small format errors can cause immediate validation failure.

Mistake 05

Incomplete contact fields

Buyer and supplier contacts must include country, state, phone, Tax ID, and identification details. Before go-live, audit these records to avoid e-invoice rejection.

Mistake 06

Missing product classification codes

Each e-invoice product requires a Malaysian classification code. Without it, MyInvois validation can fail.

Mistake 07

Missing tax exemption reason

For tax-exempt invoice lines, the Tax Exemption Reason must be added in the MyInvois tab. Otherwise, exempt transactions may fail submission.

Mistake 08

Sending draft invoices

Only confirmed or posted invoices can be submitted to MyInvois. Therefore, confirm the invoice before sending it.

Mistake 09

Credit note before original validation

A credit note can only be submitted after the original invoice has been validated by MyInvois. Submitting it too early may cause rejection.

Mistake 10

No 72-hour cancellation process

Without a defined internal process, cancellation windows are often missed. After 72 hours, a credit note becomes the only correction path.

Mistake 11

POS/eCommerce not tested

POS and eCommerce invoice workflows may require additional configuration for MyInvois. For this reason, test these channels separately before go-live. For POS specifically, our walkthrough of Odoo 18 POS setup covers user access and configuration.

Mistake 12

No pre-production testing

Going live without pre-production validation leaves data issues undiscovered until production submissions fail. Finally, test the full workflow before switching to production.

Odoo Malaysia MyInvois Implementation Checklist

Before going live, use this checklist to confirm each dependency. Complete all items before the first production submission, as every row represents a prerequisite for successful MyInvois processing.

AreaCheck
CompanyTax ID/TIN, identification type, and identification number confirmed and verified against LHDN records
MyTaxYou can odoo check registered as intermediary in MyTax for the company TIN
PermissionsSubmit, cancel, and rejection permissions all granted to Odoo in MyTax
Odoo settingsMalaysian Electronic Invoicing mode selected in Accounting → Configuration → Settings
RegistrationOdoo registered for MyInvois processing and pre-production connection tested
ContactsCountry, state, phone, Tax ID, identification type, and ID fields completed for all active buyers/suppliers
ProductsMalaysian classification code added to every product used on invoices
TaxesMalaysian Tax Type configured for all applicable taxes
ExemptionsTax Exemption Reason process defined for exempt invoice lines
InvoicesInvoices confirmed before submission - no draft invoices submitted to MyInvois
BillsSelf-billed invoice workflow tested for applicable supplier scenarios
StatusHourly status update behaviour understood; manual update process known
Cancellation72-hour cancellation window process documented and team trained
Credit notesOriginal invoice validation requirement understood before issuing credit notes

Odoo MyInvois Integration vs MyInvois Portal vs Custom API

Three ways to submit e-invoices to MyInvois. The best choice depends on whether accounting and invoicing already happen in Odoo.

OptionBest forAdvantagesLimitations
Odoo MyInvois integrationBusinesses using Odoo Accounting and SalesInvoice workflow stays in Odoo; status, UID, and ID tracked per invoice record; supports individual and batch submissionRequires correct Odoo setup, MyTax intermediary, and data completeness before submission
MyInvois PortalSmall businesses with low invoice volumeDirect portal access without integration setup; no ERP neededManual data entry; no ERP synchronisation; higher effort at scale
Custom API integrationNon-Odoo systems or complex platform requirementsFull workflow control; system-specific logicRequires development, testing, maintenance, and LHDN API compliance work

Which Option Is Best?

For businesses already running invoicing and accounting in Odoo, the native MyInvois integration eliminates manual data entry, keeps submission evidence inside Odoo, and supports the full status tracking and cancellation workflow. For POS or eCommerce integration, Odoo integration services can connect the required channels. For complex POS or eCommerce invoice customisation, Odoo customization services can extend the standard MyInvois workflow. Businesses with very low volume can submit manually through the MyInvois Portal, while non-Odoo platforms typically integrate against the official MyInvois SDK.

When You Need an Odoo Partner for MyInvois Setup

Some MyInvois configurations can be handled by an experienced Odoo admin, especially when the setup is simple and the business already has clean master data. However, more complex environments often benefit from specialist guidance.

For example, businesses operating across multiple branches, sales channels, or invoice types may need additional configuration and testing. In addition, organisations with a near production go-live date should validate their configuration early, test submissions in pre-production, and confirm that MyTax permissions are correctly assigned. More advanced needs, such as building custom forms in Odoo or custom document layouts, are usually best handled with partner support.

Often self-configurable

  • Standard invoice-only workflow, single entity
  • Clean master data already in Odoo
  • Low volume, straightforward tax types

Partner recommended

  • High invoice volume or batch submission needed
  • POS, eCommerce, or multi-branch setup
  • Many tax-exempt transactions or self-billed invoices
  • Production go-live deadline is near

How SDLC Corp Helps with Odoo Malaysia MyInvois Setup

SDLC Corp configures Odoo for Malaysia MyInvois e-invoicing, covering Malaysia localization, MyTax and MyInvois registration guidance, company and contact data readiness, product classification code mapping, Malaysian Tax Type setup, and invoice workflow testing.

In addition, our team supports bill workflow validation, POS and eCommerce integration where required, pre-production testing, and go-live assistance to help businesses submit e-invoices with confidence.

Malaysia localization
MyInvois registration
150+ Odoo Experts
500+ Successful Odoo Projects
11+ Years of ERP Experience
Invoice workflow testing
POS/eCommerce integration
Go-live support

Frequently Asked Questions: Odoo Malaysia MyInvois

Yes. With the right Malaysia localization and electronic invoicing configuration, Odoo supports Malaysia MyInvois e-invoicing. Businesses can register Odoo for MyInvois, submit invoices and vendor bills, track validation status, cancel within the allowed window, and send credit notes.
MyInvois support depends on the Odoo version, Malaysia localization setup, and installed e-invoicing modules. Before implementation, businesses should confirm module availability and configuration.
Yes. With the correct Malaysia localization, MyTax registration, and API configuration, invoices can be submitted directly from Odoo to MyInvois. As a result, validation responses can also be tracked inside the invoice workflow.
In most cases, Odoo can support vendor bill submission when the required MyInvois configuration is active. However, supplier details, tax data, and document settings must be correctly maintained.
Before submission, you need company TIN, SST details where applicable, MyTax access, product classification codes, customer and supplier tax information, invoice type settings, and accurate tax configuration.
Yes. When the invoice status and configuration allow it, Odoo can support invoice cancellation within the MyInvois cancellation window.
No software can guarantee compliance by itself. However, Odoo helps automate and structure MyInvois workflows, while businesses remain responsible for correct tax data, approvals, and reporting practices.

Need help setting up Odoo Malaysia MyInvois?

SDLC Corp can configure Malaysia localization, MyInvois registration, e-invoice workflows, tax type mapping, product classification, and invoice validation processes in Odoo. Explore our Odoo accounting & finance services for end-to-end support.

Talk to an Odoo expert

ABOUT THE AUTHOR

aaron jone

Aaron Jone is an Odoo expert with 12 years of experience in enterprise software. At SDLC Corp, he helps companies improve efficiency by customizing and deploying Odoo solutions that align with core business needs. Aaron focuses on streamlining workflows, integrating systems, and building tools that support real-time visibility and better control across operations.
PLAN YOUR SOLUTION

More Insights
You Might Find Useful

Explore expert perspectives, practical strategies, and real-world solutions related to this topic.

Odoo UAE Labour Law Guide: Payroll, Gratuity & Compliance Solutions

Managing payroll in the UAE requires strict adherence to labour

Odoo Multi-Currency Accounting Complete Setup Guide

Odoo Multi-Currency Accounting Guide

Businesses that sell, buy, or hold bank balances in multiple

Odoo Germany GoBD and DATEV Setup Guide

German businesses using Odoo need more than a localised chart

Let’s Talk About Your Product

Get expert guidance on scope, architecture, timelines, and delivery approach so you can move forward with confidence.

What happens next?