diff --git a/content/applications/finance/accounting/bank.rst b/content/applications/finance/accounting/bank.rst index dc45c942f..62066dffe 100644 --- a/content/applications/finance/accounting/bank.rst +++ b/content/applications/finance/accounting/bank.rst @@ -110,6 +110,8 @@ You can edit the currency used to enter the statements. .. 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 890629467..000000000 Binary files a/content/applications/finance/fiscal_localizations/vietnam/vn-bank-account-journal-setting.png and /dev/null differ 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 f5007e21a..000000000 Binary files a/content/applications/finance/fiscal_localizations/vietnam/vn-paynow-bank-setting.png and /dev/null differ 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 6df1d5838..000000000 Binary files a/content/applications/finance/fiscal_localizations/vietnam/vn-qr-code-invoice-setting.png and /dev/null differ