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
|
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||||
ifdef VERSIONS
|
ifdef VERSIONS
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/16.0
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||||
endif
|
endif
|
||||||
ifneq ($(CURRENT_LANG),en)
|
ifneq ($(CURRENT_LANG),en)
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||||
|
|||||||
14
README.md
@@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
- [Git](https://www.odoo.com/documentation/16.0/contributing/documentation.html#install-git)
|
- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git)
|
||||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/16.0/contributing/documentation.html#python)
|
- [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/16.0/requirements.txt).
|
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt).
|
||||||
- [Make](https://www.odoo.com/documentation/16.0/contributing/documentation.html#make)
|
- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make)
|
||||||
- A local copy of the [odoo/odoo repository in 16.0](https://github.com/odoo/odoo/tree/16.0) (Optional)
|
- A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional)
|
||||||
|
|
||||||
### Instructions
|
### Instructions
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
2. Open the file `documentation/_build/html/index.html` in your web browser to display the render.
|
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.
|
for more detailed instructions.
|
||||||
|
|
||||||
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
||||||
@@ -34,7 +34,7 @@ be shown.
|
|||||||
## Contribute to the documentation
|
## Contribute to the documentation
|
||||||
|
|
||||||
For contributions to the content of the documentation, please refer to the
|
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
|
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.
|
[repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual.
|
||||||
|
|||||||
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|,
|
# `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.
|
# 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|.
|
# `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.
|
# The minimal Sphinx version required to build the documentation.
|
||||||
needs_sphinx = '3.0.0'
|
needs_sphinx = '3.0.0'
|
||||||
@@ -95,7 +95,7 @@ else:
|
|||||||
import odoo.addons
|
import odoo.addons
|
||||||
odoo.addons.__path__.append(str(odoo_dir) + '/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
|
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
|
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
|
||||||
if release != odoo_version:
|
if release != odoo_version:
|
||||||
_logger.warning(
|
_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`
|
# 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.
|
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||||
versions_names = {
|
versions_names = {
|
||||||
'16.0': "Odoo 16",
|
|
||||||
'master': "Master",
|
'master': "Master",
|
||||||
'saas-15.2': "Odoo Online",
|
'saas-15.2': "Odoo Online",
|
||||||
'15.0': "Odoo 15",
|
'15.0': "Odoo 15",
|
||||||
|
|||||||
@@ -547,7 +547,7 @@ Dependencies
|
|||||||
.. tab:: Debian/Ubuntu
|
.. tab:: Debian/Ubuntu
|
||||||
|
|
||||||
For Debian-based systems, the packages are listed in the `debian/control
|
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:
|
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
|
- 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.
|
<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
|
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
|
||||||
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
|
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||||
database, then on :guilabel:`Domain names`.
|
: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
|
:align: center
|
||||||
:alt: Clicking on Domain Names from an Odoo website
|
: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
|
* Disabling outgoing emails by intercepting them with a mailcatcher. An
|
||||||
:ref:`interface to view <odoosh-gettingstarted-branches-tabs-mails>` the emails sent by your
|
: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.
|
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
|
* Disabling IAP services
|
||||||
|
|
||||||
The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected
|
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/expenses
|
||||||
finance/documents
|
finance/documents
|
||||||
finance/sign
|
finance/sign
|
||||||
finance/payment_providers
|
finance/payment_acquirers
|
||||||
@@ -64,8 +64,8 @@ Link your Ponto account with your Odoo database
|
|||||||
#. Finish the flow.
|
#. Finish the flow.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the
|
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.
|
accounts based on the institution you selected at the second step.
|
||||||
|
|
||||||
Update your synchronization credentials
|
Update your synchronization credentials
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|||||||
@@ -232,8 +232,9 @@ directly to its services and get the currency rate either automatically or manua
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Bank of Peru is displayed in Multicurrency Service option
|
:alt: Bank of Peru is displayed in Multicurrency Service option
|
||||||
|
|
||||||
Please refer to the next section in our documentation for more information about
|
Please refer to the next section in our documentation for more information about :doc:`multicurrency
|
||||||
:doc:`multicurrencies <../../others/multi_currency>`.
|
<../../others/multicurrencies/how_it_works>`.
|
||||||
|
|
||||||
|
|
||||||
Configure Master data
|
Configure Master data
|
||||||
---------------------
|
---------------------
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ Payment Method
|
|||||||
This menu helps you configure the payment methods with which your customers can pay you.
|
This menu helps you configure the payment methods with which your customers can pay you.
|
||||||
|
|
||||||
.. important::
|
.. 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.
|
option automatically. With this, users can directly pay online, from their Customer Portal.
|
||||||
|
|
||||||
.. _invoicing-setup-sample:
|
.. _invoicing-setup-sample:
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Others
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
others/multi_currency
|
|
||||||
others/analytic
|
others/analytic
|
||||||
others/adviser
|
others/adviser
|
||||||
|
others/multicurrencies
|
||||||
others/inventory
|
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
|
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.
|
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.
|
Direct Debit*, and set it up according to your needs.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
@@ -70,7 +70,7 @@ Customers using SDD as payment method get prompted to add their IBAN, email addr
|
|||||||
their SEPA Direct Debit mandate.
|
their SEPA Direct Debit mandate.
|
||||||
|
|
||||||
.. todo::
|
.. todo::
|
||||||
Add link to future **Payment Provider** documentation.
|
Add link to future **Payment Acquirer** documentation.
|
||||||
|
|
||||||
Close or revoke a mandate
|
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
|
allows your customers to see their invoices online and pay directly with their favorite payment
|
||||||
method, making the payment process much easier.
|
method, making the payment process much easier.
|
||||||
|
|
||||||
.. image:: online_payment/online-payment-providers.png
|
.. image:: online_payment/online-payment-acquirers.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Payment provider choice after having clicked on "Pay Now"
|
:alt: Payment acquirer choice after having clicked on "Pay Now"
|
||||||
|
|
||||||
Configuration
|
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::
|
.. note::
|
||||||
By default, ":doc:`Wire Transfer </applications/finance/payment_providers/wire_transfer>`" is the only
|
By default, ":doc:`Wire Transfer </applications/finance/payment_acquirers/wire_transfer>`" is the only
|
||||||
Payment Provider activated, but you still have to fill out the payment details.
|
Payment Acquirer activated, but you still have to fill out the payment details.
|
||||||
|
|
||||||
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
||||||
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
||||||
@@ -34,7 +34,7 @@ Portal**.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Email with a link to view the invoice online on the Customer Portal.
|
: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
|
.. image:: online_payment/online-payment-pay-now.png
|
||||||
:align: center
|
:align: center
|
||||||
@@ -42,4 +42,4 @@ They can choose which Payment Provider to use by clicking on *Pay Now*.
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
- :doc:`/applications/finance/payment_providers`
|
- :doc:`/applications/finance/payment_acquirers`
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -9,4 +9,3 @@ Overview
|
|||||||
|
|
||||||
overview/main_reports
|
overview/main_reports
|
||||||
overview/customize
|
overview/customize
|
||||||
overview/data_inalterability
|
|
||||||
@@ -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:
|
:show-content:
|
||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
Payment providers (credit cards, online payments)
|
Payment acquirers (credit cards, online payments)
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
payment_providers/wire_transfer
|
payment_acquirers/wire_transfer
|
||||||
payment_providers/adyen
|
payment_acquirers/adyen
|
||||||
payment_providers/alipay
|
payment_acquirers/alipay
|
||||||
payment_providers/amazon_payment_services
|
payment_acquirers/amazon_payment_services
|
||||||
payment_providers/asiapay
|
payment_acquirers/asiapay
|
||||||
payment_providers/authorize
|
payment_acquirers/authorize
|
||||||
payment_providers/buckaroo
|
payment_acquirers/buckaroo
|
||||||
payment_providers/flutterwave
|
payment_acquirers/flutterwave
|
||||||
payment_providers/mercado_pago
|
payment_acquirers/mercado_pago
|
||||||
payment_providers/mollie
|
payment_acquirers/mollie
|
||||||
payment_providers/ogone
|
payment_acquirers/ogone
|
||||||
payment_providers/paypal
|
payment_acquirers/paypal
|
||||||
payment_providers/razorpay
|
payment_acquirers/razorpay
|
||||||
payment_providers/sips
|
payment_acquirers/sips
|
||||||
payment_providers/stripe
|
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
|
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**.
|
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
|
as you make it more convenient for your customers to pay with the payment method they prefer and
|
||||||
trust.
|
trust.
|
||||||
|
|
||||||
.. image:: payment_providers/online-payment.png
|
.. image:: payment_acquirers/online-payment.png
|
||||||
:align: center
|
: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::
|
.. 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.
|
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
|
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
|
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
|
From an accounting perspective, we can distinguish two types of payment acquirers: the payment
|
||||||
providers that are third-party services and require you to follow another accounting workflow, and
|
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.
|
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::
|
.. list-table::
|
||||||
@@ -64,78 +64,78 @@ Online payment providers
|
|||||||
|
|
||||||
* -
|
* -
|
||||||
- Payment flow
|
- Payment flow
|
||||||
- :ref:`Tokenization <payment_providers/features/tokenization>`
|
- :ref:`Tokenization <payment_acquirers/features/tokenization>`
|
||||||
- :ref:`Manual capture <payment_providers/features/manual_capture>`
|
- :ref:`Manual capture <payment_acquirers/features/manual_capture>`
|
||||||
- :ref:`Refunds <payment_providers/features/refund>`
|
- :ref:`Refunds <payment_acquirers/features/refund>`
|
||||||
- :ref:`Express checkout <payment_providers/features/express_checkout>`
|
- :ref:`Express checkout <payment_acquirers/features/express_checkout>`
|
||||||
* - :doc:`Adyen <payment_providers/adyen>`
|
* - :doc:`Adyen <payment_acquirers/adyen>`
|
||||||
- Payment from Odoo
|
- Payment from Odoo
|
||||||
- |V|
|
- |V|
|
||||||
- Full only
|
- Full only
|
||||||
- Full and partial
|
- Full and partial
|
||||||
-
|
-
|
||||||
* - :doc:`Amazon Payment Services <payment_providers/amazon_payment_services>`
|
* - :doc:`Amazon Payment Services <payment_acquirers/amazon_payment_services>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`AsiaPay <payment_providers/asiapay>`
|
* - :doc:`AsiaPay <payment_acquirers/asiapay>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Authorize.Net <payment_providers/authorize>`
|
* - :doc:`Authorize.Net <payment_acquirers/authorize>`
|
||||||
- Payment from Odoo
|
- Payment from Odoo
|
||||||
- |V|
|
- |V|
|
||||||
- Full only
|
- Full only
|
||||||
- Full only
|
- Full only
|
||||||
-
|
-
|
||||||
* - :doc:`Buckaroo <payment_providers/buckaroo>`
|
* - :doc:`Buckaroo <payment_acquirers/buckaroo>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Flutterwave <payment_providers/flutterwave>`
|
* - :doc:`Flutterwave <payment_acquirers/flutterwave>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
- |V|
|
- |V|
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Mercado Pago <payment_providers/mercado_pago>`
|
* - :doc:`Mercado Pago <payment_acquirers/mercado_pago>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Mollie <payment_providers/mollie>`
|
* - :doc:`Mollie <payment_acquirers/mollie>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`PayPal <payment_providers/paypal>`
|
* - :doc:`PayPal <payment_acquirers/paypal>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Razorpay <payment_providers/razorpay>`
|
* - :doc:`Razorpay <payment_acquirers/razorpay>`
|
||||||
- Payment from the provider website
|
- Payment from Odoo
|
||||||
-
|
-
|
||||||
- Full only
|
- Full only
|
||||||
- Full and partial
|
- Full and partial
|
||||||
-
|
-
|
||||||
* - :doc:`SIPS <payment_providers/sips>`
|
* - :doc:`SIPS <payment_acquirers/sips>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
* - :doc:`Stripe <payment_providers/stripe>`
|
* - :doc:`Stripe <payment_acquirers/stripe>`
|
||||||
- Payment from the provider website
|
- Payment from the acquirer website
|
||||||
- |V|
|
- |V|
|
||||||
- Full only
|
- Full only
|
||||||
- Full and partial
|
- Full and partial
|
||||||
@@ -146,16 +146,16 @@ Online payment providers
|
|||||||
.. note::
|
.. note::
|
||||||
Some of these online payment providers can also be added as :doc:`bank accounts
|
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
|
<../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
|
added and configured on your Accounting app to do a bank reconciliation, which is an accounting
|
||||||
control process.
|
control process.
|
||||||
|
|
||||||
.. _payment_providers/bank_payments:
|
.. _payment_acquirers/bank_payments:
|
||||||
|
|
||||||
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
|
| 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.
|
approve the payment manually once you have received it on your bank account.
|
||||||
- | SEPA Direct Debit
|
- | SEPA Direct Debit
|
||||||
@@ -163,39 +163,39 @@ Bank payments
|
|||||||
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
||||||
more information about this payment method.
|
more information about this payment method.
|
||||||
|
|
||||||
.. _payment_providers/features:
|
.. _payment_acquirers/features:
|
||||||
|
|
||||||
Additional features
|
Additional features
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Some payment providers support additional features for the payment flow. Refer to the :ref:`table
|
Some payment acquirers 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
|
above <payment_acquirers/online_acquirers>` to check if your payment acquirer supports these
|
||||||
features.
|
features.
|
||||||
|
|
||||||
.. _payment_providers/features/tokenization:
|
.. _payment_acquirers/features/tokenization:
|
||||||
|
|
||||||
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
|
**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
|
without having to enter the card details again. This is particularly useful for the eCommerce
|
||||||
conversion rate and for subscriptions that use recurring payments.
|
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.
|
and by ticking the :guilabel:`Allow Saving Payment Methods` checkbox.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
|
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 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
|
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
|
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
|
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
|
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.
|
- 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
|
- Review and verify that orders are legitimate before the payment is completed and the fulfillment
|
||||||
process starts.
|
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.
|
you for voiding an authorization.
|
||||||
- Hold a security deposit to return later, minus any deductions (e.g., after a damage).
|
- 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.
|
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
|
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.
|
TRANSACTION` button.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
- Some payment providers support capturing only part of the authorized amount. The remaining
|
- Some payment acquirers 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
|
amount can then be either captured or voided. These acquirers have the value **Full and
|
||||||
partial** in the :ref:`table above <payment_providers/online_providers>`. The providers that
|
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**.
|
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
|
- 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.
|
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.
|
from their website interface.
|
||||||
|
|
||||||
.. _payment_providers/features/refund:
|
.. _payment_acquirers/features/refund:
|
||||||
|
|
||||||
Refunds
|
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
|
not need to be enabled first. To refund a customer payment, navigate to it and click on the
|
||||||
:guilabel:`REFUND` button.
|
:guilabel:`REFUND` button.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
- Some payment providers support refunding only part of the amount. The remaining amount can then
|
- Some payment acquirers 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
|
optionally be refunded too. These acquirers have the value **Full and partial** in the
|
||||||
:ref:`table above <payment_providers/online_providers>`. The providers that only support
|
:ref:`table above <payment_acquirers/online_acquirers>`. The acquirers that only support
|
||||||
refunding the full amount have the value **Full only**.
|
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.
|
from their website interface.
|
||||||
|
|
||||||
.. _payment_providers/features/express_checkout:
|
.. _payment_acquirers/features/express_checkout:
|
||||||
|
|
||||||
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
|
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
|
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.
|
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.
|
and by ticking the :guilabel:`Allow Express Checkout` checkbox.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
All prices shown in the express checkout payment form are always taxes included.
|
All prices shown in the express checkout payment form are always taxes included.
|
||||||
|
|
||||||
.. _payment_providers/configuration:
|
.. _payment_acquirers/configuration:
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Each provider has its specific configuration flow, depending on :ref:`which feature is available
|
Each acquirer has its specific configuration flow, depending on :ref:`which feature is available
|
||||||
<payment_providers/online_providers>`.
|
<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
|
To add a new payment acquirer and make it available to your customers, go to
|
||||||
:menuselection:`Accounting --> Configuration --> Payment Providers`, look for your payment provider,
|
:menuselection:`Accounting --> Configuration --> Payment Acquirers`, look for your payment acquirer,
|
||||||
install the related module, and activate it. To do so, open the payment provider and change its
|
install the related module, and activate it. To do so, open the payment acquirer and change its
|
||||||
state from *Disabled* to *Enabled*.
|
state from *Disabled* to *Enabled*.
|
||||||
|
|
||||||
.. image:: payment_providers/activation.png
|
.. image:: payment_acquirers/activation.png
|
||||||
:align: center
|
: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::
|
.. warning::
|
||||||
We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is
|
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
|
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
|
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
|
Credentials tab
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
If not done yet, go to the online payment provider website, create an account, and make sure to have
|
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 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.
|
the related documentation for more information.
|
||||||
|
|
||||||
.. _payment_providers/configuration_tab:
|
.. _payment_acquirers/configuration_tab:
|
||||||
|
|
||||||
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**
|
**Displayed as** field and which credit card icons to display under the **Supported Payment Icons**
|
||||||
field.
|
field.
|
||||||
|
|
||||||
.. _payment_providers/countries:
|
.. _payment_acquirers/countries:
|
||||||
|
|
||||||
Countries
|
Countries
|
||||||
*********
|
*********
|
||||||
|
|
||||||
Restrict the use of the payment provider to a selection of countries. Leave this field blank to make
|
Restrict the use of the payment acquirer to a selection of countries. Leave this field blank to make
|
||||||
the payment provider available in all countries.
|
the payment acquirer available in all countries.
|
||||||
|
|
||||||
.. _payment_providers/journal:
|
.. _payment_acquirers/journal:
|
||||||
|
|
||||||
Maximum Amount
|
Maximum Amount
|
||||||
**************
|
**************
|
||||||
|
|
||||||
Restrict the maximum amount that can be paid with the selected provider. Leave this field to `0.00`
|
Restrict the maximum amount that can be paid with the selected acquirer. Leave this field to `0.00`
|
||||||
to make the payment provider available regardless of the payment amount.
|
to make the payment acquirer available regardless of the payment amount.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
This feature is not intended to work on pages which allow the customer to update the payment
|
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
|
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
|
Publish on the website
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
By default, payment providers are *unpublished*, which means that only internal users can see them
|
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 provider but they can
|
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
|
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.
|
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
|
publish it on the website and make it available to your customers. Click on the
|
||||||
:guilabel:`Unpublish` button to unpublish it.
|
:guilabel:`Unpublish` button to unpublish it.
|
||||||
|
|
||||||
.. tip::
|
.. 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`.
|
state to `enabled` and `test`.
|
||||||
|
|
||||||
.. _payment_providers/accounting:
|
.. _payment_acquirers/accounting:
|
||||||
|
|
||||||
Accounting perspective
|
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
|
to consider how you want to record your payments' journal entries. We recommend you to ask your
|
||||||
accountant for advice.
|
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*.
|
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:
|
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.
|
- 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.
|
- 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
|
:align: center
|
||||||
:alt: A bank journal in the "Incoming Payments Tab".
|
: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.
|
payment method... What best suit your needs.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`payment_providers/wire_transfer`
|
- :doc:`payment_acquirers/wire_transfer`
|
||||||
- :doc:`payment_providers/adyen`
|
- :doc:`payment_acquirers/adyen`
|
||||||
- :doc:`payment_providers/alipay`
|
- :doc:`payment_acquirers/alipay`
|
||||||
- :doc:`payment_providers/authorize`
|
- :doc:`payment_acquirers/authorize`
|
||||||
- :doc:`payment_providers/asiapay`
|
- :doc:`payment_acquirers/asiapay`
|
||||||
- :doc:`payment_providers/buckaroo`
|
- :doc:`payment_acquirers/buckaroo`
|
||||||
- :doc:`payment_providers/mercado_pago`
|
- :doc:`payment_acquirers/mercado_pago`
|
||||||
- :doc:`payment_providers/mollie`
|
- :doc:`payment_acquirers/mollie`
|
||||||
- :doc:`payment_providers/ogone`
|
- :doc:`payment_acquirers/ogone`
|
||||||
- :doc:`payment_providers/paypal`
|
- :doc:`payment_acquirers/paypal`
|
||||||
- :doc:`payment_providers/razorpay`
|
- :doc:`payment_acquirers/razorpay`
|
||||||
- :doc:`payment_providers/sips`
|
- :doc:`payment_acquirers/sips`
|
||||||
- :doc:`payment_providers/stripe`
|
- :doc:`payment_acquirers/stripe`
|
||||||
- :doc:`../websites/ecommerce/shopper_experience/payment_providers`
|
- :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::
|
.. seealso::
|
||||||
:ref:`payment_providers/add_new`
|
:ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
Credentials tab
|
||||||
---------------
|
---------------
|
||||||
@@ -28,7 +28,7 @@ the **Credentials** tab.
|
|||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
If you are trying Adyen as a test, with an Adyen *test account*, head to
|
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:`Adyen`, enable :guilabel:`Test Mode` and enter your credentials in the
|
||||||
:guilabel:`Credentials` tab.
|
: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.
|
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
|
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
|
Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the
|
||||||
**Capture Delay** to **manual**.
|
**Capture Delay** to **manual**.
|
||||||
@@ -135,4 +135,4 @@ Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settin
|
|||||||
**revoke** it.
|
**revoke** it.
|
||||||
|
|
||||||
.. seealso::
|
.. 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::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
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.
|
recommend doing this on a test Odoo database, rather than on your main database.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
`Amazon Payment Services <https://paymentservices.amazon.com/>`_ or APS is an online payment provider
|
||||||
established in Dubai offering several online payment options.
|
established in Dubai offering several online payment options.
|
||||||
|
|
||||||
.. _payment_providers/aps/configure-dashboard:
|
.. _payment_acquirers/aps/configure-dashboard:
|
||||||
|
|
||||||
Configuration on APS 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
|
look and feel of the Amazon Payment Services payment page (where customers fill out their
|
||||||
credit card details during payment).
|
credit card details during payment).
|
||||||
|
|
||||||
.. _payment_providers/aps/configure-odoo:
|
.. _payment_acquirers/aps/configure-odoo:
|
||||||
|
|
||||||
Configuration on 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`.
|
change its state to :guilabel:`Enabled`, and make sure it is :guilabel:`Published`.
|
||||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant Identifier`,
|
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant Identifier`,
|
||||||
:guilabel:`Access Code`, :guilabel:`SHA Request Phrase` and :guilabel:`SHA Response Phrase` with
|
: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.
|
#. 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
|
`AsiaPay <https://www.asiapay.com/>`_ is an online payments provider established in Hong Kong and
|
||||||
covering several Asian countries and payment methods.
|
covering several Asian countries and payment methods.
|
||||||
|
|
||||||
.. _payment_providers/asiapay/configure_dashboard:
|
.. _payment_acquirers/asiapay/configure_dashboard:
|
||||||
|
|
||||||
Configuration on AsiaPay 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:`Test` to check if the webhook is working correctly.
|
||||||
#. Click on :guilabel:`Update` to finalize the configuration.
|
#. Click on :guilabel:`Update` to finalize the configuration.
|
||||||
|
|
||||||
.. _payment_providers/asiapay/configure_odoo:
|
.. _payment_acquirers/asiapay/configure_odoo:
|
||||||
|
|
||||||
Configuration on 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`.
|
to :guilabel:`Enabled`.
|
||||||
#. | In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant ID`, :guilabel:`Currency`, and
|
#. | 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
|
:guilabel:`Secure Hash Secret` with the values you saved at the step
|
||||||
:ref:`payment_providers/asiapay/configure_dashboard`.
|
:ref:`payment_acquirers/asiapay/configure_dashboard`.
|
||||||
| By default, the payment provider AsiaPay is configured to verify the secret hash with the hash
|
| 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
|
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.
|
<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.
|
#. Configure the rest of the options to your liking.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
@@ -9,7 +9,7 @@ Configuration
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
Credentials tab
|
||||||
---------------
|
---------------
|
||||||
@@ -43,11 +43,11 @@ Place a hold on a card
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
With Authorize.net, you can enable the :ref:`manual capture
|
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.
|
customer's card, but not charged yet.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
After **30 days**, the transaction is **voided automatically** by Authorize.net.
|
After **30 days**, the transaction is **voided automatically** by Authorize.net.
|
||||||
|
|
||||||
.. seealso::
|
.. 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::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
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.
|
recommend doing this on a test Odoo database, rather than on your main database.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
`Flutterwave <https://flutterwave.com/>`_ is an online payments provider established in Nigeria and
|
||||||
covering several African countries and payment methods.
|
covering several African countries and payment methods.
|
||||||
|
|
||||||
.. _payment_providers/flutterwave/configure_dashboard:
|
.. _payment_acquirers/flutterwave/configure_dashboard:
|
||||||
|
|
||||||
Configuration on Flutterwave Dashboard
|
Configuration on Flutterwave Dashboard
|
||||||
======================================
|
======================================
|
||||||
@@ -20,16 +20,16 @@ Configuration on Flutterwave Dashboard
|
|||||||
#. Make sure all the remaining checkboxes are ticked.
|
#. Make sure all the remaining checkboxes are ticked.
|
||||||
#. Click on **Save** to finalize the configuration.
|
#. Click on **Save** to finalize the configuration.
|
||||||
|
|
||||||
.. _payment_providers/flutterwave/configure_odoo:
|
.. _payment_acquirers/flutterwave/configure_odoo:
|
||||||
|
|
||||||
Configuration on 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`.
|
state to :guilabel:`Enabled`.
|
||||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Public Key`, :guilabel:`Secret Key`, and
|
#. 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
|
: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.
|
#. Configure the rest of the options to your liking.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
@@ -38,4 +38,4 @@ Configuration on Odoo
|
|||||||
Flutterwave Dashboard and then to :menuselection:`Settings --> Account Settings`.
|
Flutterwave Dashboard and then to :menuselection:`Settings --> Account Settings`.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
`Mercado Pago <https://www.mercadopago.com/>`_ is an online payment provider covering several
|
||||||
countries, currencies and payment methods in Latin America.
|
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
|
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
|
#. Go to :menuselection:`Production Credentials` or :menuselection:`Credentials` if your are in
|
||||||
a *Test* environment and copy your **Access Token**
|
a *Test* environment and copy your **Access Token**
|
||||||
|
|
||||||
.. _payment_providers/mercado_pago/configure_odoo:
|
.. _payment_acquirers/mercado_pago/configure_odoo:
|
||||||
|
|
||||||
Configuration on 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`.
|
state to :guilabel:`Enabled`.
|
||||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Access Token` with the value
|
#. 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.
|
#. Configure the rest of the options to your liking.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
@@ -8,14 +8,14 @@ Configuration
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
Credentials tab
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Odoo needs your **API Credentials** to connect with your Mollie account, which comprise:
|
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
|
You can copy your credentials from your Mollie account, and paste them in the related fields under
|
||||||
the **Credentials** tab.
|
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.
|
We recommend doing this on a test Odoo database, rather than on your main database.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
@@ -6,7 +6,7 @@ Ogone
|
|||||||
company that provides the technology involved in secure electronic transactions.
|
company that provides the technology involved in secure electronic transactions.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
- `Ogone's documentation <https://epayments-support.ingenico.com/get-started/>`_.
|
- `Ogone's documentation <https://epayments-support.ingenico.com/get-started/>`_.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
@@ -53,8 +53,8 @@ Technical Information --> Global Security Parameters`, select :guilabel:`SHA-512
|
|||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If you need to use another algorithm, such as `sha-1` or `sha-256`, within Odoo, activate the
|
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
|
:ref:`developer mode <developer-mode>` and go to the **Payment Acquirers** page in
|
||||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. Click on :guilabel:`Ogone`,
|
:menuselection:`Accounting --> Configuration --> Payment Acquirers`. Click on :guilabel:`Ogone`,
|
||||||
and in the :guilabel:`Credentials` tab, select the algorithm you wish to use in the
|
and in the :guilabel:`Credentials` tab, select the algorithm you wish to use in the
|
||||||
:guilabel:`Hash function` field.
|
:guilabel:`Hash function` field.
|
||||||
|
|
||||||
@@ -102,6 +102,6 @@ to save the card information should be displayed, etc.
|
|||||||
Settings in Odoo
|
Settings in Odoo
|
||||||
================
|
================
|
||||||
|
|
||||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Providers`
|
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Acquirers`
|
||||||
and open the Ogone provider. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
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>`.
|
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::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
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.
|
Run a test transaction from Odoo using the sandbox personal account.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
`Razorpay <https://razorpay.com/>`_ is an online payments provider established in India and
|
||||||
covering more than 100 payment methods.
|
covering more than 100 payment methods.
|
||||||
|
|
||||||
.. _payment_providers/razorpay/configure_dashboard:
|
.. _payment_acquirers/razorpay/configure_dashboard:
|
||||||
|
|
||||||
Configuration on Razorpay Dashboard
|
Configuration on Razorpay Dashboard
|
||||||
===================================
|
===================================
|
||||||
@@ -23,24 +23,25 @@ Configuration on Razorpay Dashboard
|
|||||||
checkboxes are ticked.
|
checkboxes are ticked.
|
||||||
#. Click on :guilabel:`Create Webhook` to finalize the configuration.
|
#. Click on :guilabel:`Create Webhook` to finalize the configuration.
|
||||||
|
|
||||||
.. _payment_providers/razorpay/configure_odoo:
|
.. _payment_acquirers/razorpay/configure_odoo:
|
||||||
|
|
||||||
Configuration on 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`.
|
state to :guilabel:`Enabled`.
|
||||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Key Id`, :guilabel:`Key Secret`, and
|
#. 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
|
: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.
|
#. Configure the rest of the options to your liking.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
If you configure Odoo to capture amounts manually:
|
- If you configure Odoo to capture amounts manually, make sure to set the
|
||||||
|
:guilabel:`Manual Capture` to :guilabel:`manual` on Razorpay. Otherwise, the transaction
|
||||||
- Be aware that the **manual voiding** of a transaction is not supported by Razorpay.
|
would be blocked in the authorized state in Odoo. To do so, go to your Razorpay Dashboard and
|
||||||
- After **five days**, if the transaction hasn't been captured yet, it'll automatically be
|
then to :menuselection:`Settings --> Configuration`.
|
||||||
**voided**.
|
- After **five days**, if the transaction hasn't been captured yet, the customer has the right
|
||||||
|
to **revoke** it.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
@@ -9,7 +9,7 @@ Configuration
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
Credentials tab
|
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.
|
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
@@ -9,7 +9,7 @@ Link your Stripe Account with Odoo
|
|||||||
==================================
|
==================================
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :ref:`payment_providers/add_new`
|
- :ref:`payment_acquirers/add_new`
|
||||||
|
|
||||||
The method to acquire your credentials depends on your hosting type:
|
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.
|
#. Fill in the requested information and submit the form.
|
||||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
#. 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
|
#. 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`.
|
#. You can continue to :ref:`stripe/local-payment-methods`.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
|
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
|
credentials <stripe/api-keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
|
||||||
payment provider.
|
payment acquirer.
|
||||||
|
|
||||||
.. group-tab:: Odoo.sh or On-premise
|
.. 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.
|
payments* button on the onboarding banner.
|
||||||
#. Fill in the requested information and submit the form.
|
#. Fill in the requested information and submit the form.
|
||||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
#. 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:`Fill in your credentials <stripe/api-keys>`.
|
||||||
#. :ref:`Generate a webhook <stripe/webhook>`.
|
#. :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`.
|
#. You are all set and can continue to :ref:`stripe/local-payment-methods`.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
To connect your Stripe account after the onboarding is already completed, go to
|
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.
|
*Connect Stripe* button.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
@@ -126,7 +126,7 @@ feature earmarks an amount on the customer's account for a determined period of
|
|||||||
the payment method used.
|
the payment method used.
|
||||||
|
|
||||||
To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as explained in the
|
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::
|
.. warning::
|
||||||
When the manual capture feature is activated, your customers are not able to proceed with any
|
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.
|
interface is still managed as a full capture by Odoo.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../payment_providers`
|
- :doc:`../payment_acquirers`
|
||||||
|
|
||||||
.. _stripe/local-payment-methods:
|
.. _stripe/local-payment-methods:
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ Odoo supports the following local payment methods:
|
|||||||
- Przelewy24 (P24)
|
- Przelewy24 (P24)
|
||||||
|
|
||||||
To enable some of these local payment methods with Stripe, list them as supported payment icons. To
|
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
|
payment methods in the **Supported Payment Icons** field. If the desired payment method is already
|
||||||
listed, you don't have anything to do.
|
listed, you don't have anything to do.
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ Enable express checkout
|
|||||||
=======================
|
=======================
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
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
|
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::
|
.. tabs::
|
||||||
.. tab:: Register automatically from Odoo
|
.. 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`
|
#. 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.
|
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
|
**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
|
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
|
How to provide customers with payment instructions
|
||||||
==================================================
|
==================================================
|
||||||
@@ -36,4 +36,4 @@ check. To do so, just rename *Wire Transfer* or duplicate it.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
You have nothing to do! **Odoo sets up its own mail servers for your database.**
|
||||||
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be done!
|
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
|
Scope of this documentation
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
This document is **mainly dedicated to Odoo on-premise users** who don't benefit from an
|
This document is **mainly dedicated to Odoo on-premise users** who don't
|
||||||
out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online <https://www.odoo.
|
benefit from an out-of-the-box solution to send and receive emails in Odoo,
|
||||||
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_.
|
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::
|
.. warning::
|
||||||
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly
|
If no one in your company is used to manage email servers, we strongly recommend that
|
||||||
recommended. Those Odoo hosting types' email systems work instantly and are monitored by
|
you opt for those Odoo hosting solutions. Their email system
|
||||||
professionals. Nevertheless, a company can use their own email server if they want to manage the
|
works instantly and is monitored by professionals.
|
||||||
email server's reputation themselves.
|
Nevertheless you can still use your own email servers if you want
|
||||||
|
to manage your email server's reputation yourself.
|
||||||
|
|
||||||
|
You will find here some useful
|
||||||
|
information on how to integrate your own email solution with Odoo.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Office 365 email servers don't easily allow the sending of external emails from hosts like Odoo.
|
Office 365 email servers don't easily allow to send external emails from hosts like Odoo. Refer
|
||||||
Refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-
|
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>`_
|
||||||
multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
to make it work.
|
||||||
c805d654b4c4>`_ to make it work.
|
|
||||||
|
|
||||||
Manage outbound messages
|
How to manage outbound messages
|
||||||
========================
|
===============================
|
||||||
|
As a system admin, go to :menuselection:`Settings --> General Settings`
|
||||||
As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and
|
and check *External Email Servers*. Then, click *Outgoing Mail Servers* to create one and reference
|
||||||
enable the :guilabel:`External Email Servers` option. Then, click :guilabel:`Save`. Next, click
|
the SMTP data of your email server. Once all the information has been filled out, click on
|
||||||
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail
|
*Test Connection*.
|
||||||
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`.
|
|
||||||
|
|
||||||
Here is a typical configuration for a G Suite server.
|
Here is a typical configuration for a G Suite server.
|
||||||
|
|
||||||
.. image:: email_servers/outgoing-server.png
|
.. image:: email_servers/outgoing-server.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The typical G Suite configuration on Odoo.
|
|
||||||
|
|
||||||
Then, go back to :menuselection:`Settings --> General Settings --> Discuss` and set the email
|
Then set your email domain name in the General Settings.
|
||||||
domain name in the :guilabel:`Alias Domain` name. Finally, click :guilabel:`Save` to finish setting
|
|
||||||
up the email server.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If an `[AUTHENTICATION FAILED] Invalid credentials (Failure)` warning appears when
|
If you get a ``[AUTHENTICATIONFAILED] Invalid credentials (Failure)`` warning when you *Test
|
||||||
:guilabel:`Test Connection` is clicked for a Gmail address, activate the :guilabel:`Less secure
|
Connection* on a Gmail address, activate the *Less secure app access* option. A direct link can
|
||||||
app access` option. A direct link can be `accessed here <https://myaccount.google.com/
|
be `accessed here <https://myaccount.google.com/lesssecureapps?pli=1>`_.
|
||||||
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
|
Can I use an Office 365 server
|
||||||
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>`.
|
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-
|
Please refer to `Microsoft's documentation
|
||||||
a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
<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>`_
|
||||||
c805d654b4c4>`_ to configure an SMTP relay for the Odoo database's IP address.
|
to configure a SMTP relay for your Odoo's IP address.
|
||||||
|
|
||||||
Use a G Suite server
|
How to use a G Suite server
|
||||||
--------------------
|
---------------------------
|
||||||
|
You can use an G Suite server for any Odoo hosting type.
|
||||||
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service.
|
To do so you need to setup the SMTP relay service. The configuration steps are explained in
|
||||||
The configuration steps are explained in `Google documentation <https://support.google.com
|
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
|
||||||
/a/answer/2956491?hl=en>`__.
|
|
||||||
|
|
||||||
Restriction
|
Restriction
|
||||||
-----------
|
-----------
|
||||||
|
Please note that port 25 is blocked for security reasons on our SaaS and Odoo.sh platform. Try using
|
||||||
Please note that port 25 is blocked for security reasons on the SaaS and Odoo.sh platforms. Try
|
465, 587, or 2525.
|
||||||
using ports 465, 587, or 2525 instead.
|
|
||||||
|
|
||||||
.. _email_communication/default_from:
|
.. _email_communication/default_from:
|
||||||
|
|
||||||
Use a default "From" email address
|
Use a default "From" email address
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Sometimes, an email's "From" (outgoing) address can belong to a different domain, and that can be a
|
Sometimes, an email's "From" (outgoing) address can belong to a
|
||||||
problem.
|
different domain, and that can be a problem.
|
||||||
|
|
||||||
For example, if a customer with the email address *mary\@customer.example.com* responds to a
|
For example, if a customer with address *mary@customer.example.com* responds to
|
||||||
message, Odoo will try to redistribute that same email to the other subscribers in the thread.
|
a message, Odoo will try to redistribute that same email to other subscribers
|
||||||
However, if the domain *customer.example.com* forbids that kind of usage for security, the email
|
in the thread. But if the domain *customer.example.com* forbids that kind of
|
||||||
that Odoo is trying to redistribute would get rejected by some recipients' email servers.
|
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
|
If your MTA supports `SRS (Sender Rewriting Scheme)
|
||||||
_Scheme>`_, SRS can be enabled to handle these situations. However, that is more complex and
|
<https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme>`_, you can enable it
|
||||||
requires more technical knowledge that is not meant to be covered by this documentation.
|
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
|
#. Set your domain name in the General Settings.
|
||||||
--> Discuss`.
|
|
||||||
|
|
||||||
.. image:: email_servers/alias-domain.png
|
.. image:: email_servers/alias-domain.png
|
||||||
:alt: Setting the domain alias configuration on Odoo.
|
:align: center
|
||||||
|
|
||||||
#. Turn on :doc:`developer mode </applications/general/developer_mode>`.
|
#. Click on *Outgoing Mail Servers*
|
||||||
#. Go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`.
|
|
||||||
#. Add one system parameter from the following list:
|
|
||||||
|
|
||||||
* To use the same "From" address for *all* outgoing messages, use the key `mail.force.smtp.from`
|
#. Create a new one.
|
||||||
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
|
#. Fill its *From Filter*.
|
||||||
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`
|
.. 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:
|
.. _email_communication/inbound_messages:
|
||||||
|
|
||||||
Manage inbound messages
|
How to manage inbound messages
|
||||||
=======================
|
==============================
|
||||||
|
|
||||||
Odoo relies on generic email aliases to fetch incoming 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
|
* **Reply messages** of messages sent from Odoo are routed to their original
|
||||||
to the inbox of all its followers) by the catchall alias (**catchall@**).
|
discussion thread (and to the inbox of all its followers) by the
|
||||||
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo. This is especially
|
catchall alias (**catchall@**).
|
||||||
used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__ to opt-out invalid
|
|
||||||
recipients.
|
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo.
|
||||||
* **Original messages**: Several business objects have their own alias to create new records in
|
This is especially used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__
|
||||||
Odoo from incoming emails:
|
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>`__),
|
* 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>`__),
|
* 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>`__),
|
* 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>`__),
|
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page/recruitment>`__),
|
||||||
|
|
||||||
* etc.
|
* etc.
|
||||||
|
|
||||||
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
|
Depending on your mail server, there might be several methods to fetch emails.
|
||||||
recommended method is to manage one email address per Odoo alias in the mail server.
|
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.).
|
* Create the corresponding email addresses in your mail server
|
||||||
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
|
(catchall@, bounce@, sales@, etc.).
|
||||||
Discuss`.
|
* 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
|
.. image:: email_servers/alias-domain.png
|
||||||
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
|
|
||||||
:align: center
|
: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*.
|
||||||
|
|
||||||
|
.. 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*.
|
||||||
|
|
||||||
.. 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`.
|
|
||||||
|
|
||||||
Set up different dedicated servers for transactional and mass mails
|
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
|
Odoo is subject to a :ref:`daily email limit <email_communication/daily_limit_mail>` to prevent abuse.
|
||||||
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or
|
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
|
||||||
Sendgrid for mass mailings.
|
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::
|
.. note::
|
||||||
A default outgoing email server is already configured. Do not create an alternative one unless a
|
A default outgoing email server is already configured. You should not create an alternative one
|
||||||
specific external outgoing email server is needed for technical reasons.
|
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
|
To do this, you should first activate the :ref:`developer mode <developer-mode>` and then go to
|
||||||
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two email MTA
|
:menuselection:`Settings --> Technical --> Outgoing` e-mail servers. There you have to create two
|
||||||
server settings; one for the transactional emails and one for the mass mailing server. Make sure
|
e-mail MTA server settings. One for transactional e-mails and one for mass mail servers. Be sure to
|
||||||
to give priority to the transactional server over the mass mailing server by providing a lower
|
mark the priority of transactional e-mail servers as low as the mass email servers.
|
||||||
priority number for the transactional MTA server.
|
|
||||||
|
|
||||||
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
|
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
|
server here selected for mass mails.
|
||||||
(SPF) records must be set to include both transactional and mass mail servers.
|
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::
|
.. seealso::
|
||||||
- :doc:`Multi-company Guidelines </developer/howtos/company>`
|
- :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.
|
Odoo allows you to use one bill of materials for multiple variants of
|
||||||
Having a consolidated BoM for a product with variants saves time by preventing the need to manage
|
the same product. To activate variants, simply go to :menuselection:`Configuration --> Settings
|
||||||
multiple BoMs.
|
--> Variants`.
|
||||||
|
|
||||||
Activate product variants
|
.. image:: product_variants/bom-variants1.png
|
||||||
=========================
|
:align: center
|
||||||
|
|
||||||
To activate variants, simply navigate to :menuselection:`Inventory --> Configuration --> Settings
|
You will then be able to specify which BOM component lines are to be used in
|
||||||
--> Products`, and then enable the :guilabel:`Variants` option. After that, click :guilabel:`Save`
|
the manufacture of each product variant. You may specify multiple
|
||||||
to apply the setting. For more information on configuring product variants, refer to :doc:`this
|
variants for each line. If no variant is specified on a component line,
|
||||||
page <../../../sales/sales/products_prices/products/variants>`.
|
then this component will be used in the BOM of all variants.
|
||||||
|
|
||||||
.. image:: product_variants/inventory-variants-settings.png
|
When defining variant BoMs on a line-item-basis, the **Product
|
||||||
:align: center
|
Variant** field in the main section of the BoM should be left blank as shown
|
||||||
:alt: Selecting "Variants" from Inventory app settings.
|
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 -->
|
.. image:: product_variants/kit-bom1.png
|
||||||
Products --> Bills of Materials`. Then, click :guilabel:`Edit`. The :guilabel:`Apply on Variants`
|
:align: center
|
||||||
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/variants-kebab-menu.png
|
Note that the same principle applies for the configuration
|
||||||
:align: center
|
of operations.
|
||||||
:alt: "Apply on Variants" option on the additional options menu.
|
|
||||||
|
|
||||||
Each component can be assigned to multiple variants. Components with no variants specified are used
|
.. image:: product_variants/kit-bom2.png
|
||||||
in every variant of the product. The same principle applies when configuring operations and
|
:align: center
|
||||||
by-products.
|
|
||||||
|
|
||||||
When defining variant BoMs by component assignment, the :guilabel:`Product Variant` field in the
|
And for the production of by-products.
|
||||||
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.
|
|
||||||
|
|
||||||
.. image:: product_variants/apply-on-variants-bom.png
|
.. image:: product_variants/kit-bom3.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Applying components to multiple variants.
|
|
||||||