Skip to content

Commit

Permalink
[IMP] l10n_my: MyInvois documentation
Browse files Browse the repository at this point in the history
Recently, there has been a new module to support MyInvois which is legally mandatory for Malaysia. With its release this week, documentation is required for the users to add specific information to register Odoo as an intermediary but also to let them know how the set-up is and the business flow achievable in Odoo.

task-3953659
  • Loading branch information
kidoodoo committed Nov 22, 2024
1 parent ce55e4a commit 5011e41
Show file tree
Hide file tree
Showing 7 changed files with 262 additions and 0 deletions.
2 changes: 2 additions & 0 deletions content/applications/finance/fiscal_localizations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ available on Odoo.
- :doc:`Kenya - Accounting <fiscal_localizations/kenya>`
- Lithuania - Accounting
- :doc:`Luxembourg - Accounting <fiscal_localizations/luxembourg>`
- :doc:`Malaysia - Accounting <fiscal_localizations/malaysia>`
- Maroc - Accounting
- :doc:`Mexico - Accounting <fiscal_localizations/mexico>`
- Mongolia - Accounting
Expand Down Expand Up @@ -147,6 +148,7 @@ available on Odoo.
fiscal_localizations/italy
fiscal_localizations/kenya
fiscal_localizations/luxembourg
fiscal_localizations/malaysia
fiscal_localizations/mexico
fiscal_localizations/netherlands
fiscal_localizations/romania
Expand Down
260 changes: 260 additions & 0 deletions content/applications/finance/fiscal_localizations/malaysia.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
========
Malaysia
========

.. _malaysia/configuration:

Configuration
=============

.. _malaysia/configuration/modules:

Modules installation
--------------------

:ref:`Install <general/install>` the following modules to get the latest features of the Malaysian
localization:

.. list-table::
:header-rows: 1

* - Name
- Technical name
- Description
* - :guilabel:`Malaysia - Accounting`
- `l10n_my`
- This module includes the default
:ref:`fiscal localization package <fiscal_localizations/packages>`.
* - :guilabel:`Malaysia - Accounting Reports`
- `l10n_my_reports`
- This module includes the accounting reports for Malaysia.
* - :guilabel:`Malaysia - UBL PINT`
- `l10n_my_ubl_pint`
- This module includes the features required for the export of invoices in PINT format.
* - :guilabel:`Malaysia - E-invoicing`
- `l10n_my_edi`
- This module includes the features required for integration with MyInvois under IRBM.

.. note::
When **Malaysia** is selected for a company's :guilabel:`Fiscal Localization`, Odoo automatically
installs specific modules.

.. _malaysia/configuration/company:

Configure your company
----------------------

To configure the company information, go to the :guilabel:`Contacts` app and search for the company
name.

#. Select the :guilabel:`Company` option in the top right corner of the page. Then, configure the
following fields:

- :guilabel:`Name`.
- :guilabel:`Address`: add :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`,
:guilabel:`Country`.

- In the :guilabel:`Street` field, enter the street name, number, and any additional address
information.
- In the :guilabel:`Street 2` field, enter the neighborhood.

- :guilabel:`Tax ID`: Tax identification number.
- :guilabel:`SST`: Malaysian Sales and Service Tax Number - add if applicable.
- :guilabel:`TTx`: Malaysian Tourism Tax Number - add if applicable.
- :guilabel:`Phone`.

#. Upload a company logo and :guilabel:`Save` the contact.

.. _malaysia/myinvois:

E-invoicing integration with MyInvois
=====================================

MyInvois Portal is a platform provided by the :abbr:`IRBM (Inland Revenue Board of Malaysia)`
to facilitate the implementation of e-invoices for the taxpayers of Malaysia.

Odoo supports integration with MyInvois to submit the invoices generated on Odoo.

.. important::
- :guilabel:`Malaysia - E-invoicing module` must be installed to submit invoices to MyInvois.

.. _malaysia/myinvois/setup:

Set-up
------

.. _malaysia/myinvois/setup/registration:

MyInvois registration
~~~~~~~~~~~~~~~~~~~~~

Before use, the company must register and log in to the MyInvois portal to grant Odoo the
**right to invoice** as an intermediary.

.. _MyTax: https://mytax.hasil.gov.my

#. To access the MyInvois portal, log in to MyTax_ . Choose the :guilabel:`ID Type` and the
corresponding :guilabel:`identification number` that was used to register for the digital certificate.

.. note::
If there was no previous login, please refer to the :guilabel:`User Manual` in MyTax Portal.
Both the **Pre-production** (:dfn:`testing environment to try the functions before using the
acutal(production) environment`) and **Production** (:dfn:`actual environment to submit e-invoices
with real information`) environment are supported.

#. From the :guilabel:`dashboard`, click the :icon:`fa-angle-down` :guilabel:`(angle-down)` in the
top-right corner and select :guilabel:`View Taxpayer Profile`.

#. In the :guilabel:`Representatives` section, click :guilabel:`Add Intermediary` in the top-right
corner.

.. image:: malaysia/myinvois-add-intermediary.png
:alt: MyInvois add intermediary

#. Add `ODOO S.A.` as an intermediary the using following information.

- :guilabel:`TIN`: `C57800417080`
- :guilabel:`BRN`: `BE0477472701`
- :guilabel:`Name`: `ODOO S.A.`

#. To make sure the below necessary permissions are granted, click the :icon:`fa-toggle-on`
:guilabel:`(toggle-on)`:

- :guilabel:`Representation From`: **On**
- :guilabel:`Representation To`: Off
- :guilabel:`Document - Submit`: **On**
- :guilabel:`Document - Cancel`: **On**
- :guilabel:`Document - Request Rejection`: **On**
- :guilabel:`Notifications - View`: Off

.. note::
Access can be revoked in the future if needed.
Odoo, as an intermediary, does not store invoices sent on behalf of the client on the proxy
server.

#. Click :guilabel:`Save`. `ODOO S.A.` status is then :guilabel:`Active`.

.. image:: malaysia/myinvois-intermediary-active.png
:alt: MyInvois status active

.. _malaysia/myinvois/setup/odoo:

Configuration in Odoo
~~~~~~~~~~~~~~~~~~~~~

.. _malaysia/myinvois/setup/odoo/einvoicing:

Electronic Invoicing
********************

Go to :menuselection:`Accounting --> Configuration --> Settings`. In the
:guilabel:`Malaysian Electronic Invoicing` section, choose the relevant :guilabel:`MyInvois mode`
subject to the :guilabel:`production` or :guilabel:`pre-production` environment registered for
MyInvois access.

Make sure to allow Odoo to process the e-invoices by checking the box, then click
:guilabel:`Register`.

.. note::
To change the TIN reference, click :guilabel:`Unregister` and :guilabel:`Register` again after
changing the company contact. Make sure the number registered on MyInvois matches.

.. _malaysia/myinvois/setup/odoo/company:

Contact & Company Information
*****************************

Open the :guilabel:`Settings` app. In the :guilabel:`Companies` section, click
:guilabel:`Update Info`. In the :guilabel:`E-invoicing` section, complete the following fields:

- :guilabel:`Identification`: :guilabel:`ID Type` and the corresponding :guilabel:`Identificaiton number` that was used to
register for the digital certificate.
- :guilabel:`Ind. Classification`: 5-digit numeric code that represent the company's business nature and
activity

For the :guilabel:`Contacts` that are the recipients of the invoices, fill in the following fields:

- :guilabel:`Country`
- :guilabel:`State`
- :guilabel:`Phone`
- :guilabel:`Tax ID`
- :guilabel:`Identification`: :guilabel:`ID Type` and the corresponding :guilabel:`Identification number`
of the contact registered under MyTax.

.. _malaysia/myinvois/setup/odoo/product:

Products
********

All the products to include on e-invoicing require a :guilabel:`Malaysian classification code`
defined. To do so, access the :guilabel:`Product` form. In the :guilabel:`General Information` tab,
complete the :guilabel:`Malaysian classification code`.

.. _malaysia/myinvois/workflow:

Workflow
--------

.. _malaysia/myinvois/workflow/sending:

Send invoices to MyInvois
~~~~~~~~~~~~~~~~~~~~~~~~~

Invoices can be sent to MyInvois once they have been confirmed.

.. _malaysia/myinvois/workflow/sending/single:

Single Invoice
**************

#. Click :guilabel:`Send & Print`.

.. image:: malaysia/e-invoicing-send-single.png
:alt: Send single invoice

#. Choose :guilabel:`Send to MyInvois` and click :guilabel:`Send & Print`.

.. image:: malaysia/e-invoicing-send-v17.png
:alt: Send to MyInvois

.. _malaysia/myinvois/workflow/sending/multiple:

Multiple invoices
*****************

#. In the Accounting App, go to :menuselection:`Customers --> Invoices`.
#. Use a checkbox on the left to select the invoices to send.
#. After selection is completed, click :guilabel:`Print & Send` button.

.. image:: malaysia/e-invoicing-send-multiple.png
:alt: Send multiple invoices

.. note::
Instead of sending multiple invoices one by one, the method above to send multiple invoices at once is
the recommended method to reduce the traffic caused by requests.

#. Check sending the method, then click :guilabel:`Print & Send`.

.. _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.

.. note::
If no information is received from the MyInvois portal, the :guilabel:`MyInvois State` is
:guilabel:`In Progress`. In this case, Odoo will automatically check and update the status.

.. _malaysia/myinvois/workflow/cancellation:

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
:guilabel:`MyInvois State` is updated to :guilabel:`cancelled`.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5011e41

Please sign in to comment.