Compare commits

..

1 Commits

Author SHA1 Message Date
KC (ksc)
6b54ace1ff [IMP] sales: updated returns doc for v16 2023-11-27 10:16:16 -08:00
34 changed files with 215 additions and 402 deletions

View File

@@ -225,7 +225,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::
@@ -250,7 +250,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -d -R -S $USER
$ sudo -u postgres createuser -s $USER
$ createdb $USER
.. note::

View File

@@ -4,16 +4,15 @@ Colombia
.. |DIAN| replace:: :abbr:`DIAN (Dirección de Impuestos y Aduanas Nacionales)`
Odoo's Colombian localization package provides accounting, fiscal, and legal features for databases
in Colombia such as chart of accounts, taxes, and electronic invoicing.
Odoo's Colombian localization package provides accounting, fiscal and legal features in Colombia
such as chart of accounts, taxes and electronic invoicing.
In addition, a series of videos on the subject is also available. These videos cover how to start
from scratch, set up configurations, complete common workflows, and provide in-depth looks at some
specific use cases as well.
In addition, we have a series of videos covering how to start from scratch, configuration, main
workflows, and specific use cases.
.. seealso::
`Smart Tutorial - Colombian Localization
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_.
`Odoo Colombian localization videos
<https://www.youtube.com/playlist?list=PL1-aSABtP6ABxZshems3snMjx7bj_7ZsZ>`_.
.. _colombia/configuration:
@@ -37,78 +36,74 @@ localization:
- `l10n_co`
- Default :ref:`fiscal localization package <fiscal_localizations/packages>`. This module adds
the base accounting features for the Colombian localization: chart of accounts, taxes,
withholdings, and identification document type.
withholdings, identification document type.
* - :guilabel:`Colombian - Accounting Reports`
- `l10n_co_reports`
- Includes accounting reports for sending certifications to suppliers for withholdings applied.
* - :guilabel:`Electronic invoicing for Colombia with Carvajal`
- `l10n_co_edi`
- This module includes the features required for integration with Carvajal, and
generates the electronic invoices and support documents related to the vendor bills, based on
- This module includes the features that are required for the integration with Carvajal and
generates the electronic invoices and support document related to the vendor bills based on
|DIAN| regulations.
* - :guilabel:`Colombian - Point of Sale`
- `l10n_co_pos`
- Includes Point of Sale receipts for Colombian localization.
- Includes Point of Sale Receipt for Colombian Localization.
.. note::
When `Colombia` is selected for a company's :guilabel:`Fiscal Localization`, Odoo automatically
installs certain modules.
When a database is created from scratch selecting :guilabel:`Colombia` as the country, Odoo
automatically installs the base modules *Colombia - Accounting* and *Colombia - Accounting
Reports*.
Company configuration
---------------------
To configure your company information, go to the :menuselection:`Contacts` app, and search for your
company.
Alternatively, activate :ref:`developer mode <developer-mode>` and navigate to
To configure your company information, go to the :menuselection:`Contacts` app and search for your
company. Alternatively, activate :ref:`developer mode <developer-mode>` and navigate to
:menuselection:`General Setting --> Company --> Update Info --> Contact`. Then, edit the contact
form and configure the following information:
form to configure the following information:
- :guilabel:`Company Name`.
- :guilabel:`Address`: Including :guilabel:`City`, :guilabel:`Department` and :guilabel:`ZIP` code.
- :guilabel:`Identification Number`: Select the :guilabel:`Identification Type` (`NIT`, `Cédula de
Ciudadanía`, `Registro Civil`, etc.). When the :guilabel:`Identification Type` is `NIT`, the
:guilabel:`Identification Number` **must** have the *verification digit* at the end of the ID
prefixed by a hyphen (`-`).
- :guilabel:`Address`: Including :guilabel:`City`, :guilabel:`Department` and :guilabel:`Zip Code`.
- :guilabel:`Tax ID`: When it is a `NIT`, it must have the *verification digit* at the end of the ID
followed by a hyphen (`-`).
Next, configure the :guilabel:`Fiscal Information` in the :guilabel:`Sales & Purchase` tab:
- :guilabel:`Obligaciones y Responsabilidades`: Select the fiscal responsibility for the company
(`O-13` Gran Contribuyente, `O-15` Autorretenedor, `O-23` Agente de retención IVA, `O-47` Regimen
de tributación simple, `R-99-PN` No Aplica).
(:guilabel:`O-13` Gran Contribuyente, :guilabel:`O-15` Autorretenedor, :guilabel:`O-23` Agente de
retención IVA, :guilabel:`O-47` Regimen de tributación simple, :guilabel:`R-99-PN` No Aplica).
- :guilabel:`Gran Contribuyente`: If the company is *Gran Contribuyente* this option should be
selected.
- :guilabel:`Fiscal Regimen`: Select the Tribute Name for the company (`IVA`, `INC`, `IVA e INC`,
or `No Aplica`)
- :guilabel:`Fiscal Regimen`: Select the Tribute Name for the company (:guilabel:`IVA`,
:guilabel:`INC`, :guilabel:`IVA e INC`, :guilabel:`No Aplica`)
- :guilabel:`Commercial Name`: If the company uses a specific commercial name, and it needs to be
displayed in the invoice.
Carjaval credentials configuration
----------------------------------
Once the modules are installed, the user credentials **must** be configured, in order to connect
with Carvajal Web Service. To do so, navigate to :menuselection:`Accounting --> Configuration -->
Settings` and scroll to the :guilabel:`Colombian Electronic Invoicing` section. Then, fill in the
required configuration information provided by Carvajal:
Once the modules installed, the user credentials must be configured in order to connect with
Carvajal Web Service. Navigate to :menuselection:`Accounting --> Configuration --> Settings` and
scroll to the :guilabel:`Colombian Electronic Invoicing` section. Then, fill in the required
configuration information provided by Carvajal:
- :guilabel:`Username` and :guilabel:`Password`: Username and password (provided by Carvajal) to the
company.
- :guilabel:`Username` and :guilabel:`Password`: Correspond to the username and password provided
by Carvajal to the company.
- :guilabel:`Company Registry`: Company's NIT number *without* the verification code.
- :guilabel:`Account ID`: Company's NIT number followed by `_01`.
- :guilabel:`Colombia Template Code`: Select one of the two available templates (`CGEN03` or
`CGNE04`) to be used in the PDF format of the electronic invoice.
Enable the :guilabel:`Test mode` checkbox to connect with the Carvajal testing environment.
Once Odoo and Carvajal are fully configured and ready for production, deactivate the :guilabel:`Test
mode` checkbox to use the production database.
- :guilabel:`Account ID`: Company ID followed by `_01`.
- :guilabel:`Colombia Template Code`: Select one of the two available templates (:guilabel:`CGEN03`
or :guilabel:`CGNE04`) to be used in the PDF format of the electronic invoice.
.. image:: colombia/carvajal-configuration.png
:align: center
:alt: Configure credentials for Carvajal web service in Odoo.
.. note::
Check the :guilabel:`Test mode` checkbox to connect with the Carvajal testing environment. Once
Odoo and Carvajal are fully configured and ready for production, uncheck the :guilabel:`Test
mode` checkbox to use the production database.
.. important::
:guilabel:`Test mode` must **only** be used on duplicated databases, **not** the production
:guilabel:`Test mode` must be used **only** on replicated databases, **not** the production
environment.
Report data configuration
@@ -117,17 +112,8 @@ Report data configuration
Report data can be defined for the fiscal section and bank information of the PDF as part of the
configurable information sent in the XML.
Navigate to :menuselection:`Accounting --> Configuration --> Settings`, and scroll to the
:guilabel:`Colombian Electronic Invoicing` section, in order to find the :guilabel:`Report
Configuration` fields. Here the header information for each report type can be configured.
- :guilabel:`Gran Contribuyente`
- :guilabel:`Tipo de Régimen`
- :guilabel:`Retenedores de IVA`
- :guilabel:`Autorretenedores`
- :guilabel:`Resolución Aplicable`
- :guilabel:`Actividad Económica`
- :guilabel:`Bank Information`
Navigate to :menuselection:`Accounting --> Configuration --> Settings` and scroll to the
:guilabel:`Colombian Electronic Invoicing` section.
.. _colombia/master-data:
@@ -137,85 +123,67 @@ Master data configuration
Partner
~~~~~~~
Partner contacts can be created in the *Contacts* app. To do so, navigate to
:menuselection:`Contacts`, and click the :guilabel:`Create` button.
Then, name the contact, and using the radio buttons, select the contact type, either
:guilabel:`Individual` or :guilabel:`Company`.
Complete the full :guilabel:`Address`, including the :guilabel:`City`, :guilabel:`State`, and
:guilabel:`ZIP` code. Then, complete the identification and fiscal information.
Identification information
**************************
Identification types, defined by the |DIAN|, are available on the partner form, as part of the
Colombian localization. Colombian partners **must** have their :guilabel:`Identification Number`
(VAT) and :guilabel:`Document Type` set.
Document types defined by the |DIAN| are available on the partner form as part of the Colombian
localization. Colombian partners must have their :guilabel:`Identification Number` (VAT) and
:guilabel:`Document Type` set.
.. tip::
When the :guilabel:`Document Type` is `NIT`, the :guilabel:`Identification Number` needs to be
configured in Odoo, including the *verification digit at the end of the ID, prefixed by a hyphen
(`-`)*.
configured in Odoo, including the *verification digit*; Odoo splits this number when the data to
is sent to the third party.
Fiscal information
******************
The partner's responsibility codes (section 53 in the :abbr:`RUT (Registro único tributario)`
document) are included as part of the electronic invoicing module, as it is required by the |DIAN|.
The partner's responsibility codes (section 53 in the RUT document) are included as part of the
electronic invoicing module, as it is required by the |DIAN|.
The required fields can be found under :menuselection:`Partner --> Sales & Purchase Tab --> Fiscal
Information section`:
Information`:
- :guilabel:`Obligaciones y Responsabilidades`: Select the fiscal responsibility for the company
(`O-13` Gran Contribuyente, `O-15` Autorretenedor, `O-23` Agente de retención IVA, `O-47` Regimen
de tributación simple, or `R-99-PN` No Aplica).
(:guilabel:`O-13` Gran Contribuyente, :guilabel:`O-15` Autorretenedor, :guilabel:`O-23` Agente de
retención IVA, :guilabel:`O-47` Regimen de tributación simple, :guilabel:`R-99-PN` No Aplica).
- :guilabel:`Gran Contribuyente`: If the company is *Gran Contribuyente* this option should be
selected.
- :guilabel:`Fiscal Regimen`: Select the tribute name for the company (`IVA`, `INC`, `IVA e INC`, or
`No Aplica`)
- :guilabel:`Fiscal Regimen`: Select the Tribute Name for the company (:guilabel:`IVA`,
:guilabel:`INC`, :guilabel:`IVA e INC`, :guilabel:`No Aplica`)
- :guilabel:`Commercial Name`: If the company uses a specific commercial name, and it needs to be
displayed in the invoice.
Products
~~~~~~~~
To manage products, navigate to :menuselection:`Accounting --> Customers --> Products`, then click
on a product.
When adding general information on the product form, it is required that either the
:guilabel:`UNSPSC Category` (:guilabel:`Accounting` tab), or :guilabel:`Internal Reference`
(:guilabel:`General Information` tab) field is configured. Be sure to :guilabel:`Save` the product
once configured.
In addition to adding general information (in the :guilabel:`General Information` tab) on the
product form, either the :guilabel:`UNSPSC Category`, :guilabel:`Barcode`, or :guilabel:`Internal
Reference` field must also be configured.
Taxes
~~~~~
To create or modify taxes, go to :menuselection:`Accounting --> Configuration --> Taxes`, and select
the related tax.
If sales transactions include products with taxes, the :guilabel:`Value Type` field in the
:guilabel:`Advanced Options` tab needs to be configured per tax. Retention tax types
(:guilabel:`ICA`, :guilabel:`IVA`, :guilabel:`Fuente`) are also included. This configuration is used
to display taxes correctly in the invoice PDF.
:guilabel:`Advanced Options` tab needs to be configured per tax. To do so, go to
:menuselection:`Accounting --> Configuration --> Taxes`, and select the related tax.
Retention tax types (:guilabel:`ICA`, :guilabel:`IVA`, :guilabel:`Fuente`) are also included. This
configuration is used to display taxes in the invoice PDF correctly.
.. image:: colombia/retention-tax-types.png
:align: center
:alt: The ICA, IVA and Fuente fields in the Advanced Options tab in Odoo.
.. _co-journals:
Sales journals
~~~~~~~~~~~~~~
Once the |DIAN| has assigned the official sequence and prefix for the electronic invoice resolution,
the sales journals related to the invoice documents **must** be updated in Odoo. To do so, navigate
to :menuselection:`Accounting --> Configuration --> Journals`, and select an existing sales journal,
or create a new one with the :guilabel:`Create` button.
.. _co-journals:
On the sales journal form, input the :guilabel:`Journal Name`, :guilabel:`Type`, and set a unique
:guilabel:`Short Code` in the :guilabel:`Journals Entries` tab. Then, configure the following data
in the :guilabel:`Advanced Settings` tab:
Once the |DIAN| has assigned the official sequence and prefix for the electronic invoice resolution,
the sales journals related to the invoice documents must be updated in Odoo. To do so, navigate to
:menuselection:`Accounting --> Configuration --> Journals`.
Configure the following data in the :guilabel:`Advanced Settings` tab:
- :guilabel:`Electronic invoicing`: Enable :guilabel:`UBL 2.1 (Colombia)`.
- :guilabel:`Invoicing Resolution`: Resolution number issued by |DIAN| to the company.
@@ -225,31 +193,32 @@ in the :guilabel:`Advanced Settings` tab:
- :guilabel:`Range of Numbering (maximum)`: Last authorized invoice number.
.. note::
The sequence and resolution of the journal **must** match the one configured in Carvajal and the
The sequence and resolution of the journal must match the one configured in Carvajal and the
|DIAN|.
Invoice sequence
****************
The invoice sequence and prefix **must** be correctly configured when the first document is created.
The invoice sequence and prefix must be correctly configured when the first document is created.
.. note::
Odoo automatically assigns a prefix and sequence to the following invoices.
Odoo automatically assigns a prefix and sequence to the following documents.
Purchase journals
*****************
Once the |DIAN| has assigned the official sequence and prefix for the *support document* related to
Once the |DIAN| has assigned the official sequence and prefix for the support document related to
vendor bills, the purchase journals related to their supporting documents need to be updated in
Odoo. The process is similar to the configuration of the :ref:`sales journals <co-journals>`.
Chart of accounts
*****************
The :doc:`chart of accounts </applications/finance/accounting/get_started/chart_of_accounts>` is
installed by default as part of the localization module, the accounts are mapped automatically in
taxes, default account payable, and default account receivable. The chart of accounts for Colombia
is based on the PUC (Plan Unico de Cuentas).
The :doc:`chart of accounts
</applications/finance/accounting/get_started/chart_of_accounts>` is installed by default as part of
the localization module, the accounts are mapped automatically in taxes, default account payable,
and default account receivable. The chart of accounts for Colombia is based on the PUC (Plan Unico
de Cuentas).
.. _colombia/workflows:
@@ -259,38 +228,18 @@ Main workflows
Electronic invoices
-------------------
The following is a breakdown of the main workflow for electronic invoices with the Colombian
localization:
#. Sender creates an invoice.
#. Electronic invoice provider generates the legal XML file.
#. Electronic invoice provider creates the CUFE (Invoice Electronic Code) with the electronic
signature.
#. Electronic invoice provider sends a notification to |DIAN|.
#. |DIAN| validates the invoice.
#. |DIAN| accepts or rejects the invoice.
#. Electronic invoice provider generates the PDF invoice with a QR code.
#. Electronic invoice provider sends invoice to the acquirer.
#. Acquirer sends a receipt of acknowledgement, and accepts or rejects the invoice.
#. Sender downloads a :file:`.zip` file with the PDF and XML.
.. image:: colombia/workflow-electronic-invoice.png
:align: center
:alt: Electronic invoice workflow for Colombian localization.
.. _colombia/invoice-creation:
Invoice creation
~~~~~~~~~~~~~~~~
.. note::
The functional workflow taking place before an invoice validation does **not** alter the main
changes introduced with the electronic invoice.
The functional workflow taking place before an invoice validation does not alter the main changes
introduced with the electronic invoice.
Electronic invoices are generated and sent to both the |DIAN| and customer through Carvajal's web
service integration. These documents can be created from your sales order or manually generated. To
create a new invoice, go to :menuselection:`Accounting --> Customers --> Invoices`, and select
:guilabel:`Create`. On the invoice form configure the following fields:
service integration. These documents can be created from your sales order or manually. Go to
:menuselection:`Accounting --> Customers --> Invoices` and configure:
- :guilabel:`Customer`: Customer's information.
- :guilabel:`Journal`: Journal used for electronic invoices.
@@ -310,10 +259,9 @@ invoice is then processed asynchronously by the E-invoicing service UBL 2.1 (Col
also displayed in the chatter.
.. image:: colombia/invoice-sent.png
:align: center
:alt: Carvajal XML invoice file in Odoo chatter.
The :guilabel:`Electronic Invoice Name` field is now displayed in the :guilabel:`EDI Documents` tab,
The :guilabel:`Electronic Invoice Name` field is now displayed in the :guilabel:`EDI Documents` tab
with the name of the XML file. Additionally, the :guilabel:`Electronic Invoice Status` field is
displayed with the initial value :guilabel:`To Send`. To process the invoice manually, click on the
:guilabel:`Process Now` button.
@@ -323,7 +271,7 @@ displayed with the initial value :guilabel:`To Send`. To process the invoice man
Reception of legal XML and PDF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The electronic invoice vendor (Carvajal) receives the XML file, and proceeds to validate its
The electronic invoice vendor (Carvajal) receives the XML file and proceeds to validate its
structure and information.
After validating the electronic invoice, proceed to generate a legal XML which includes a digital
@@ -331,11 +279,10 @@ signature and a unique code (CUFE), a PDF invoice that includes a QR code and th
generated. If everything is correct the :guilabel:`Electronic Invoicing` field value changes to
:guilabel:`Sent`.
A :file:`.zip` containing the legal electronic invoice (in XML format) and the invoice in (PDF
format) is downloaded and displayed in the invoice chatter:
A ZIP containing the legal electronic invoice in XML format and the invoice in PDF format is
downloaded and displayed in the invoice chatter:
.. image:: colombia/invoice-zip.png
:align: center
:alt: ZIP file displayed in the invoice chatter in Odoo.
The electronic invoice status changes to :guilabel:`Accepted`.
@@ -345,7 +292,7 @@ Credit notes
The process for credit notes is the same as for invoices. To create a credit note with reference to
an invoice, go to :menuselection:`Accounting --> Customers --> Invoices`. On the invoice, click
:guilabel:`Add Credit Note`, and complete the following information:
:guilabel:`Add Credit Note` and complete the following information:
- :guilabel:`Credit Method`: Select the type of credit method.
@@ -369,7 +316,7 @@ Debit notes
The process for debit notes is similar to credit notes. To create a debit note with reference to an
invoice, go to :menuselection:`Accounting --> Customers --> Invoices`. On the invoice, click the
:guilabel:`Add Debit Note` button, and enter the following information:
:guilabel:`Add Debit Note` button and complete the following information:
- :guilabel:`Reason`: Type the reason for the debit note.
- :guilabel:`Debit note date`: Select the specific options.
@@ -384,7 +331,7 @@ Support document for vendor bills
---------------------------------
With master data, credentials, and the purchase journal configured for support documents related to
vendor bills, you can start using *support documents*.
vendor bills, you can start using support documents.
Support documents for vendor bills can be created from your purchase order or manually. Go to
:menuselection:`Accounting --> Vendors --> Bills` and fill in the following data:
@@ -425,7 +372,6 @@ Commerce (ICA) tax. The report can be found under :menuselection:`Accounting -->
Colombian Statements --> Certificado de Retención en ICA`.
.. image:: colombia/ica-report.png
:align: center
:alt: Certificado de Retención en ICA report in Odoo Accounting.
Certificado de Retención en IVA
@@ -436,7 +382,6 @@ can be found under :menuselection:`Accounting --> Reporting --> Colombian Statem
de Retención en IVA`.
.. image:: colombia/iva-report.png
:align: center
:alt: Certificado de Retención en IVA report in Odoo Accounting.
Certificado de Retención en la Fuente
@@ -447,5 +392,4 @@ be found under :menuselection:`Accounting --> Reporting --> Colombian Statements
Retención en Fuente`.
.. image:: colombia/fuente-report.png
:align: center
:alt: Certificado de Retención en Fuente report in Odoo Accounting.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -2,120 +2,77 @@
Manage lost opportunities
=========================
Not all opportunities result in successful sales. In order to keep the pipeline up to date, lost
opportunities need to be identified. Specifying the reason why an opportunity was lost provides
additional insight that can prove useful for future opportunities.
While working with your opportunities, you might lose some of them. You
will want to keep track of the reasons you lost them and also which ways
Odoo can help you recover them in the future.
Mark a lead as lost
===================
To mark a lead as lost, open the :menuselection:`CRM` application, and select a lead from the
pipeline, by clicking on its corresponding kanban card. Doing so reveals that lead's detail form.
While in your pipeline, select any opportunity you want and you will see
a *Mark Lost* button.
Then, click :guilabel:`Lost`, located at the top of the lead's detail form.
You can then select an existing *Lost Reason* or create a new one
right there.
.. image:: lost_opportunities/lost-opps-lost-button.png
.. image:: lost_opportunities/lost_opportunities01.png
:align: center
:alt: Buttons from the top of an opportunity record with the lost button emphasized.
This opens the :guilabel:`Lost Reason` popup. From the drop-down, choose an existing lost reason. If
no applicable reason is available, create a new one by entering it into the :guilabel:`Lost Reason`
field, and clicking :guilabel:`Create`.
Manage & create lost reasons
----------------------------
Additional notes and comments can be added below the lost reason designated in the :guilabel:`Lost
Reason` field.
You will find your *Lost Reasons* under :menuselection:`Configuration --> Lost Reasons`.
When all the desired information has been entered in the :guilabel:`Lost Reason` pop-up window,
click :guilabel:`Submit`.
.. image:: lost_opportunities/lost-opps-lost-reason.png
:align: center
:alt: Lost reasons popup with sample reasons.
Upon clicking :guilabel:`Submit`, the pop-up window disappears, and Odoo returns to the lead detail
form, where a new red :guilabel:`Lost` banner is now present in the upper-right corner of the lead.
Create/edit lost reasons
========================
To create a new lost reason, or edit an existing one, navigate to :menuselection:`CRM app -->
Configuration --> Lost Reasons`.
To edit an existing reason, click on the reason that should be modified. When clicked, that reason
becomes highlighted. Once highlighted, change the description of the selected lost reason by editing
the :guilabel:`Description` field. When done, click :guilabel:`Save` in the upper-left corner.
To create a new lost reason, click :guilabel:`Create` in the upper-left corner of the
:guilabel:`Lost Reasons` page. Doing so reveals a new blank line in the :guilabel:`Description`
field. Then, proceed to type in the new lost reason in that new line. Once ready, click
:guilabel:`Save`.
You can select & rename any of them as well as create a new one from
there.
Retrieve lost opportunities
===========================
To retrieve lost opportunities in Odoo *CRM*, open the :menuselection:`CRM app` to the main
:guilabel:`Pipeline` dashboard. Then, click the :guilabel:`Filters` drop-down menu, located beneath
the search bar.
To retrieve lost opportunities and do actions on them (send an email,
make a feedback call, etc.), select the *Lost* filter in the search
bar.
.. image:: lost_opportunities/lost-opps-lost-filter.png
.. image:: lost_opportunities/lost_opportunities02.png
:align: center
:alt: Search bar with lost filter emphasized.
From the :guilabel:`Filters` drop-down menu, select the :guilabel:`Lost` option. Upon selecting
:guilabel:`Lost`, only the leads that have been marked as `Lost` appear on the :guilabel:`Pipeline`
page.
You will then see all your lost opportunities.
To filter leads by a specific lost reason, select :menuselection:`Filters --> Add Custom Filter`.
Doing so reveals another drop-down menu with three fields.
If you want to refine them further, you can add a filter on the *Lost
Reason*.
In the top field drop-down menu, select :guilabel:`Lost Reason`. In the second field drop-down menu,
select :guilabel:`Contains`. Then, in the third field of the :guilabel:`Add Custom Field` sub menu,
type in the specific keyword(s). Lastly, click :guilabel:`Apply`. Upon clicking :guilabel:`Apply`,
Odoo reveals all the lost leads with a reason that contains that specified keyword(s).
For Example, *Too Expensive*.
.. image:: lost_opportunities/lost-opps-lost-custom-filter.png
.. image:: lost_opportunities/lost_opportunities03.png
:align: center
:alt: Search bar with custom filter added for lost reason.
Restore lost opportunities
==========================
To restore a lost opportunity, navigate to the main :guilabel:`Pipeline` dashboard on the *CRM* app,
open the :guilabel:`Filters` drop-down menu, and select the :guilabel:`Lost` option. Doing so
reveals all the lost opportunities on the :guilabel:`Pipeline` page.
From the Kanban view with the filter(s) in place, you can select any
opportunity you wish and work on it as usual. You can also restore it by
clicking on *Archived*.
Then, click on the kanban card of the desired lost opportunity to restore, which opens that lead's
detail form.
From the lost lead's detail form, click :guilabel:`Restore` in the upper-left corner. Doing so
removes the red :guilabel:`Lost` banner from the lead form, signifying the lead has been restored.
.. image:: lost_opportunities/lost-opps-restore.png
.. image:: lost_opportunities/lost_opportunities04.png
:align: center
:alt: Lost opportunity with emphasis on the Restore button.
Restore multiple opportunities at once
--------------------------------------
You can also restore items in batch from the Kanban view when they
belong to the same stage. Select *Restore Records* in the column
options. You can also archive the same way.
To restore multiple opportunities at once, navigate to the main :guilabel:`Pipeline` dashboard in
the *CRM* app, open the :guilabel:`Filters` drop-down menu, and select the :guilabel:`Lost` option.
Next, select the list view option, which is represented by the three-line :guilabel:`☰ (list)` icon
in the upper-right corner. Doing so places all the leads from the :guilabel:`Pipeline` page in a
list form. With the list form chosen, select the checkbox to the left of each desired
opportunity/lead to be restored.
Once the desired opportunities/leads have been selected, click the :guilabel:`⚙️ Action (gear)`
drop-down menu at the top of the :guilabel:`Pipeline` page. From the :guilabel:`⚙️ Action (gear)`
drop-down menu, select :guilabel:`Unarchive`.
Doing so removes those selected lost opportunities from the :guilabel:`Pipeline` page because they
no longer fit into the `Lost` filter criteria. To reveal these newly-restored leads, delete the
`Lost` filter from the search bar.
.. image:: lost_opportunities/lost-opps-unarchive.png
.. image:: lost_opportunities/lost_opportunities05.png
:align: center
To select specific opportunities, you should switch to the list view.
.. image:: lost_opportunities/lost_opportunities06.png
:align: center
Then you can select as many or all opportunities and select the actions
you want to take.
.. image:: lost_opportunities/lost_opportunities07.png
:align: center
:alt: Action button from list view with the Unarchive option emphasized.
.. seealso::
:doc:`../performance/win_loss`
* :doc:`../performance/win_loss`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -1,73 +1,117 @@
===========================
Process returns and refunds
===========================
===================
Returns and refunds
===================
The :guilabel:`Sales` app provides two different ways to process returns based on whether an
invoice has been sent or not.
The Odoo *Sales* app provides two different ways to process returns. The method used depends on
whether or not an invoice has been sent.
Before invoicing
================
Returns are completed using *Reverse Transfers* when a customer decides to return a product before
an invoice has been sent or validated.
Returns are completed using *Reverse Transfers* when a customer decides to return a product
**before** an invoice has been sent or validated.
.. note::
In order to use Reverse Transfers, the :guilabel:`Inventory` app must also be installed.
In order to use *Reverse Transfers*, the *Inventory* app **must** be installed.
To start a return, open the :guilabel:`Sales` app, navigate to the customer's sales order, and
click on the :guilabel:`Delivery` smart button to open the associated delivery order.
To start a return before invoicing, navigate to the :menuselection:`Sales` app, select the desired
sales order, and click on the :guilabel:`Delivery` smart button to open the associated delivery
order.
On the validated delivery order, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer`
pop-up window. By default, the :guilabel:`Quantity` matches the validated quantities from the
delivery order. Update the quantities if necessary. Click on the trash icon next to a line item to
remove it from the return.
.. image:: returns/sales-order-delivery-smart-button.png
:align: center
:alt: A typical sales order with a highlighted delivery smart button in Odoo Sales.
On the validated delivery order, click :guilabel:`Return`.
.. image:: returns/validated-delivery-order-return-button.png
:align: center
:alt: A validated delivery order with a highlighted Return button in Odoo Sales.
This opens a :guilabel:`Reverse Transfer` pop-up window.
By default, the :guilabel:`Quantity` matches the validated quantities from the delivery order.
Update the quantities, if necessary. Click on the :guilabel:`🗑️ (trash)` icon next to a line item
to remove it from the return.
.. image:: returns/reverse-transfer-popup.png
:align: center
:alt: The "Reverse Transfer" pop-up window, to make a return before invoicing the customer.
Next, click :guilabel:`Return` to confirm the return. This generates a new warehouse operation for
the incoming returned product(s). Upon receiving the return, the warehouse team validates the
warehouse operation. Then, on the original sales order, the :guilabel:`Delivered` quantity will
reflect the difference between the initial validated quantities and the returned quantities.
the incoming returned product(s).
.. image:: returns/warehouse-operation-confirmed-return.png
:align: center
:alt: Warehouse operation after a return has been confirmed in Odoo Sales.
Upon receiving the return, the warehouse team validates the warehouse operation by clicking
:guilabel:`Validate`. Then, on the original sales order, the :guilabel:`Delivered` quantity updates
to reflect the difference between the initial validated quantities and the returned quantities.
.. image:: returns/updated-sales-quantities.png
:align: center
:alt: The updated "Delivered" quantity on the sales order after the reverse transfer.
When an invoice is created, the customer receives an invoice only for the products they are
keeping.
When an invoice is created, the customer receives an invoice **only** for the products they are
keeping, if any.
After invoicing
===============
Sometimes, customers return an item after they receive and/or pay for their invoice. In these
cases, a return using only *Reverse Transfers* is insufficient since validated or sent invoices
cannot be changed. However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to
complete the customer's return.
cases, a return using only *Reverse Transfers* is insufficient since validated, or sent, invoices
cannot be changed.
To start a return, navigate to the relevant sales order. If there is a payment registered on the
sales order, then the payment details will appear in the Chatter, and the invoice (accessible
through the :guilabel:`Invoices` smart button) will have a green banner across it.
However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to complete the
customer's return.
To start a return after invoicing, navigate to the relevant sales order in the
:menuselection:`Sales` app.
If there is a payment registered on the sales order, the payment details appear in the chatter, and
the invoice (accessible through the :guilabel:`Invoices` smart button) has a green :guilabel:`In
Payment` banner.
.. image:: returns/green-in-payment-banner.png
:align: center
:alt: Sample of a green in payment banner in Odoo Sales.
From the sales order, click on the :guilabel:`Delivery` smart button to view the validated delivery
order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window. Next,
edit the :guilabel:`Product` or :guilabel:`Quantity` as needed for the return, and then click
:guilabel:`Return`. This generates a new warehouse operation for the incoming returned product(s),
which is validated by the warehouse team once the return is received. Then, on the sales order, the
:guilabel:`Delivered` quantity will reflect the difference between the initial validated quantities
and the returned quantities.
order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window.
Next, edit the :guilabel:`Product` and/or :guilabel:`Quantity`, as needed for the return. Then,
click :guilabel:`Return`. This generates a new warehouse operation for the incoming returned
product(s), which is validated by the warehouse team once the return is received by clicking
:guilabel:`Validate`.
Then, on the sales order, the :guilabel:`Delivered` quantity updates to reflect the difference
between the initial validated quantities and the returned quantities.
To process a refund, navigate to the relevant invoice (from the sales order, click on the
:guilabel:`Invoices` smart button). Click :guilabel:`Add Credit Note` from the validated invoice.
:guilabel:`Invoices` smart button). Then, click the :guilabel:`Credit Note` button at the top of the
validated invoice.
.. image:: returns/credit-note-popup.png
.. image:: returns/credit-note-button.png
:align: center
:alt: The "Credit Note" pop-up window, to issue a credit to the customer after invoicing.
:alt: A typical customer invoice with a Credit Note button highlighted in Odoo Sales.
A :guilabel:`Reason` for the credit and a :guilabel:`Specific Journal` to use to process the credit
can be specified. If a :guilabel:`Specific Reversal Date` is selected, then a :guilabel:`Refund
Date` must also be selected.
Doing so reveals a :guilabel:`Credit Note` pop-up form.
After the information is filled in, click :guilabel:`Reverse`. Then, :guilabel:`Edit` the draft as
needed, and finally, click :guilabel:`Confirm` to confirm the credit note.
.. image:: returns/credit-note-pop-up-form.png
:align: center
:alt: Typical credit note pop-up form that appears in Odoo Sales.
Start by entering a :guilabel:`Reason displayed on Credit Note` and a specific :guilabel:`Journal`
to process the credit. Then, select a specific :guilabel:`Reversal Date`.
After the information is filled in, click :guilabel:`Reverse` or :guilabel:`Reverse and Create
Invoice`. Then, edit the draft, if needed.
Lastly, click :guilabel:`Confirm` to confirm the credit note.
When complete, a blue banner reading: :guilabel:`You have outstanding credits for this customer. You
can allocate them to mark this invoice as paid.` appears at the top of the page.
.. seealso::
:doc:`../../../finance/accounting/customer_invoices/credit_notes`

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -26,4 +26,3 @@ convert visitors into leads or revenues.
website/pages
website/configuration
website/reporting
website/mail_groups

View File

@@ -1,131 +0,0 @@
===========
Mail groups
===========
The **mail groups** feature allows website visitors to have a public discussion by email. They can
join a group to receive emails from other group members (i.e., website users who have subscribed to
the group) and send new ones to all group members.
To activate the feature, :ref:`install <general/install>` the :guilabel:`Website Mail Group`
(`website_mail_group`) module.
.. note::
The **mail groups** feature is not to be confused with the
:doc:`../../marketing/email_marketing/mailing_lists` in the Email Marketing app.
.. _website/mailing_lists/configure_groups:
Configuring mail groups
=======================
To configure mail groups, proceed as follows:
#. Configure a custom email alias domain by accessing the **General settings**, scrolling down to
the :guilabel:`Discuss` section, enabling the :guilabel:`Custom Email Server` feature, and
entering the :guilabel:`Alias domain` (e.g., `@mycompany.com`).
#. Go to :menuselection:`Website --> Configuration --> Mailing Lists`, then click :guilabel:`New`.
#. Specify a :guilabel:`Group Name`, the :guilabel:`Email Alias`, and a :guilabel:`Description`.
#. Enable :guilabel:`Moderate this group` and specify the :guilabel:`Moderators` if you wish to
:ref:`moderate messages <website/mailing_lists/moderate>` from this group. Alternatively, if the
group is not moderated, you can define :guilabel:`Responsible Users` who can manage the messages
in the group.
#. In the :guilabel:`Privacy` tab, define who can subscribe to the mail group:
- :guilabel:`Everyone`: to make the mail group public so anyone can subscribe to it;
- :guilabel:`Members only`: to only allow users defined as members to subscribe to the mail group;
- :guilabel:`Selected group of users`: to only allow users from the :guilabel:`Authorized group`
to subscribe to the mail group.
#. If the mail group is moderated, you can automatically notify authors when their message is
pending moderation by enabling :guilabel:`Automatic notification` in the :guilabel:`Notify
Members` tab and writing the :guilabel:`Notification message`.
#. If you wish to send out guidelines to new subscribers, enable :guilabel:`Send guidelines to new
subscribers` and write them in the :guilabel:`Guidelines` tab. This is particularly useful when
the mail group is moderated.
Using mail groups
=================
Subscribing/unsubscribing
-------------------------
Based on the :ref:`configuration of the mail group <website/mailing_lists/configure_groups>`,
users can subscribe to and unsubscribe from mail groups from the website page (`/groups` by default).
.. image:: mail_groups/mail-group-page.png
:alt: Mail group web page.
Internal users can also do this from :menuselection:`Website --> Configuration --> Mailing Lists`,
using the :guilabel:`Join` and :guilabel:`Leave` buttons.
Sending messages
----------------
To send messages to a mail group, website users can email the :ref:`mail group's email address
<website/mailing_lists/configure_groups>`. Internal users can also create messages directly from
Odoo. To do so, go to :menuselection:`Website --> Configuration --> Mailing Lists`, select the mail
group, click the :guilabel:`Emails` smart button, and click :guilabel:`New`. Then, fill in the
fields and click :guilabel:`Send`.
.. tip::
- The list of messages can also be accessed by selecting the group from the `/groups` website
page.
- Group members can also unsubscribe from the group, access the mail group page, and send emails
to the group using the URLs in the footer of any group email they have received.
.. image:: mail_groups/mail-group-URLs.png
:alt: URLs in the footer of a group email.
.. _website/mailing_lists/moderate:
Moderating mail group messages
==============================
If the :guilabel:`Moderate this group` feature has been enabled for the
:ref:`mail group <website/mailing_lists/configure_groups>`, one of the :guilabel:`Moderators` must
approve the group's messages before they are dispatched to the other members.
To moderate messages, go to :menuselection:`Website --> Configuration --> Mailing Lists`, select the
mail group, and click the :guilabel:`To review` smart button. You can moderate messages using the
buttons at the end of the message line or select a message to view its content and moderate it
accordingly.
.. image:: mail_groups/mail-group-moderation.png
:alt: Moderation buttons in the message line.
The following actions are available:
- :guilabel:`Accept`: to accept the email and send it to the mail group members.
- :guilabel:`Reject`: to reject the email. In the pop-up window that opens, click
:guilabel:`Reject Silently` to reject the email without notifying the author, or specify an
explanation for rejecting the message, then click :guilabel:`Send & Reject` to reject the message
and send the explanation to the author.
- :guilabel:`Whitelist`: to whitelist the author, i.e. automatically accept all of their emails. As
a result, a :ref:`moderation rule <website/mailing_lists/moderate>` is created for the author's
email address with the status :guilabel:`Always allow`.
- :guilabel:`Ban`: to blacklist the author, i.e. automatically discard all their emails. In the
pop-up window that opens, click :guilabel:`Ban` to ban the author without notifying them, or
specify an explanation, then click :guilabel:`Send & Ban` to ban the author and send them the
explanation. As a result, a :ref:`moderation rule <website/mailing_lists/moderate>` is created for
the author's email address with the status :guilabel:`Permanent ban`.
.. note::
Messages can also be moderated from the group's list of messages. Go to :menuselection:`Website
--> Groups --> Mailing List Groups`, select the mail group and click the :guilabel:`Emails` smart
button.
.. _website/mailing_lists/moderation_rules:
Whitelisting/Blacklisting authors
=================================
You can whitelist or blacklist an author either directly :ref:`from a mail group message
<website/mailing_lists/moderate>`, or by creating a moderation rule. To do so, go to
:menuselection:`Website --> Configuration --> Moderation Rules` and click :guilabel:`New`. Then,
select the :guilabel:`Group`, specify the author's :guilabel:`Email` and set the :guilabel:`Status`
field.
.. tip::
You can also access the mail group's moderation rules by going to :menuselection:`Website -->
Configuration --> Mailing Lists`, selecting the group, then clicking the :guilabel:`Moderations`
smart button.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

View File

@@ -466,8 +466,8 @@ Alert blocks (admonitions)
.. _contributing/seealso:
See also
--------
Seealso
-------
.. list-table::
:class: o-showcase-table