Compare commits
1 Commits
16.0-fix-d
...
master-rep
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dce6733888 |
2
Makefile
@@ -26,7 +26,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/16.0
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
||||
16
README.md
@@ -4,11 +4,11 @@
|
||||
|
||||
### Requirements
|
||||
|
||||
- [Git](https://www.odoo.com/documentation/16.0/contributing/documentation.html#install-git)
|
||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/16.0/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/16.0/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/16.0/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in 16.0](https://github.com/odoo/odoo/tree/16.0) (Optional)
|
||||
- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git)
|
||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/master/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional)
|
||||
|
||||
### Instructions
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
2. Open the file `documentation/_build/html/index.html` in your web browser to display the render.
|
||||
|
||||
3. See [this guide](https://www.odoo.com/documentation/16.0/contributing/documentation.html#preview-your-changes)
|
||||
3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation.html#preview-your-changes)
|
||||
for more detailed instructions.
|
||||
|
||||
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
||||
@@ -34,7 +34,7 @@ be shown.
|
||||
## Contribute to the documentation
|
||||
|
||||
For contributions to the content of the documentation, please refer to the
|
||||
[Introduction Guide](https://www.odoo.com/documentation/16.0/contributing/documentation.html).
|
||||
[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation.html).
|
||||
|
||||
To **report a content issue**, **request new content** or **ask a question**, use the
|
||||
[repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual.
|
||||
@@ -43,4 +43,4 @@ To **report a content issue**, **request new content** or **ask a question**, us
|
||||
|
||||
To learn more about Odoo, in addition to the documentation, have a look at
|
||||
[the official eLearning](https://odoo.com/slides) and
|
||||
[Scale-up, The Business Game](https://www.odoo.com/page/scale-up-business-game).
|
||||
[Scale-up, The Business Game](https://www.odoo.com/page/scale-up-business-game).
|
||||
5
conf.py
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` if the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = '16.0'
|
||||
version = release = 'master'
|
||||
|
||||
# The minimal Sphinx version required to build the documentation.
|
||||
needs_sphinx = '3.0.0'
|
||||
@@ -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(
|
||||
@@ -186,7 +186,6 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# The version names that should be shown in the version switcher, if the config option `versions`
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'16.0': "Odoo 16",
|
||||
'master': "Master",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
|
||||
@@ -547,7 +547,7 @@ Dependencies
|
||||
.. tab:: Debian/Ubuntu
|
||||
|
||||
For Debian-based systems, the packages are listed in the `debian/control
|
||||
<https://github.com/odoo/odoo/blob/16.0/debian/control>`_ file of the Odoo sources.
|
||||
<https://github.com/odoo/odoo/blob/master/debian/control>`_ file of the Odoo sources.
|
||||
|
||||
On Debian/Ubuntu, the following commands should install the required packages:
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 38 KiB |
@@ -71,7 +71,7 @@ The neutralization includes:
|
||||
* Disabling outgoing emails by intercepting them with a mailcatcher. An
|
||||
:ref:`interface to view <odoosh-gettingstarted-branches-tabs-mails>` the emails sent by your
|
||||
database is provided. That way, you do not have to worry about sending test emails to your contacts.
|
||||
* Setting payment providers and shipping providers in test mode.
|
||||
* Setting payment acquirers and shipping providers in test mode.
|
||||
* Disabling IAP services
|
||||
|
||||
The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected
|
||||
|
||||
@@ -11,4 +11,4 @@ Finance
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/payment_providers
|
||||
finance/payment_acquirers
|
||||
@@ -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
|
||||
---------------------------------------
|
||||
|
||||
@@ -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
|
||||
---------------------
|
||||
|
||||
@@ -176,7 +176,7 @@ Payment Method
|
||||
This menu helps you configure the payment methods with which your customers can pay you.
|
||||
|
||||
.. important::
|
||||
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
|
||||
Configuring a *Payment Acquirer* with this tool also activates the *Invoice Online Payment*
|
||||
option automatically. With this, users can directly pay online, from their Customer Portal.
|
||||
|
||||
.. _invoicing-setup-sample:
|
||||
|
||||
@@ -7,7 +7,7 @@ Others
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
others/multi_currency
|
||||
others/analytic
|
||||
others/adviser
|
||||
others/multicurrencies
|
||||
others/inventory
|
||||
@@ -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.
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1,12 @@
|
||||
:nosearch:
|
||||
|
||||
=============
|
||||
Multicurrency
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
multicurrencies/how_it_works
|
||||
multicurrencies/invoices_payments
|
||||
multicurrencies/exchange
|
||||
@@ -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`
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
@@ -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.
|
||||
@@ -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`
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -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`
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -56,10 +56,10 @@ SEPA Direct Debit as a Payment Method
|
||||
-------------------------------------
|
||||
|
||||
SEPA Direct Debit can be used as a payment method both on your **eCommerce** or on the **Customer
|
||||
Portal** by activating SDD as a **Payment Provider**. With this method, your customers can create
|
||||
Portal** by activating SDD as a **Payment Acquirer**. With this method, your customers can create
|
||||
and sign their mandates themselves.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, click on *SEPA
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Payment Acquirers`, click on *SEPA
|
||||
Direct Debit*, and set it up according to your needs.
|
||||
|
||||
.. important::
|
||||
@@ -70,7 +70,7 @@ Customers using SDD as payment method get prompted to add their IBAN, email addr
|
||||
their SEPA Direct Debit mandate.
|
||||
|
||||
.. todo::
|
||||
Add link to future **Payment Provider** documentation.
|
||||
Add link to future **Payment Acquirer** documentation.
|
||||
|
||||
Close or revoke a mandate
|
||||
-------------------------
|
||||
|
||||
@@ -7,18 +7,18 @@ To make it more convenient for your customers to pay the invoices you issue, you
|
||||
allows your customers to see their invoices online and pay directly with their favorite payment
|
||||
method, making the payment process much easier.
|
||||
|
||||
.. image:: online_payment/online-payment-providers.png
|
||||
.. image:: online_payment/online-payment-acquirers.png
|
||||
:align: center
|
||||
:alt: Payment provider choice after having clicked on "Pay Now"
|
||||
:alt: Payment acquirer choice after having clicked on "Pay Now"
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Make sure your :ref:`Payment Providers are correctly configured <payment_providers/configuration>`.
|
||||
Make sure your :ref:`Payment Acquirers are correctly configured <payment_acquirers/configuration>`.
|
||||
|
||||
.. note::
|
||||
By default, ":doc:`Wire Transfer </applications/finance/payment_providers/wire_transfer>`" is the only
|
||||
Payment Provider activated, but you still have to fill out the payment details.
|
||||
By default, ":doc:`Wire Transfer </applications/finance/payment_acquirers/wire_transfer>`" is the only
|
||||
Payment Acquirer activated, but you still have to fill out the payment details.
|
||||
|
||||
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
||||
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
||||
@@ -34,7 +34,7 @@ Portal**.
|
||||
:align: center
|
||||
:alt: Email with a link to view the invoice online on the Customer Portal.
|
||||
|
||||
They can choose which Payment Provider to use by clicking on *Pay Now*.
|
||||
They can choose which Payment Acquirer to use by clicking on *Pay Now*.
|
||||
|
||||
.. image:: online_payment/online-payment-pay-now.png
|
||||
:align: center
|
||||
@@ -42,4 +42,4 @@ They can choose which Payment Provider to use by clicking on *Pay Now*.
|
||||
|
||||
.. seealso::
|
||||
|
||||
- :doc:`/applications/finance/payment_providers`
|
||||
- :doc:`/applications/finance/payment_acquirers`
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -8,5 +8,4 @@ Overview
|
||||
:titlesonly:
|
||||
|
||||
overview/main_reports
|
||||
overview/customize
|
||||
overview/data_inalterability
|
||||
overview/customize
|
||||
@@ -1,63 +0,0 @@
|
||||
================================
|
||||
Data inalterability check report
|
||||
================================
|
||||
|
||||
Tax authorities in some countries require companies to **prove their posted accounting entries are
|
||||
inalterable**, meaning that once an entry has been posted, it can no longer be changed.
|
||||
|
||||
To do so, Odoo can use the **SHA-256 algorithm** to create a unique fingerprint for each posted
|
||||
entry. This fingerprint is called a hash. The hash is generated by taking an entry's essential data
|
||||
(the values of the `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
|
||||
`partner_id` fields), concatenating it, and inputting it to the SHA-256 hash function, which then
|
||||
outputs a fixed size (256-bit) string of characters. The hash function is deterministic (:dfn:`the
|
||||
same input always creates the same output`): any minor modification to the original data would
|
||||
completely change the resulting hash. Consequently, the SHA-256 algorithm is often used, among
|
||||
others, for data integrity verification purposes.
|
||||
|
||||
In addition, the previous entry's hash is always added to the next entry to form a **hash chain**.
|
||||
This is used to ensure a new entry is not added afterward between two posted entries, as doing so
|
||||
would break the hash chain.
|
||||
|
||||
.. note::
|
||||
Hashes generated by the SHA-256 algorithm are theoretically not unique, as there is a finite
|
||||
number of possible values. However, this number is exceptionally high: 2²⁵⁶, which is a lot
|
||||
bigger than the number of atoms in the known universe. This is why hashes are considered unique
|
||||
in practice.
|
||||
|
||||
.. _data-inalterability/lock:
|
||||
|
||||
Lock posted entries with hash
|
||||
=============================
|
||||
|
||||
To start using the hashing function, go to :menuselection:`Accounting --> Configuration > Journals`.
|
||||
Open the journal for which you want to activate the feature, go to the :guilabel:`Advanced Settings`
|
||||
tab, and enable :guilabel:`Lock Posted Entries with Hash`.
|
||||
|
||||
.. warning::
|
||||
Once you post an entry on a locked journal, you cannot disable the feature anymore, nor edit any
|
||||
posted entry.
|
||||
|
||||
.. _data-inalterability/report:
|
||||
|
||||
Report download
|
||||
===============
|
||||
|
||||
To download the data inalterability check report, go to :menuselection:`Accounting --> Configuration
|
||||
--> Settings --> Reporting` and click on :guilabel:`Download the Data Inalterability Check Report`.
|
||||
|
||||
The report's first section is an overview of all your journals and their configuration. Under the
|
||||
inalterability check column, you can see whether or not a journal's posted entries are locked with
|
||||
a hash (V) or not (X). The coverage column tells you when a journal's posted entries started being
|
||||
locked.
|
||||
|
||||
.. image:: data_inalterability/journal-overview.png
|
||||
:align: center
|
||||
:alt: Configuration report for two journals
|
||||
|
||||
The second section gives you the result of the data consistency check for each hashed journal. You
|
||||
can view the first hashed entry and its corresponding hash and the last hashed entry and its
|
||||
corresponding hash.
|
||||
|
||||
.. image:: data_inalterability/data-consistency-check.png
|
||||
:align: center
|
||||
:alt: Data consistency check report for a journal
|
||||
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,29 +1,29 @@
|
||||
:show-content:
|
||||
|
||||
=================================================
|
||||
Payment providers (credit cards, online payments)
|
||||
Payment acquirers (credit cards, online payments)
|
||||
=================================================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
payment_providers/wire_transfer
|
||||
payment_providers/adyen
|
||||
payment_providers/alipay
|
||||
payment_providers/amazon_payment_services
|
||||
payment_providers/asiapay
|
||||
payment_providers/authorize
|
||||
payment_providers/buckaroo
|
||||
payment_providers/flutterwave
|
||||
payment_providers/mercado_pago
|
||||
payment_providers/mollie
|
||||
payment_providers/ogone
|
||||
payment_providers/paypal
|
||||
payment_providers/razorpay
|
||||
payment_providers/sips
|
||||
payment_providers/stripe
|
||||
payment_acquirers/wire_transfer
|
||||
payment_acquirers/adyen
|
||||
payment_acquirers/alipay
|
||||
payment_acquirers/amazon_payment_services
|
||||
payment_acquirers/asiapay
|
||||
payment_acquirers/authorize
|
||||
payment_acquirers/buckaroo
|
||||
payment_acquirers/flutterwave
|
||||
payment_acquirers/mercado_pago
|
||||
payment_acquirers/mollie
|
||||
payment_acquirers/ogone
|
||||
payment_acquirers/paypal
|
||||
payment_acquirers/razorpay
|
||||
payment_acquirers/sips
|
||||
payment_acquirers/stripe
|
||||
|
||||
Odoo embeds several **payment providers** that allow your customers to pay on their *Customer
|
||||
Odoo embeds several **payment acquirers** that allow your customers to pay on their *Customer
|
||||
Portals* or your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with
|
||||
recurring payments with their favorite payment methods such as **Credit Cards**.
|
||||
|
||||
@@ -31,30 +31,30 @@ Offering several payment methods increases the chances of getting paid in time,
|
||||
as you make it more convenient for your customers to pay with the payment method they prefer and
|
||||
trust.
|
||||
|
||||
.. image:: payment_providers/online-payment.png
|
||||
.. image:: payment_acquirers/online-payment.png
|
||||
:align: center
|
||||
:alt: Pay online in the customer portal and select which payment provider to use.
|
||||
:alt: Pay online in the customer portal and select which payment acquirer to use.
|
||||
|
||||
.. note::
|
||||
Odoo apps delegate the handling of sensitive information to the certified payment provider so
|
||||
Odoo apps delegate the handling of sensitive information to the certified payment acquirer so
|
||||
that you don't ever have to worry about PCI compliance.
|
||||
|
||||
This means that no sensitive information (such as credit card numbers) is stored on Odoo servers
|
||||
or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number to the data
|
||||
stored safely in the payment providers' systems.
|
||||
stored safely in the payment acquirers' systems.
|
||||
|
||||
.. _payment_providers/supported_providers:
|
||||
.. _payment_acquirers/supported_acquirers:
|
||||
|
||||
Supported payment providers
|
||||
Supported payment acquirers
|
||||
===========================
|
||||
|
||||
From an accounting perspective, we can distinguish two types of payment providers: the payment
|
||||
providers that are third-party services and require you to follow another accounting workflow, and
|
||||
From an accounting perspective, we can distinguish two types of payment acquirers: the payment
|
||||
acquirers that are third-party services and require you to follow another accounting workflow, and
|
||||
the payments that go directly on the bank account and follow the usual reconciliation workflow.
|
||||
|
||||
.. _payment_providers/online_providers:
|
||||
.. _payment_acquirers/online_acquirers:
|
||||
|
||||
Online payment providers
|
||||
Online payment acquirers
|
||||
------------------------
|
||||
|
||||
.. list-table::
|
||||
@@ -64,78 +64,78 @@ Online payment providers
|
||||
|
||||
* -
|
||||
- Payment flow
|
||||
- :ref:`Tokenization <payment_providers/features/tokenization>`
|
||||
- :ref:`Manual capture <payment_providers/features/manual_capture>`
|
||||
- :ref:`Refunds <payment_providers/features/refund>`
|
||||
- :ref:`Express checkout <payment_providers/features/express_checkout>`
|
||||
* - :doc:`Adyen <payment_providers/adyen>`
|
||||
- :ref:`Tokenization <payment_acquirers/features/tokenization>`
|
||||
- :ref:`Manual capture <payment_acquirers/features/manual_capture>`
|
||||
- :ref:`Refunds <payment_acquirers/features/refund>`
|
||||
- :ref:`Express checkout <payment_acquirers/features/express_checkout>`
|
||||
* - :doc:`Adyen <payment_acquirers/adyen>`
|
||||
- Payment from Odoo
|
||||
- |V|
|
||||
- Full only
|
||||
- Full and partial
|
||||
-
|
||||
* - :doc:`Amazon Payment Services <payment_providers/amazon_payment_services>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Amazon Payment Services <payment_acquirers/amazon_payment_services>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`AsiaPay <payment_providers/asiapay>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`AsiaPay <payment_acquirers/asiapay>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Authorize.Net <payment_providers/authorize>`
|
||||
* - :doc:`Authorize.Net <payment_acquirers/authorize>`
|
||||
- Payment from Odoo
|
||||
- |V|
|
||||
- Full only
|
||||
- Full only
|
||||
-
|
||||
* - :doc:`Buckaroo <payment_providers/buckaroo>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Buckaroo <payment_acquirers/buckaroo>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Flutterwave <payment_providers/flutterwave>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Flutterwave <payment_acquirers/flutterwave>`
|
||||
- Payment from the acquirer website
|
||||
- |V|
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Mercado Pago <payment_providers/mercado_pago>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Mercado Pago <payment_acquirers/mercado_pago>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Mollie <payment_providers/mollie>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Mollie <payment_acquirers/mollie>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`PayPal <payment_providers/paypal>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`PayPal <payment_acquirers/paypal>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Razorpay <payment_providers/razorpay>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Razorpay <payment_acquirers/razorpay>`
|
||||
- Payment from Odoo
|
||||
-
|
||||
- Full only
|
||||
- Full and partial
|
||||
-
|
||||
* - :doc:`SIPS <payment_providers/sips>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`SIPS <payment_acquirers/sips>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Stripe <payment_providers/stripe>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Stripe <payment_acquirers/stripe>`
|
||||
- Payment from the acquirer website
|
||||
- |V|
|
||||
- Full only
|
||||
- Full and partial
|
||||
@@ -146,16 +146,16 @@ Online payment providers
|
||||
.. note::
|
||||
Some of these online payment providers can also be added as :doc:`bank accounts
|
||||
<../finance/accounting/bank/setup/bank_accounts>`, but this is **not** the same process as adding
|
||||
them as payment providers. Payment providers allow customers to pay online, and bank accounts are
|
||||
them as payment acquirers. Payment acquirers allow customers to pay online, and bank accounts are
|
||||
added and configured on your Accounting app to do a bank reconciliation, which is an accounting
|
||||
control process.
|
||||
|
||||
.. _payment_providers/bank_payments:
|
||||
.. _payment_acquirers/bank_payments:
|
||||
|
||||
Bank payments
|
||||
-------------
|
||||
|
||||
- | :doc:`Wire Transfer <payment_providers/wire_transfer>`
|
||||
- | :doc:`Wire Transfer <payment_acquirers/wire_transfer>`
|
||||
| When selected, Odoo displays your payment information with a payment reference. You have to
|
||||
approve the payment manually once you have received it on your bank account.
|
||||
- | SEPA Direct Debit
|
||||
@@ -163,39 +163,39 @@ Bank payments
|
||||
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
||||
more information about this payment method.
|
||||
|
||||
.. _payment_providers/features:
|
||||
.. _payment_acquirers/features:
|
||||
|
||||
Additional features
|
||||
===================
|
||||
|
||||
Some payment providers support additional features for the payment flow. Refer to the :ref:`table
|
||||
above <payment_providers/online_providers>` to check if your payment provider supports these
|
||||
Some payment acquirers support additional features for the payment flow. Refer to the :ref:`table
|
||||
above <payment_acquirers/online_acquirers>` to check if your payment acquirer supports these
|
||||
features.
|
||||
|
||||
.. _payment_providers/features/tokenization:
|
||||
.. _payment_acquirers/features/tokenization:
|
||||
|
||||
Tokenization
|
||||
------------
|
||||
|
||||
If your payment provider supports this feature, customers can choose to save their card for later. A
|
||||
If your payment acquirer supports this feature, customers can choose to save their card for later. A
|
||||
**payment token** is created in Odoo and can be used as a payment method for subsequent payments
|
||||
without having to enter the card details again. This is particularly useful for the eCommerce
|
||||
conversion rate and for subscriptions that use recurring payments.
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Allow Saving Payment Methods` checkbox.
|
||||
|
||||
.. note::
|
||||
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
|
||||
details directly. Instead, it creates a payment token that only holds a reference to the card
|
||||
details stored on the payment provider's server.
|
||||
details stored on the payment acquirer's server.
|
||||
|
||||
.. _payment_providers/features/manual_capture:
|
||||
.. _payment_acquirers/features/manual_capture:
|
||||
|
||||
Manual capture
|
||||
--------------
|
||||
|
||||
If your payment provider supports this feature, you can authorize and capture payments in two steps
|
||||
If your payment acquirer supports this feature, you can authorize and capture payments in two steps
|
||||
instead of one. When you authorize a payment, the funds are reserved on the customer's payment
|
||||
method but they are not immediately charged. The charge is only made when you manually capture the
|
||||
payment later on. You can also void the authorization to release the reserved funds; this is
|
||||
@@ -205,11 +205,11 @@ situations:
|
||||
- Receive the payment confirmation and wait until the order is shipped to capture the payment.
|
||||
- Review and verify that orders are legitimate before the payment is completed and the fulfillment
|
||||
process starts.
|
||||
- Avoid potentially high processing fees for cancelled payments: payment providers will not charge
|
||||
- Avoid potentially high processing fees for cancelled payments: payment acquirers will not charge
|
||||
you for voiding an authorization.
|
||||
- Hold a security deposit to return later, minus any deductions (e.g., after a damage).
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Capture Amount Manually` checkbox.
|
||||
|
||||
To capture the payment after it was authorized, go to the related sales order or invoice and click
|
||||
@@ -217,114 +217,114 @@ on the :guilabel:`CAPTURE TRANSACTION` button. To release the funds, click on th
|
||||
TRANSACTION` button.
|
||||
|
||||
.. note::
|
||||
- Some payment providers support capturing only part of the authorized amount. The remaining
|
||||
amount can then be either captured or voided. These providers have the value **Full and
|
||||
partial** in the :ref:`table above <payment_providers/online_providers>`. The providers that
|
||||
- Some payment acquirers support capturing only part of the authorized amount. The remaining
|
||||
amount can then be either captured or voided. These acquirers have the value **Full and
|
||||
partial** in the :ref:`table above <payment_acquirers/online_acquirers>`. The acquirers that
|
||||
only support capturing or voiding the full amount have the value **Full only**.
|
||||
- The funds are likely not reserved forever. After a certain time, they may be automatically
|
||||
released back to the customer's payment method. Refer to your payment provider's documentation
|
||||
released back to the customer's payment method. Refer to your payment acquirer's documentation
|
||||
for the exact reservation duration.
|
||||
- Odoo does not support this feature for all payment providers but some allow the manual capture
|
||||
- Odoo does not support this feature for all payment acquirers but some allow the manual capture
|
||||
from their website interface.
|
||||
|
||||
.. _payment_providers/features/refund:
|
||||
.. _payment_acquirers/features/refund:
|
||||
|
||||
Refunds
|
||||
-------
|
||||
|
||||
If your payment provider supports this feature, you can refund payments directly from Odoo. It does
|
||||
If your payment acquirer supports this feature, you can refund payments directly from Odoo. It does
|
||||
not need to be enabled first. To refund a customer payment, navigate to it and click on the
|
||||
:guilabel:`REFUND` button.
|
||||
|
||||
.. note::
|
||||
- Some payment providers support refunding only part of the amount. The remaining amount can then
|
||||
optionally be refunded too. These providers have the value **Full and partial** in the
|
||||
:ref:`table above <payment_providers/online_providers>`. The providers that only support
|
||||
- Some payment acquirers support refunding only part of the amount. The remaining amount can then
|
||||
optionally be refunded too. These acquirers have the value **Full and partial** in the
|
||||
:ref:`table above <payment_acquirers/online_acquirers>`. The acquirers that only support
|
||||
refunding the full amount have the value **Full only**.
|
||||
- Odoo does not support this feature for all payment providers but some allow to refund payments
|
||||
- Odoo does not support this feature for all payment acquirers but some allow to refund payments
|
||||
from their website interface.
|
||||
|
||||
.. _payment_providers/features/express_checkout:
|
||||
.. _payment_acquirers/features/express_checkout:
|
||||
|
||||
Express checkout
|
||||
----------------
|
||||
|
||||
If your payment provider supports this feature, customers can use the **Google Pay** and **Apple
|
||||
If your payment acquirer supports this feature, customers can use the **Google Pay** and **Apple
|
||||
Pay** buttons to pay their eCommerce orders in one click without filling the contact form. Using one
|
||||
of those buttons, they'll go straight from the cart to the confirmation page, stopping by the
|
||||
payment form of Google or Apple to validate the payment.
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Allow Express Checkout` checkbox.
|
||||
|
||||
.. note::
|
||||
All prices shown in the express checkout payment form are always taxes included.
|
||||
|
||||
.. _payment_providers/configuration:
|
||||
.. _payment_acquirers/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. note::
|
||||
Each provider has its specific configuration flow, depending on :ref:`which feature is available
|
||||
<payment_providers/online_providers>`.
|
||||
Each acquirer has its specific configuration flow, depending on :ref:`which feature is available
|
||||
<payment_acquirers/online_acquirers>`.
|
||||
|
||||
.. _payment_providers/add_new:
|
||||
.. _payment_acquirers/add_new:
|
||||
|
||||
Add a new payment provider
|
||||
Add a new payment acquirer
|
||||
--------------------------
|
||||
|
||||
To add a new payment provider and make it available to your customers, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`, look for your payment provider,
|
||||
install the related module, and activate it. To do so, open the payment provider and change its
|
||||
To add a new payment acquirer and make it available to your customers, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`, look for your payment acquirer,
|
||||
install the related module, and activate it. To do so, open the payment acquirer and change its
|
||||
state from *Disabled* to *Enabled*.
|
||||
|
||||
.. image:: payment_providers/activation.png
|
||||
.. image:: payment_acquirers/activation.png
|
||||
:align: center
|
||||
:alt: Click on install, then on activate to make the payment provider available on Odoo.
|
||||
:alt: Click on install, then on activate to make the payment acquirer available on Odoo.
|
||||
|
||||
.. warning::
|
||||
We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is
|
||||
meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices
|
||||
as usual. It isn't always possible to cancel an invoice, and this could create some issues with
|
||||
your invoices numbering if you were to test your payment providers on your main database.
|
||||
your invoices numbering if you were to test your payment acquirers on your main database.
|
||||
|
||||
.. _payment_providers/credentials_tab:
|
||||
.. _payment_acquirers/credentials_tab:
|
||||
|
||||
Credentials tab
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
If not done yet, go to the online payment provider website, create an account, and make sure to have
|
||||
the credentials required for third-party use. Odoo requires these credentials to communicate with
|
||||
the payment provider.
|
||||
the payment acquirer.
|
||||
|
||||
The form in this section is specific to the payment provider you are configuring. Please refer to
|
||||
The form in this section is specific to the payment acquirer you are configuring. Please refer to
|
||||
the related documentation for more information.
|
||||
|
||||
.. _payment_providers/configuration_tab:
|
||||
.. _payment_acquirers/configuration_tab:
|
||||
|
||||
Configuration tab
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can change the payment provider's front-end appearance by modifying its name under the
|
||||
You can change the payment acquirer's front-end appearance by modifying its name under the
|
||||
**Displayed as** field and which credit card icons to display under the **Supported Payment Icons**
|
||||
field.
|
||||
|
||||
.. _payment_providers/countries:
|
||||
.. _payment_acquirers/countries:
|
||||
|
||||
Countries
|
||||
*********
|
||||
|
||||
Restrict the use of the payment provider to a selection of countries. Leave this field blank to make
|
||||
the payment provider available in all countries.
|
||||
Restrict the use of the payment acquirer to a selection of countries. Leave this field blank to make
|
||||
the payment acquirer available in all countries.
|
||||
|
||||
.. _payment_providers/journal:
|
||||
.. _payment_acquirers/journal:
|
||||
|
||||
Maximum Amount
|
||||
**************
|
||||
|
||||
Restrict the maximum amount that can be paid with the selected provider. Leave this field to `0.00`
|
||||
to make the payment provider available regardless of the payment amount.
|
||||
Restrict the maximum amount that can be paid with the selected acquirer. Leave this field to `0.00`
|
||||
to make the payment acquirer available regardless of the payment amount.
|
||||
|
||||
.. important::
|
||||
This feature is not intended to work on pages which allow the customer to update the payment
|
||||
@@ -334,28 +334,28 @@ to make the payment provider available regardless of the payment amount.
|
||||
Payment journal
|
||||
***************
|
||||
|
||||
The **Payment journal** selected for your payment provider must be a *Bank* journal.
|
||||
The **Payment journal** selected for your payment acquirer must be a *Bank* journal.
|
||||
|
||||
.. _payment_providers/publish:
|
||||
.. _payment_acquirers/publish:
|
||||
|
||||
Publish on the website
|
||||
----------------------
|
||||
|
||||
By default, payment providers are *unpublished*, which means that only internal users can see them
|
||||
on the website. Your customers cannot make payments through an unpublished provider but they can
|
||||
By default, payment acquirers are *unpublished*, which means that only internal users can see them
|
||||
on the website. Your customers cannot make payments through an unpublished acquirer but they can
|
||||
still manage :dfn:`(delete and assign to a subscription)` their already existing tokens linked to
|
||||
such an provider. This conveniently allows you to test an provider while preventing making payments
|
||||
such an acquirer. This conveniently allows you to test an acquirer while preventing making payments
|
||||
and registering new tokens.
|
||||
|
||||
Click on the :guilabel:`Publish` button located in the top right corner of the provider's form to
|
||||
Click on the :guilabel:`Publish` button located in the top right corner of the acquirer's form to
|
||||
publish it on the website and make it available to your customers. Click on the
|
||||
:guilabel:`Unpublish` button to unpublish it.
|
||||
|
||||
.. tip::
|
||||
Payment providers are automatically published and unpublished when you respectively change their
|
||||
Payment acquirers are automatically published and unpublished when you respectively change their
|
||||
state to `enabled` and `test`.
|
||||
|
||||
.. _payment_providers/accounting:
|
||||
.. _payment_acquirers/accounting:
|
||||
|
||||
Accounting perspective
|
||||
======================
|
||||
@@ -365,7 +365,7 @@ reconciliation workflows. However, payments recorded with **Online Payment Provi
|
||||
to consider how you want to record your payments' journal entries. We recommend you to ask your
|
||||
accountant for advice.
|
||||
|
||||
You need to select a *Payment Journal* on your provider configuration to record the payments,
|
||||
You need to select a *Payment Journal* on your acquirer configuration to record the payments,
|
||||
on a **Outstanding Account**. The Journal's **type** must be *Bank Journal*.
|
||||
|
||||
You can use a single journal for many payment methods. And for each payment method, you can either:
|
||||
@@ -373,7 +373,7 @@ You can use a single journal for many payment methods. And for each payment meth
|
||||
- Define an **Accounting Account** to separate these payments from another payment method.
|
||||
- Leave blank to fallback on the default account, which you can see or change in the settings.
|
||||
|
||||
.. image:: payment_providers/bank_journal.png
|
||||
.. image:: payment_acquirers/bank_journal.png
|
||||
:align: center
|
||||
:alt: A bank journal in the "Incoming Payments Tab".
|
||||
|
||||
@@ -381,17 +381,17 @@ You can have the same bank account for the whole company, or for some journals o
|
||||
payment method... What best suit your needs.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`payment_providers/wire_transfer`
|
||||
- :doc:`payment_providers/adyen`
|
||||
- :doc:`payment_providers/alipay`
|
||||
- :doc:`payment_providers/authorize`
|
||||
- :doc:`payment_providers/asiapay`
|
||||
- :doc:`payment_providers/buckaroo`
|
||||
- :doc:`payment_providers/mercado_pago`
|
||||
- :doc:`payment_providers/mollie`
|
||||
- :doc:`payment_providers/ogone`
|
||||
- :doc:`payment_providers/paypal`
|
||||
- :doc:`payment_providers/razorpay`
|
||||
- :doc:`payment_providers/sips`
|
||||
- :doc:`payment_providers/stripe`
|
||||
- :doc:`../websites/ecommerce/shopper_experience/payment_providers`
|
||||
- :doc:`payment_acquirers/wire_transfer`
|
||||
- :doc:`payment_acquirers/adyen`
|
||||
- :doc:`payment_acquirers/alipay`
|
||||
- :doc:`payment_acquirers/authorize`
|
||||
- :doc:`payment_acquirers/asiapay`
|
||||
- :doc:`payment_acquirers/buckaroo`
|
||||
- :doc:`payment_acquirers/mercado_pago`
|
||||
- :doc:`payment_acquirers/mollie`
|
||||
- :doc:`payment_acquirers/ogone`
|
||||
- :doc:`payment_acquirers/paypal`
|
||||
- :doc:`payment_acquirers/razorpay`
|
||||
- :doc:`payment_acquirers/sips`
|
||||
- :doc:`payment_acquirers/stripe`
|
||||
- :doc:`../websites/ecommerce/shopper_experience/payment_acquirer`
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -9,7 +9,7 @@ Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
:ref:`payment_providers/add_new`
|
||||
:ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -28,7 +28,7 @@ the **Credentials** tab.
|
||||
|
||||
.. important::
|
||||
If you are trying Adyen as a test, with an Adyen *test account*, head to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. There, click on
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`. There, click on
|
||||
:guilabel:`Adyen`, enable :guilabel:`Test Mode` and enter your credentials in the
|
||||
:guilabel:`Credentials` tab.
|
||||
|
||||
@@ -114,7 +114,7 @@ Place a hold on a card
|
||||
Adyen allows you to capture an amount manually instead of having an immediate capture.
|
||||
|
||||
To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the
|
||||
:ref:`payment providers documentation <payment_providers/features/manual_capture>`.
|
||||
:ref:`payment acquirers documentation <payment_acquirers/features/manual_capture>`.
|
||||
|
||||
Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the
|
||||
**Capture Delay** to **manual**.
|
||||
@@ -135,4 +135,4 @@ Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settin
|
||||
**revoke** it.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../payment_providers`
|
||||
:doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
@@ -12,7 +12,7 @@ Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -36,4 +36,4 @@ To retrieve them, log into your Alipay account, they are on the front page.
|
||||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -5,7 +5,7 @@ Amazon Payment Services
|
||||
`Amazon Payment Services <https://paymentservices.amazon.com/>`_ or APS is an online payment provider
|
||||
established in Dubai offering several online payment options.
|
||||
|
||||
.. _payment_providers/aps/configure-dashboard:
|
||||
.. _payment_acquirers/aps/configure-dashboard:
|
||||
|
||||
Configuration on APS Dashboard
|
||||
==============================
|
||||
@@ -31,14 +31,14 @@ Configuration on APS Dashboard
|
||||
look and feel of the Amazon Payment Services payment page (where customers fill out their
|
||||
credit card details during payment).
|
||||
|
||||
.. _payment_providers/aps/configure-odoo:
|
||||
.. _payment_acquirers/aps/configure-odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Amazon Payment Services <payment_providers/add_new>`,
|
||||
#. :ref:`Navigate to the payment acquirer Amazon Payment Services <payment_acquirers/add_new>`,
|
||||
change its state to :guilabel:`Enabled`, and make sure it is :guilabel:`Published`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant Identifier`,
|
||||
:guilabel:`Access Code`, :guilabel:`SHA Request Phrase` and :guilabel:`SHA Response Phrase` with
|
||||
the values you saved at the step :ref:`payment_providers/aps/configure-dashboard`.
|
||||
the values you saved at the step :ref:`payment_acquirers/aps/configure-dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
@@ -5,7 +5,7 @@ AsiaPay
|
||||
`AsiaPay <https://www.asiapay.com/>`_ is an online payments provider established in Hong Kong and
|
||||
covering several Asian countries and payment methods.
|
||||
|
||||
.. _payment_providers/asiapay/configure_dashboard:
|
||||
.. _payment_acquirers/asiapay/configure_dashboard:
|
||||
|
||||
Configuration on AsiaPay Dashboard
|
||||
==================================
|
||||
@@ -21,21 +21,21 @@ Configuration on AsiaPay Dashboard
|
||||
| Click on :guilabel:`Test` to check if the webhook is working correctly.
|
||||
#. Click on :guilabel:`Update` to finalize the configuration.
|
||||
|
||||
.. _payment_providers/asiapay/configure_odoo:
|
||||
.. _payment_acquirers/asiapay/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider AsiaPay <payment_providers/add_new>` and change its state
|
||||
#. :ref:`Navigate to the payment acquirer AsiaPay <payment_acquirers/add_new>` and change its state
|
||||
to :guilabel:`Enabled`.
|
||||
#. | In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant ID`, :guilabel:`Currency`, and
|
||||
:guilabel:`Secure Hash Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/asiapay/configure_dashboard`.
|
||||
| By default, the payment provider AsiaPay is configured to verify the secret hash with the hash
|
||||
:ref:`payment_acquirers/asiapay/configure_dashboard`.
|
||||
| By default, the payment acquirer AsiaPay is configured to verify the secret hash with the hash
|
||||
function `SHA1`. If a different function is :ref:`set on your account
|
||||
<payment_providers/asiapay/configure_dashboard>`, activate the :ref:`developer mode
|
||||
<payment_acquirers/asiapay/configure_dashboard>`, activate the :ref:`developer mode
|
||||
<developer-mode>` and set the same value to the field :guilabel:`Secure Hash Function` in Odoo.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -9,7 +9,7 @@ Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -43,11 +43,11 @@ Place a hold on a card
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With Authorize.net, you can enable the :ref:`manual capture
|
||||
<payment_providers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the
|
||||
<payment_acquirers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the
|
||||
customer's card, but not charged yet.
|
||||
|
||||
.. warning::
|
||||
After **30 days**, the transaction is **voided automatically** by Authorize.net.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
@@ -25,7 +25,7 @@ Configuration on Odoo
|
||||
=====================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -60,4 +60,4 @@ In order to retrieve the Website Key, log into Buckaroo Plaza, go to
|
||||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -5,7 +5,7 @@ Flutterwave
|
||||
`Flutterwave <https://flutterwave.com/>`_ is an online payments provider established in Nigeria and
|
||||
covering several African countries and payment methods.
|
||||
|
||||
.. _payment_providers/flutterwave/configure_dashboard:
|
||||
.. _payment_acquirers/flutterwave/configure_dashboard:
|
||||
|
||||
Configuration on Flutterwave Dashboard
|
||||
======================================
|
||||
@@ -20,16 +20,16 @@ Configuration on Flutterwave Dashboard
|
||||
#. Make sure all the remaining checkboxes are ticked.
|
||||
#. Click on **Save** to finalize the configuration.
|
||||
|
||||
.. _payment_providers/flutterwave/configure_odoo:
|
||||
.. _payment_acquirers/flutterwave/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Flutterwave <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Flutterwave <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Public Key`, :guilabel:`Secret Key`, and
|
||||
:guilabel:`Webhook Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/flutterwave/configure_dashboard`.
|
||||
:ref:`payment_acquirers/flutterwave/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. important::
|
||||
@@ -38,4 +38,4 @@ Configuration on Odoo
|
||||
Flutterwave Dashboard and then to :menuselection:`Settings --> Account Settings`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -5,7 +5,7 @@ Mercado Pago
|
||||
`Mercado Pago <https://www.mercadopago.com/>`_ is an online payment provider covering several
|
||||
countries, currencies and payment methods in Latin America.
|
||||
|
||||
.. _payment_providers/mercado_pago/configure_dashboard:
|
||||
.. _payment_acquirers/mercado_pago/configure_dashboard:
|
||||
|
||||
Configuration on Mercado Pago Dashboard
|
||||
=======================================
|
||||
@@ -15,16 +15,16 @@ Configuration on Mercado Pago Dashboard
|
||||
#. Go to :menuselection:`Production Credentials` or :menuselection:`Credentials` if your are in
|
||||
a *Test* environment and copy your **Access Token**
|
||||
|
||||
.. _payment_providers/mercado_pago/configure_odoo:
|
||||
.. _payment_acquirers/mercado_pago/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Mercado Pago <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Mercado Pago <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Access Token` with the value
|
||||
you saved at the step :ref:`payment_providers/mercado_pago/configure_dashboard`.
|
||||
you saved at the step :ref:`payment_acquirers/mercado_pago/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -8,14 +8,14 @@ Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your Mollie account, which comprise:
|
||||
|
||||
- **API Key**: The test or live API Key depending on the configuration of the provider.
|
||||
- **API Key**: The test or live API Key depending on the configuration of the acquirer.
|
||||
|
||||
You can copy your credentials from your Mollie account, and paste them in the related fields under
|
||||
the **Credentials** tab.
|
||||
@@ -28,4 +28,4 @@ To retrieve your API key, log into your Mollie account, go to
|
||||
We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -6,7 +6,7 @@ Ogone
|
||||
company that provides the technology involved in secure electronic transactions.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
- `Ogone's documentation <https://epayments-support.ingenico.com/get-started/>`_.
|
||||
|
||||
.. warning::
|
||||
@@ -53,8 +53,8 @@ Technical Information --> Global Security Parameters`, select :guilabel:`SHA-512
|
||||
|
||||
.. tip::
|
||||
If you need to use another algorithm, such as `sha-1` or `sha-256`, within Odoo, activate the
|
||||
:ref:`developer mode <developer-mode>` and go to the **Payment Providers** page in
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. Click on :guilabel:`Ogone`,
|
||||
:ref:`developer mode <developer-mode>` and go to the **Payment Acquirers** page in
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`. Click on :guilabel:`Ogone`,
|
||||
and in the :guilabel:`Credentials` tab, select the algorithm you wish to use in the
|
||||
:guilabel:`Hash function` field.
|
||||
|
||||
@@ -102,6 +102,6 @@ to save the card information should be displayed, etc.
|
||||
Settings in Odoo
|
||||
================
|
||||
|
||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Providers`
|
||||
and open the Ogone provider. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Acquirers`
|
||||
and open the Ogone acquirer. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
||||
account, and fill out the other fields as configured in your :ref:`Ogone portal <ogone/ogone>`.
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -11,7 +11,7 @@ Settings in Odoo
|
||||
================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -141,4 +141,4 @@ this on a test Odoo database rather than your main database.
|
||||
Run a test transaction from Odoo using the sandbox personal account.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -5,7 +5,7 @@ Razorpay
|
||||
`Razorpay <https://razorpay.com/>`_ is an online payments provider established in India and
|
||||
covering more than 100 payment methods.
|
||||
|
||||
.. _payment_providers/razorpay/configure_dashboard:
|
||||
.. _payment_acquirers/razorpay/configure_dashboard:
|
||||
|
||||
Configuration on Razorpay Dashboard
|
||||
===================================
|
||||
@@ -23,24 +23,25 @@ Configuration on Razorpay Dashboard
|
||||
checkboxes are ticked.
|
||||
#. Click on :guilabel:`Create Webhook` to finalize the configuration.
|
||||
|
||||
.. _payment_providers/razorpay/configure_odoo:
|
||||
.. _payment_acquirers/razorpay/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Razorpay <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Razorpay <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Key Id`, :guilabel:`Key Secret`, and
|
||||
:guilabel:`Webhook Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/razorpay/configure_dashboard`.
|
||||
:ref:`payment_acquirers/razorpay/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. important::
|
||||
If you configure Odoo to capture amounts manually:
|
||||
|
||||
- Be aware that the **manual voiding** of a transaction is not supported by Razorpay.
|
||||
- After **five days**, if the transaction hasn't been captured yet, it'll automatically be
|
||||
**voided**.
|
||||
- If you configure Odoo to capture amounts manually, make sure to set the
|
||||
:guilabel:`Manual Capture` to :guilabel:`manual` on Razorpay. Otherwise, the transaction
|
||||
would be blocked in the authorized state in Odoo. To do so, go to your Razorpay Dashboard and
|
||||
then to :menuselection:`Settings --> Configuration`.
|
||||
- After **five days**, if the transaction hasn't been captured yet, the customer has the right
|
||||
to **revoke** it.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -9,7 +9,7 @@ Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
@@ -29,4 +29,4 @@ You can copy your credentials from your SIPS environment info documentation, in
|
||||
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -9,7 +9,7 @@ Link your Stripe Account with Odoo
|
||||
==================================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
The method to acquire your credentials depends on your hosting type:
|
||||
|
||||
@@ -21,14 +21,14 @@ The method to acquire your credentials depends on your hosting type:
|
||||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to Odoo. If you submitted all the requested
|
||||
information, you are all set and your payment provider is enabled.
|
||||
information, you are all set and your payment acquirer is enabled.
|
||||
#. You can continue to :ref:`stripe/local-payment-methods`.
|
||||
|
||||
.. tip::
|
||||
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
|
||||
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
|
||||
:ref:`enable Stripe manually <payment_acquirers/add_new>`. You can then :ref:`Fill in your
|
||||
credentials <stripe/api-keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
|
||||
payment provider.
|
||||
payment acquirer.
|
||||
|
||||
.. group-tab:: Odoo.sh or On-premise
|
||||
|
||||
@@ -36,15 +36,15 @@ The method to acquire your credentials depends on your hosting type:
|
||||
payments* button on the onboarding banner.
|
||||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to the payment provider **Stripe** on Odoo.
|
||||
#. At the end of the process, you are redirected to the payment acquirer **Stripe** on Odoo.
|
||||
#. :ref:`Fill in your credentials <stripe/api-keys>`.
|
||||
#. :ref:`Generate a webhook <stripe/webhook>`.
|
||||
#. Enable the payment provider.
|
||||
#. Enable the payment acquirer.
|
||||
#. You are all set and can continue to :ref:`stripe/local-payment-methods`.
|
||||
|
||||
.. tip::
|
||||
To connect your Stripe account after the onboarding is already completed, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers --> Stripe` and click on the
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers --> Stripe` and click on the
|
||||
*Connect Stripe* button.
|
||||
|
||||
.. important::
|
||||
@@ -126,7 +126,7 @@ feature earmarks an amount on the customer's account for a determined period of
|
||||
the payment method used.
|
||||
|
||||
To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as explained in the
|
||||
:ref:`payment providers documentation <payment_providers/features/manual_capture>`.
|
||||
:ref:`payment acquirers documentation <payment_acquirers/features/manual_capture>`.
|
||||
|
||||
.. warning::
|
||||
When the manual capture feature is activated, your customers are not able to proceed with any
|
||||
@@ -137,7 +137,7 @@ To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as
|
||||
interface is still managed as a full capture by Odoo.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
||||
.. _stripe/local-payment-methods:
|
||||
|
||||
@@ -156,7 +156,7 @@ Odoo supports the following local payment methods:
|
||||
- Przelewy24 (P24)
|
||||
|
||||
To enable some of these local payment methods with Stripe, list them as supported payment icons. To
|
||||
do so, go to :menuselection:`Payment Providers --> Stripe --> Configuration` and add the desired
|
||||
do so, go to :menuselection:`Payment Acquirers --> Stripe --> Configuration` and add the desired
|
||||
payment methods in the **Supported Payment Icons** field. If the desired payment method is already
|
||||
listed, you don't have anything to do.
|
||||
|
||||
@@ -175,7 +175,7 @@ Enable express checkout
|
||||
=======================
|
||||
|
||||
.. seealso::
|
||||
:ref:`payment_providers/features/express_checkout`
|
||||
:ref:`payment_acquirers/features/express_checkout`
|
||||
|
||||
After ticking the :guilabel:`Allow Express Checkout` checkbox, **Google Pay** is enabled out of the
|
||||
box, but **Apple Pay** requires extra steps: You must register your web domain with Apple. This can
|
||||
@@ -184,7 +184,7 @@ be done either automatically from Odoo, or manually from Stripe.
|
||||
.. tabs::
|
||||
.. tab:: Register automatically from Odoo
|
||||
|
||||
#. Navigate to your payment provider and make sure that it is :guilabel:`enabled`.
|
||||
#. Navigate to your payment acquirer and make sure that it is :guilabel:`enabled`.
|
||||
#. Go to the :guilabel:`Configuration` tab and click on the :guilabel:`Enable Apple Pay`
|
||||
button. A notification shows that the web domain was successfully registered with Apple.
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -4,7 +4,7 @@ How to get paid with wire transfers
|
||||
|
||||
**Wire Transfer** is the default payment method available. The aim is providing your customers with
|
||||
your bank details so they can pay on their own. This is very easy to start with but slow and
|
||||
inefficient process-wise. Opt for payment providers as soon as you can!
|
||||
inefficient process-wise. Opt for payment acquirers as soon as you can!
|
||||
|
||||
How to provide customers with payment instructions
|
||||
==================================================
|
||||
@@ -36,4 +36,4 @@ check. To do so, just rename *Wire Transfer* or duplicate it.
|
||||
:align: center
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@@ -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 provider’s 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.
|
||||
@@ -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`
|
||||
|
||||
@@ -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
|
||||