Compare commits

..

1 Commits

Author SHA1 Message Date
Victor Feyens
ed490979d7 [REL] freeze 16.0 branch 2022-09-20 17:07:45 +02:00
70 changed files with 658 additions and 396 deletions

View File

@@ -95,7 +95,7 @@ else:
import odoo.addons
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
odoo_version = '.'.join(str(s) for s in odoo_release.version_info[:2]).replace('~', '-') # Change saas~XX.Y to saas-XX.Y
odoo_version = odoo_release.version.replace('~', '-') # Change saas~XX.Y to saas-XX.Y
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
if release != odoo_version:
_logger.warning(

View File

@@ -62,11 +62,11 @@ database manager.
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
database, then on :guilabel:`Domain names`.
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, then on :guilabel:`Domain names`.
.. image:: domain_names/register-menu.png
.. image:: domain_names/register-promote.png
:align: center
:alt: Clicking on Domain Names from an Odoo website

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -64,8 +64,8 @@ Link your Ponto account with your Odoo database
#. Finish the flow.
.. note::
You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the
accounts based on the institution you selected in the second step.
You have to authorize all the accounts you want to access in Odoo but, Odoo will filter the
accounts based on the institution you selected at the second step.
Update your synchronization credentials
---------------------------------------

View File

@@ -232,8 +232,9 @@ directly to its services and get the currency rate either automatically or manua
:align: center
:alt: Bank of Peru is displayed in Multicurrency Service option
Please refer to the next section in our documentation for more information about
:doc:`multicurrencies <../../others/multi_currency>`.
Please refer to the next section in our documentation for more information about :doc:`multicurrency
<../../others/multicurrencies/how_it_works>`.
Configure Master data
---------------------

View File

@@ -7,7 +7,7 @@ Others
.. toctree::
:titlesonly:
others/multi_currency
others/analytic
others/adviser
others/multicurrencies
others/inventory

View File

@@ -1,167 +0,0 @@
=====================
Multi-currency system
=====================
Odoo allows you to issue invoices, receive bills, and record transactions in currencies other than
the main currency configured for your company. You can also set up bank accounts in other currencies
and run reports on your foreign currency activities.
.. seealso::
- :doc:`../bank/setup/foreign_currency`
.. _multi-currency/config:
Configuration
=============
.. _multi-currency/config-main-currency:
Main currency
-------------
The **main currency** is defined by default according to the company's country. You can change it by
going to :menuselection:`Accounting --> Configuration --> Settings --> Currencies` and changing the
currency in the :guilabel:`Main Currency` setting.
.. _multi-currency/config-enable:
Enable foreign currencies
-------------------------
Go to :menuselection:`Accounting --> Configuration --> Currencies`, and enable the currencies you
wish to use by toggling the :guilabel:`Active` button.
.. image:: multi_currency/enable-foreign-currencies.png
:align: center
:alt: Enable the currencies you wish to use.
.. _multi-currency/config-rates:
Currency rates
--------------
Manual update
~~~~~~~~~~~~~
To manually create and set a currency rate, go to :menuselection:`Accounting --> Configuration -->
Currencies`, click on the currency you wish to change the rate of, and under the :guilabel:`Rates`
tab, click :guilabel:`Add a line` to create a new rate.
.. image:: multi_currency/manual-rate-update.png
:align: center
:alt: Create or modify the currency rate.
Automatic update
~~~~~~~~~~~~~~~~
When you activate a second currency for the first time, :guilabel:`Automatic Currency Rates` appears
under :menuselection:`Accounting Dashboard --> Configuration --> Settings --> Currencies`. By
default, you have to click on the **Update now** button (:guilabel:`🗘`) to update the rates.
Odoo can update the rates at regular intervals. To do so, change the :guilabel:`Interval` from
:guilabel:`Manually` to :guilabel:`Daily`, :guilabel:`Weekly`, or :guilabel:`Monthly`. You can also
select the web service from which you want to retrieve the latest currency rates by clicking on the
:guilabel:`Service` field.
.. _multi-currency/config-exch-diff:
Exchange difference entries
---------------------------
Odoo automatically records exchange differences entries on dedicated accounts, in a dedicated
journal.
You can define which journal and accounts to use to **post exchange difference entries** by
going to :menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and editing
the :guilabel:`Journal`, :guilabel:`Gain Account`, and :guilabel:`Loss Account`.
.. example::
If you receive a payment for a customer invoice one month after it was issued, the exchange rate
has likely changed since. Therefore, this fluctuation implies some profit or loss due to the
exchange difference, which Odoo automatically records in the default **Exchange Difference**
journal.
.. _multi-currency/config-coa:
Chart of accounts
-----------------
Each account can have a set currency. By doing so, all moves relevant to the account are forced to
have that account's currency.
To do so, go to :menuselection:`Accounting --> Configuration --> Charts of Accounts` and select a
currency in the field :guilabel:`Account Currency`. If left empty, all active currencies are handled
instead of just one.
.. _multi-currency/config-journals:
Journals
--------
If a currency is set on a **journal**, that journal only handles transactions in that currency.
To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open the journal you
want to edit, and select a currency in the field :guilabel:`Currency`. If left empty, all active
currencies are handled instead of just one.
.. image:: multi_currency/journal-currency.png
:align: center
:alt: Select the currency for the journal to handle.
.. _multi-currency/mca:
Multi-currency accounting
=========================
.. _multi-currency/mca-documents:
Invoices, bills, and other documents
------------------------------------
For all documents, you can select the currency and journal to use for the transaction.
.. image:: multi_currency/currency-field.png
:align: center
:alt: Select the currency and journal to use.
.. _multi-currency/mca-payment:
Payment registration
--------------------
To register a payment in a currency other than your company's main currency, click on the
:guilabel:`Register Payment` payment button of your document and, in the pop-up window, select a
**currency** in the :guilabel:`Amount` field.
.. image:: multi_currency/register-payment.png
:align: center
:alt: Select the currency and journal to use before registering the payment.
.. _multi-currency/mca-statements:
Bank statements
---------------
When creating or importing bank statements, the amount is in the company's main currency. To see
additional fields related to foreign currencies, click on the **columns dropdown button**
(:guilabel:`⋮`) next to :guilabel:`Amount`, and check :guilabel:`Amount Currency` and
:guilabel:`Foreign Currency`.
.. image:: multi_currency/foreign-fields.png
:align: center
:alt: The extra fields related to foreign currencies.
When reconciling, Odoo displays both the foreign currency amount and the equivalent amount in your
company's main currency.
.. _multi-currency/mca-exch-entries:
Exchange rate journal entries
-----------------------------
To see **exchange difference journal entries**, go to :menuselection:`Accounting Dashboard -->
Accounting --> Journals: Miscellaneous`.
.. image:: multi_currency/exchange-journal-currency.png
:align: center
:alt: Exchange rate journal entry.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,12 @@
:nosearch:
=============
Multicurrency
=============
.. toctree::
:titlesonly:
multicurrencies/how_it_works
multicurrencies/invoices_payments
multicurrencies/exchange

View File

@@ -0,0 +1,112 @@
=================================
Record exchange rates at payments
=================================
Overview
========
Any company doing international trade faces the case where the payments
are in a different currency.
After receiving their payments, you have the option to convert the
amount into your company currency. Multi currency payment implies rates
fluctuations. The rate differences are automatically recorded by Odoo.
Configuration
=============
Enable multi-currencies
-----------------------
In the accounting module, Go to :menuselection:`Configuration --> Settings`
and flag **Allow multi currencies**, then click on **apply**.
.. image:: exchange/exchange_rate03.png
:align: center
Configure the currency rates in :menuselection:`Configuration --> Currencies`.
Write down the rate and make sure the currency is active.
.. image:: exchange/exchange_rate02.png
:align: center
In this document, the base currency is **Euro** and we will record payments
in **Dollars**.
.. image:: exchange/exchange_rate08.png
:align: center
.. tip::
You can automatically fetch the currency rates from the **European
Central Bank** or from **Yahoo**. Please read the document :
:doc:`how_it_works`.
Configure your journal
----------------------
In order to register payments in other currencies, you have to **remove
the currency constraint** on the journal. Go to the accounting
application, Click on **More** on the journal and **Settings**.
.. image:: exchange/exchange_rate06.png
:align: center
Check if the **Currency** field is empty or in the foreign currency in which
you will register the payments. If a currency is filled in, it means
that you can register payments only in this currency.
.. image:: exchange/exchange_rate10.png
:align: center
Record a payment in a different currency
========================================
In the **Accounting** application, go to :menuselection:`Sales --> Payments`.
Register the payment and indicate that it was done in the foreign currency. Then
click on **confirm**.
.. image:: exchange/exchange_rate05.png
:align: center
The journal entry has been posted but not allocated.
Go back to your invoice (:menuselection:`Sales --> Customer Invoices`) and click on
**Add** to allocate the payment.
.. image:: exchange/exchange_rate04.png
:align: center
Record a bank statement in a different currency
===============================================
Create or import the bank statement of your payment. The **Amount** is in
the company currency. There are two complementary fields, the **Amount currency**,
which is the amount that was actually paid and the **Currency** in which it was paid.
.. image:: exchange/exchange_rate07.png
:align: center
When reconciling it, Odoo will directly match the payment with the right
**Invoice**. You will get the invoice price in the invoice currency and the
amount in your company currency.
.. image:: exchange/exchange_rate09.png
:align: center
Check the exchange rate differences
===================================
Go to :menuselection:`Adviser --> Journal Entries` and look for the **Exchange difference**
journal entries. All the exchange rates differences are recorded in it.
.. image:: exchange/exchange_rate01.png
:align: center
.. tip::
The Exchange difference journal can be changed in your accounting settings.
.. include:: exchange/full_reconcile_warning.rst
.. seealso::
* :doc:`../../bank/reconciliation/reconciliation_models`
* :doc:`../../bank/reconciliation/use_cases`

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -0,0 +1,7 @@
.. warning::
In order for an exchange difference entry to be created automatically, the
corresponding invoices and payments need to be fully reconciled. This means
the invoices are fully paid and the payments are fully spent on invoices.
If you partially pay 3 invoices from 2 payments, and the last invoice still
has an amount due, there will be no exchange difference entry for any of
them until that final amount is paid.

View File

@@ -0,0 +1,171 @@
============================
Odoo's multi-currency system
============================
Overview
========
Choosing to use the multi-currency option in Odoo will allow you to send
sales invoices, quotes and purchase orders or receive bills and payments
in currencies other than your own. With multi-currency, you can also set
up bank accounts in other currencies and run reports on your foreign
currency activities.
Configuration
=============
Turn on multi-currency
----------------------
In the accounting module, Go to :menuselection:`Configuration --> Settings` and flag
**Allow multi currencies**, then click on **Apply**.
.. image:: how_it_works/works01.png
:align: center
Exchange Rate Journal
---------------------
The **Rate Difference Journal** records the differences between the payment
registration and the expected amount. For example, if a payment is paid
1 month after the invoice was issued, the exchange rate has probably
changed. The fluctuation implies some loss or profit that are recorded
by Odoo.
You can change it in the settings:
.. image:: how_it_works/works02.png
:align: center
View or edit rate being used
----------------------------
You can manually configure the currency rates in :menuselection:`Configuration -->
Currencies`. Open the currencies you want to use in Odoo and edit it.
Make sure the currency is active.
.. image:: how_it_works/works03.png
:align: center
Click on **View Rates** to edit it and to see the history :
.. image:: how_it_works/works04.png
:align: center
Click on **Create** to add the rate. Fill in the date and the rate.
Click on **Save** when you are done.
.. image:: how_it_works/works05.png
:align: center
Live Currency Rate
------------------
By default, the currencies need to be updated manually. But you can
synchronize it with `Yahoo <https://finance.yahoo.com/currency-converter/>`__ or
the `European Central Bank <http://www.ecb.europa.eu>`__. In
:menuselection:`Configuration --> Settings`, go to the **Live Currency Rate** section.
Choose the interval : Manually, Daily, Weekly or Monthly. You can always
force the update by clicking on **Update Now**. Select the provider, and you
are set !
.. image:: how_it_works/works06.png
:align: center
.. note::
Only the **active** currencies are updated
Configure your charts of account
--------------------------------
In the accounting application, go to :menuselection:`Adviser --> Charts of Accounts`.
On each account, you can set a currency. It will force all moves for
this account to have the account currency.
If you leave it empty, it means that it can handle all currencies that
are Active.
.. image:: how_it_works/works07.png
:align: center
Configure your journals
-----------------------
In order to register payments in other currencies, you have to remove
the currency constraint on the journal. Go to the accounting
application, Click on **More** on the journal and **Settings**.
.. image:: how_it_works/works08.png
:align: center
Check if the currency field is empty or in the foreign currency in which
you will register the payments. If a currency is filled in, it means
that you can register payments only in this currency.
.. image:: how_it_works/works09.png
:align: center
How is Odoo's multi-currency working?
=====================================
Now that you are working in a multi-currency environment, all
accountable items will be linked to a currency, domestic or foreign.
Sales Orders and Invoices
-------------------------
You are now able to set a different currency than the company one on
your sale orders and on your invoices. The currency is set for the whole
document.
.. image:: how_it_works/works10.png
:align: center
Purchases orders and Vendor Bills
---------------------------------
You are now able to set a different currency than the company one on
your purchase orders and on your vendor bills. The currency is set for
the whole document.
.. image:: how_it_works/works11.png
:align: center
Payment Registrations
---------------------
In the accounting application, go to :menuselection:`Sales --> Payments`. Register the payment and
set the currency.
.. image:: how_it_works/works12.png
:align: center
Bank Statements
---------------
When creating or importing bank statements, the amount is in the company
currency. But there are now two complementary fields, the amount that
was actually paid and the currency in which it was paid.
.. image:: how_it_works/works13.png
:align: center
When reconciling it, Odoo will directly match the payment with the right
Invoice. You will get the invoice price in the invoice currency and the
amount in your company currency.
Exchange Rate Journal
---------------------
Go to :menuselection:`Adviser --> Journal Entries` and look for the Exchange difference
journal entries. All the exchange rates differences are recorded in it.
.. image:: how_it_works/works14.png
:align: center
.. include:: exchange/full_reconcile_warning.rst
.. seealso::
* :doc:`invoices_payments`
* :doc:`exchange`

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,121 @@
==================================================
Manage invoices and payment in multiple currencies
==================================================
Overview
========
Odoo provides multi-currency support with automatic currency gross or
loss entry adjustment. There are a few things Odoo has been to ease the
user's life.
All the account transactions will be done using the company currency.
However you can see two extra fields with the journal entry where
secondary currency and amount will visible. You can create
multi-currency journals of force a specific currency.
When creating an invoice, the currency can be changed very easily;
however Odoo takes the company currency as a default assignment. It will
convert all the amounts automatically using that currency.
Configuration
=============
Enable Multi-Currency
---------------------
For information about enabling Multi-Currency, please read the document:
:doc:`how_it_works`
Configure your journal
----------------------
In order to register payments in other currencies, you have to remove
the currency constraint on the journal. Go to the accounting
application, on the journal, click on :menuselection:`More --> Settings`.
.. image:: invoices_payments/invoice01.png
:align: center
Check if the currency field is empty or in the foreign currency in which
you will register the payments. If a currency is filled in, it means
that you can register payments only in this currency.
.. image:: invoices_payments/invoice02.png
:align: center
Multi-currency invoices & Vendor Bills
======================================
Now that you are working in a multi-currency environment, all
accountable items will be linked to a currency, domestic or foreign.
Invoices
--------
You are now able to set a different currency than the company one on
your sale orders and on your invoices. The currency is set for the whole
document.
.. image:: invoices_payments/invoice03.png
:align: center
Vendor Bills
------------
You are now able to set a different currency than the company one on
your purchase orders and on your vendor bills. The currency is set for
the whole document.
.. image:: invoices_payments/invoice04.png
:align: center
Multi-currency Payments
=======================
In the accounting application, go to :menuselection:`Sales --> Payments`. Register the
payment and indicate that it was done in the foreign currency. Then
click on **Confirm**.
.. image:: invoices_payments/invoice05.png
:align: center
The journal entry has been posted but not allocated.
Go back to your invoice (:menuselection:`Sales --> Customer Invoices`) and click on
**Add** to allocate the payment.
.. image:: invoices_payments/invoice06.png
:align: center
Multi- Currency Bank Statements
===============================
When creating or importing bank statements, the amount is in the company
currency. But there are now two complementary fields, the amount that
was actually paid and the currency in which it was paid.
.. image:: invoices_payments/invoice07.png
:align: center
When reconciling it, Odoo will directly match the payment with the right
invoice. You will get the invoice price in the invoice currency and the
amount in your company currency.
.. image:: invoices_payments/invoice08.png
:align: center
Exchange Rate Journal
=====================
Go to :menuselection:`Adviser --> Journal Entries` and look for the **Exchange
Difference** journal entries. All the exchange rates differences are recorded in it.
.. image:: invoices_payments/invoice09.png
:align: center
.. include:: exchange/full_reconcile_warning.rst
.. seealso::
* :doc:`how_it_works`
* :doc:`exchange`

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,210 +1,240 @@
====================================================
Send and receive emails in Odoo with an email server
Send and Receive Emails in Odoo with an Email Server
====================================================
Odoo Online or Odoo.sh users
============================
If you are a user of Odoo Online or Odoo.sh...
==============================================
Since **Odoo sets up its own mail servers for the database**, outgoing and incoming emails already
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be done!
You have nothing to do! **Odoo sets up its own mail servers for your database.**
Outgoing and incoming emails work out-of-the-box!
Unless you plan to send large batches of mass mailing that could require the
use of an external mail server, simply enjoy your new Odoo database.
Unless an external mail server is required to send large batches of mass mailing, simply use the
standard online Odoo database normally since it has already been preconfigured for email.
Scope of this documentation
===========================
This document is **mainly dedicated to Odoo on-premise users** who don't benefit from an
out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online <https://www.odoo.
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_.
This document is **mainly dedicated to Odoo on-premise users** who don't
benefit from an out-of-the-box solution to send and receive emails in Odoo,
unlike `Odoo Online <https://www.odoo.com/trial>`_ & `Odoo.sh <https://www.odoo.sh>`_.
The following sections below contain information on how to integrate an external email server with
Odoo.
.. warning::
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly
recommended. Those Odoo hosting types' email systems work instantly and are monitored by
professionals. Nevertheless, a company can use their own email server if they want to manage the
email server's reputation themselves.
If no one in your company is used to manage email servers, we strongly recommend that
you opt for those Odoo hosting solutions. Their email system
works instantly and is monitored by professionals.
Nevertheless you can still use your own email servers if you want
to manage your email server's reputation yourself.
.. note::
Office 365 email servers don't easily allow the sending of external emails from hosts like Odoo.
Refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-
multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
c805d654b4c4>`_ to make it work.
You will find here some useful
information on how to integrate your own email solution with Odoo.
Manage outbound messages
========================
.. note::
Office 365 email servers don't easily allow to send external emails from hosts like Odoo. Refer
to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
to make it work.
As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and
enable the :guilabel:`External Email Servers` option. Then, click :guilabel:`Save`. Next, click
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail
server record in Odoo. Reference the SMTP data of the external email server. Once all the
information has been filled out, click :guilabel:`Test Connection`.
How to manage outbound messages
===============================
As a system admin, go to :menuselection:`Settings --> General Settings`
and check *External Email Servers*. Then, click *Outgoing Mail Servers* to create one and reference
the SMTP data of your email server. Once all the information has been filled out, click on
*Test Connection*.
Here is a typical configuration for a G Suite server.
.. image:: email_servers/outgoing-server.png
:align: center
:alt: The typical G Suite configuration on Odoo.
:align: center
Then, go back to :menuselection:`Settings --> General Settings --> Discuss` and set the email
domain name in the :guilabel:`Alias Domain` name. Finally, click :guilabel:`Save` to finish setting
up the email server.
Then set your email domain name in the General Settings.
.. note::
If an `[AUTHENTICATION FAILED] Invalid credentials (Failure)` warning appears when
:guilabel:`Test Connection` is clicked for a Gmail address, activate the :guilabel:`Less secure
app access` option. A direct link can be `accessed here <https://myaccount.google.com/
lesssecureapps?pli=1>`_.
If you get a ``[AUTHENTICATIONFAILED] Invalid credentials (Failure)`` warning when you *Test
Connection* on a Gmail address, activate the *Less secure app access* option. A direct link can
be `accessed here <https://myaccount.google.com/lesssecureapps?pli=1>`_.
In addition to that, enable the :guilabel:`IMAP setting` on the Gmail account.
In addition to that, enable the IMAP setting on your Gmail account.
Use an Office 365 server
------------------------
An Office 365 server can be used if the database's hosting type is **Odoo on-premise**. Office 365
SMTP relays are not compatible with Odoo Online or Odoo.sh unless Odoo is configured to
:ref:`force the outgoing "From" address <email_communication/default_from>`.
Can I use an Office 365 server
------------------------------
You can use an Office 365 server if you run Odoo on-premise.
Office 365 SMTP relays are not compatible with Odoo Online unless you configure
Odoo to :ref:`force the outgoing "From" address <email_communication/default_from>` .
Please refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-
a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
c805d654b4c4>`_ to configure an SMTP relay for the Odoo database's IP address.
Please refer to `Microsoft's documentation
<https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
to configure a SMTP relay for your Odoo's IP address.
Use a G Suite server
--------------------
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service.
The configuration steps are explained in `Google documentation <https://support.google.com
/a/answer/2956491?hl=en>`__.
How to use a G Suite server
---------------------------
You can use an G Suite server for any Odoo hosting type.
To do so you need to setup the SMTP relay service. The configuration steps are explained in
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
Restriction
-----------
Please note that port 25 is blocked for security reasons on the SaaS and Odoo.sh platforms. Try
using ports 465, 587, or 2525 instead.
Please note that port 25 is blocked for security reasons on our SaaS and Odoo.sh platform. Try using
465, 587, or 2525.
.. _email_communication/default_from:
Use a default "From" email address
----------------------------------
Sometimes, an email's "From" (outgoing) address can belong to a different domain, and that can be a
problem.
Sometimes, an email's "From" (outgoing) address can belong to a
different domain, and that can be a problem.
For example, if a customer with the email address *mary\@customer.example.com* responds to a
message, Odoo will try to redistribute that same email to the other subscribers in the thread.
However, if the domain *customer.example.com* forbids that kind of usage for security, the email
that Odoo is trying to redistribute would get rejected by some recipients' email servers.
For example, if a customer with address *mary@customer.example.com* responds to
a message, Odoo will try to redistribute that same email to other subscribers
in the thread. But if the domain *customer.example.com* forbids that kind of
usage for security, the Odoo's redistributed email would get
rejected by some recipients' mail servers.
To avoid that problem, make sure all emails use a "From" address from the same authorized domain.
To avoid those kind of problems, you should make sure all emails use a "From"
address from your authorized domain.
If the MTA supports `SRS (Sender Rewriting Scheme) <https://en.wikipedia.org/wiki/Sender_Rewriting
_Scheme>`_, SRS can be enabled to handle these situations. However, that is more complex and
requires more technical knowledge that is not meant to be covered by this documentation.
If your MTA supports `SRS (Sender Rewriting Scheme)
<https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme>`_, you can enable it
to handle these situations. However, that is more complex and requires more
technical knowledge that is not meant to be covered by this documentation.
Instead, Odoo can be configured to do something similar by itself:
Instead, you can also configure Odoo to do something similar by itself:
#. Set the :guilabel:`Alias Domain` name in the :menuselection:`Settings --> General Settings
--> Discuss`.
#. Set your domain name in the General Settings.
.. image:: email_servers/alias-domain.png
:alt: Setting the domain alias configuration on Odoo.
.. image:: email_servers/alias-domain.png
:align: center
#. Turn on :doc:`developer mode </applications/general/developer_mode>`.
#. Go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`.
#. Add one system parameter from the following list:
#. Click on *Outgoing Mail Servers*
* To use the same "From" address for *all* outgoing messages, use the key `mail.force.smtp.from`
and set that address as value (such as `outgoing@mycompany.example.com`).
* To keep the original "From" address for emails that use the same domain, but change it for
emails that use a different domain, use the key `mail.dynamic.smtp.from` and set the value as
the email address that should be used in those cases (such as `outgoing@mycompany.example.com`
).
#. Create a new one.
#. Fill its *From Filter*.
.. image:: email_servers/outgoing_server_from_filter.png
:align: center
* Use a domain (such as ``mycompany.example.com``) to keep the original "From"
address for mails that come from that domain.
* Use an address (such as ``outgoing@mycompany.example.com``) to allow only
that outgoing address.
* Keep it empty to use this server for any email address.
With this configuration in place, if Odoo sends an email that doesn't match any
of the *from filters*, it will alter the email's "From" before sending it to
the MTA.
It will use the default outgoing email address, composed like this:
``{mail.default.from}@{mail.catchall.domain}``.
#. In developer mode, go to :menuselection:`Settings --> Technical -->
Parameters --> System Parameters`.
#. Add these system parameters:
* ``mail.default.from``: local part of default outgoing email address.
* ``mail.catchall.domain``: domain part of default outgoing email address.
.. _email_communication/inbound_messages:
Manage inbound messages
=======================
How to manage inbound messages
==============================
Odoo relies on generic email aliases to fetch incoming messages.
* **Reply messages** of messages sent from Odoo are routed to their original discussion thread (and
to the inbox of all its followers) by the catchall alias (**catchall@**).
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo. This is especially
used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__ to opt-out invalid
recipients.
* **Original messages**: Several business objects have their own alias to create new records in
Odoo from incoming emails:
* **Reply messages** of messages sent from Odoo are routed to their original
discussion thread (and to the inbox of all its followers) by the
catchall alias (**catchall@**).
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo.
This is especially used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__
to opt-out invalid recipients.
* **Original messages**: Several business objects have their own alias to
create new records in Odoo from incoming emails:
* Sales Channel (to create Leads or Opportunities in `Odoo CRM <https://www.odoo.com/page/crm>`__),
* Support Channel (to create Tickets in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`__),
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page
/project-management>`__),
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page
/recruitment>`__),
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page/project-management>`__),
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page/recruitment>`__),
* etc.
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
recommended method is to manage one email address per Odoo alias in the mail server.
Depending on your mail server, there might be several methods to fetch emails.
The easiest and most recommended method is to manage one email address per Odoo
alias in your mail server.
* Create the corresponding email addresses in the mail server (catchall@, bounce@, sales@, etc.).
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
Discuss`.
* Create the corresponding email addresses in your mail server
(catchall@, bounce@, sales@, etc.).
* Set your domain name in the General Settings.
* If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in
Odoo for each alias. This can be done from the General Settings as well. Fill out the form
according to the email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming
Mails` field blank. Once all the information has been filled out, click on :guilabel:`TEST &
CONFIRM`.
.. image:: email_servers/incoming-server.png
:align: center
:alt: Incoming mail server configuration on Odoo.
* If the database's hosting type is Odoo Online or Odoo.sh, redirecting incoming messages to Odoo's
domain name instead of the external email server is recommended. That way, incoming messages can
be received without delay. Odoo Online only fetches incoming messages of external servers once
every hour. Redirections for all email addresses should be set to Odoo's domain name in the email
server (e.g. *catchall\@mydomain.ext* to *catchall\@mycompany.odoo.com*).
All the aliases are customizable in Odoo. Object aliases can be edited from their respective
configuration view.
.. tip::
To edit catchall and bounce aliases, first activate the :ref:`developer mode <developer-mode>`.
Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to
customize the aliases (*mail.catchall.alias* & *mail.bounce.alias*).
.. image:: email_servers/system-parameters.png
.. image:: email_servers/alias-domain.png
:align: center
:alt: System parameters with catchall configuration in Odoo.
By default, inbound messages are fetched every 5 minutes in Odoo on-premise.
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
You can do it from the General Settings as well. Fill out the form according
to your email providers settings.
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
information has been filled out, click on *TEST & CONFIRM*.
.. note::
This value can be changed in :ref:`developer mode <developer-mode>`. Go to
:menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for
:guilabel:`Mail: Fetchmail Service`.
.. image:: email_servers/incoming-server.png
:align: center
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
to Odoo's domain name rather than exclusively use your own email server.
That way you will receive incoming messages without delay. Indeed, Odoo Online is fetching
incoming messages of external servers once per hour only.
You should set redirections for all the email addresses to Odoo's domain name in your
email server (e.g. *catchall@mydomain.ext* to *catchall@mycompany.odoo.com*).
.. tip:: All the aliases are customizable in Odoo.
Object aliases can be edited from their respective configuration view.
To edit catchall and bounce aliases, you first need to activate the
:ref:`developer mode <developer-mode>`.
Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
.. image:: email_servers/system-parameters.png
:align: center
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
You can change this value in :ref:`developer mode <developer-mode>`.
Go to :menuselection:`Settings --> Technical --> Automation -->
Scheduled Actions` and look for *Mail: Fetchmail Service*.
Set up different dedicated servers for transactional and mass mails
===================================================================
In Odoo a separate Mail Transfer Agent (MTA) server can be used for transactional emails and mass
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or
Sendgrid for mass mailings.
Odoo is subject to a :ref:`daily email limit <email_communication/daily_limit_mail>` to prevent abuse.
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
e-mails and mass mailings.
Example: use Odoo's own mail server for transactional e-mails, and Sendgrid, Amazon SES, or Mailgun
for mass mailings. Another alternative is to use Postmark for transactional e-mails, and Amazon SES
or Sendgrid for mass mailings.
.. tip::
A default outgoing email server is already configured. Do not create an alternative one unless a
specific external outgoing email server is needed for technical reasons.
.. note::
A default outgoing email server is already configured. You should not create an alternative one
unless you want to use a specific external outgoing email server for technical reasons.
To do this, first activate the :ref:`developer mode <developer-mode>`, and then go to
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two email MTA
server settings; one for the transactional emails and one for the mass mailing server. Make sure
to give priority to the transactional server over the mass mailing server by providing a lower
priority number for the transactional MTA server.
To do this, you should first activate the :ref:`developer mode <developer-mode>` and then go to
:menuselection:`Settings --> Technical --> Outgoing` e-mail servers. There you have to create two
e-mail MTA server settings. One for transactional e-mails and one for mass mail servers. Be sure to
mark the priority of transactional e-mail servers as low as the mass email servers.
Now, go to :menuselection:`Email Marketing --> Settings` and enable :guilabel:`Dedicated Server`.
Now, go to :menuselection:`Email Marketing --> Settings` and enable *Dedicated Server*.
With these settings, Odoo uses the server with the lower priority for transactional emails, and the
server here selected for mass mails. Note that in this case, the domain's Sender Policy Framework
(SPF) records must be set to include both transactional and mass mail servers.
server here selected for mass mails.
Note that in this case, you have to set your domain's Sender Policy Framework (SPF) records to
include both transactional and mass mail servers. If your server resides with xxxx.odoo.com, the
available options are Sendinblue and Mailchimp, as your e-mails would be originated from the
xxxx.odoo.com domain.

View File

@@ -131,4 +131,4 @@ at an invoice/bills level or at a sales/purchase orders level.
.. seealso::
- :doc:`Multi-company Guidelines </developer/howtos/company>`
- :doc:`../../finance/accounting/others/multi_currency`
- :doc:`../../finance/accounting/others/multicurrencies/how_it_works`

View File

@@ -1,45 +1,35 @@
==================================
Managing BoMs for product variants
==================================
=======================
Variants BOM Management
=======================
Odoo allows one bill of materials (BoM) to be used for multiple variants of the same product.
Having a consolidated BoM for a product with variants saves time by preventing the need to manage
multiple BoMs.
Odoo allows you to use one bill of materials for multiple variants of
the same product. To activate variants, simply go to :menuselection:`Configuration --> Settings
--> Variants`.
Activate product variants
=========================
.. image:: product_variants/bom-variants1.png
:align: center
To activate variants, simply navigate to :menuselection:`Inventory --> Configuration --> Settings
--> Products`, and then enable the :guilabel:`Variants` option. After that, click :guilabel:`Save`
to apply the setting. For more information on configuring product variants, refer to :doc:`this
page <../../../sales/sales/products_prices/products/variants>`.
You will then be able to specify which BOM component lines are to be used in
the manufacture of each product variant. You may specify multiple
variants for each line. If no variant is specified on a component line,
then this component will be used in the BOM of all variants.
.. image:: product_variants/inventory-variants-settings.png
:align: center
:alt: Selecting "Variants" from Inventory app settings.
When defining variant BoMs on a line-item-basis, the **Product
Variant** field in the main section of the BoM should be left blank as shown
below. This field is used when creating a BoM for one specific variant
of a product only.
Apply BoM components to product variants
========================================
Next, create a new BoM or edit an existing one by going to :menuselection:`Manufacturing -->
Products --> Bills of Materials`. Then, click :guilabel:`Edit`. The :guilabel:`Apply on Variants`
option to assign components to specific product variants on the BoM is available once the
:guilabel:`Variants` setting is activated from the :guilabel:`Inventory` application. If the
:guilabel:`Apply on Variants` field is not immediately visible, activate it from the additional
options menu.
.. image:: product_variants/kit-bom1.png
:align: center
.. image:: product_variants/variants-kebab-menu.png
:align: center
:alt: "Apply on Variants" option on the additional options menu.
Note that the same principle applies for the configuration
of operations.
Each component can be assigned to multiple variants. Components with no variants specified are used
in every variant of the product. The same principle applies when configuring operations and
by-products.
.. image:: product_variants/kit-bom2.png
:align: center
When defining variant BoMs by component assignment, the :guilabel:`Product Variant` field in the
main section of the BoM should be left blank, as shown below. This field is used only when creating
a BoM specifically for one product variant.
And for the production of by-products.
.. image:: product_variants/apply-on-variants-bom.png
:align: center
:alt: Applying components to multiple variants.
.. image:: product_variants/kit-bom3.png
:align: center

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@@ -9,42 +9,40 @@ sales processes, using *Sales Teams*.
Create a new Sales Team
=======================
To create a new Sales Team, go to :menuselection:`CRM --> Sales --> Teams` then click
:guilabel:`Create`.
To create a new Sales Team, go to :menuselection:`CRM --> Configuration --> Sales Teams` then
click **Create**.
On the creation page, set an :guilabel:`Email Alias` to automatically generate a lead/opportunity
for this Sales Team every time a message is sent to that unique email address. You can also choose
whether to accept emails from :guilabel:`Everyone`, :guilabel:`Authenticated Partners`, or
:guilabel:`Followers Only`.
On the creation page, set an *Email Alias* to automatically generate a lead/opportunity for this
Sales Team every time a message is sent to that unique email address. You can also choose whether
to accept emails from *Everyone*, *Authenticated Partners*, or *Followers Only*.
Set a :guilabel:`Domain` to assign leads/opportunities to this Sales Team based on specific
filters, such as country, language, or campaign. Set an :guilabel:`Invoicing Target` if this team
has specific monthly revenue goals.
Set a *Domain* to assign leads/opportunities to this Sales Team based on specific filters, such as
country, language, or campaign. Set an *Invoicing Target* if this team has specific monthly revenue
goals.
.. image:: multi_sales_team/sales-team-creation.png
:align: center
:alt: Create a Sales Team in Odoo CRM.
:alt: Creating a Sales Team
Add members to a Sales Team
---------------------------
To add team members, click :guilabel:`Add` under the Assignment tab when editing the Sales Team's
To add team members, click **Add** under the Assignment tab when editing the Sales Team's
configuration page. Select a salesperson from the dropdown menu or create new salesperson. Set a
maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure that
they do not overwork.
.. image:: multi_sales_team/add-a-salesperson.png
:align: center
:alt: Add a Salesperson inside Odoo CRM.
:alt: Adding a Salesperson
One person can be added as a team member or Team Leader to multiple Sales Teams, allowing them to
access all of the pipelines that they need to.
One person can be added as a team member or Team Leader to multiple Sales Teams, allowing them to access all of the pipelines that they need to.
Sales Team dashboard
====================
To view the Sales Team dashboard, go to :menuselection:`CRM --> Sales --> Teams`. Any teams you are
a part of will appear as dashboard tiles.
To view the Sales Team dashboard, go to :menuselection:`CRM --> Configuration --> Sales Teams`. Any
teams you are a part of will appear as dashboard tiles.
Each tile gives an overview of the Sales Team's open opportunities, quotations, sales orders, and
expected revenue, as well as a bar graph of new opportunities per week and an invoicing progress
@@ -52,7 +50,7 @@ bar.
.. image:: multi_sales_team/sales-team-overview.png
:align: center
:alt: Sales Team Overview dashboard in Odoo CRM.
:alt: Sales Team Overview
Click on the three dots in the corner of a tile to open a navigational menu that lets you quickly
view documents or reports, create new quotations or opportunities, pick a color for this team, or
@@ -60,6 +58,8 @@ access its configuration page.
.. image:: multi_sales_team/team-overview-three-dot-menu.png
:align: center
:alt: Click the Three Dot Menu in Odoo CRM dashboard to view documents and create opportunities.
:alt: Three Dot Menu
Click on the **Pipeline** button to go directly to that team's CRM pipeline.
Click on the :guilabel:`Pipeline` button to go directly to that team's CRM pipeline.

View File

@@ -4,8 +4,6 @@
Advanced B: ACL and Record Rules
================================
ACL stands for "Access Control List"
.. warning::
This tutorial assumes you have completed the :ref:`Core Training

View File

@@ -83,6 +83,7 @@ value::
.. autoattribute:: _parent_name
.. autoattribute:: _parent_store
.. autoattribute:: _date_name
.. autoattribute:: _fold_name
AbstractModel
@@ -855,11 +856,15 @@ Search/Read
.. automethod:: Model.read_group
Fields
''''''
Fields/Views
''''''''''''
.. automethod:: Model.fields_get
.. automethod:: Model.get_view
.. automethod:: Model.fields_view_get
.. _reference/orm/domains:
Search domains

View File

@@ -336,21 +336,6 @@ A view's specs are applied sequentially.
views: ``hasclass(*classes)`` matches if the context node has
all the specified classes
Model Commons
====================
.. currentmodule:: odoo.addons.base.models.ir_ui_view
Attributes
----------
.. autoattribute:: Model._date_name
Methods
-------
.. automethod:: Model.get_views
.. automethod:: Model.get_view
.. _reference/views/types:
View types

View File

@@ -1,8 +1,5 @@
# applications/finance
applications/finance/accounting/others/multicurrencies/exchange.rst applications/finance/accounting/others/multi_currency.rst # /multicurrencies/* -> multi_currency
applications/finance/accounting/others/multicurrencies/how_it_works.rst applications/finance/accounting/others/multi_currency.rst # /multicurrencies/* -> multi_currency
applications/finance/accounting/others/multicurrencies/invoices_payments.rst applications/finance/accounting/others/multi_currency.rst # /multicurrencies/* -> multi_currency
applications/finance/accounting/payables/supplier_bills/ocr.rst applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst # ocr --> invoice_digitization
# applications/general