diff --git a/content/applications/finance/fiscal_localizations/malaysia.rst b/content/applications/finance/fiscal_localizations/malaysia.rst
index 99d3fe2185..25ff8719f8 100644
--- a/content/applications/finance/fiscal_localizations/malaysia.rst
+++ b/content/applications/finance/fiscal_localizations/malaysia.rst
@@ -58,8 +58,6 @@ and select it. Then configure the following fields:
- :guilabel:`TTx`: Malaysian Tourism Tax Number, if applicable
- :guilabel:`Phone`
-.. _malaysia/myinvois:
-
E-invoicing integration with MyInvois
=====================================
@@ -134,31 +132,45 @@ Configuration in Odoo
.. _malaysia/myinvois/setup/odoo/einvoicing:
+Company
+*******
+
+Open the Settings app, navigate to the :guilabel:`Companies` section, and click
+:guilabel:`Update Info`. Make sure the :guilabel:`Tax ID` is entered and complete the following
+fields in the :guilabel:`E-invoicing` section:
+
+ - :guilabel:`Identification`: Select the :guilabel:`ID Type` and enter the associated
+ :guilabel:`Identification number` used to register for the digital certificate.
+ - :guilabel:`Ind. Classification`: Input the 5-digit numeric code that represents the nature and
+ activity of the business.
+
Electronic invoicing
********************
Go to :menuselection:`Accounting --> Configuration --> Settings`. In the
-:guilabel:`Malaysian Electronic Invoicing` section, choose the relevant :guilabel:`MyInvois mode`
-based on the environment you used to register on MyInvois.
+:guilabel:`Malaysian Electronic Invoicing` section, select the relevant :guilabel:`MyInvois mode`
+based on the environment used for the company's MyInvois registration.
Make sure to allow Odoo to process e-invoices by checking the box, then click :guilabel:`Register`.
.. note::
- To change the TIN reference, click :guilabel:`Unregister`, change the company's information and
- make sure the number registered on MyInvois matches, then :guilabel:`Register` again.
+ To change the :abbr:`TIN (tax identification number)` reference, click :guilabel:`Unregister`,
+ change the company's information and make sure the number registered on MyInvois matches, then
+ :guilabel:`Register` again.
-.. _malaysia/myinvois/setup/odoo/company:
+.. important::
+ For taxpayers with a :abbr:`TIN (tax identification number)` starting with "IG" and a
+ :abbr:`ROB (registration of business)` number, combine the TIN and ROB in the **TIN:ROB** format
+ for the :guilabel:`Tax ID` field.
-Company
-*******
+ To register, go to :menuselection:`Accounting --> Configuration --> Settings`, and in the
+ :guilabel:`Malaysian Electronic Invoicing` section, click :guilabel:`Register`. Once the
+ registration is complete, the **:ROB** can be removed from the :guilabel:`Tax ID`.
-Open the Settings app, and in the :guilabel:`Companies` section, click :guilabel:`Update Info`. Then,
-in the :guilabel:`E-invoicing` section, fill in the following fields:
+ Additionally, remember to log into `MyTax account `_ and set the
+ :guilabel:`Type of Role` as :guilabel:`Business Owner`.
- - :guilabel:`Identification`: The :guilabel:`ID Type` and associated :guilabel:`Identification
- number` used to register for the digital certificate.
- - :guilabel:`Ind. Classification`: The 5-digit numeric code that represents the nature and
- activity of the business.
+.. _malaysia/myinvois/setup/odoo/company:
Contacts
********
@@ -181,6 +193,20 @@ All products to be included in e-invoices require a Malaysian classification cod
access the :guilabel:`Product` form and in the :guilabel:`General Information` tab, fill in the
:guilabel:`Malaysian classification code` field.
+Malaysian tax type
+******************
+
+To configure a tax's :guilabel:`Malaysian Tax Type` field, go to :menuselection:`Accounting -->
+Configuration --> Accounting --> Taxes` and open the relevant tax in the :guilabel:`Taxes` list
+view.
+
+When an invoice or bill includes a tax with the :guilabel:`Malaysian Tax Type` set to
+**Tax Exempt**, a :guilabel:`Tax Exemption Reason` must be specified in the :guilabel:`MyInvois`
+tab before the document is sent.
+
+.. image:: malaysia/myinvois-tax-exemption-reason.png
+ :alt: MyInvois tax exemption reason
+
.. _malaysia/myinvois/workflow:
Workflow
@@ -191,23 +217,40 @@ Workflow
Send invoices to MyInvois
~~~~~~~~~~~~~~~~~~~~~~~~~
-Invoices can be sent to MyInvois once they have been confirmed. To do so, follow the
-:ref:`invoice sending ` steps, and in the :guilabel:`Send` window,
-enable the :guilabel:`Send to MyInvois` option and click :guilabel:`Print & Send`.
+Invoices can be sent to MyInvois once they have been confirmed. To do so, click
+:guilabel:`Send to MyInvois`.
+
+Send bills to MyInvois
+~~~~~~~~~~~~~~~~~~~~~~
+
+Sending a bill to MyInvois is necessary when issuing an e-Invoice on behalf of a supplier. Once a
+bill is confirmed, click :guilabel:`Send To MyInvois`.
+
+.. note::
+ - In `MyInvois `_, these vendor bills are
+ categorized as :guilabel:`Self-billed Invoice`.
+
+ - If a :guilabel:`Bill Reference` field is empty, Odoo's vendor bill number is used as the
+ MyInvois number. If a reference is entered in the :guilabel:`Bill Reference` field, that
+ reference is used instead.
.. _malaysia/myinvois/workflow/sending/status:
MyInvois status
***************
-In the :guilabel:`MyInvois` tab of the invoice, the :guilabel:`MyInvois State` is updated to
-:guilabel:`Valid` when the submission to MyInvois is successful. The :guilabel:`Submission UID`,
-:guilabel:`MyInvois` and :guilabel:`Validation Time` are also updated.
-The same information is available on MyInvois.
+The current MyInvois status of an invoice or bill is shown in the :guilabel:`MyInvois State` field
+within the :guilabel:`MyInvois` tab.
+
+ - :guilabel:`Validation in Progress`: the validation is being processed by MyInvois. A blue
+ :guilabel:`Processing` banner is also displayed.
+ - :guilabel:`Valid`: it is validated by MyInvois. The :guilabel:`Submission UID`,
+ :guilabel:`MyInvois` and :guilabel:`Validation Time` are automatically updated with information
+ from MyInvois.
.. note::
- If no information is received from the MyInvois portal, the :guilabel:`MyInvois State` is
- :guilabel:`In Progress`. In this case, Odoo automatically checks and updates the status.
+ Odoo :doc:`automatically checks and updates <../../sales/subscriptions/scheduled_actions>` the
+ status every hour. To update it manually at any time, click :guilabel:`Update MyInvois Status`.
.. _malaysia/myinvois/workflow/cancellation:
@@ -215,10 +258,61 @@ Invoice cancellation
~~~~~~~~~~~~~~~~~~~~
Sent invoices can be canceled within 72 hours from :guilabel:`Validation time`. In this case, open
-the invoice and click :guilabel:`Request Cancel`. In the :guilabel:`Cancel document` window, include
-the cancellation :guilabel:`Reason`, then click :guilabel:`Update Invoice`. The
+the invoice and click :guilabel:`Request Cancel`. In the :guilabel:`Cancel document` window,
+include the cancellation :guilabel:`Reason`, then click :guilabel:`Update Invoice`. The
:guilabel:`MyInvois State` is updated to :guilabel:`cancelled`.
+Send credit notes to MyInvois
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Before sending a credit note, the original invoice must be successfully submitted to MyInvois.
+Otherwise, the credit note's :guilabel:`MyInvois State` is updated to :guilabel:`Invalid`.
+
+While Odoo uses a single :guilabel:`credit note` document, MyInvois categorizes these into two
+types: :guilabel:`credit note` and :guilabel:`refund note`, depending on how they are reconciled.
+
+- :guilabel:`MyInvois Credit Note`: This is created when an Odoo credit note is reconciled with the
+ original invoice.
+- :guilabel:`MyInvois Refund Note`: This is created when an Odoo credit note is reconciled with a
+ full payment instead of the original invoice.
+
+.. note::
+ If a credit note is reconciled with only a partial payment before being sent, it is still
+ categorized as a :guilabel:`credit note` in MyInvois.
+
+.. tip::
+ To issue both a credit note and a refund note for the same original invoice:
+ - Create two separate credit notes in Odoo from the original invoice.
+ - For a MyInvois :guilabel:`Refund Note`: Register a payment before sending it.
+ - For a MyInvois :guilabel:`Credit Note`: Do not register a payment before sending it.
+
+.. note::
+ The same logic applies to credit notes created from bills: if reconciled with a full payment,
+ the credit note becomes a :guilabel:`Self-billed Refund Note`; otherwise, it becomes a
+ :guilabel:`Self-billed Credit Note`.
+
+Send debit notes to MyInvois
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+:ref:`Issue a debit note from an existing bill or invoice `
+and click :guilabel:`Send To MyInvois`. In MyInvois, it appears then as a :guilabel:`Debit Note` if
+issued from an invoice or a :guilabel:`Self-billed Debit Note` from a vendor bill.
+
+Access invoices via QR code
+---------------------------
+
+When a document is successfully submitted to MyInvois, a QR code is added to its PDF version.
+Scanning this code links directly to the validated document in MyInvois.
+
+To download the PDF from an invoice or bill:
+
+#. Click the :icon:`fa-cog` :guilabel:`(gear)` icon
+#. Select :guilabel:`Download`
+#. Choose either :guilabel:`PDF` or :guilabel:`PDF without Payment`
+
+.. image:: malaysia/myinvois-qr-code.png
+ :alt: MyInvois QR code
+
.. _malaysia/employment-hero:
Employment Hero payroll
diff --git a/content/applications/finance/fiscal_localizations/malaysia/myinvois-add-intermediary.png b/content/applications/finance/fiscal_localizations/malaysia/myinvois-add-intermediary.png
index ca68b20c24..3964b5cb5f 100644
Binary files a/content/applications/finance/fiscal_localizations/malaysia/myinvois-add-intermediary.png and b/content/applications/finance/fiscal_localizations/malaysia/myinvois-add-intermediary.png differ
diff --git a/content/applications/finance/fiscal_localizations/malaysia/myinvois-intermediary-active.png b/content/applications/finance/fiscal_localizations/malaysia/myinvois-intermediary-active.png
index b5c909f712..9906b52a61 100644
Binary files a/content/applications/finance/fiscal_localizations/malaysia/myinvois-intermediary-active.png and b/content/applications/finance/fiscal_localizations/malaysia/myinvois-intermediary-active.png differ
diff --git a/content/applications/finance/fiscal_localizations/malaysia/myinvois-qr-code.png b/content/applications/finance/fiscal_localizations/malaysia/myinvois-qr-code.png
new file mode 100644
index 0000000000..30154fd35a
Binary files /dev/null and b/content/applications/finance/fiscal_localizations/malaysia/myinvois-qr-code.png differ
diff --git a/content/applications/finance/fiscal_localizations/malaysia/myinvois-tax-exemption-reason.png b/content/applications/finance/fiscal_localizations/malaysia/myinvois-tax-exemption-reason.png
new file mode 100644
index 0000000000..8468222f62
Binary files /dev/null and b/content/applications/finance/fiscal_localizations/malaysia/myinvois-tax-exemption-reason.png differ