diff --git a/content/applications/finance/accounting/taxes/avatax.rst b/content/applications/finance/accounting/taxes/avatax.rst index f5bbb75799..cf278430d2 100644 --- a/content/applications/finance/accounting/taxes/avatax.rst +++ b/content/applications/finance/accounting/taxes/avatax.rst @@ -13,7 +13,7 @@ transactions. *AvaTax* is only available for integration with databases/companies that have locations in the United States, Canada, and Brazil. This means the fiscal position/country of a database can only be set to the United States, Canada, or Brazil. For more information, reference this - documentation: :ref:`avatax/fiscal_country`. + documentation: :ref:`accounting/avatax/fiscal_country`. *AvaTax* accounts for location-based tax rates for each state, county, and city. It improves remittance accuracy by paying close attention to laws, rules, jurisdiction boundaries, and special @@ -42,7 +42,8 @@ connect with Avalara to purchase a license: `Avalara: Let's Talk .. tip:: Upon account setup, take note of the *AvaTax* :guilabel:`Account ID`. This will be needed in the - :ref:`Odoo setup `. In Odoo, this number is the :guilabel:`API ID`. + :ref:`Odoo setup `. In Odoo, this number is the :guilabel:`API + ID`. Then, `create a basic company profile `_. @@ -65,7 +66,7 @@ Follow the Avalara documentation for creating a basic company profile: #. `Add a marketplace to the company profile `_. -.. _avatax/create_avalara_credentials: +.. _accounting/avatax/create_avalara_credentials: Connect to AvaTax ----------------- @@ -102,6 +103,8 @@ If this is an additional license key, ensure the previous connection can be brok Copy this key to a safe place. It is strongly encouraged to back up the license key for future reference. This key **cannot** be retrieved after leaving this screen. +.. _accounting/avatax/odoo-configuration: + Odoo configuration ================== @@ -111,7 +114,7 @@ are made accurately. Verify that the Odoo database contains necessary data. The country initially set up in the database determines the fiscal position, and aids *AvaTax* in calculating accurate tax rates. -.. _avatax/fiscal_country: +.. _accounting/avatax/fiscal_country: Fiscal country -------------- @@ -210,7 +213,7 @@ and :guilabel:`Amazon/Avatax Bridge`, respectively. - :doc:`../../fiscal_localizations/brazil` - :doc:`../../fiscal_localizations/united_states` -.. _avatax/credentials: +.. _accounting/avatax/credentials: Odoo AvaTax settings -------------------- @@ -228,6 +231,8 @@ Odoo database. :align: center :alt: Configure AvaTax settings +.. _accounting/avatax/prerequisites: + Prerequisites ~~~~~~~~~~~~~ @@ -253,7 +258,7 @@ Key` field. :guilabel:`Account ID` is listed first. To access the :guilabel:`License Key` see this documentation: - :ref:`avatax/create_avalara_credentials`. + :ref:`accounting/avatax/create_avalara_credentials`. For the :guilabel:`Company Code` field, enter the Avalara company code for the company being configured. Avalara interprets this as `DEFAULT`, if it is not set. The :guilabel:`Company Code` can @@ -332,7 +337,7 @@ Sync parameters Upon finishing the configuration and settings of the *AvaTax* section, click the :guilabel:`Sync Parameters` button. This action synchronizes the exemption codes from *AvaTax*. -.. _avatax/fiscal_positions: +.. _accounting/avatax/fiscal_positions: Fiscal position --------------- diff --git a/content/applications/finance/accounting/taxes/avatax/avatax_use.rst b/content/applications/finance/accounting/taxes/avatax/avatax_use.rst index 0812283859..fda71047fb 100644 --- a/content/applications/finance/accounting/taxes/avatax/avatax_use.rst +++ b/content/applications/finance/accounting/taxes/avatax/avatax_use.rst @@ -6,6 +6,8 @@ AvaTax is a tax calculation software that can be integrated with Odoo in the Uni Canada. Once the :doc:`integration setup <../avatax>` is complete, the calculated tax is simple and automatic. +.. _accounting/avatax/tax-calculation: + Tax calculation =============== diff --git a/content/applications/finance/fiscal_localizations/brazil.rst b/content/applications/finance/fiscal_localizations/brazil.rst index 53baecf15a..6dbc821bce 100644 --- a/content/applications/finance/fiscal_localizations/brazil.rst +++ b/content/applications/finance/fiscal_localizations/brazil.rst @@ -89,27 +89,8 @@ local fiscal and accounting regulations: to Brazilian accounting standards - :ref:`Taxes `: pre-configured tax rates, including standard VAT, zero-rated, and exempt options. -- :ref:`Products ` -- :ref:`Contacts ` -- :ref:`Fiscal positions `: automated tax adjustments based - on customer or supplier registration status. - :doc:`Payroll ` - :doc:`Reporting <../accounting/reporting>` -- :ref:`AvaTax integration ` -- :ref:`Tax computation ` - -Sales taxes can be automatically computed, and electronic invoices for goods (NF-e) and services -(NFS-e) can be sent using AvaTax (Avalara) through |API| calls. Moreover, taxes for services can be -configured. - -For the goods and services tax computation and electronic invoicing process, configure the -:ref:`contacts `, :ref:`company -`, and :ref:`products ` -and :ref:`create an account in AvaTax ` in the general -settings. - -For the services taxes, create and configure them from Odoo directly without computing them with -AvaTax. .. _localizations/brazil/chart-of-accounts: @@ -136,29 +117,190 @@ Taxes used for services must be manually added and configured, as the rate may d the city where the service is offered. .. important:: - For service taxes created manually, NFS-e can't be issued. To electronically send an NFS-e, - compute taxes using Avalara. + NFS-e can't be issued for service taxes created manually. To :ref:`electronically send an NFS-e + `, compute taxes using Avalara. .. warning:: Do not delete taxes, as they are used for the AvaTax tax computation. If deleted, Odoo creates - them again when used in an |SO| or invoice, and computing taxes with AvaTax. However, the account - used to register the tax must be re-configured in the tax's :guilabel:`Definition` tab, under + them again when used in an |SO| or invoice, computing taxes with AvaTax. However, the account + used to register the tax must be reconfigured in the tax's :guilabel:`Definition` tab, under the :guilabel:`Distribution for invoices` and :guilabel:`Distribution for refunds` sections. +.. _localizations/brazil/company-and-contacts: + +Company and contacts +==================== + +To use all the features of this fiscal localization, the following fields are required on the +:doc:`company record `: + +- :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:`Identification Number`: :guilabel:`CNPJ` or :guilabel:`CPF` +- :guilabel:`Tax ID`: associated with the identification type +- :guilabel:`IE`: State registration +- :guilabel:`IM`: Municipal registration +- :guilabel:`SUFRAMA code`: Superintendence of the Manaus Free Trade Zone - add if applicable +- :guilabel:`Phone` +- :guilabel:`Email` + +Configure the :guilabel:`Fiscal Information` within the :guilabel:`Sales and Purchase` tab: + + - Add the :ref:`Fiscal Position ` for AvaTax Brazil. + - :guilabel:`Tax Regime`: Federal Tax Regime + - :guilabel:`ICMS Taxpayer Type`: indicates :guilabel:`ICMS regime`, :guilabel:`Exempt status`, + or :guilabel:`Non-Taxpayer` + - :guilabel:`Main Activity Sector` + +Configure the following extra :guilabel:`Fiscal Information` to issue NFS-e: + + - Add the :ref:`Fiscal Position ` for AvaTax Brazil. + - :guilabel:`COFINS Details`: :guilabel:`Taxable, Not Taxable, Taxable with rate 0%, Exempt, + Suspended` + - :guilabel:`PIS Details` :guilabel:`Taxable, Not Taxable, Taxable with rate 0%, Exempt, + Suspended` + - :guilabel:`CSLL Taxable` if the company is subject to CSLL or not + +.. tip:: + If it is a simplified regime, the ICMS rate must be configured. To do so, go to + :menuselection:`Accounting --> Configuration --> Settings`, scroll down to the :guilabel:`Taxes` + section, and set the :guilabel:`Sales Tax` and :guilabel:`Purchase Tax` fields in the + :guilabel:`Default Taxes` section. + +The same configuration applies to the relevant :doc:`contact <../../essentials/contacts>` form when +using the AvaTax integration. + +.. note:: + Select the :guilabel:`Company` option for a contact with a tax ID (CNPJ), or check + :guilabel:`Individual` for a contact with a CPF. + +.. _localizations/brazil/avatax-account: + +AvaTax integration +================== + +.. note:: + - Make sure to :ref:`install ` the :guilabel:`AvaTax Brazil` (`l10n_br_avatax`) + module. + - Odoo is a certified partner of Avalara Brazil. + - The :doc:`Avalara AvaTax integration <../accounting/taxes/avatax>` uses :doc:`In-App-Purchases + (IAPs) <../../essentials/in_app_purchase>` to compute taxes and handle electronic documents + (e.g., :ref:`NF-e `, :ref:`NFS-e + `). Each action consumes credits from the `IAP credit + balance `_. On creation, new databases receive + 500 free credits. + +To compute the goods and services tax and process electronic invoices, the following configurations +are needed: + +- :ref:`Company ` +- :ref:`Contacts ` +- :ref:`AvaTax configuration`. +- :ref:`A1 digital certificate ` +- :ref:`Tax mapping ` +- :ref:`Products ` + +.. _localizations/brazil/avatax-configuration: + +Configuration +------------- + +.. _localizations/brazil/avatax-credentials: + +Credentials +~~~~~~~~~~~ + +:ref:`Activate AvaTax in Odoo ` and, in the :guilabel:`AvaTax Brazil` +section, add the administrator's email address for the AvaTax portal in the :guilabel:`AvaTax Portal +Email` field, then click :icon:`fa-plug` :guilabel:`Create account`. + +.. warning:: + When **testing** or **creating a production** :guilabel:`AvaTax Portal Email` integration in a + sandbox or production database, use a real email address, as it is needed to :ref:`connect to + Avalara ` and set up the certificates, whether to test or use it + on production. + + There are two different Brazilian Avalara Portals: + + - One for testing: https://portal.sandbox.avalarabrasil.com.br/ + - One for production: https://portal.avalarabrasil.com.br/ + + When the account is created from Odoo, select the right environment. Moreover, the email used to + open the account cannot be used to open another account. Save the :guilabel:`API ID` and + :guilabel:`API Key` when the account is created from Odoo. + + .. image:: brazil/transfer-api-credentials.png + :alt: Transfer API Credentials. + +After the account is created from Odoo, go to the Avalara Portal to set up the password: + +#. Access the `Avalara portal `_. +#. Click :guilabel:`Meu primeiro acesso`. +#. Add the email address used in Odoo to create the Avalara/AvaTax account, and click + :guilabel:`Solicitar Senha`. +#. An email will then be received with a token and a link to create a password. Click on this link + and copy-paste the token to allocate the desired password. + +.. tip:: + If you use AvaTax in Odoo for tax computation **only**, setting a password or accessing the + Avalara portal is unnecessary. However, to use the electronic invoice service, access to + AvaTax is needed, and the :ref:`certificate must be uploaded + `. + +.. note:: + |API| credentials can be transferred. This option should be used only when an account has already + been created in another Odoo instance and must be reused. + +.. _localizations/brazil/certificate-upload: + +A1 certificate upload +~~~~~~~~~~~~~~~~~~~~~ + +To issue electronic invoices, a certificate must be uploaded to the `AvaTax portal +`_. + +The certificate will be synchronized with Odoo as long as the external identifier number in the +AvaTax portal matches, without special characters, with the CNPJ number, and the identification +number (CNPJ) in Odoo matches the CNPJ in AvaTax. + +.. important:: + Some cities require the certificate to be linked within the City Portal system before issuing + NFS-e from Odoo. + + If an error message from the city that says :guilabel:`Your certificate is not linked + to the user` is received, this process needs to be done in the city portal. + +.. _localizations/brazil/fiscal-positions: + +Fiscal positions +~~~~~~~~~~~~~~~~ + +To set up the :guilabel:`Automatic Tax Mapping (Avalara Brazil)` :ref:`fiscal position +`, enable the :guilabel:`Detect Automatically` and +:guilabel:`Use AvaTax Brazil API` options. + .. seealso:: - :doc:`Taxes functional documentation <../accounting/taxes>` + :doc:`Fiscal positions <../accounting/taxes/fiscal_positions>` .. _localizations/brazil/products: Products --------- +~~~~~~~~ To use the AvaTax integration on sales orders and invoices, enter the following information in the :guilabel:`Sales` tab of the product form under the :guilabel:`Brazil Accounting` section, based on how the product will be used. -E-Invoice for goods (NF-e) -~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. _localizations/brazil/e-invoice-goods: + +E-invoices for goods (NF-e) +*************************** .. important:: The :ref:`Avalara integration ` works on a credit-based @@ -180,7 +322,7 @@ E-Invoice for goods (NF-e) - :ref:`Invoice cancellation ` - :ref:`Sales refund via credit note ` - :ref:`Sales complementary invoice via debit note ` - - :ref:`Invalidate invoice number range ` + - :ref:`Invoice number range invalidation ` - Other tax validations. .. note:: @@ -196,16 +338,16 @@ E-Invoice for goods (NF-e) | :icon:`fa-arrow-down` 1 credit (tax calculation) + 1 credit (submit invoice) | **Total: 4 credits** -- :guilabel:`CEST Code`: code for products subject to ICMS tax substitution +- :guilabel:`CEST Code`: tax classification code identifying goods and products subject to tax + substitution under ICMS regulations, and helps determine the applicable tax treatment and + procedures for specific items. The product's applicability to this requirement can be verified at + https://www.codigocest.com.br/. - :guilabel:`Mercosul NCM Code`: Mercosur Common Nomenclature Product Code - :guilabel:`Source of Origin`: origin of the product, which can be foreign or domestic, among other possible options, depending on the specific use case -- :guilabel:`SPED Fiscal Product Type`: fiscal product type according to SPED list table +- :guilabel:`SPED Fiscal Product Type`: fiscal product type according to the SPED list table - :guilabel:`Purpose of Use`: intended purpose of use for this product -.. image:: brazil/product-configuration.png - :alt: Product configuration. - .. note:: Odoo automatically creates three products to be used for transportation costs associated with sales. These are named :guilabel:`Freight`, :guilabel:`Insurance`, and :guilabel:`Other Costs` @@ -215,12 +357,14 @@ E-Invoice for goods (NF-e) - :guilabel:`Transportation Cost Type`: :guilabel:`Insurance`, :guilabel:`Freight`, or :guilabel:`Other Costs` -E-Invoice for services (NFS-e) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. _localizations/brazil/e-invoice-services: + +E-invoices for services (NFS-e) +******************************* .. important:: The :ref:`Avalara integration ` works on a credit-based - system, where each interaction with Avalara consumes 1 credit. Below are the main + system, where each interaction with Avalara consumes one credit. Below are the main credit-consuming operations: **Sales application** @@ -239,11 +383,11 @@ E-Invoice for services (NFS-e) - :ref:`Invoice cancellation ` - :ref:`Sales refund via credit note ` - :ref:`Sales complementary invoice via debit note ` - - :ref:`Invalidate invoice number range ` + - :ref:`Invoice number range invalidation ` - Other tax validations. .. note:: - If taxes are calculated in the **Sales** app, and the invoice is later issued in the + If taxes are calculated in the **Sales** app and the invoice is later issued in the **Accounting** app, the calculation happens twice, consuming two credits. .. example:: @@ -258,197 +402,18 @@ E-Invoice for services (NFS-e) - :guilabel:`Mercosul NCM Code`: Mercosur Common Nomenclature Product Code - :guilabel:`Purpose of Use`: intended purpose of use for this product - :guilabel:`Service Code Origin`: City Service Code where the provider is registered -- :guilabel:`Labor Assignment`: checkbox to select if service involves labor +- :guilabel:`Labor Assignment`: checkbox to select if the service involves labor - :guilabel:`Transport Cost Type`: type of transport costs to select - :guilabel:`Service Codes`: City Service Code where the service will be provided; if no code is added, the :guilabel:`Service Code Origin` will be used. -.. _localizations/brazil/company-and-contacts: - -Company and contacts --------------------- - -To use all the features of this fiscal localization, the following fields are required on the -:doc:`company record `: - -- :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:`Identification Number`: :guilabel:`CNPJ` or :guilabel:`CPF` -- :guilabel:`Tax ID`: associated with the identification type -- :guilabel:`IE`: State registration -- :guilabel:`IM`: Municipal registration -- :guilabel:`SUFRAMA code`: Superintendence of the Manaus Free Trade Zone - add if applicable -- :guilabel:`Phone` -- :guilabel:`Email` - - .. image:: brazil/contact-configuration.png - :alt: Company configuration. - -Configure the :guilabel:`Fiscal Information` within the :guilabel:`Sales and Purchase` tab: - - - Add the :guilabel:`Fiscal Position` for :ref:`AvaTax Brazil - `. - - :guilabel:`Tax Regime`: Federal Tax Regime - - :guilabel:`ICMS Taxpayer Type`: indicates :guilabel:`ICMS regime`, :guilabel:`Exempt status`, - or :guilabel:`Non-Taxpayer` - - :guilabel:`Main Activity Sector` - - .. image:: brazil/contact-fiscal-configuration.png - :alt: Company fiscal configuration. - -Configure the following extra :guilabel:`Fiscal Information` to issue NFS-e: - - - Add the :guilabel:`Fiscal Position` for :ref:`AvaTax Brazil - `. - - :guilabel:`COFINS Details`: :guilabel:`Taxable, Not Taxable, Taxable with rate 0%, Exempt, - Suspended` - - :guilabel:`PIS Details` :guilabel:`Taxable, Not Taxable, Taxable with rate 0%, Exempt, - Suspended` - - :guilabel:`CSLL Taxable` if the company is subject to CSLL or not - - .. image:: brazil/contact-fiscal-configuration-nfse.png - :alt: Company fiscal configuration for NFSe. - -.. note:: - If it is a simplified regime, the ICMS rate under :menuselection:`Accounting --> Configuration - --> Settings --> Taxes --> AvaTax Brazil` must be configured. - -The same configuration applies to the relevant :doc:`contact <../../essentials/contacts>` form when -using the AvaTax integration. - -.. note:: - Select the :guilabel:`Company` option for a contact with a tax ID (CNPJ), or check - :guilabel:`Individual` for a contact with a CPF. - -.. _localizations/brazil/fiscal-positions: - -Fiscal positions ----------------- - -To compute taxes and send electronic invoices on sales orders and invoices, both the -:guilabel:`Detect Automatically` and the :guilabel:`Use AvaTax Brazil API` options need to be -enabled in the :guilabel:`Fiscal Position`. To do so, go to :menuselection:`Accounting --> -Configuration --> Fiscal Positions`. Then, open :guilabel:`Automatic Tax Mapping (Avalara Brazil)` -and update it accordingly. - -.. image:: brazil/fiscal-position-configuration.png - :alt: Fiscal position configuration - -The :doc:`fiscal positions <../accounting/taxes/fiscal_positions>` can be configured: - -- either on the :ref:`contact `, in the :guilabel:`Sales - & Purchase` tab under the :guilabel:`Fiscal Information` section; -- or when creating a sales order or an invoice, in the :guilabel:`Other Info` tab under the - :guilabel:`Invoicing` or :guilabel:`Accounting` section. - -.. _localizations/brazil/avatax-account: - -AvaTax integration ------------------- - -Avalara AvaTax is a tax calculation and electronic invoicing provider that can be integrated into -Odoo to compute taxes automatically. It considers the company, contact (customer), product, and -transaction information to retrieve the correct tax to be used and process the e-invoice afterward -with the government. - -This integration requires :doc:`In-App-Purchases (IAPs) <../../essentials/in_app_purchase>` to -compute taxes and send electronic invoices. To compute taxes, send an electronic document (NF-e, -NFS-e, etc.), or perform any electronic flow (NF-e Cancellation, Correction letter, Invalidate -invoice number range), an API call is made using credits from the `IAP credit balance -`_. - -.. note:: - - Odoo is a certified partner of Avalara Brazil. - - Buy `IAP credits on odoo.com `_. - - On creation, new databases receive 500 free credits. - -.. seealso:: - :doc:`In-App-Purchases (IAPs) <../../essentials/in_app_purchase>` - -.. _localizations/brazil/credential-configuration: - -Credential configuration -~~~~~~~~~~~~~~~~~~~~~~~~ - -To activate AvaTax in Odoo, an account must be created. To do so, go to :menuselection:`Accounting ---> Configuration --> Settings --> Taxes`. In the :guilabel:`AvaTax Brazil` section, add the -administration Email address for the AvaTax portal in :guilabel:`AvaTax Portal Email`, and click -:icon:`fa-plug` :guilabel:`Create account`. - -.. warning:: - When **testing** or **creating a production** :guilabel:`AvaTax Portal Email` integration in a - sandbox or production database, use a real Email address, as it is needed to log in to the - Avalara Portal and set up the certificates, whether to test or use it on production. - - There are two different Avalara Portals, one for testing and one for production: - - - Sandbox: https://portal.sandbox.avalarabrasil.com.br/ - - Production: https://portal.avalarabrasil.com.br/ - - When the account is created from Odoo, select the right environment. Moreover, the Email used to - open the account cannot be used to open another account. Save the :guilabel:`API ID` and - :guilabel:`API Key` when the account is created from Odoo. - - .. image:: brazil/transfer-api-credentials.png - :alt: Transfer API Credentials. - -After the account is created from Odoo, go to the Avalara Portal to set up the password: - -#. Access the `Avalara portal `_. -#. Click :guilabel:`Meu primeiro acesso`. -#. Add the Email address used in Odoo to create the Avalara/AvaTax account, and click - :guilabel:`Solicitar Senha`. -#. An Email will then be received with a token and a link to create a password. Click on this link - and copy-paste the token to allocate the desired password. - -.. tip:: - Start using AvaTax in Odoo for tax computation **only**, without creating a password and - accessing the Avalara portal in the Odoo database. However, to use the electronic invoice - service, you **must** access the AvaTax portal and upload the certificate there. - -.. image:: brazil/avatax-account-configuration.png - :alt: AvaTax account configuration. - -.. note:: - |API| credentials can be transferred. This option should be used only when an account has already - been created in another Odoo instance and must be reused. - -.. _localizations/brazil/certificate-upload: - -A1 certificate upload -~~~~~~~~~~~~~~~~~~~~~ - -To issue electronic invoices, a certificate must be uploaded to the `AvaTax portal -`_. - -The certificate will be synchronized with Odoo as long as the external identifier number in the -AvaTax portal matches - without special characters - with the CNPJ number, and the -identification number (CNPJ) in Odoo matches the CNPJ in AvaTax. - -.. important:: - Some cities require the certificate to be linked within the City Portal system before issuing - NFS-e from Odoo. - - If an error message from the city that says :guilabel:`Your certificate is not linked - to the user` is received, this process needs to be done in the city portal. - .. _localizations/brazil/tax-computation: Tax computation --------------- -.. warning:: - Actions that trigger |API| calls for tax computation come with a cost. Be mindful of the - actions that trigger these calls to manage costs effectively. - .. seealso:: - :doc:`In-App-Purchases (IAPs) <../../essentials/in_app_purchase>` + :ref:`Tax calculation ` .. _localizations/brazil/tax-calculations: @@ -465,7 +430,7 @@ any of the following ways: - **Preview** Click :guilabel:`Preview`. - **Email a quotation/sales order** - Send a quotation or sales order to a customer via Email. + Send a quotation or sales order to a customer via email. - **Online quotation access** When a customer accesses the quotation online (via the portal view), the |API| call is triggered. @@ -510,17 +475,14 @@ Configuration A *series* number is linked to a sequence number range for electronic invoices. To configure the series number on a sales journal, go to :menuselection:`Accounting --> Configuration --> Journals` and set it in the :guilabel:`Series` field. If more than one series is needed, a new sales journal -must be created, and a new series number assigned for each series. +must be created, and a new series number must be assigned for each series. Enable the :guilabel:`Use Documents?` option as the :guilabel:`Series` field will only be displayed -if the :guilabel:`Use Documents?` field is selected on the journal. +if the :guilabel:`Use Documents?` option is selected on the journal. When issuing electronic and non-electronic invoices, the :guilabel:`Type` field selects the document type used when creating the invoice. -.. image:: brazil/journal-configuration.png - :alt: Journal configuration with the Use Documents? field checked. - .. note:: When creating the journal, ensure the :guilabel:`Dedicated Credit Note Sequence` field in the :guilabel:`Accounting Information` section is unchecked, as in Brazil, sequences between @@ -534,12 +496,12 @@ Customer invoices To process an electronic invoice for goods (NF-e) or services (NFS-e), the invoice must be confirmed and taxes must be computed by Avalara. The following fields must be filled out: -- :guilabel:`Customer`, with all the customer information -- :guilabel:`Payment Method: Brazil`: how the invoice is planned to be paid. -- :guilabel:`Document Type` set as :guilabel:`(55) Electronic Invoice (NF-e)` or :guilabel:`(SE) +- :guilabel:`Customer`, with all customer information +- :guilabel:`Payment Method: Brazil`: Specify the expected payment method. +- :guilabel:`Document Type`: Select :guilabel:`(55) Electronic Invoice (NF-e)` or :guilabel:`(SE) Electronic Service Invoice (NFS-e)`. -And in the :guilabel:`Other Info` tab: +:guilabel:`Other Info` tab: - :guilabel:`Fiscal Position` set as :guilabel:`Automatic Tax Mapping (Avalara Brazil)`. @@ -550,42 +512,34 @@ government when the invoice is submitted: - :guilabel:`Freight Model` determines how the goods are planned to be transported - domestic. - :guilabel:`Transporter Brazil` determines who is doing the transportation. -.. image:: brazil/invoice-info-needed.png - :alt: Invoice information needed to process an electronic invoice. - -.. image:: brazil/process-electronic-invoice.png - :alt: Process electronic invoice pop-up in Odoo. - Then, click :guilabel:`Send`. In the :guilabel:`Print & Send` window, click :guilabel:`Process -e-invoice` and any other options - :guilabel:`Download` or :guilabel:`Email`. Finally, click +e-invoice` and any other options, such as :guilabel:`Download` or :guilabel:`Email`. Finally, click :guilabel:`Send` to process the invoice with the government. .. note:: All fields available on the invoice used to issue an electronic invoice are also available on the sales order, if needed. When creating the first invoice, the :guilabel:`Document Number` field is - displayed, allocated as the first number to be used sequentially for subsequent invoices. + displayed and allocated as the first number to be used sequentially for subsequent invoices. .. _localizations/brazil/credit-notes: Credit notes ~~~~~~~~~~~~ -If a sales return needs to be registered, a credit note can be created in Odoo and sent to the -government for validation. +If a sales return needs to be registered, a :ref:`credit note can be created in Odoo +` and sent to the government for validation. .. note:: Credit notes are only available for electronic invoices for goods (NF-e). -.. seealso:: - :ref:`Issue a credit note ` - .. _localizations/brazil/debit-notes: -Debit Notes +Debit notes ~~~~~~~~~~~ If additional information needs to be included or values that were not accurately provided in the -original invoice need to be corrected, a debit note can be issued. +original invoice need to be corrected, a :ref:`debit note can be issued +`. .. note:: - Debit notes are only available for electronic invoices for goods (NF-e). @@ -594,9 +548,6 @@ original invoice need to be corrected, a debit note can be issued. the debit note. The purpose of this document is only to declare the amount to be added to the original invoice for the same or fewer products. -.. seealso:: - :ref:`Issue a debit note ` - .. _localizations/brazil/invoice-cancellation: Invoice cancellation @@ -615,10 +566,7 @@ E-invoices for goods (NF-e) To cancel an e-invoice for goods (NF-e) in Odoo, click :guilabel:`Request Cancel` and add a cancellation :guilabel:`Reason` on the pop-up that appears. To send this cancellation reason to the -customer via Email, enable the :guilabel:`E-mail` checkbox. - -.. image:: brazil/invoice-cancellation.png - :alt: Invoice cancellation reason in Odoo. +customer via email, enable the :guilabel:`E-mail` checkbox. .. note:: This is an electronic cancellation, which means that Odoo will send a request to the government @@ -629,9 +577,9 @@ customer via Email, enable the :guilabel:`E-mail` checkbox. E-invoices for services (NFS-e) ******************************* -To cancel an e-invoice for services (NFS-e) in Odoo, click :guilabel:`Request Cancel`. In this case, -there is no electronic cancellation process, as not every city has this service available. The -user needs to manually cancel this NFS-e on the city portal. Once that step is completed, they can +To cancel an e-invoice for services (NFS-e) in Odoo, click :guilabel:`Request Cancel`. There is no +electronic cancellation process in this case, as not every city has this service available. The +user needs to cancel this NFS-e on the city portal manually. Once that step is completed, they can request the cancellation in Odoo, which will cancel the invoice. .. _localizations/brazil/correction-letter: @@ -642,40 +590,29 @@ Correction letter A correction letter can be created and linked to an electronic invoice for goods (NF-e) that the government validated. -To do so in Odoo, click :guilabel:`Correction Letter` and add a correction :guilabel:`Reason` on the -pop-up that appears. To send the correction reason to a customer via Email, enable the -:guilabel:`E-mail` checkbox. - -.. image:: brazil/correction-letter.png - :alt: Correction letter reason in Odoo. +To do so in Odoo, click :guilabel:`Correction Letter` and add a correction :guilabel:`Reason` to the +pop-up. To send the correction reason to a customer via email, enable the :guilabel:`E-mail` +checkbox. .. note:: Correction letters are only available for electronic invoices for goods (NF-e). -.. _localizations/brazil/invalidate-invoice-number: +.. _localizations/brazil/invoice-number-invalidation: -Invalidate invoice number range -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Invoice number range invalidation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A range of sequences that are assigned to sales journals can be invalidated by the government if -they are not currently used **and** will not be used in the future. To do so, open the journal, -click the :icon:`fa-cog` (gear) icon, and select :guilabel:`Invalidate Number Range (BR)`. On the +they are not currently used **and** will not be used in the future. To do so, go to +:menuselection:`Accounting --> Configuration --> Journals`, open the journal, click the +:icon:`fa-cog` (gear) icon, and select :guilabel:`Invalidate Number Range (BR)`. On the :guilabel:`Invalidate Number Range (BR)` wizard, add the :guilabel:`Initial Number` and :guilabel:`End Number` of the range that should be cancelled, and enter an invalidation :guilabel:`Reason`. -.. image:: brazil/range-number-invalidation.png - :alt: Number range invalidation selection in Odoo. - -.. image:: brazil/range-number-invalidation-wizard.png - :alt: Number range invalidation wizard in Odoo. - .. note:: - Invalidate invoice number range documents are only available for electronic invoices for goods - (NF-e). - -.. note:: - The journal's chatter records the log of the cancelled numbers, along with the XML file. + - Invoice number range invalidation is only available for electronic invoices for goods (NF-e). + - The journal's chatter records the log of the cancelled numbers, along with the XML file. .. _localizations/brazil/vendor-bills: @@ -683,12 +620,12 @@ Vendor bills ------------ When receiving an invoice from a supplier, encode the bill in Odoo by adding all the commercial -information, together with the same Brazilian-specific information that is recorded on the -:ref:`customer invoices `. +information and the same Brazilian-specific information recorded on the :ref:`customer invoices +`. These Brazilian-specific fields are: -- :guilabel:`Payment Method: Brazil`: how the invoice is planned to be paid +- :guilabel:`Payment Method: Brazil`: Specify the expected payment method. - :guilabel:`Document Type`: used by the vendor - :guilabel:`Document Number`: the invoice number from the supplier - :guilabel:`Freight Model`: **NF-e specific** how goods are planned to be transported - domestic @@ -699,25 +636,26 @@ These Brazilian-specific fields are: Point of sale NFC-e =================== -The NFC-e is a legal document that supports selling goods or merchandise to the final customer. -Like the :ref:`NF-e `, the electronic customer invoice is -also issued in XML file format and has an auxiliary document (DANFC-e) known as the *NFC-e Summary*. -This electronic document can be issued through **Odoo Point of Sale app**. +The NFC-e is a legal document that supports selling goods or merchandise to the final customer. Like +the :ref:`NF-e `, the electronic customer invoice is also +issued in XML file format and has an auxiliary document (DANFC-e) known as the *NFC-e Summary*. This +electronic document can be issued through **Odoo Point of Sale**. Its legal validity is guaranteed by the digital signature and by each Brazilian state's SEFAZ (Secretaria da Fazenda). .. important:: The :ref:`Avalara integration ` operates on a credit-based - system. Each operation that involves communication with Avalara consumes one credit. The following - operations within the **Point of Sale** (POS) application are subject to credit consumption: + system. Each operation that involves communication with Avalara consumes one credit. The + following operations within the **Point of Sale** (POS) application are subject to credit + consumption: - Tax calculation at the time of sale - Electronic invoice issuance (NFC-e) .. note:: Each step is billed separately. For example, calculating taxes and issuing an invoice for the - same POS transaction consume two credits. + same POS transaction consumes two credits. .. seealso:: :doc:`Point of Sale <../../sales/point_of_sale>` @@ -728,83 +666,73 @@ Configuration ------------- :ref:`Install ` the :guilabel:`Brazilian Accounting EDI for POS` (`l10nbr_edi_pos`) -module. +module and make sure to activate :doc:`AvaTax <../accounting/taxes/avatax>`. .. _localizations/brazil/pos-csc-details: CSC details ----------- -Go to :menuselection:`Accounting --> Configuration --> Settings`, scroll to the :guilabel:`Taxes` +Go to :menuselection:`Accounting --> Configuration --> Settings` and scroll to the :guilabel:`Taxes` section. In the :guilabel:`NFC-e configuration` section, complete the following CSC (Taxpayer Security Code) fields: - :guilabel:`CSC ID`: The *CSC ID* or *CSC Token* is an identification of the taxpayer security - code, which can have 1 to 6 digits and is available on your state's website of State Department of - Finance (SEFAZ). + code, which can have 1 to 6 digits and is available on the official website of your state’s + Department of Finance (SEFAZ). - :guilabel:`CSC Number`: The *CSC Number* is a code of up to 36 characters that only you and the Department of Finance know. It is used to generate the QR Code of the NFC-e and ensure the authenticity of the DANFE. .. note:: The information required for these fields can be generated through the SEFAZ website of each - Brazilian state by the company's accountant. + Brazilian State by the company's accountant. .. _localizations/brazil/pos-product: Product configuration --------------------- -First, :doc:`create a new product in POS <../../sales/point_of_sale/configuration>`, then in the -:guilabel:`Sales` tab, configure the following :guilabel:`Brazil Accounting` fields: - -- :guilabel:`CEST Code`: A tax classification code identifying goods and products subject to tax - substitution under ICMS regulations. It helps determine the applicable tax treatment and - procedures for specific items. Check if the product is subject to this at - https://www.codigocest.com.br/. -- :guilabel:`Mercosul NCM Code`: NCM (Nomenclatura Comun do Mercosul) code from the Mercosur list. -- :guilabel:`Source of Origin`: Indicates whether the product is of foreign or national origin, with - different variations and characteristics depending on the product use case. -- :guilabel:`SPED Fiscal Product Type`: Fiscal product type according to the SPED list table. -- :guilabel:`Purpose of Use`: Shows what this product is used for. +Access the relevant :doc:`product form in POS <../../sales/point_of_sale/configuration>`, then +configure the :ref:`product `'s :guilabel:`Brazil Accounting` +fields. .. _localizations/brazil/pos-shop-configuration: -Shop configuration ------------------- - -Go to :menuselection:`Point of Sale --> Configuration --> Point of Sales` and create a -:guilabel:`New` shop. Choose an internal name for the new POS and save. +Point of sale +------------- -Then, go to :menuselection:`Point of Sale --> Configuration --> Settings` and make sure that the -correct Point of Sale is :doc:`selected at the top of the screen -<../../sales/point_of_sale/configuration>`. Then, scroll to the :guilabel:`Accounting` section and -configure the :guilabel:`Brazilian EDI` fields: +Go to :menuselection:`Point of Sale --> Configuration --> Settings` and make sure that the relevant +Point of Sale is :doc:`selected at the top of the screen <../../sales/point_of_sale/configuration>`. +Then, scroll to the :guilabel:`Accounting` section and configure the :guilabel:`Brazilian EDI` +fields: - :guilabel:`Series` - :guilabel:`Next number`: the next NFC-e number in the sequence to be issued, for instance, if the last number issued in SEFAZ is `100`, the *Next number* will be `101`. -.. note:: - For the production environment, make sure that this information is updated. +.. _localizations/brazil/pos-workflow: + +Workflow +-------- .. _localizations/brazil/generate-nfc-e: Generating an NFC-e -------------------- +~~~~~~~~~~~~~~~~~~~ -First, :ref:`open the Shop and make a sale `. +To generate an NFC-e, follow these steps: -After validating the payment, Odoo calculates taxes and issues an NFC-e. The valid NFC-e appears on -the right side of the screen. +#. :ref:`Open the relevant point of sale shop and make a sale `. +#. Validate the payment to calculate taxes and issue an NFC-e. The valid NFC-e appears on the right + side of the screen. .. image:: brazil/l10n-br-nfce-succesfully-issued.png :alt: NFC-e Success in a POS session. .. note:: - It is also possible to issue an NFC-e that identifies the customer by their CPF/CNPJ. To do so, - click :icon:`fa-user` :guilabel:`Customer`, search for the customer if they are already - registered, or click :guilabel:`Create`. + It is also possible to issue an NFC-e that identifies the customer by their CPF/CNPJ. To do + so, click :icon:`fa-user` :guilabel:`Customer`, search for the customer, or create a new one. The following are mandatory fields to issue a CPF/CNPJ identified NFC-e: @@ -812,49 +740,39 @@ the right side of the screen. - :guilabel:`City` and :guilabel:`State` where the invoice is being issued - :guilabel:`CPF/CNPJ` -After saving the register, click :guilabel:`Validate`. The NFC-e appears, highlighting the -customer's CPF on the print. - -Finally, select one of the two options to deliver the invoice to the customer: - -- :guilabel:`Print` -- :guilabel:`Send via e-mail` +#. Click :guilabel:`Validate`. The NFC-e appears, highlighting the customer's CPF on the print. +#. Click :guilabel:`Print` or :guilabel:`Send via e-mail` to deliver the invoice to the customer. .. _localizations/brazil/nfc-e-print: NFC-e ticket print ------------------- +~~~~~~~~~~~~~~~~~~ After :ref:`generating and validating the NFC-e `, click :guilabel:`Print` to deliver the invoice. -.. example:: - .. figure:: brazil/l10n-br-nfc-e-print.png - :alt: Printed NFC-e ticket example. - - This is the DANFC-e, the print of NFC-e when it is successfully issued, and shows all the - important information that is legally required. - -.. tip:: - #. Using an :doc:`Odoo IoT Box <../../general/iot>` to integrate the print NFC-e through the - **Point of Sale** app is unnecessary. - #. The Odoo NFC-e feature works with any thermal printer. +.. note:: + The Odoo NFC-e feature is compatible with any thermal printer and does not require an :doc:`Odoo + IoT Box <../../general/iot>`. .. _localizations/brazil/order-with-nfc-e-error: -Re-issue PoS order with NFC-e error ------------------------------------ +Re-issuing a PoS order with an NFC-e error +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If the NFC-e returns an error, correct the error first. Then, to re-issue the NFC-e, click the -:icon:`fa-bars` :guilabel:`(menu)` icon and select :guilabel:`Orders`. +If the NFC-e returns an error, follow these steps: -Filter the list to show only :guilabel:`Paid` orders and click :guilabel:`Details`. The error will -then be displayed, and the :guilabel:`Send NFC-e` button will be available. +#. Correct the error. +#. Re-issue the NFC-e by clicking the :icon:`fa-bars` :guilabel:`(menu)` icon and selecting + :guilabel:`Orders`. +#. Filter the list to show only :guilabel:`Paid` orders and click :guilabel:`Details`. The error is + displayed. +#. Click :guilabel:`Send NFC-e`. .. note:: - If the error was fixed and the PoS Session was closed, Odoo indicates the tax adjustment on that - journal entry in the chatter. The order's journal entry shows that the taxes were not calculated - correctly. In that case, reprocessing the NFC-e is necessary. + If the error has been corrected and the PoS session is closed, Odoo logs the tax adjustment in + the chatter of the related journal entry. The journal entry for the order indicates that the + taxes were incorrectly calculated. In this case, reprocessing the NFC-e is required. .. image:: brazil/l10n-br-order-error-screen.png :alt: Point of sale order view form. @@ -862,28 +780,18 @@ then be displayed, and the :guilabel:`Send NFC-e` button will be available. .. _localizations/brazil/nfc-e-refunds-cancellations: NFC-e refunds & cancellations ------------------------------ - -*Refunds* can be created from Odoo, but *cancellations* must be done from the government portal. - -.. important:: - SEFAZ only allows cancellation of an NFC-e **within 30 minutes** of its issuance on the SEFAZ - website. After this period, a manual refund must be processed, along with the issuance of a - *Return of Goods NF-e*. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -To issue a refund, click the :icon:`fa-bars` :guilabel:`(menu)` icon and select :guilabel:`Orders`. -Filter the list to show only :guilabel:`Paid` orders, open the order, and click :guilabel:`Refund`. - -Choose the :guilabel:`Payment method` and :guilabel:`Amount`, then click :guilabel:`Refund payment`. - -.. note:: - Alternatively, to reimburse and cancel the NFC-e through the backend, go to - :menuselection:`Point of Sale --> Orders --> Orders`. Open the order, select the customer, - and click :guilabel:`Payment` to reimburse. Then click :guilabel:`Invoice` to create the invoice - and issue the *Return of Goods NF-e*. +:ref:`Refunds can be processed directly in Odoo `, but *cancellations* must be performed +through the official government portal. When the process is finalized, the approved return NF-e is created, meaning the **previous NFC-e is canceled**. .. image:: brazil/l10n-br-return-succeed.png :alt: Return of Goods NF-e Approved. + +.. important:: + SEFAZ only allows cancellation of an NFC-e **within 30 minutes** of its issuance on the SEFAZ + website. After this period, a manual refund must be processed, along with the issuance of a + *Return of Goods NF-e*. diff --git a/content/applications/finance/fiscal_localizations/brazil/avatax-account-configuration.png b/content/applications/finance/fiscal_localizations/brazil/avatax-account-configuration.png deleted file mode 100644 index 92f77c3068..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/avatax-account-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/contact-configuration.png b/content/applications/finance/fiscal_localizations/brazil/contact-configuration.png deleted file mode 100644 index 71faca94d2..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/contact-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration-nfse.png b/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration-nfse.png deleted file mode 100644 index 63077d95d9..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration-nfse.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration.png b/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration.png deleted file mode 100644 index 837d48e0de..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/contact-fiscal-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/correction-letter.png b/content/applications/finance/fiscal_localizations/brazil/correction-letter.png deleted file mode 100644 index 3a371488bc..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/correction-letter.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/fiscal-position-configuration.png b/content/applications/finance/fiscal_localizations/brazil/fiscal-position-configuration.png deleted file mode 100644 index 967a324cf1..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/fiscal-position-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/invoice-cancellation.png b/content/applications/finance/fiscal_localizations/brazil/invoice-cancellation.png deleted file mode 100644 index 41cb172183..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/invoice-cancellation.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/invoice-info-needed.png b/content/applications/finance/fiscal_localizations/brazil/invoice-info-needed.png deleted file mode 100644 index 5240979144..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/invoice-info-needed.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/journal-configuration.png b/content/applications/finance/fiscal_localizations/brazil/journal-configuration.png deleted file mode 100644 index b2ec85fd87..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/journal-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/l10n-br-nfc-e-print.png b/content/applications/finance/fiscal_localizations/brazil/l10n-br-nfc-e-print.png deleted file mode 100644 index 6039e18bcf..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/l10n-br-nfc-e-print.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/process-electronic-invoice.png b/content/applications/finance/fiscal_localizations/brazil/process-electronic-invoice.png deleted file mode 100644 index 773a985e39..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/process-electronic-invoice.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/product-configuration.png b/content/applications/finance/fiscal_localizations/brazil/product-configuration.png deleted file mode 100644 index 92c09d7d53..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/product-configuration.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation-wizard.png b/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation-wizard.png deleted file mode 100644 index 994d0a65a5..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation-wizard.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation.png b/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation.png deleted file mode 100644 index 01213dee75..0000000000 Binary files a/content/applications/finance/fiscal_localizations/brazil/range-number-invalidation.png and /dev/null differ diff --git a/content/applications/finance/fiscal_localizations/canada.rst b/content/applications/finance/fiscal_localizations/canada.rst index fc716a3c50..21947c0bea 100644 --- a/content/applications/finance/fiscal_localizations/canada.rst +++ b/content/applications/finance/fiscal_localizations/canada.rst @@ -195,7 +195,8 @@ and region-specific tax calculations when items are sold, purchased, and invoice .. important:: AvaTax is available for integration with databases/companies that have locations in Canada and/or - the United States. Reference the :ref:`avatax/fiscal_country` documentation for more information. + the United States. Reference the :ref:`accounting/avatax/fiscal_country` documentation for more + information. .. seealso:: Refer to the documentation articles below to integrate and configure an AvaTax account with an diff --git a/content/applications/finance/fiscal_localizations/united_states.rst b/content/applications/finance/fiscal_localizations/united_states.rst index 85f9c683d7..170834b6f5 100644 --- a/content/applications/finance/fiscal_localizations/united_states.rst +++ b/content/applications/finance/fiscal_localizations/united_states.rst @@ -249,7 +249,8 @@ tax calculations when items are sold, purchased, and invoiced in the database. .. important:: AvaTax is available for integration with databases/companies that have locations in the United - States and Canada. Reference the :ref:`avatax/fiscal_country` documentation for more information. + States and Canada. Reference the :ref:`accounting/avatax/fiscal_country` documentation for more + information. .. seealso:: Refer to the documentation articles below to integrate and configure an AvaTax account with an diff --git a/content/applications/sales/point_of_sale.rst b/content/applications/sales/point_of_sale.rst index 79162e3ad9..51d168fc38 100644 --- a/content/applications/sales/point_of_sale.rst +++ b/content/applications/sales/point_of_sale.rst @@ -99,24 +99,27 @@ under the related product. Return and refund products ========================== -To return and refund a product, +To refund a returned product, follow these steps: -#. :ref:`start a session ` from the **POS dashboard**; -#. click :guilabel:`Refund` and select the corresponding order; -#. select the product and the quantity to refund using the keypad; -#. click :guilabel:`Refund` to go back to the previous screen; -#. once the order is completed, click :guilabel:`Payment` to proceed to the refund; -#. click :guilabel:`Validate` and :guilabel:`New Order` to move on to the next customer. +#. :ref:`Start a session ` from the **POS dashboard**. +#. Click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon, then :icon:`fa-undo` + :guilabel:`Refund`, and select the corresponding order. +#. Select items, use the keypad to set the quantity to refund, then click :guilabel:`Refund`. +#. Click :guilabel:`Payment` and select the appropriate refund payment method. +#. Click :guilabel:`Validate` and print the receipt if needed. +#. Click :guilabel:`New Order` to proceed to the next customer. -.. image:: point_of_sale/refund.png - :alt: refund view from a POS +.. tip:: + - To filter the **orders list** by :guilabel:`Reference`, :guilabel:`Receipt Number`, + :guilabel:`Date`, or :guilabel:`Customer`, enter a value in the search bar and choose the + relevant filter from the dropdown menu. + - When the total amount is negative, adding a gift card to the cart automatically adjusts the + gift card balance to match that amount. .. note:: - - You can filter the **orders list** by :guilabel:`Receipt Number`, :guilabel:`Date` or - :guilabel:`Customer` using the search bar. - - You can also refund a product by selecting the returned product from an open session, and - setting a negative quantity that equals the number of returned products. To do so, click - :guilabel:`Qty` and :guilabel:`+/-`, followed by the quantity of returned products. + Alternatively, a refund can be processed by selecting the returned product(s) from an open + session and setting a negative quantity equal to the number of returned items. To do so, click + :guilabel:`Qty` and :guilabel:`+/-`, and update the quantity accordingly. Once the return payment is validated, Odoo generates the required credit note, referencing the original receipt or invoice and partially or fully canceling the document.