@@ -36,6 +36,11 @@ localization:
36
36
* - :guilabel: `Malaysia - E-invoicing `
37
37
- `l10n_my_edi `
38
38
- This module includes the features required for integration with MyInvois under IRBM.
39
+ * - :guilabel: `Malaysia - E-invoicing Extended Features `
40
+ - `l10n_my_edi_extended `
41
+ - This module improves the MyInvois E-invoicing feature by adding proper support for self
42
+ billing, rendering the MyInvois QR code in the invoice PDF file and allows better management
43
+ of foreign customer TIN.
39
44
40
45
.. _malaysia/configuration/company :
41
46
@@ -58,8 +63,6 @@ and select it. Then configure the following fields:
58
63
- :guilabel: `TTx `: Malaysian Tourism Tax Number, if applicable
59
64
- :guilabel: `Phone `
60
65
61
- .. _malaysia/myinvois :
62
-
63
66
E-invoicing integration with MyInvois
64
67
=====================================
65
68
@@ -134,31 +137,45 @@ Configuration in Odoo
134
137
135
138
.. _malaysia/myinvois/setup/odoo/einvoicing :
136
139
140
+ Company
141
+ *******
142
+
143
+ Open the Settings app, navigate to the :guilabel: `Companies ` section, and click
144
+ :guilabel: `Update Info `. Make sure the :guilabel: `Tax ID ` is entered and complete the following
145
+ fields in the :guilabel: `E-invoicing ` section:
146
+
147
+ - :guilabel: `Identification `: Select the :guilabel: `ID Type ` and enter the associated
148
+ :guilabel: `Identification number ` used to register for the digital certificate.
149
+ - :guilabel: `Ind. Classification `: Input the 5-digit numeric code that represents the nature and
150
+ activity of the business.
151
+
137
152
Electronic invoicing
138
153
********************
139
154
140
155
Go to :menuselection: `Accounting --> Configuration --> Settings `. In the
141
- :guilabel: `Malaysian Electronic Invoicing ` section, choose the relevant :guilabel: `MyInvois mode `
142
- based on the environment you used to register on MyInvois.
156
+ :guilabel: `Malaysian Electronic Invoicing ` section, select the relevant :guilabel: `MyInvois mode `
157
+ based on the environment used for the company's MyInvois registration .
143
158
144
159
Make sure to allow Odoo to process e-invoices by checking the box, then click :guilabel: `Register `.
145
160
146
161
.. note ::
147
- To change the TIN reference, click :guilabel: `Unregister `, change the company's information and
148
- make sure the number registered on MyInvois matches, then :guilabel: `Register ` again.
162
+ To change the :abbr: `TIN ( tax identification number ) ` reference, click :guilabel: `Unregister `,
163
+ change the company's information and make sure the number registered on MyInvois matches, then
164
+ :guilabel: `Register ` again.
149
165
150
- .. _malaysia/myinvois/setup/odoo/company :
166
+ .. important ::
167
+ For taxpayers with a :abbr: `TIN ( tax identification number ) ` starting with "IG" and a
168
+ :abbr: `ROB ( registration of business ) ` number, combine the TIN and ROB in the **TIN:ROB ** format
169
+ for the :guilabel: `Tax ID ` field.
151
170
152
- Company
153
- *******
171
+ To register, go to :menuselection: `Accounting --> Configuration --> Settings `, and in the
172
+ :guilabel: `Malaysian Electronic Invoicing ` section, click :guilabel: `Register `. Once the
173
+ registration is complete, the **:ROB ** can be removed from the :guilabel: `Tax ID `.
154
174
155
- Open the Settings app, and in the :guilabel: ` Companies ` section, click :guilabel: ` Update Info `. Then,
156
- in the :guilabel: `E-invoicing ` section, fill in the following fields:
175
+ Additionally, remember to log into ` MyTax account < https://mytax.hasil.gov.my/ >`_ and set the
176
+ :guilabel: `Type of Role ` as :guilabel: ` Business Owner `.
157
177
158
- - :guilabel: `Identification `: The :guilabel: `ID Type ` and associated :guilabel: `Identification
159
- number ` used to register for the digital certificate.
160
- - :guilabel: `Ind. Classification `: The 5-digit numeric code that represents the nature and
161
- activity of the business.
178
+ .. _malaysia/myinvois/setup/odoo/company :
162
179
163
180
Contacts
164
181
********
@@ -181,6 +198,20 @@ All products to be included in e-invoices require a Malaysian classification cod
181
198
access the :guilabel: `Product ` form and in the :guilabel: `General Information ` tab, fill in the
182
199
:guilabel: `Malaysian classification code ` field.
183
200
201
+ Malaysian tax type
202
+ ******************
203
+
204
+ To configure a tax's :guilabel: `Malaysian Tax Type ` field, go to :menuselection: `Accounting -->
205
+ Configuration --> Accounting --> Taxes ` and open the relevant tax in the :guilabel: `Taxes ` list
206
+ view.
207
+
208
+ When an invoice or bill includes a tax with the :guilabel: `Malaysian Tax Type ` set to
209
+ **Tax Exempt **, a :guilabel: `Tax Exemption Reason ` must be specified in the :guilabel: `MyInvois `
210
+ tab before the document is sent.
211
+
212
+ .. image :: malaysia/myinvois-tax-exemption-reason.png
213
+ :alt: MyInvois tax exemption reason
214
+
184
215
.. _malaysia/myinvois/workflow :
185
216
186
217
Workflow
@@ -191,34 +222,102 @@ Workflow
191
222
Send invoices to MyInvois
192
223
~~~~~~~~~~~~~~~~~~~~~~~~~
193
224
194
- Invoices can be sent to MyInvois once they have been confirmed. To do so, follow the
195
- :ref: `invoice sending <accounting/invoice/sending >` steps, and in the :guilabel: `Send ` window,
196
- enable the :guilabel: `Send to MyInvois ` option and click :guilabel: `Print & Send `.
225
+ Invoices can be sent to MyInvois once they have been confirmed. To do so, click
226
+ :guilabel: `Send to MyInvois `.
227
+
228
+ Send bills to MyInvois
229
+ ~~~~~~~~~~~~~~~~~~~~~~
230
+
231
+ Sending a bill to MyInvois is necessary when issuing an e-Invoice on behalf of a supplier. Once a
232
+ bill is confirmed, click :guilabel: `Send To MyInvois `.
233
+
234
+ .. note ::
235
+ - In `MyInvois <https://preprod.myinvois.hasil.gov.my/content >`_, these vendor bills are
236
+ categorized as :guilabel: `Self-billed Invoice `.
237
+
238
+ - If a :guilabel: `Bill Reference ` field is empty, Odoo's vendor bill number is used as the
239
+ MyInvois number. If a reference is entered in the :guilabel: `Bill Reference ` field, that
240
+ reference is used instead.
197
241
198
242
.. _malaysia/myinvois/workflow/sending/status :
199
243
200
244
MyInvois status
201
245
***************
202
246
203
- In the :guilabel: `MyInvois ` tab of the invoice, the :guilabel: `MyInvois State ` is updated to
204
- :guilabel: `Valid ` when the submission to MyInvois is successful. The :guilabel: `Submission UID `,
205
- :guilabel: `MyInvois ` and :guilabel: `Validation Time ` are also updated.
206
- The same information is available on MyInvois.
247
+ The current MyInvois status of an invoice or bill is shown in the :guilabel: `MyInvois State ` field
248
+ within the :guilabel: `MyInvois ` tab.
249
+
250
+ - :guilabel: `Validation in Progress `: the validation is being processed by MyInvois. A blue
251
+ :guilabel: `Processing ` banner is also displayed.
252
+ - :guilabel: `Valid `: it is validated by MyInvois. The :guilabel: `Submission UID `,
253
+ :guilabel: `MyInvois ` and :guilabel: `Validation Time ` are automatically updated with information
254
+ from MyInvois.
207
255
208
256
.. note ::
209
- If no information is received from the MyInvois portal, the :guilabel: ` MyInvois State ` is
210
- :guilabel: ` In Progress `. In this case, Odoo automatically checks and updates the status .
257
+ Odoo :doc: ` automatically checks and updates < ../../sales/subscriptions/scheduled_actions >` the
258
+ status every hour. To update it manually at any time, click :guilabel: ` Update MyInvois Status ` .
211
259
212
260
.. _malaysia/myinvois/workflow/cancellation :
213
261
214
262
Invoice cancellation
215
263
~~~~~~~~~~~~~~~~~~~~
216
264
217
265
Sent invoices can be canceled within 72 hours from :guilabel: `Validation time `. In this case, open
218
- the invoice and click :guilabel: `Request Cancel `. In the :guilabel: `Cancel document ` window, include
219
- the cancellation :guilabel: `Reason `, then click :guilabel: `Update Invoice `. The
266
+ the invoice and click :guilabel: `Request Cancel `. In the :guilabel: `Cancel document ` window,
267
+ include the cancellation :guilabel: `Reason `, then click :guilabel: `Update Invoice `. The
220
268
:guilabel: `MyInvois State ` is updated to :guilabel: `cancelled `.
221
269
270
+ Send credit notes to MyInvois
271
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
272
+
273
+ Before sending a credit note, the original invoice must be successfully submitted to MyInvois.
274
+ Otherwise, the credit note's :guilabel: `MyInvois State ` is updated to :guilabel: `Invalid `.
275
+
276
+ While Odoo uses a single :guilabel: `credit note ` document, MyInvois categorizes these into two
277
+ types: :guilabel: `credit note ` and :guilabel: `refund note `, depending on how they are reconciled.
278
+
279
+ - :guilabel: `MyInvois Credit Note `: This is created when an Odoo credit note is reconciled with the
280
+ original invoice.
281
+ - :guilabel: `MyInvois Refund Note `: This is created when an Odoo credit note is reconciled with a
282
+ full payment instead of the original invoice.
283
+
284
+ .. note ::
285
+ If a credit note is reconciled with only a partial payment before being sent, it is still
286
+ categorized as a :guilabel: `credit note ` in MyInvois.
287
+
288
+ .. tip ::
289
+ To issue both a credit note and a refund note for the same original invoice:
290
+ - Create two separate credit notes in Odoo from the original invoice.
291
+ - For a MyInvois :guilabel: `Refund Note `: Register a payment before sending it.
292
+ - For a MyInvois :guilabel: `Credit Note `: Do not register a payment before sending it.
293
+
294
+ .. note ::
295
+ The same logic applies to credit notes created from bills: if reconciled with a full payment,
296
+ the credit note becomes a :guilabel: `Self-billed Refund Note `; otherwise, it becomes a
297
+ :guilabel: `Self-billed Credit Note `.
298
+
299
+ Send debit notes to MyInvois
300
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301
+
302
+ :ref: `Issue a debit note from an existing bill or invoice <accounting/credit_notes/issue-debit-note >`
303
+ and click :guilabel: `Send To MyInvois `. In MyInvois, it appears then as a :guilabel: `Debit Note ` if
304
+ issued from an invoice or a :guilabel: `Self-billed Debit Note ` from a vendor bill.
305
+
306
+ Access invoices via QR code
307
+ ---------------------------
308
+
309
+ When a document is successfully submitted to MyInvois, a QR code is added to its PDF version.
310
+ Scanning this code links directly to the validated document in MyInvois.
311
+
312
+ To download the PDF from an invoice or bill:
313
+
314
+ #. Click the :icon: `fa-cog ` :guilabel: `(gear) ` icon
315
+ #. Select :guilabel: `Download `
316
+ #. Choose either :guilabel: `PDF ` or :guilabel: `PDF without Payment `
317
+
318
+ .. image :: malaysia/myinvois-qr-code.png
319
+ :alt: MyInvois QR code
320
+
222
321
.. _malaysia/employment-hero :
223
322
224
323
Employment Hero payroll
0 commit comments