From d7c0cdddbf47a5a2933fef36f8f7eca216c0b4f7 Mon Sep 17 00:00:00 2001 From: "Nicolas Viseur (vin)" Date: Wed, 4 Dec 2024 06:09:28 +0000 Subject: [PATCH] [IMP] l10n_vn: SInvoice documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recently, a new module released to support integration of Odoo with SInvoice to support e-invoicing for Vietnam. task - 3631616 closes odoo/documentation#11974 X-original-commit: 4b123b846472944866ea657ac1ff1f744b378544 Signed-off-by: Anne-Françoise Marcq (afma) Signed-off-by: Kim Dohyun (kido) --- .../applications/finance/accounting/bank.rst | 2 + .../finance/fiscal_localizations/vietnam.rst | 290 +++++++++++++++--- .../vn-bank-account-journal-setting.png | Bin 4405 -> 0 bytes .../vietnam/vn-paynow-bank-setting.png | Bin 4462 -> 0 bytes .../vietnam/vn-qr-code-invoice-setting.png | Bin 2850 -> 0 bytes 5 files changed, 255 insertions(+), 37 deletions(-) delete mode 100644 content/applications/finance/fiscal_localizations/vietnam/vn-bank-account-journal-setting.png delete mode 100644 content/applications/finance/fiscal_localizations/vietnam/vn-paynow-bank-setting.png delete mode 100644 content/applications/finance/fiscal_localizations/vietnam/vn-qr-code-invoice-setting.png diff --git a/content/applications/finance/accounting/bank.rst b/content/applications/finance/accounting/bank.rst index 3ba2df7d9..1513d09c6 100644 --- a/content/applications/finance/accounting/bank.rst +++ b/content/applications/finance/accounting/bank.rst @@ -120,6 +120,8 @@ You can edit the currency used to enter the transactions. .. seealso:: :doc:`get_started/multi_currency` +.. _accounting/bank/account-number: + Account number -------------- diff --git a/content/applications/finance/fiscal_localizations/vietnam.rst b/content/applications/finance/fiscal_localizations/vietnam.rst index 76f4f24ed..908e67e2c 100644 --- a/content/applications/finance/fiscal_localizations/vietnam.rst +++ b/content/applications/finance/fiscal_localizations/vietnam.rst @@ -2,55 +2,271 @@ Vietnam ======= -Add Vietnamese QR banking codes to invoices -=========================================== +.. _SInvoice: https://www.sinvoice.vn/ + +.. _localizations/vietnam/modules: + +Modules +======= + +The following modules are installed automatically with the Vietnamese localization: + +.. list-table:: + :header-rows: 1 + + * - Name + - Technical name + - Description + * - :guilabel:`Vietnam - Accounting` + - `l10n_vn` + - This module includes the default + :ref:`fiscal localization package `. + * - :guilabel:`Vietnam - E-invoicing` + - `l10n_vn_edi_viettel` + - This module includes the features required for integration with :ref:`SInvoice + `. + +.. note:: + In some cases, such as when upgrading to a version with additional modules, it is possible that + modules may not be installed automatically. Any missing modules can be manually :ref:`installed + `. + +.. _localizations/vietnam/company: + +Company +======= + +To use all the features of this fiscal localization, the following fields are required on the +:doc:`company record `: + +- :guilabel:`Name` +- :guilabel:`Address`, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, + and :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. + +.. _localizations/vietnam/sinvoice: + +E-invoicing with SInvoice +========================= + +SInvoice_ is an e-invoice service platform provided by Viettel, one of the biggest e-invoice service +providers in Vietnam. Odoo supports integration with SInvoice to submit invoices generated in Odoo. + +Configuration +------------- + +SInvoice platform +~~~~~~~~~~~~~~~~~ + +To send electronic invoices to SInvoice, the following must be created on SInvoice_: + +- :ref:`SInvoice account ` +- :ref:`Invoice template ` +- :ref:`Invoice symbol ` +- :ref:`Invoice issuance notice ` + +.. _localizations/vietname/sinvoice-registration: + +SInvoice registration +********************* + +To create an account, go to SInvoice_ and register for the desired plan. Fill in the form that +opens to be contacted by SInvoice_ to create an account. + +Once you have an account, log into SInvoice_ using your :guilabel:`Username` and +:guilabel:`Password`. + +.. _localizations/vietname/sinvoice-template: + +Invoice template creation +************************* + +#. On the left side of the overview page, in the :guilabel:`Release management` menu, click + :guilabel:`Create business information`. +#. In the :guilabel:`Update key information` step, fill in the following fields and other optional + information if needed: :guilabel:`Unit name`, :guilabel:`Address`, :guilabel:`Contact person`, + :guilabel:`Type of representative documents`. +#. Click :guilabel:`Update`. +#. In the :guilabel:`Look up digital certificate` step, click :guilabel:`Add new` to add a digital + certificate. +#. Select the :guilabel:`Branch/Enterprise` and the :guilabel:`Type of digital certificate`, then + fill in the required fields for each type: + + - :guilabel:`Supplier`: CloudCA + - :guilabel:`Signer ID`: CloudCA + - :guilabel:`Digital Certificate`: CloudCA + - :guilabel:`How to download file`: HSM + - :guilabel:`File Upload`: HSM, USB-TOKEN + +#. Click :guilabel:`Generate key pair` to generate encryption keys for authentication, and + :guilabel:`Save`. +#. In the :guilabel:`Manage invoice templates` step, add a new :guilabel:`Invoice template`. +#. Select the :guilabel:`Invoice type` and fill in the :guilabel:`Invoice template code`, + :guilabel:`Invoice template name`, and other optional information if needed. +#. Click :guilabel:`Update`. + +.. seealso:: + `SInvoice documentation on electronic invoice template creation + `_ + +.. _localizations/vietname/sinvoice-symbol: + +Invoice symbol creation +*********************** + +On the left side of the main screen, in the :guilabel:`Release management` menu, click +:guilabel:`Invoice symbol` and follow these steps: + +#. Click :guilabel:`Add new` and select the :guilabel:`Invoice template`. +#. Set the :guilabel:`Status` to :guilabel:`Active` to activate the symbol and fill in the + :guilabel:`Invoice symbol`. +#. Enable :guilabel:`Stop automatic sending to tax authorities` and :guilabel:`Default for built-in + API` based on preference. +#. Click :guilabel:`Save`. + +.. _localizations/vietname/sinvoice-notice: + +Invoice issuance notice +*********************** + +On the left side of the main screen, in the :guilabel:`Release management` menu, click +:guilabel:`Create issuance notice` and follow these steps: + +#. Click :guilabel:`Add new`, select the :guilabel:`Name of the business unit to issue an e-invoice` + and the :guilabel:`Tax agency name`. Based on the business unit and tax agency selected, the + :guilabel:`Tax code`, :guilabel:`Address`, :guilabel:`Phone number`, and :guilabel:`Separator + used` are automatically filled and uneditable. +#. Click :guilabel:`Select the invoice type for issuance`, and then select and fill in the + following information : + + - :guilabel:`Invoice type`: The invoice type on which to declare an issuance notice. + - :guilabel:`Invoice template`: Select from the list of templates available based on the invoice + type. + - :guilabel:`Symbol`: Select from the list of symbols available based on the invoice type. + - :guilabel:`Quantity`: Total number of invoices to issue for the selected type. Based on the + type and template selected, this field is filled in automatically. It can be changed if needed. + - :guilabel:`Start date of use`: The date from which the invoice template, range, and quantity + are used for the issuance notice. + +#. Click :guilabel:`Save` and select more invoice types if necessary by repeating the steps above. + Click :guilabel:`Save` to finish drafting the notice. +#. Click :guilabel:`Send to tax authorities` for approval. Once approved, the notice's + :guilabel:`Status` is changed to :guilabel:`Active`. + +.. _localizations/vietnam/sinvoice-odoo: + +Odoo database +~~~~~~~~~~~~~ + +Link Odoo to SInvoice +********************* + +To connect Odoo with SInvoice, go to :menuselection:`Accounting --> Configuration --> Settings`. +In the :guilabel:`Vietnamese Integration` section, fill in your SInvoice :guilabel:`Username` and +:guilabel:`Password`. Add a :guilabel:`Default symbol` to generate a prefix for the invoice number +managed in SInvoice if needed. + +Invoice template +**************** + +To create SInvoice templates, go to :menuselection:`Accounting --> Configuration --> Templates`. +Click :guilabel:`New` and add a :guilabel:`Template code` and a :guilabel:`Template Invoice Type`. +The :guilabel:`Template code` is the initial sequence of digits in the name assigned by SInvoice. +For example, if the invoice template is `1/001 - Hóa đơn GTGT - ND123`, the :guilabel:`Template +code` is `1/001`. The SInvoice templates in Odoo must match the ones in SInvoice. + +To add :guilabel:`Invoice Symbols`, click :guilabel:`Add a new line`. + +Sending invoices to SInvoice +---------------------------- + +Invoices can be sent to SInvoice once they have been confirmed. To do so, follow the +:ref:`invoice sending ` steps. In the :guilabel:`Send` popup, enable +:guilabel:`Send to SInvoice` and click :guilabel:`Send & Print`. + +Once the invoice has been successfully submitted to SInvoice, the :guilabel:`SInvoice Status` field +in the :guilabel:`SInvoice` tab of the invoice is updated to :guilabel:`Sent`. The +:guilabel:`SInvoice Number`, :guilabel:`Issue Date`, :guilabel:`Secret Code` and :guilabel:`eInvoice +Number` fields are also updated. The same information is available on SInvoice. + +Replacement or adjustment invoices +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A replacement invoice is issued to correct an invoice that has **yet to be tax declared**, whereas +an adjustment invoice is issued to correct one that has **already been tax declared**. Follow these +steps to issue a replacement or adjustment invoice: + +#. Open the invoice and click :guilabel:`Credit Note`. +#. In the :guilabel:`Credit Note` popup, fill in the following fields: + + - :guilabel:`Reason displayed on Credit Note` + - :guilabel:`Adjustment type` + - :guilabel:`Agreement Name` + - :guilabel:`Agreement Date` + - :guilabel:`Journal` + - :guilabel:`Reversal date` + +#. Click :guilabel:`Reverse and Create Invoice` to issue a replacement invoice, or + :guilabel:`Reverse` to issue an adjustment invoice. + +The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to +:guilabel:`Replaced` for a replacement invoice or :guilabel:`Adjusted` for an adjustment invoice. + +Invoice cancellation +~~~~~~~~~~~~~~~~~~~~ + +If an invoice needs to be canceled, open the invoice and click :guilabel:`Request Cancel`. In the +:guilabel:`Invoice Cancellation` popup, enter the cancellation :guilabel:`Reason`, +:guilabel:`Agreement Name`, and :guilabel:`Agreement Date`, and click :guilabel:`Request +Cancellation`. + +The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to +:guilabel:`Canceled`. + +.. _localizations/vietnam/qrcode: + +QR banking codes +================ Vietnamese QR banking is a payment service platform that allows customers to make instant domestic payments to individuals and merchants in Vietnamese dong via online and mobile banking. -Activate QR codes ------------------ +Configuration +------------- -Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer -Payments` section, activate the :guilabel:`QR Codes` feature. +To activate QR banking codes, go to :menuselection:`Accounting --> Configuration --> Settings` and +enable :guilabel:`QR Codes` in the :guilabel:`Customer Payments` section. -Vietnamese QR banking bank account configuration ------------------------------------------------- +Bank account +~~~~~~~~~~~~ -Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for -which you want to activate Vietnamese QR banking. Set the :guilabel:`Bank Identifier Code` on the -bank. Then set the :guilabel:`Proxy Type` and fill in the :guilabel:`Proxy Value` field depending on -the type you chose. +To activate QR banking for a bank account, go to :menuselection:`Contacts --> Configuration --> +Bank Accounts` and select the bank account. Fill in the :guilabel:`Bank Identifier Code`, +:guilabel:`Proxy Type` (based on the information used to identify the :guilabel:`Merchant Account`, +such as the card number and bank account numbers), and :guilabel:`Proxy Value` fields. + +Enable :guilabel:`Include Reference` to include the invoice number in the QR code. .. important:: - - The account holder's country must be set to `Vietnam` on its contact form. - - The account holder's city is mandatory. - - You could also include the invoice number in the QR code by checking the :guilabel:`Include - Reference` checkbox. - -.. image:: vietnam/vn-paynow-bank-setting.png - :alt: Vietnamese QR banking bank account configuration + - The account holder's country must be set to `Vietnam`, and their city must be specified on the + contact form. + - The :ref:`account number ` and bank must be set on the + :guilabel:`Bank` journal. .. seealso:: :doc:`../accounting/bank` -Bank journal configuration --------------------------- +Generating QR codes on invoices +------------------------------- -Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill -out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab. +When creating a new invoice, open the :guilabel:`Other Info` tab and select :guilabel:`EMV +Merchant-Presented QR-code` in the :guilabel:`Payment QR-code` field. -.. image:: vietnam/vn-bank-account-journal-setting.png - :alt: Bank Account's journal configuration - -Issue invoices with Vietnamese QR banking QR codes --------------------------------------------------- - -When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment -QR-code` option to *EMV Merchant-Presented QR-code*. - -.. image:: vietnam/vn-qr-code-invoice-setting.png - :alt: Select EMV Merchant-Presented QR-code option - -Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to -generate the Vietnamese QR banking QR code. +.. note:: + Ensure the :guilabel:`Recipient Bank` is configured, as Odoo uses this field to generate QR + codes. diff --git a/content/applications/finance/fiscal_localizations/vietnam/vn-bank-account-journal-setting.png b/content/applications/finance/fiscal_localizations/vietnam/vn-bank-account-journal-setting.png deleted file mode 100644 index 890629467977429336faf7b6aabb82d91c7fde77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4405 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 b%VZ@|4uT;|n4bOpgAgdmeUz<{HVge9@Z!FJ diff --git a/content/applications/finance/fiscal_localizations/vietnam/vn-paynow-bank-setting.png b/content/applications/finance/fiscal_localizations/vietnam/vn-paynow-bank-setting.png deleted file mode 100644 index f5007e21a56e0fe36c6a19a4942f0821558a1a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4462 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 Wsj;W;XYu!e0?^eo)WE3OMg1QuK)2rj diff --git a/content/applications/finance/fiscal_localizations/vietnam/vn-qr-code-invoice-setting.png b/content/applications/finance/fiscal_localizations/vietnam/vn-qr-code-invoice-setting.png deleted file mode 100644 index 6df1d583850699de94880e22c41fec558e5edf4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2850 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