Compare commits
1 Commits
master-15.
...
master-rep
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
dce6733888 | [IMP] account_reports: create abstract model for custom reports |
|
|
@@ -71,7 +71,7 @@ The neutralization includes:
|
|||
* Disabling outgoing emails by intercepting them with a mailcatcher. An
|
||||
:ref:`interface to view <odoosh-gettingstarted-branches-tabs-mails>` the emails sent by your
|
||||
database is provided. That way, you do not have to worry about sending test emails to your contacts.
|
||||
* Setting payment providers and shipping providers in test mode.
|
||||
* Setting payment acquirers and shipping providers in test mode.
|
||||
* Disabling IAP services
|
||||
|
||||
The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected
|
||||
|
|
|
|||
|
|
@@ -11,4 +11,4 @@ Finance
|
|||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/payment_providers
|
||||
finance/payment_acquirers
|
||||
|
|
@@ -232,8 +232,9 @@ directly to its services and get the currency rate either automatically or manua
|
|||
:align: center
|
||||
:alt: Bank of Peru is displayed in Multicurrency Service option
|
||||
|
||||
Please refer to the next section in our documentation for more information about
|
||||
:doc:`multicurrencies <../../others/multi_currency>`.
|
||||
Please refer to the next section in our documentation for more information about :doc:`multicurrency
|
||||
<../../others/multicurrencies/how_it_works>`.
|
||||
|
||||
|
||||
Configure Master data
|
||||
---------------------
|
||||
|
|
|
|||
|
|
@@ -176,7 +176,7 @@ Payment Method
|
|||
This menu helps you configure the payment methods with which your customers can pay you.
|
||||
|
||||
.. important::
|
||||
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
|
||||
Configuring a *Payment Acquirer* with this tool also activates the *Invoice Online Payment*
|
||||
option automatically. With this, users can directly pay online, from their Customer Portal.
|
||||
|
||||
.. _invoicing-setup-sample:
|
||||
|
|
|
|||
|
|
@@ -7,7 +7,7 @@ Others
|
|||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
others/multi_currency
|
||||
others/analytic
|
||||
others/adviser
|
||||
others/multicurrencies
|
||||
others/inventory
|
||||
|
|
@@ -1,167 +0,0 @@
|
|||
=====================
|
||||
Multi-currency system
|
||||
=====================
|
||||
|
||||
Odoo allows you to issue invoices, receive bills, and record transactions in currencies other than
|
||||
the main currency configured for your company. You can also set up bank accounts in other currencies
|
||||
and run reports on your foreign currency activities.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank/setup/foreign_currency`
|
||||
|
||||
.. _multi-currency/config:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. _multi-currency/config-main-currency:
|
||||
|
||||
Main currency
|
||||
-------------
|
||||
|
||||
The **main currency** is defined by default according to the company's country. You can change it by
|
||||
going to :menuselection:`Accounting --> Configuration --> Settings --> Currencies` and changing the
|
||||
currency in the :guilabel:`Main Currency` setting.
|
||||
|
||||
.. _multi-currency/config-enable:
|
||||
|
||||
Enable foreign currencies
|
||||
-------------------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Currencies`, and enable the currencies you
|
||||
wish to use by toggling the :guilabel:`Active` button.
|
||||
|
||||
.. image:: multi_currency/enable-foreign-currencies.png
|
||||
:align: center
|
||||
:alt: Enable the currencies you wish to use.
|
||||
|
||||
.. _multi-currency/config-rates:
|
||||
|
||||
Currency rates
|
||||
--------------
|
||||
|
||||
Manual update
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
To manually create and set a currency rate, go to :menuselection:`Accounting --> Configuration -->
|
||||
Currencies`, click on the currency you wish to change the rate of, and under the :guilabel:`Rates`
|
||||
tab, click :guilabel:`Add a line` to create a new rate.
|
||||
|
||||
.. image:: multi_currency/manual-rate-update.png
|
||||
:align: center
|
||||
:alt: Create or modify the currency rate.
|
||||
|
||||
Automatic update
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
When you activate a second currency for the first time, :guilabel:`Automatic Currency Rates` appears
|
||||
under :menuselection:`Accounting Dashboard --> Configuration --> Settings --> Currencies`. By
|
||||
default, you have to click on the **Update now** button (:guilabel:`🗘`) to update the rates.
|
||||
|
||||
Odoo can update the rates at regular intervals. To do so, change the :guilabel:`Interval` from
|
||||
:guilabel:`Manually` to :guilabel:`Daily`, :guilabel:`Weekly`, or :guilabel:`Monthly`. You can also
|
||||
select the web service from which you want to retrieve the latest currency rates by clicking on the
|
||||
:guilabel:`Service` field.
|
||||
|
||||
.. _multi-currency/config-exch-diff:
|
||||
|
||||
Exchange difference entries
|
||||
---------------------------
|
||||
|
||||
Odoo automatically records exchange differences entries on dedicated accounts, in a dedicated
|
||||
journal.
|
||||
|
||||
You can define which journal and accounts to use to **post exchange difference entries** by
|
||||
going to :menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and editing
|
||||
the :guilabel:`Journal`, :guilabel:`Gain Account`, and :guilabel:`Loss Account`.
|
||||
|
||||
.. example::
|
||||
If you receive a payment for a customer invoice one month after it was issued, the exchange rate
|
||||
has likely changed since. Therefore, this fluctuation implies some profit or loss due to the
|
||||
exchange difference, which Odoo automatically records in the default **Exchange Difference**
|
||||
journal.
|
||||
|
||||
.. _multi-currency/config-coa:
|
||||
|
||||
Chart of accounts
|
||||
-----------------
|
||||
|
||||
Each account can have a set currency. By doing so, all moves relevant to the account are forced to
|
||||
have that account's currency.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Charts of Accounts` and select a
|
||||
currency in the field :guilabel:`Account Currency`. If left empty, all active currencies are handled
|
||||
instead of just one.
|
||||
|
||||
.. _multi-currency/config-journals:
|
||||
|
||||
Journals
|
||||
--------
|
||||
|
||||
If a currency is set on a **journal**, that journal only handles transactions in that currency.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open the journal you
|
||||
want to edit, and select a currency in the field :guilabel:`Currency`. If left empty, all active
|
||||
currencies are handled instead of just one.
|
||||
|
||||
.. image:: multi_currency/journal-currency.png
|
||||
:align: center
|
||||
:alt: Select the currency for the journal to handle.
|
||||
|
||||
.. _multi-currency/mca:
|
||||
|
||||
Multi-currency accounting
|
||||
=========================
|
||||
|
||||
.. _multi-currency/mca-documents:
|
||||
|
||||
Invoices, bills, and other documents
|
||||
------------------------------------
|
||||
|
||||
For all documents, you can select the currency and journal to use for the transaction.
|
||||
|
||||
.. image:: multi_currency/currency-field.png
|
||||
:align: center
|
||||
:alt: Select the currency and journal to use.
|
||||
|
||||
.. _multi-currency/mca-payment:
|
||||
|
||||
Payment registration
|
||||
--------------------
|
||||
|
||||
To register a payment in a currency other than your company's main currency, click on the
|
||||
:guilabel:`Register Payment` payment button of your document and, in the pop-up window, select a
|
||||
**currency** in the :guilabel:`Amount` field.
|
||||
|
||||
.. image:: multi_currency/register-payment.png
|
||||
:align: center
|
||||
:alt: Select the currency and journal to use before registering the payment.
|
||||
|
||||
.. _multi-currency/mca-statements:
|
||||
|
||||
Bank statements
|
||||
---------------
|
||||
|
||||
When creating or importing bank statements, the amount is in the company's main currency. To see
|
||||
additional fields related to foreign currencies, click on the **columns dropdown button**
|
||||
(:guilabel:`⋮`) next to :guilabel:`Amount`, and check :guilabel:`Amount Currency` and
|
||||
:guilabel:`Foreign Currency`.
|
||||
|
||||
.. image:: multi_currency/foreign-fields.png
|
||||
:align: center
|
||||
:alt: The extra fields related to foreign currencies.
|
||||
|
||||
When reconciling, Odoo displays both the foreign currency amount and the equivalent amount in your
|
||||
company's main currency.
|
||||
|
||||
.. _multi-currency/mca-exch-entries:
|
||||
|
||||
Exchange rate journal entries
|
||||
-----------------------------
|
||||
|
||||
To see **exchange difference journal entries**, go to :menuselection:`Accounting Dashboard -->
|
||||
Accounting --> Journals: Miscellaneous`.
|
||||
|
||||
.. image:: multi_currency/exchange-journal-currency.png
|
||||
:align: center
|
||||
:alt: Exchange rate journal entry.
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
|
@@ -0,0 +1,12 @@
|
|||
:nosearch:
|
||||
|
||||
=============
|
||||
Multicurrency
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
multicurrencies/how_it_works
|
||||
multicurrencies/invoices_payments
|
||||
multicurrencies/exchange
|
||||
|
|
@@ -0,0 +1,112 @@
|
|||
=================================
|
||||
Record exchange rates at payments
|
||||
=================================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Any company doing international trade faces the case where the payments
|
||||
are in a different currency.
|
||||
|
||||
After receiving their payments, you have the option to convert the
|
||||
amount into your company currency. Multi currency payment implies rates
|
||||
fluctuations. The rate differences are automatically recorded by Odoo.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Enable multi-currencies
|
||||
-----------------------
|
||||
|
||||
In the accounting module, Go to :menuselection:`Configuration --> Settings`
|
||||
and flag **Allow multi currencies**, then click on **apply**.
|
||||
|
||||
.. image:: exchange/exchange_rate03.png
|
||||
:align: center
|
||||
|
||||
Configure the currency rates in :menuselection:`Configuration --> Currencies`.
|
||||
Write down the rate and make sure the currency is active.
|
||||
|
||||
.. image:: exchange/exchange_rate02.png
|
||||
:align: center
|
||||
|
||||
In this document, the base currency is **Euro** and we will record payments
|
||||
in **Dollars**.
|
||||
|
||||
.. image:: exchange/exchange_rate08.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
You can automatically fetch the currency rates from the **European
|
||||
Central Bank** or from **Yahoo**. Please read the document :
|
||||
:doc:`how_it_works`.
|
||||
|
||||
Configure your journal
|
||||
----------------------
|
||||
|
||||
In order to register payments in other currencies, you have to **remove
|
||||
the currency constraint** on the journal. Go to the accounting
|
||||
application, Click on **More** on the journal and **Settings**.
|
||||
|
||||
.. image:: exchange/exchange_rate06.png
|
||||
:align: center
|
||||
|
||||
Check if the **Currency** field is empty or in the foreign currency in which
|
||||
you will register the payments. If a currency is filled in, it means
|
||||
that you can register payments only in this currency.
|
||||
|
||||
.. image:: exchange/exchange_rate10.png
|
||||
:align: center
|
||||
|
||||
Record a payment in a different currency
|
||||
========================================
|
||||
|
||||
In the **Accounting** application, go to :menuselection:`Sales --> Payments`.
|
||||
Register the payment and indicate that it was done in the foreign currency. Then
|
||||
click on **confirm**.
|
||||
|
||||
.. image:: exchange/exchange_rate05.png
|
||||
:align: center
|
||||
|
||||
The journal entry has been posted but not allocated.
|
||||
|
||||
Go back to your invoice (:menuselection:`Sales --> Customer Invoices`) and click on
|
||||
**Add** to allocate the payment.
|
||||
|
||||
.. image:: exchange/exchange_rate04.png
|
||||
:align: center
|
||||
|
||||
Record a bank statement in a different currency
|
||||
===============================================
|
||||
|
||||
Create or import the bank statement of your payment. The **Amount** is in
|
||||
the company currency. There are two complementary fields, the **Amount currency**,
|
||||
which is the amount that was actually paid and the **Currency** in which it was paid.
|
||||
|
||||
.. image:: exchange/exchange_rate07.png
|
||||
:align: center
|
||||
|
||||
When reconciling it, Odoo will directly match the payment with the right
|
||||
**Invoice**. You will get the invoice price in the invoice currency and the
|
||||
amount in your company currency.
|
||||
|
||||
.. image:: exchange/exchange_rate09.png
|
||||
:align: center
|
||||
|
||||
Check the exchange rate differences
|
||||
===================================
|
||||
|
||||
Go to :menuselection:`Adviser --> Journal Entries` and look for the **Exchange difference**
|
||||
journal entries. All the exchange rates differences are recorded in it.
|
||||
|
||||
.. image:: exchange/exchange_rate01.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
The Exchange difference journal can be changed in your accounting settings.
|
||||
|
||||
.. include:: exchange/full_reconcile_warning.rst
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../../bank/reconciliation/reconciliation_models`
|
||||
* :doc:`../../bank/reconciliation/use_cases`
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
|
@@ -0,0 +1,7 @@
|
|||
.. warning::
|
||||
In order for an exchange difference entry to be created automatically, the
|
||||
corresponding invoices and payments need to be fully reconciled. This means
|
||||
the invoices are fully paid and the payments are fully spent on invoices.
|
||||
If you partially pay 3 invoices from 2 payments, and the last invoice still
|
||||
has an amount due, there will be no exchange difference entry for any of
|
||||
them until that final amount is paid.
|
||||
|
|
@@ -0,0 +1,171 @@
|
|||
============================
|
||||
Odoo's multi-currency system
|
||||
============================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Choosing to use the multi-currency option in Odoo will allow you to send
|
||||
sales invoices, quotes and purchase orders or receive bills and payments
|
||||
in currencies other than your own. With multi-currency, you can also set
|
||||
up bank accounts in other currencies and run reports on your foreign
|
||||
currency activities.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Turn on multi-currency
|
||||
----------------------
|
||||
|
||||
In the accounting module, Go to :menuselection:`Configuration --> Settings` and flag
|
||||
**Allow multi currencies**, then click on **Apply**.
|
||||
|
||||
.. image:: how_it_works/works01.png
|
||||
:align: center
|
||||
|
||||
Exchange Rate Journal
|
||||
---------------------
|
||||
|
||||
The **Rate Difference Journal** records the differences between the payment
|
||||
registration and the expected amount. For example, if a payment is paid
|
||||
1 month after the invoice was issued, the exchange rate has probably
|
||||
changed. The fluctuation implies some loss or profit that are recorded
|
||||
by Odoo.
|
||||
|
||||
You can change it in the settings:
|
||||
|
||||
.. image:: how_it_works/works02.png
|
||||
:align: center
|
||||
|
||||
View or edit rate being used
|
||||
----------------------------
|
||||
|
||||
You can manually configure the currency rates in :menuselection:`Configuration -->
|
||||
Currencies`. Open the currencies you want to use in Odoo and edit it.
|
||||
Make sure the currency is active.
|
||||
|
||||
.. image:: how_it_works/works03.png
|
||||
:align: center
|
||||
|
||||
Click on **View Rates** to edit it and to see the history :
|
||||
|
||||
.. image:: how_it_works/works04.png
|
||||
:align: center
|
||||
|
||||
Click on **Create** to add the rate. Fill in the date and the rate.
|
||||
Click on **Save** when you are done.
|
||||
|
||||
.. image:: how_it_works/works05.png
|
||||
:align: center
|
||||
|
||||
Live Currency Rate
|
||||
------------------
|
||||
|
||||
By default, the currencies need to be updated manually. But you can
|
||||
synchronize it with `Yahoo <https://finance.yahoo.com/currency-converter/>`__ or
|
||||
the `European Central Bank <http://www.ecb.europa.eu>`__. In
|
||||
:menuselection:`Configuration --> Settings`, go to the **Live Currency Rate** section.
|
||||
|
||||
Choose the interval : Manually, Daily, Weekly or Monthly. You can always
|
||||
force the update by clicking on **Update Now**. Select the provider, and you
|
||||
are set !
|
||||
|
||||
.. image:: how_it_works/works06.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
Only the **active** currencies are updated
|
||||
|
||||
Configure your charts of account
|
||||
--------------------------------
|
||||
|
||||
In the accounting application, go to :menuselection:`Adviser --> Charts of Accounts`.
|
||||
On each account, you can set a currency. It will force all moves for
|
||||
this account to have the account currency.
|
||||
|
||||
If you leave it empty, it means that it can handle all currencies that
|
||||
are Active.
|
||||
|
||||
.. image:: how_it_works/works07.png
|
||||
:align: center
|
||||
|
||||
Configure your journals
|
||||
-----------------------
|
||||
|
||||
In order to register payments in other currencies, you have to remove
|
||||
the currency constraint on the journal. Go to the accounting
|
||||
application, Click on **More** on the journal and **Settings**.
|
||||
|
||||
.. image:: how_it_works/works08.png
|
||||
:align: center
|
||||
|
||||
Check if the currency field is empty or in the foreign currency in which
|
||||
you will register the payments. If a currency is filled in, it means
|
||||
that you can register payments only in this currency.
|
||||
|
||||
.. image:: how_it_works/works09.png
|
||||
:align: center
|
||||
|
||||
How is Odoo's multi-currency working?
|
||||
=====================================
|
||||
|
||||
Now that you are working in a multi-currency environment, all
|
||||
accountable items will be linked to a currency, domestic or foreign.
|
||||
|
||||
Sales Orders and Invoices
|
||||
-------------------------
|
||||
|
||||
You are now able to set a different currency than the company one on
|
||||
your sale orders and on your invoices. The currency is set for the whole
|
||||
document.
|
||||
|
||||
.. image:: how_it_works/works10.png
|
||||
:align: center
|
||||
|
||||
Purchases orders and Vendor Bills
|
||||
---------------------------------
|
||||
|
||||
You are now able to set a different currency than the company one on
|
||||
your purchase orders and on your vendor bills. The currency is set for
|
||||
the whole document.
|
||||
|
||||
.. image:: how_it_works/works11.png
|
||||
:align: center
|
||||
|
||||
Payment Registrations
|
||||
---------------------
|
||||
|
||||
In the accounting application, go to :menuselection:`Sales --> Payments`. Register the payment and
|
||||
set the currency.
|
||||
|
||||
.. image:: how_it_works/works12.png
|
||||
:align: center
|
||||
|
||||
Bank Statements
|
||||
---------------
|
||||
|
||||
When creating or importing bank statements, the amount is in the company
|
||||
currency. But there are now two complementary fields, the amount that
|
||||
was actually paid and the currency in which it was paid.
|
||||
|
||||
.. image:: how_it_works/works13.png
|
||||
:align: center
|
||||
|
||||
When reconciling it, Odoo will directly match the payment with the right
|
||||
Invoice. You will get the invoice price in the invoice currency and the
|
||||
amount in your company currency.
|
||||
|
||||
Exchange Rate Journal
|
||||
---------------------
|
||||
|
||||
Go to :menuselection:`Adviser --> Journal Entries` and look for the Exchange difference
|
||||
journal entries. All the exchange rates differences are recorded in it.
|
||||
|
||||
.. image:: how_it_works/works14.png
|
||||
:align: center
|
||||
|
||||
.. include:: exchange/full_reconcile_warning.rst
|
||||
|
||||
.. seealso::
|
||||
* :doc:`invoices_payments`
|
||||
* :doc:`exchange`
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
|
@@ -0,0 +1,121 @@
|
|||
==================================================
|
||||
Manage invoices and payment in multiple currencies
|
||||
==================================================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Odoo provides multi-currency support with automatic currency gross or
|
||||
loss entry adjustment. There are a few things Odoo has been to ease the
|
||||
user's life.
|
||||
|
||||
All the account transactions will be done using the company currency.
|
||||
However you can see two extra fields with the journal entry where
|
||||
secondary currency and amount will visible. You can create
|
||||
multi-currency journals of force a specific currency.
|
||||
|
||||
When creating an invoice, the currency can be changed very easily;
|
||||
however Odoo takes the company currency as a default assignment. It will
|
||||
convert all the amounts automatically using that currency.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Enable Multi-Currency
|
||||
---------------------
|
||||
|
||||
For information about enabling Multi-Currency, please read the document:
|
||||
:doc:`how_it_works`
|
||||
|
||||
Configure your journal
|
||||
----------------------
|
||||
|
||||
In order to register payments in other currencies, you have to remove
|
||||
the currency constraint on the journal. Go to the accounting
|
||||
application, on the journal, click on :menuselection:`More --> Settings`.
|
||||
|
||||
.. image:: invoices_payments/invoice01.png
|
||||
:align: center
|
||||
|
||||
Check if the currency field is empty or in the foreign currency in which
|
||||
you will register the payments. If a currency is filled in, it means
|
||||
that you can register payments only in this currency.
|
||||
|
||||
.. image:: invoices_payments/invoice02.png
|
||||
:align: center
|
||||
|
||||
Multi-currency invoices & Vendor Bills
|
||||
======================================
|
||||
|
||||
Now that you are working in a multi-currency environment, all
|
||||
accountable items will be linked to a currency, domestic or foreign.
|
||||
|
||||
Invoices
|
||||
--------
|
||||
|
||||
You are now able to set a different currency than the company one on
|
||||
your sale orders and on your invoices. The currency is set for the whole
|
||||
document.
|
||||
|
||||
.. image:: invoices_payments/invoice03.png
|
||||
:align: center
|
||||
|
||||
Vendor Bills
|
||||
------------
|
||||
|
||||
You are now able to set a different currency than the company one on
|
||||
your purchase orders and on your vendor bills. The currency is set for
|
||||
the whole document.
|
||||
|
||||
.. image:: invoices_payments/invoice04.png
|
||||
:align: center
|
||||
|
||||
Multi-currency Payments
|
||||
=======================
|
||||
|
||||
In the accounting application, go to :menuselection:`Sales --> Payments`. Register the
|
||||
payment and indicate that it was done in the foreign currency. Then
|
||||
click on **Confirm**.
|
||||
|
||||
.. image:: invoices_payments/invoice05.png
|
||||
:align: center
|
||||
|
||||
The journal entry has been posted but not allocated.
|
||||
|
||||
Go back to your invoice (:menuselection:`Sales --> Customer Invoices`) and click on
|
||||
**Add** to allocate the payment.
|
||||
|
||||
.. image:: invoices_payments/invoice06.png
|
||||
:align: center
|
||||
|
||||
Multi- Currency Bank Statements
|
||||
===============================
|
||||
|
||||
When creating or importing bank statements, the amount is in the company
|
||||
currency. But there are now two complementary fields, the amount that
|
||||
was actually paid and the currency in which it was paid.
|
||||
|
||||
.. image:: invoices_payments/invoice07.png
|
||||
:align: center
|
||||
|
||||
When reconciling it, Odoo will directly match the payment with the right
|
||||
invoice. You will get the invoice price in the invoice currency and the
|
||||
amount in your company currency.
|
||||
|
||||
.. image:: invoices_payments/invoice08.png
|
||||
:align: center
|
||||
|
||||
Exchange Rate Journal
|
||||
=====================
|
||||
|
||||
Go to :menuselection:`Adviser --> Journal Entries` and look for the **Exchange
|
||||
Difference** journal entries. All the exchange rates differences are recorded in it.
|
||||
|
||||
.. image:: invoices_payments/invoice09.png
|
||||
:align: center
|
||||
|
||||
.. include:: exchange/full_reconcile_warning.rst
|
||||
|
||||
.. seealso::
|
||||
* :doc:`how_it_works`
|
||||
* :doc:`exchange`
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
|
@@ -56,10 +56,10 @@ SEPA Direct Debit as a Payment Method
|
|||
-------------------------------------
|
||||
|
||||
SEPA Direct Debit can be used as a payment method both on your **eCommerce** or on the **Customer
|
||||
Portal** by activating SDD as a **Payment Provider**. With this method, your customers can create
|
||||
Portal** by activating SDD as a **Payment Acquirer**. With this method, your customers can create
|
||||
and sign their mandates themselves.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, click on *SEPA
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Payment Acquirers`, click on *SEPA
|
||||
Direct Debit*, and set it up according to your needs.
|
||||
|
||||
.. important::
|
||||
|
|
@@ -70,7 +70,7 @@ Customers using SDD as payment method get prompted to add their IBAN, email addr
|
|||
their SEPA Direct Debit mandate.
|
||||
|
||||
.. todo::
|
||||
Add link to future **Payment Provider** documentation.
|
||||
Add link to future **Payment Acquirer** documentation.
|
||||
|
||||
Close or revoke a mandate
|
||||
-------------------------
|
||||
|
|
|
|||
|
|
@@ -7,18 +7,18 @@ To make it more convenient for your customers to pay the invoices you issue, you
|
|||
allows your customers to see their invoices online and pay directly with their favorite payment
|
||||
method, making the payment process much easier.
|
||||
|
||||
.. image:: online_payment/online-payment-providers.png
|
||||
.. image:: online_payment/online-payment-acquirers.png
|
||||
:align: center
|
||||
:alt: Payment provider choice after having clicked on "Pay Now"
|
||||
:alt: Payment acquirer choice after having clicked on "Pay Now"
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Make sure your :ref:`Payment Providers are correctly configured <payment_providers/configuration>`.
|
||||
Make sure your :ref:`Payment Acquirers are correctly configured <payment_acquirers/configuration>`.
|
||||
|
||||
.. note::
|
||||
By default, ":doc:`Wire Transfer </applications/finance/payment_providers/wire_transfer>`" is the only
|
||||
Payment Provider activated, but you still have to fill out the payment details.
|
||||
By default, ":doc:`Wire Transfer </applications/finance/payment_acquirers/wire_transfer>`" is the only
|
||||
Payment Acquirer activated, but you still have to fill out the payment details.
|
||||
|
||||
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
||||
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
||||
|
|
@@ -34,7 +34,7 @@ Portal**.
|
|||
:align: center
|
||||
:alt: Email with a link to view the invoice online on the Customer Portal.
|
||||
|
||||
They can choose which Payment Provider to use by clicking on *Pay Now*.
|
||||
They can choose which Payment Acquirer to use by clicking on *Pay Now*.
|
||||
|
||||
.. image:: online_payment/online-payment-pay-now.png
|
||||
:align: center
|
||||
|
|
@@ -42,4 +42,4 @@ They can choose which Payment Provider to use by clicking on *Pay Now*.
|
|||
|
||||
.. seealso::
|
||||
|
||||
- :doc:`/applications/finance/payment_providers`
|
||||
- :doc:`/applications/finance/payment_acquirers`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
|
@@ -8,5 +8,4 @@ Overview
|
|||
:titlesonly:
|
||||
|
||||
overview/main_reports
|
||||
overview/customize
|
||||
overview/data_inalterability
|
||||
overview/customize
|
||||
|
|
@@ -1,63 +0,0 @@
|
|||
================================
|
||||
Data inalterability check report
|
||||
================================
|
||||
|
||||
Tax authorities in some countries require companies to **prove their posted accounting entries are
|
||||
inalterable**, meaning that once an entry has been posted, it can no longer be changed.
|
||||
|
||||
To do so, Odoo can use the **SHA-256 algorithm** to create a unique fingerprint for each posted
|
||||
entry. This fingerprint is called a hash. The hash is generated by taking an entry's essential data
|
||||
(the values of the `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
|
||||
`partner_id` fields), concatenating it, and inputting it to the SHA-256 hash function, which then
|
||||
outputs a fixed size (256-bit) string of characters. The hash function is deterministic (:dfn:`the
|
||||
same input always creates the same output`): any minor modification to the original data would
|
||||
completely change the resulting hash. Consequently, the SHA-256 algorithm is often used, among
|
||||
others, for data integrity verification purposes.
|
||||
|
||||
In addition, the previous entry's hash is always added to the next entry to form a **hash chain**.
|
||||
This is used to ensure a new entry is not added afterward between two posted entries, as doing so
|
||||
would break the hash chain.
|
||||
|
||||
.. note::
|
||||
Hashes generated by the SHA-256 algorithm are theoretically not unique, as there is a finite
|
||||
number of possible values. However, this number is exceptionally high: 2²⁵⁶, which is a lot
|
||||
bigger than the number of atoms in the known universe. This is why hashes are considered unique
|
||||
in practice.
|
||||
|
||||
.. _data-inalterability/lock:
|
||||
|
||||
Lock posted entries with hash
|
||||
=============================
|
||||
|
||||
To start using the hashing function, go to :menuselection:`Accounting --> Configuration > Journals`.
|
||||
Open the journal for which you want to activate the feature, go to the :guilabel:`Advanced Settings`
|
||||
tab, and enable :guilabel:`Lock Posted Entries with Hash`.
|
||||
|
||||
.. warning::
|
||||
Once you post an entry on a locked journal, you cannot disable the feature anymore, nor edit any
|
||||
posted entry.
|
||||
|
||||
.. _data-inalterability/report:
|
||||
|
||||
Report download
|
||||
===============
|
||||
|
||||
To download the data inalterability check report, go to :menuselection:`Accounting --> Configuration
|
||||
--> Settings --> Reporting` and click on :guilabel:`Download the Data Inalterability Check Report`.
|
||||
|
||||
The report's first section is an overview of all your journals and their configuration. Under the
|
||||
inalterability check column, you can see whether or not a journal's posted entries are locked with
|
||||
a hash (V) or not (X). The coverage column tells you when a journal's posted entries started being
|
||||
locked.
|
||||
|
||||
.. image:: data_inalterability/journal-overview.png
|
||||
:align: center
|
||||
:alt: Configuration report for two journals
|
||||
|
||||
The second section gives you the result of the data consistency check for each hashed journal. You
|
||||
can view the first hashed entry and its corresponding hash and the last hashed entry and its
|
||||
corresponding hash.
|
||||
|
||||
.. image:: data_inalterability/data-consistency-check.png
|
||||
:align: center
|
||||
:alt: Data consistency check report for a journal
|
||||
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
|
@@ -1,29 +1,29 @@
|
|||
:show-content:
|
||||
|
||||
=================================================
|
||||
Payment providers (credit cards, online payments)
|
||||
Payment acquirers (credit cards, online payments)
|
||||
=================================================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
payment_providers/wire_transfer
|
||||
payment_providers/adyen
|
||||
payment_providers/alipay
|
||||
payment_providers/amazon_payment_services
|
||||
payment_providers/asiapay
|
||||
payment_providers/authorize
|
||||
payment_providers/buckaroo
|
||||
payment_providers/flutterwave
|
||||
payment_providers/mercado_pago
|
||||
payment_providers/mollie
|
||||
payment_providers/ogone
|
||||
payment_providers/paypal
|
||||
payment_providers/razorpay
|
||||
payment_providers/sips
|
||||
payment_providers/stripe
|
||||
payment_acquirers/wire_transfer
|
||||
payment_acquirers/adyen
|
||||
payment_acquirers/alipay
|
||||
payment_acquirers/amazon_payment_services
|
||||
payment_acquirers/asiapay
|
||||
payment_acquirers/authorize
|
||||
payment_acquirers/buckaroo
|
||||
payment_acquirers/flutterwave
|
||||
payment_acquirers/mercado_pago
|
||||
payment_acquirers/mollie
|
||||
payment_acquirers/ogone
|
||||
payment_acquirers/paypal
|
||||
payment_acquirers/razorpay
|
||||
payment_acquirers/sips
|
||||
payment_acquirers/stripe
|
||||
|
||||
Odoo embeds several **payment providers** that allow your customers to pay on their *Customer
|
||||
Odoo embeds several **payment acquirers** that allow your customers to pay on their *Customer
|
||||
Portals* or your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with
|
||||
recurring payments with their favorite payment methods such as **Credit Cards**.
|
||||
|
||||
|
|
@@ -31,30 +31,30 @@ Offering several payment methods increases the chances of getting paid in time,
|
|||
as you make it more convenient for your customers to pay with the payment method they prefer and
|
||||
trust.
|
||||
|
||||
.. image:: payment_providers/online-payment.png
|
||||
.. image:: payment_acquirers/online-payment.png
|
||||
:align: center
|
||||
:alt: Pay online in the customer portal and select which payment provider to use.
|
||||
:alt: Pay online in the customer portal and select which payment acquirer to use.
|
||||
|
||||
.. note::
|
||||
Odoo apps delegate the handling of sensitive information to the certified payment provider so
|
||||
Odoo apps delegate the handling of sensitive information to the certified payment acquirer so
|
||||
that you don't ever have to worry about PCI compliance.
|
||||
|
||||
This means that no sensitive information (such as credit card numbers) is stored on Odoo servers
|
||||
or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number to the data
|
||||
stored safely in the payment providers' systems.
|
||||
stored safely in the payment acquirers' systems.
|
||||
|
||||
.. _payment_providers/supported_providers:
|
||||
.. _payment_acquirers/supported_acquirers:
|
||||
|
||||
Supported payment providers
|
||||
Supported payment acquirers
|
||||
===========================
|
||||
|
||||
From an accounting perspective, we can distinguish two types of payment providers: the payment
|
||||
providers that are third-party services and require you to follow another accounting workflow, and
|
||||
From an accounting perspective, we can distinguish two types of payment acquirers: the payment
|
||||
acquirers that are third-party services and require you to follow another accounting workflow, and
|
||||
the payments that go directly on the bank account and follow the usual reconciliation workflow.
|
||||
|
||||
.. _payment_providers/online_providers:
|
||||
.. _payment_acquirers/online_acquirers:
|
||||
|
||||
Online payment providers
|
||||
Online payment acquirers
|
||||
------------------------
|
||||
|
||||
.. list-table::
|
||||
|
|
@@ -64,78 +64,78 @@ Online payment providers
|
|||
|
||||
* -
|
||||
- Payment flow
|
||||
- :ref:`Tokenization <payment_providers/features/tokenization>`
|
||||
- :ref:`Manual capture <payment_providers/features/manual_capture>`
|
||||
- :ref:`Refunds <payment_providers/features/refund>`
|
||||
- :ref:`Express checkout <payment_providers/features/express_checkout>`
|
||||
* - :doc:`Adyen <payment_providers/adyen>`
|
||||
- :ref:`Tokenization <payment_acquirers/features/tokenization>`
|
||||
- :ref:`Manual capture <payment_acquirers/features/manual_capture>`
|
||||
- :ref:`Refunds <payment_acquirers/features/refund>`
|
||||
- :ref:`Express checkout <payment_acquirers/features/express_checkout>`
|
||||
* - :doc:`Adyen <payment_acquirers/adyen>`
|
||||
- Payment from Odoo
|
||||
- |V|
|
||||
- Full only
|
||||
- Full and partial
|
||||
-
|
||||
* - :doc:`Amazon Payment Services <payment_providers/amazon_payment_services>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Amazon Payment Services <payment_acquirers/amazon_payment_services>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`AsiaPay <payment_providers/asiapay>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`AsiaPay <payment_acquirers/asiapay>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Authorize.Net <payment_providers/authorize>`
|
||||
* - :doc:`Authorize.Net <payment_acquirers/authorize>`
|
||||
- Payment from Odoo
|
||||
- |V|
|
||||
- Full only
|
||||
- Full only
|
||||
-
|
||||
* - :doc:`Buckaroo <payment_providers/buckaroo>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Buckaroo <payment_acquirers/buckaroo>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Flutterwave <payment_providers/flutterwave>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Flutterwave <payment_acquirers/flutterwave>`
|
||||
- Payment from the acquirer website
|
||||
- |V|
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Mercado Pago <payment_providers/mercado_pago>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Mercado Pago <payment_acquirers/mercado_pago>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Mollie <payment_providers/mollie>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Mollie <payment_acquirers/mollie>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`PayPal <payment_providers/paypal>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`PayPal <payment_acquirers/paypal>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Razorpay <payment_providers/razorpay>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Razorpay <payment_acquirers/razorpay>`
|
||||
- Payment from Odoo
|
||||
-
|
||||
- Full only
|
||||
- Full and partial
|
||||
-
|
||||
* - :doc:`SIPS <payment_providers/sips>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`SIPS <payment_acquirers/sips>`
|
||||
- Payment from the acquirer website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Stripe <payment_providers/stripe>`
|
||||
- Payment from the provider website
|
||||
* - :doc:`Stripe <payment_acquirers/stripe>`
|
||||
- Payment from the acquirer website
|
||||
- |V|
|
||||
- Full only
|
||||
- Full and partial
|
||||
|
|
@@ -146,16 +146,16 @@ Online payment providers
|
|||
.. note::
|
||||
Some of these online payment providers can also be added as :doc:`bank accounts
|
||||
<../finance/accounting/bank/setup/bank_accounts>`, but this is **not** the same process as adding
|
||||
them as payment providers. Payment providers allow customers to pay online, and bank accounts are
|
||||
them as payment acquirers. Payment acquirers allow customers to pay online, and bank accounts are
|
||||
added and configured on your Accounting app to do a bank reconciliation, which is an accounting
|
||||
control process.
|
||||
|
||||
.. _payment_providers/bank_payments:
|
||||
.. _payment_acquirers/bank_payments:
|
||||
|
||||
Bank payments
|
||||
-------------
|
||||
|
||||
- | :doc:`Wire Transfer <payment_providers/wire_transfer>`
|
||||
- | :doc:`Wire Transfer <payment_acquirers/wire_transfer>`
|
||||
| When selected, Odoo displays your payment information with a payment reference. You have to
|
||||
approve the payment manually once you have received it on your bank account.
|
||||
- | SEPA Direct Debit
|
||||
|
|
@@ -163,39 +163,39 @@ Bank payments
|
|||
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
||||
more information about this payment method.
|
||||
|
||||
.. _payment_providers/features:
|
||||
.. _payment_acquirers/features:
|
||||
|
||||
Additional features
|
||||
===================
|
||||
|
||||
Some payment providers support additional features for the payment flow. Refer to the :ref:`table
|
||||
above <payment_providers/online_providers>` to check if your payment provider supports these
|
||||
Some payment acquirers support additional features for the payment flow. Refer to the :ref:`table
|
||||
above <payment_acquirers/online_acquirers>` to check if your payment acquirer supports these
|
||||
features.
|
||||
|
||||
.. _payment_providers/features/tokenization:
|
||||
.. _payment_acquirers/features/tokenization:
|
||||
|
||||
Tokenization
|
||||
------------
|
||||
|
||||
If your payment provider supports this feature, customers can choose to save their card for later. A
|
||||
If your payment acquirer supports this feature, customers can choose to save their card for later. A
|
||||
**payment token** is created in Odoo and can be used as a payment method for subsequent payments
|
||||
without having to enter the card details again. This is particularly useful for the eCommerce
|
||||
conversion rate and for subscriptions that use recurring payments.
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Allow Saving Payment Methods` checkbox.
|
||||
|
||||
.. note::
|
||||
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
|
||||
details directly. Instead, it creates a payment token that only holds a reference to the card
|
||||
details stored on the payment provider's server.
|
||||
details stored on the payment acquirer's server.
|
||||
|
||||
.. _payment_providers/features/manual_capture:
|
||||
.. _payment_acquirers/features/manual_capture:
|
||||
|
||||
Manual capture
|
||||
--------------
|
||||
|
||||
If your payment provider supports this feature, you can authorize and capture payments in two steps
|
||||
If your payment acquirer supports this feature, you can authorize and capture payments in two steps
|
||||
instead of one. When you authorize a payment, the funds are reserved on the customer's payment
|
||||
method but they are not immediately charged. The charge is only made when you manually capture the
|
||||
payment later on. You can also void the authorization to release the reserved funds; this is
|
||||
|
|
@@ -205,11 +205,11 @@ situations:
|
|||
- Receive the payment confirmation and wait until the order is shipped to capture the payment.
|
||||
- Review and verify that orders are legitimate before the payment is completed and the fulfillment
|
||||
process starts.
|
||||
- Avoid potentially high processing fees for cancelled payments: payment providers will not charge
|
||||
- Avoid potentially high processing fees for cancelled payments: payment acquirers will not charge
|
||||
you for voiding an authorization.
|
||||
- Hold a security deposit to return later, minus any deductions (e.g., after a damage).
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Capture Amount Manually` checkbox.
|
||||
|
||||
To capture the payment after it was authorized, go to the related sales order or invoice and click
|
||||
|
|
@@ -217,114 +217,114 @@ on the :guilabel:`CAPTURE TRANSACTION` button. To release the funds, click on th
|
|||
TRANSACTION` button.
|
||||
|
||||
.. note::
|
||||
- Some payment providers support capturing only part of the authorized amount. The remaining
|
||||
amount can then be either captured or voided. These providers have the value **Full and
|
||||
partial** in the :ref:`table above <payment_providers/online_providers>`. The providers that
|
||||
- Some payment acquirers support capturing only part of the authorized amount. The remaining
|
||||
amount can then be either captured or voided. These acquirers have the value **Full and
|
||||
partial** in the :ref:`table above <payment_acquirers/online_acquirers>`. The acquirers that
|
||||
only support capturing or voiding the full amount have the value **Full only**.
|
||||
- The funds are likely not reserved forever. After a certain time, they may be automatically
|
||||
released back to the customer's payment method. Refer to your payment provider's documentation
|
||||
released back to the customer's payment method. Refer to your payment acquirer's documentation
|
||||
for the exact reservation duration.
|
||||
- Odoo does not support this feature for all payment providers but some allow the manual capture
|
||||
- Odoo does not support this feature for all payment acquirers but some allow the manual capture
|
||||
from their website interface.
|
||||
|
||||
.. _payment_providers/features/refund:
|
||||
.. _payment_acquirers/features/refund:
|
||||
|
||||
Refunds
|
||||
-------
|
||||
|
||||
If your payment provider supports this feature, you can refund payments directly from Odoo. It does
|
||||
If your payment acquirer supports this feature, you can refund payments directly from Odoo. It does
|
||||
not need to be enabled first. To refund a customer payment, navigate to it and click on the
|
||||
:guilabel:`REFUND` button.
|
||||
|
||||
.. note::
|
||||
- Some payment providers support refunding only part of the amount. The remaining amount can then
|
||||
optionally be refunded too. These providers have the value **Full and partial** in the
|
||||
:ref:`table above <payment_providers/online_providers>`. The providers that only support
|
||||
- Some payment acquirers support refunding only part of the amount. The remaining amount can then
|
||||
optionally be refunded too. These acquirers have the value **Full and partial** in the
|
||||
:ref:`table above <payment_acquirers/online_acquirers>`. The acquirers that only support
|
||||
refunding the full amount have the value **Full only**.
|
||||
- Odoo does not support this feature for all payment providers but some allow to refund payments
|
||||
- Odoo does not support this feature for all payment acquirers but some allow to refund payments
|
||||
from their website interface.
|
||||
|
||||
.. _payment_providers/features/express_checkout:
|
||||
.. _payment_acquirers/features/express_checkout:
|
||||
|
||||
Express checkout
|
||||
----------------
|
||||
|
||||
If your payment provider supports this feature, customers can use the **Google Pay** and **Apple
|
||||
If your payment acquirer supports this feature, customers can use the **Google Pay** and **Apple
|
||||
Pay** buttons to pay their eCommerce orders in one click without filling the contact form. Using one
|
||||
of those buttons, they'll go straight from the cart to the confirmation page, stopping by the
|
||||
payment form of Google or Apple to validate the payment.
|
||||
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider
|
||||
Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment acquirer
|
||||
and by ticking the :guilabel:`Allow Express Checkout` checkbox.
|
||||
|
||||
.. note::
|
||||
All prices shown in the express checkout payment form are always taxes included.
|
||||
|
||||
.. _payment_providers/configuration:
|
||||
.. _payment_acquirers/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. note::
|
||||
Each provider has its specific configuration flow, depending on :ref:`which feature is available
|
||||
<payment_providers/online_providers>`.
|
||||
Each acquirer has its specific configuration flow, depending on :ref:`which feature is available
|
||||
<payment_acquirers/online_acquirers>`.
|
||||
|
||||
.. _payment_providers/add_new:
|
||||
.. _payment_acquirers/add_new:
|
||||
|
||||
Add a new payment provider
|
||||
Add a new payment acquirer
|
||||
--------------------------
|
||||
|
||||
To add a new payment provider and make it available to your customers, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`, look for your payment provider,
|
||||
install the related module, and activate it. To do so, open the payment provider and change its
|
||||
To add a new payment acquirer and make it available to your customers, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`, look for your payment acquirer,
|
||||
install the related module, and activate it. To do so, open the payment acquirer and change its
|
||||
state from *Disabled* to *Enabled*.
|
||||
|
||||
.. image:: payment_providers/activation.png
|
||||
.. image:: payment_acquirers/activation.png
|
||||
:align: center
|
||||
:alt: Click on install, then on activate to make the payment provider available on Odoo.
|
||||
:alt: Click on install, then on activate to make the payment acquirer available on Odoo.
|
||||
|
||||
.. warning::
|
||||
We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is
|
||||
meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices
|
||||
as usual. It isn't always possible to cancel an invoice, and this could create some issues with
|
||||
your invoices numbering if you were to test your payment providers on your main database.
|
||||
your invoices numbering if you were to test your payment acquirers on your main database.
|
||||
|
||||
.. _payment_providers/credentials_tab:
|
||||
.. _payment_acquirers/credentials_tab:
|
||||
|
||||
Credentials tab
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
If not done yet, go to the online payment provider website, create an account, and make sure to have
|
||||
the credentials required for third-party use. Odoo requires these credentials to communicate with
|
||||
the payment provider.
|
||||
the payment acquirer.
|
||||
|
||||
The form in this section is specific to the payment provider you are configuring. Please refer to
|
||||
The form in this section is specific to the payment acquirer you are configuring. Please refer to
|
||||
the related documentation for more information.
|
||||
|
||||
.. _payment_providers/configuration_tab:
|
||||
.. _payment_acquirers/configuration_tab:
|
||||
|
||||
Configuration tab
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can change the payment provider's front-end appearance by modifying its name under the
|
||||
You can change the payment acquirer's front-end appearance by modifying its name under the
|
||||
**Displayed as** field and which credit card icons to display under the **Supported Payment Icons**
|
||||
field.
|
||||
|
||||
.. _payment_providers/countries:
|
||||
.. _payment_acquirers/countries:
|
||||
|
||||
Countries
|
||||
*********
|
||||
|
||||
Restrict the use of the payment provider to a selection of countries. Leave this field blank to make
|
||||
the payment provider available in all countries.
|
||||
Restrict the use of the payment acquirer to a selection of countries. Leave this field blank to make
|
||||
the payment acquirer available in all countries.
|
||||
|
||||
.. _payment_providers/journal:
|
||||
.. _payment_acquirers/journal:
|
||||
|
||||
Maximum Amount
|
||||
**************
|
||||
|
||||
Restrict the maximum amount that can be paid with the selected provider. Leave this field to `0.00`
|
||||
to make the payment provider available regardless of the payment amount.
|
||||
Restrict the maximum amount that can be paid with the selected acquirer. Leave this field to `0.00`
|
||||
to make the payment acquirer available regardless of the payment amount.
|
||||
|
||||
.. important::
|
||||
This feature is not intended to work on pages which allow the customer to update the payment
|
||||
|
|
@@ -334,28 +334,28 @@ to make the payment provider available regardless of the payment amount.
|
|||
Payment journal
|
||||
***************
|
||||
|
||||
The **Payment journal** selected for your payment provider must be a *Bank* journal.
|
||||
The **Payment journal** selected for your payment acquirer must be a *Bank* journal.
|
||||
|
||||
.. _payment_providers/publish:
|
||||
.. _payment_acquirers/publish:
|
||||
|
||||
Publish on the website
|
||||
----------------------
|
||||
|
||||
By default, payment providers are *unpublished*, which means that only internal users can see them
|
||||
on the website. Your customers cannot make payments through an unpublished provider but they can
|
||||
By default, payment acquirers are *unpublished*, which means that only internal users can see them
|
||||
on the website. Your customers cannot make payments through an unpublished acquirer but they can
|
||||
still manage :dfn:`(delete and assign to a subscription)` their already existing tokens linked to
|
||||
such an provider. This conveniently allows you to test an provider while preventing making payments
|
||||
such an acquirer. This conveniently allows you to test an acquirer while preventing making payments
|
||||
and registering new tokens.
|
||||
|
||||
Click on the :guilabel:`Publish` button located in the top right corner of the provider's form to
|
||||
Click on the :guilabel:`Publish` button located in the top right corner of the acquirer's form to
|
||||
publish it on the website and make it available to your customers. Click on the
|
||||
:guilabel:`Unpublish` button to unpublish it.
|
||||
|
||||
.. tip::
|
||||
Payment providers are automatically published and unpublished when you respectively change their
|
||||
Payment acquirers are automatically published and unpublished when you respectively change their
|
||||
state to `enabled` and `test`.
|
||||
|
||||
.. _payment_providers/accounting:
|
||||
.. _payment_acquirers/accounting:
|
||||
|
||||
Accounting perspective
|
||||
======================
|
||||
|
|
@@ -365,7 +365,7 @@ reconciliation workflows. However, payments recorded with **Online Payment Provi
|
|||
to consider how you want to record your payments' journal entries. We recommend you to ask your
|
||||
accountant for advice.
|
||||
|
||||
You need to select a *Payment Journal* on your provider configuration to record the payments,
|
||||
You need to select a *Payment Journal* on your acquirer configuration to record the payments,
|
||||
on a **Outstanding Account**. The Journal's **type** must be *Bank Journal*.
|
||||
|
||||
You can use a single journal for many payment methods. And for each payment method, you can either:
|
||||
|
|
@@ -373,7 +373,7 @@ You can use a single journal for many payment methods. And for each payment meth
|
|||
- Define an **Accounting Account** to separate these payments from another payment method.
|
||||
- Leave blank to fallback on the default account, which you can see or change in the settings.
|
||||
|
||||
.. image:: payment_providers/bank_journal.png
|
||||
.. image:: payment_acquirers/bank_journal.png
|
||||
:align: center
|
||||
:alt: A bank journal in the "Incoming Payments Tab".
|
||||
|
||||
|
|
@@ -381,17 +381,17 @@ You can have the same bank account for the whole company, or for some journals o
|
|||
payment method... What best suit your needs.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`payment_providers/wire_transfer`
|
||||
- :doc:`payment_providers/adyen`
|
||||
- :doc:`payment_providers/alipay`
|
||||
- :doc:`payment_providers/authorize`
|
||||
- :doc:`payment_providers/asiapay`
|
||||
- :doc:`payment_providers/buckaroo`
|
||||
- :doc:`payment_providers/mercado_pago`
|
||||
- :doc:`payment_providers/mollie`
|
||||
- :doc:`payment_providers/ogone`
|
||||
- :doc:`payment_providers/paypal`
|
||||
- :doc:`payment_providers/razorpay`
|
||||
- :doc:`payment_providers/sips`
|
||||
- :doc:`payment_providers/stripe`
|
||||
- :doc:`../websites/ecommerce/shopper_experience/payment_providers`
|
||||
- :doc:`payment_acquirers/wire_transfer`
|
||||
- :doc:`payment_acquirers/adyen`
|
||||
- :doc:`payment_acquirers/alipay`
|
||||
- :doc:`payment_acquirers/authorize`
|
||||
- :doc:`payment_acquirers/asiapay`
|
||||
- :doc:`payment_acquirers/buckaroo`
|
||||
- :doc:`payment_acquirers/mercado_pago`
|
||||
- :doc:`payment_acquirers/mollie`
|
||||
- :doc:`payment_acquirers/ogone`
|
||||
- :doc:`payment_acquirers/paypal`
|
||||
- :doc:`payment_acquirers/razorpay`
|
||||
- :doc:`payment_acquirers/sips`
|
||||
- :doc:`payment_acquirers/stripe`
|
||||
- :doc:`../websites/ecommerce/shopper_experience/payment_acquirer`
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
|
@@ -9,7 +9,7 @@ Configuration
|
|||
=============
|
||||
|
||||
.. seealso::
|
||||
:ref:`payment_providers/add_new`
|
||||
:ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -28,7 +28,7 @@ the **Credentials** tab.
|
|||
|
||||
.. important::
|
||||
If you are trying Adyen as a test, with an Adyen *test account*, head to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. There, click on
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`. There, click on
|
||||
:guilabel:`Adyen`, enable :guilabel:`Test Mode` and enter your credentials in the
|
||||
:guilabel:`Credentials` tab.
|
||||
|
||||
|
|
@@ -114,7 +114,7 @@ Place a hold on a card
|
|||
Adyen allows you to capture an amount manually instead of having an immediate capture.
|
||||
|
||||
To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the
|
||||
:ref:`payment providers documentation <payment_providers/features/manual_capture>`.
|
||||
:ref:`payment acquirers documentation <payment_acquirers/features/manual_capture>`.
|
||||
|
||||
Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the
|
||||
**Capture Delay** to **manual**.
|
||||
|
|
@@ -135,4 +135,4 @@ Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settin
|
|||
**revoke** it.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../payment_providers`
|
||||
:doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
|
@@ -12,7 +12,7 @@ Configuration
|
|||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -36,4 +36,4 @@ To retrieve them, log into your Alipay account, they are on the front page.
|
|||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -5,7 +5,7 @@ Amazon Payment Services
|
|||
`Amazon Payment Services <https://paymentservices.amazon.com/>`_ or APS is an online payment provider
|
||||
established in Dubai offering several online payment options.
|
||||
|
||||
.. _payment_providers/aps/configure-dashboard:
|
||||
.. _payment_acquirers/aps/configure-dashboard:
|
||||
|
||||
Configuration on APS Dashboard
|
||||
==============================
|
||||
|
|
@@ -31,14 +31,14 @@ Configuration on APS Dashboard
|
|||
look and feel of the Amazon Payment Services payment page (where customers fill out their
|
||||
credit card details during payment).
|
||||
|
||||
.. _payment_providers/aps/configure-odoo:
|
||||
.. _payment_acquirers/aps/configure-odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Amazon Payment Services <payment_providers/add_new>`,
|
||||
#. :ref:`Navigate to the payment acquirer Amazon Payment Services <payment_acquirers/add_new>`,
|
||||
change its state to :guilabel:`Enabled`, and make sure it is :guilabel:`Published`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant Identifier`,
|
||||
:guilabel:`Access Code`, :guilabel:`SHA Request Phrase` and :guilabel:`SHA Response Phrase` with
|
||||
the values you saved at the step :ref:`payment_providers/aps/configure-dashboard`.
|
||||
the values you saved at the step :ref:`payment_acquirers/aps/configure-dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
|
@@ -5,7 +5,7 @@ AsiaPay
|
|||
`AsiaPay <https://www.asiapay.com/>`_ is an online payments provider established in Hong Kong and
|
||||
covering several Asian countries and payment methods.
|
||||
|
||||
.. _payment_providers/asiapay/configure_dashboard:
|
||||
.. _payment_acquirers/asiapay/configure_dashboard:
|
||||
|
||||
Configuration on AsiaPay Dashboard
|
||||
==================================
|
||||
|
|
@@ -21,21 +21,21 @@ Configuration on AsiaPay Dashboard
|
|||
| Click on :guilabel:`Test` to check if the webhook is working correctly.
|
||||
#. Click on :guilabel:`Update` to finalize the configuration.
|
||||
|
||||
.. _payment_providers/asiapay/configure_odoo:
|
||||
.. _payment_acquirers/asiapay/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider AsiaPay <payment_providers/add_new>` and change its state
|
||||
#. :ref:`Navigate to the payment acquirer AsiaPay <payment_acquirers/add_new>` and change its state
|
||||
to :guilabel:`Enabled`.
|
||||
#. | In the :guilabel:`Credentials` tab, fill the :guilabel:`Merchant ID`, :guilabel:`Currency`, and
|
||||
:guilabel:`Secure Hash Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/asiapay/configure_dashboard`.
|
||||
| By default, the payment provider AsiaPay is configured to verify the secret hash with the hash
|
||||
:ref:`payment_acquirers/asiapay/configure_dashboard`.
|
||||
| By default, the payment acquirer AsiaPay is configured to verify the secret hash with the hash
|
||||
function `SHA1`. If a different function is :ref:`set on your account
|
||||
<payment_providers/asiapay/configure_dashboard>`, activate the :ref:`developer mode
|
||||
<payment_acquirers/asiapay/configure_dashboard>`, activate the :ref:`developer mode
|
||||
<developer-mode>` and set the same value to the field :guilabel:`Secure Hash Function` in Odoo.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -9,7 +9,7 @@ Configuration
|
|||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -43,11 +43,11 @@ Place a hold on a card
|
|||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With Authorize.net, you can enable the :ref:`manual capture
|
||||
<payment_providers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the
|
||||
<payment_acquirers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the
|
||||
customer's card, but not charged yet.
|
||||
|
||||
.. warning::
|
||||
After **30 days**, the transaction is **voided automatically** by Authorize.net.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
|
@@ -25,7 +25,7 @@ Configuration on Odoo
|
|||
=====================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -60,4 +60,4 @@ In order to retrieve the Website Key, log into Buckaroo Plaza, go to
|
|||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -5,7 +5,7 @@ Flutterwave
|
|||
`Flutterwave <https://flutterwave.com/>`_ is an online payments provider established in Nigeria and
|
||||
covering several African countries and payment methods.
|
||||
|
||||
.. _payment_providers/flutterwave/configure_dashboard:
|
||||
.. _payment_acquirers/flutterwave/configure_dashboard:
|
||||
|
||||
Configuration on Flutterwave Dashboard
|
||||
======================================
|
||||
|
|
@@ -20,16 +20,16 @@ Configuration on Flutterwave Dashboard
|
|||
#. Make sure all the remaining checkboxes are ticked.
|
||||
#. Click on **Save** to finalize the configuration.
|
||||
|
||||
.. _payment_providers/flutterwave/configure_odoo:
|
||||
.. _payment_acquirers/flutterwave/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Flutterwave <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Flutterwave <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Public Key`, :guilabel:`Secret Key`, and
|
||||
:guilabel:`Webhook Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/flutterwave/configure_dashboard`.
|
||||
:ref:`payment_acquirers/flutterwave/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. important::
|
||||
|
|
@@ -38,4 +38,4 @@ Configuration on Odoo
|
|||
Flutterwave Dashboard and then to :menuselection:`Settings --> Account Settings`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -5,7 +5,7 @@ Mercado Pago
|
|||
`Mercado Pago <https://www.mercadopago.com/>`_ is an online payment provider covering several
|
||||
countries, currencies and payment methods in Latin America.
|
||||
|
||||
.. _payment_providers/mercado_pago/configure_dashboard:
|
||||
.. _payment_acquirers/mercado_pago/configure_dashboard:
|
||||
|
||||
Configuration on Mercado Pago Dashboard
|
||||
=======================================
|
||||
|
|
@@ -15,16 +15,16 @@ Configuration on Mercado Pago Dashboard
|
|||
#. Go to :menuselection:`Production Credentials` or :menuselection:`Credentials` if your are in
|
||||
a *Test* environment and copy your **Access Token**
|
||||
|
||||
.. _payment_providers/mercado_pago/configure_odoo:
|
||||
.. _payment_acquirers/mercado_pago/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Mercado Pago <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Mercado Pago <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Access Token` with the value
|
||||
you saved at the step :ref:`payment_providers/mercado_pago/configure_dashboard`.
|
||||
you saved at the step :ref:`payment_acquirers/mercado_pago/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -8,14 +8,14 @@ Configuration
|
|||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your Mollie account, which comprise:
|
||||
|
||||
- **API Key**: The test or live API Key depending on the configuration of the provider.
|
||||
- **API Key**: The test or live API Key depending on the configuration of the acquirer.
|
||||
|
||||
You can copy your credentials from your Mollie account, and paste them in the related fields under
|
||||
the **Credentials** tab.
|
||||
|
|
@@ -28,4 +28,4 @@ To retrieve your API key, log into your Mollie account, go to
|
|||
We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -6,7 +6,7 @@ Ogone
|
|||
company that provides the technology involved in secure electronic transactions.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
- `Ogone's documentation <https://epayments-support.ingenico.com/get-started/>`_.
|
||||
|
||||
.. warning::
|
||||
|
|
@@ -53,8 +53,8 @@ Technical Information --> Global Security Parameters`, select :guilabel:`SHA-512
|
|||
|
||||
.. tip::
|
||||
If you need to use another algorithm, such as `sha-1` or `sha-256`, within Odoo, activate the
|
||||
:ref:`developer mode <developer-mode>` and go to the **Payment Providers** page in
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. Click on :guilabel:`Ogone`,
|
||||
:ref:`developer mode <developer-mode>` and go to the **Payment Acquirers** page in
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers`. Click on :guilabel:`Ogone`,
|
||||
and in the :guilabel:`Credentials` tab, select the algorithm you wish to use in the
|
||||
:guilabel:`Hash function` field.
|
||||
|
||||
|
|
@@ -102,6 +102,6 @@ to save the card information should be displayed, etc.
|
|||
Settings in Odoo
|
||||
================
|
||||
|
||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Providers`
|
||||
and open the Ogone provider. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Acquirers`
|
||||
and open the Ogone acquirer. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
||||
account, and fill out the other fields as configured in your :ref:`Ogone portal <ogone/ogone>`.
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
|
@@ -11,7 +11,7 @@ Settings in Odoo
|
|||
================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -141,4 +141,4 @@ this on a test Odoo database rather than your main database.
|
|||
Run a test transaction from Odoo using the sandbox personal account.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -5,7 +5,7 @@ Razorpay
|
|||
`Razorpay <https://razorpay.com/>`_ is an online payments provider established in India and
|
||||
covering more than 100 payment methods.
|
||||
|
||||
.. _payment_providers/razorpay/configure_dashboard:
|
||||
.. _payment_acquirers/razorpay/configure_dashboard:
|
||||
|
||||
Configuration on Razorpay Dashboard
|
||||
===================================
|
||||
|
|
@@ -23,24 +23,25 @@ Configuration on Razorpay Dashboard
|
|||
checkboxes are ticked.
|
||||
#. Click on :guilabel:`Create Webhook` to finalize the configuration.
|
||||
|
||||
.. _payment_providers/razorpay/configure_odoo:
|
||||
.. _payment_acquirers/razorpay/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
#. :ref:`Navigate to the payment provider Razorpay <payment_providers/add_new>` and change its
|
||||
#. :ref:`Navigate to the payment acquirer Razorpay <payment_acquirers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Key Id`, :guilabel:`Key Secret`, and
|
||||
:guilabel:`Webhook Secret` with the values you saved at the step
|
||||
:ref:`payment_providers/razorpay/configure_dashboard`.
|
||||
:ref:`payment_acquirers/razorpay/configure_dashboard`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. important::
|
||||
If you configure Odoo to capture amounts manually:
|
||||
|
||||
- Be aware that the **manual voiding** of a transaction is not supported by Razorpay.
|
||||
- After **five days**, if the transaction hasn't been captured yet, it'll automatically be
|
||||
**voided**.
|
||||
- If you configure Odoo to capture amounts manually, make sure to set the
|
||||
:guilabel:`Manual Capture` to :guilabel:`manual` on Razorpay. Otherwise, the transaction
|
||||
would be blocked in the authorized state in Odoo. To do so, go to your Razorpay Dashboard and
|
||||
then to :menuselection:`Settings --> Configuration`.
|
||||
- After **five days**, if the transaction hasn't been captured yet, the customer has the right
|
||||
to **revoke** it.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -9,7 +9,7 @@ Configuration
|
|||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
|
@@ -29,4 +29,4 @@ You can copy your credentials from your SIPS environment info documentation, in
|
|||
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
|
@@ -9,7 +9,7 @@ Link your Stripe Account with Odoo
|
|||
==================================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
The method to acquire your credentials depends on your hosting type:
|
||||
|
||||
|
|
@@ -21,14 +21,14 @@ The method to acquire your credentials depends on your hosting type:
|
|||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to Odoo. If you submitted all the requested
|
||||
information, you are all set and your payment provider is enabled.
|
||||
information, you are all set and your payment acquirer is enabled.
|
||||
#. You can continue to :ref:`stripe/local-payment-methods`.
|
||||
|
||||
.. tip::
|
||||
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
|
||||
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
|
||||
:ref:`enable Stripe manually <payment_acquirers/add_new>`. You can then :ref:`Fill in your
|
||||
credentials <stripe/api-keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
|
||||
payment provider.
|
||||
payment acquirer.
|
||||
|
||||
.. group-tab:: Odoo.sh or On-premise
|
||||
|
||||
|
|
@@ -36,15 +36,15 @@ The method to acquire your credentials depends on your hosting type:
|
|||
payments* button on the onboarding banner.
|
||||
#. Fill in the requested information and submit the form.
|
||||
#. Confirm your email address when Stripe sends you a confirmation email.
|
||||
#. At the end of the process, you are redirected to the payment provider **Stripe** on Odoo.
|
||||
#. At the end of the process, you are redirected to the payment acquirer **Stripe** on Odoo.
|
||||
#. :ref:`Fill in your credentials <stripe/api-keys>`.
|
||||
#. :ref:`Generate a webhook <stripe/webhook>`.
|
||||
#. Enable the payment provider.
|
||||
#. Enable the payment acquirer.
|
||||
#. You are all set and can continue to :ref:`stripe/local-payment-methods`.
|
||||
|
||||
.. tip::
|
||||
To connect your Stripe account after the onboarding is already completed, go to
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers --> Stripe` and click on the
|
||||
:menuselection:`Accounting --> Configuration --> Payment Acquirers --> Stripe` and click on the
|
||||
*Connect Stripe* button.
|
||||
|
||||
.. important::
|
||||
|
|
@@ -126,7 +126,7 @@ feature earmarks an amount on the customer's account for a determined period of
|
|||
the payment method used.
|
||||
|
||||
To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as explained in the
|
||||
:ref:`payment providers documentation <payment_providers/features/manual_capture>`.
|
||||
:ref:`payment acquirers documentation <payment_acquirers/features/manual_capture>`.
|
||||
|
||||
.. warning::
|
||||
When the manual capture feature is activated, your customers are not able to proceed with any
|
||||
|
|
@@ -137,7 +137,7 @@ To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as
|
|||
interface is still managed as a full capture by Odoo.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
||||
.. _stripe/local-payment-methods:
|
||||
|
||||
|
|
@@ -156,7 +156,7 @@ Odoo supports the following local payment methods:
|
|||
- Przelewy24 (P24)
|
||||
|
||||
To enable some of these local payment methods with Stripe, list them as supported payment icons. To
|
||||
do so, go to :menuselection:`Payment Providers --> Stripe --> Configuration` and add the desired
|
||||
do so, go to :menuselection:`Payment Acquirers --> Stripe --> Configuration` and add the desired
|
||||
payment methods in the **Supported Payment Icons** field. If the desired payment method is already
|
||||
listed, you don't have anything to do.
|
||||
|
||||
|
|
@@ -175,7 +175,7 @@ Enable express checkout
|
|||
=======================
|
||||
|
||||
.. seealso::
|
||||
:ref:`payment_providers/features/express_checkout`
|
||||
:ref:`payment_acquirers/features/express_checkout`
|
||||
|
||||
After ticking the :guilabel:`Allow Express Checkout` checkbox, **Google Pay** is enabled out of the
|
||||
box, but **Apple Pay** requires extra steps: You must register your web domain with Apple. This can
|
||||
|
|
@@ -184,7 +184,7 @@ be done either automatically from Odoo, or manually from Stripe.
|
|||
.. tabs::
|
||||
.. tab:: Register automatically from Odoo
|
||||
|
||||
#. Navigate to your payment provider and make sure that it is :guilabel:`enabled`.
|
||||
#. Navigate to your payment acquirer and make sure that it is :guilabel:`enabled`.
|
||||
#. Go to the :guilabel:`Configuration` tab and click on the :guilabel:`Enable Apple Pay`
|
||||
button. A notification shows that the web domain was successfully registered with Apple.
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
|
@@ -4,7 +4,7 @@ How to get paid with wire transfers
|
|||
|
||||
**Wire Transfer** is the default payment method available. The aim is providing your customers with
|
||||
your bank details so they can pay on their own. This is very easy to start with but slow and
|
||||
inefficient process-wise. Opt for payment providers as soon as you can!
|
||||
inefficient process-wise. Opt for payment acquirers as soon as you can!
|
||||
|
||||
How to provide customers with payment instructions
|
||||
==================================================
|
||||
|
|
@@ -36,4 +36,4 @@ check. To do so, just rename *Wire Transfer* or duplicate it.
|
|||
:align: center
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
|
@@ -131,4 +131,4 @@ at an invoice/bills level or at a sales/purchase orders level.
|
|||
|
||||
.. seealso::
|
||||
- :doc:`Multi-company Guidelines </developer/howtos/company>`
|
||||
- :doc:`../../finance/accounting/others/multi_currency`
|
||||
- :doc:`../../finance/accounting/others/multicurrencies/how_it_works`
|
||||
|
|
|
|||
|
|
@@ -1,187 +1,225 @@
|
|||
================
|
||||
Product variants
|
||||
================
|
||||
======================
|
||||
Using product variants
|
||||
======================
|
||||
|
||||
Product variants are used to give single products a variety of different characteristics, such as
|
||||
size and color. Products using variants can be managed at the product template level (for all
|
||||
attributes and variants of that product), and/or at the variant level (for individual variants).
|
||||
Product variants are used to manage products having different
|
||||
variations, like size, color, etc. It allows managing the product at the
|
||||
template level (for all variations) and at the variant level (specific
|
||||
attributes).
|
||||
|
||||
As an example, a company selling t-shirts may have the following product:
|
||||
As an example, a company selling t-shirts may have the following
|
||||
product:
|
||||
|
||||
- T-shirt
|
||||
- B&C T-shirt
|
||||
|
||||
- Color: Blue, Red, White, Black
|
||||
- Size: S, M, L, XL, XXL
|
||||
- Sizes: S, M, L, XL, XXL
|
||||
- Colors: Blue, Red, White, Black
|
||||
|
||||
In this example, the **T-Shirt** is the product template, and **T-Shirt, S, Blue** is a product
|
||||
variant. **Color** and **size** are the attributes. **S** and **Blue** are values.
|
||||
In this example, **B&C T-Shirt** is called the product template and
|
||||
**B&C T-Shirt, S, Blue** is a variant. Sizes and color are
|
||||
**attributes**.
|
||||
|
||||
The above example has a total of 20 different product variants (5 sizes x 4 colors). Each one of
|
||||
these has its own inventory, sales, etc.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Activating product variants
|
||||
---------------------------
|
||||
|
||||
To use product variants, go to :menuselection:`Sales --> Configuration --> Settings -->
|
||||
Product Catalog`, and enable the :guilabel:`Variants` feature. Finally, click :guilabel:`Save` to
|
||||
apply the setting.
|
||||
|
||||
.. image:: variants/activating-variants-setting.png
|
||||
:align: center
|
||||
:alt: Activating product variants.
|
||||
|
||||
Creating attributes
|
||||
-------------------
|
||||
|
||||
Attributes need to be created before product variants can be set up. Attributes can be accessed
|
||||
via :menuselection:`Sales --> Configuration --> Products --> Attributes`.
|
||||
|
||||
.. note::
|
||||
The order of attributes on the :guilabel:`Attributes` page dictates how they appear on the
|
||||
:guilabel:`Product Configurator`, :guilabel:`Point of Sale` dashboard, and :guilabel:`eCommerce`
|
||||
pages.
|
||||
|
||||
To create a new attribute, click :guilabel:`Create`. First, choose an attribute name, such as
|
||||
"Color" or "Size."
|
||||
|
||||
.. image:: variants/attribute-creation.png
|
||||
:align: center
|
||||
:alt: Attribute creation window.
|
||||
|
||||
Then, select a :guilabel:`Display Type`, which determines how this product will be shown on the
|
||||
:guilabel:`eCommerce` page, :guilabel:`Point of Sale` dashboard, and :guilabel:`Product
|
||||
Configurator`.
|
||||
|
||||
- :guilabel:`Radio`: options appear in a bullet style list.
|
||||
- :guilabel:`Select`: options appear in a dropdown menu.
|
||||
- :guilabel:`Color`: options appear as small colored squares, which reflect any HTML color codes
|
||||
set.
|
||||
|
||||
.. image:: variants/display-types.png
|
||||
:align: center
|
||||
:alt: Display Types on Product Configurator.
|
||||
|
||||
The :guilabel:`Variants Creation Mode` informs Odoo when to automatically create a new variant once
|
||||
an attribute is added to a product.
|
||||
|
||||
- :guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added
|
||||
to a product template.
|
||||
- :guilabel:`Dynamically`: creates variants only when corresponding attributes and values are added
|
||||
to a sales order.
|
||||
- :guilabel:`Never`: never automatically creates variants.
|
||||
|
||||
.. note::
|
||||
Once added to a product, an attribute's :guilabel:`Variants Creation Mode` cannot be edited.
|
||||
|
||||
Values should be added to an attribute before saving, but more values can be added at any time,
|
||||
if needed. To add a value, click :guilabel:`Add a line`. From there, you can:
|
||||
|
||||
#. Type in the value's name.
|
||||
#. Check a box to indicate whether or not the value is custom (i.e. the customer provides unique
|
||||
specifications).
|
||||
#. Specifically for colors, add an HTML color code to make it even easier for salespeople and
|
||||
customers to know what they're selecting.
|
||||
|
||||
A color code can be selected either by dragging the slider around or by entering a specific HTML
|
||||
color code (e.g. #FF0077).
|
||||
|
||||
.. image:: variants/picking-a-color.png
|
||||
:align: center
|
||||
:alt: Selecting a color.
|
||||
|
||||
Finally, click :guilabel:`Save` to finish creating the attribute.
|
||||
|
||||
.. tip::
|
||||
Attributes can also be created directly from the product template by adding a new line and
|
||||
typing the name into the :guilabel:`Variants` tab.
|
||||
|
||||
After an attribute is added to a product, a new tab appears on the attribute's page called
|
||||
:guilabel:`Related Products`. This tab lists every product in the database that is currently using
|
||||
the attribute.
|
||||
|
||||
Creating product variants
|
||||
-------------------------
|
||||
|
||||
After creating an attribute, use the attribute to create a product variant by going to
|
||||
:menuselection:`Sales --> Products --> Products`. Then, select an existing product and click
|
||||
:guilabel:`Edit`, or create a new product by clicking :guilabel:`Create`.
|
||||
|
||||
The :guilabel:`Variants` smart button at the top of the product template indicates the number of
|
||||
currently configured variants on the product.
|
||||
|
||||
To add a new variant, click on the :guilabel:`Variants` tab, then click on :guilabel:`Add a line`
|
||||
to add any attributes and values. When all the attributes and values have been added, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. tip::
|
||||
Similar product variant creation processes are accessible through the Purchase, Inventory, and
|
||||
eCommerce applications.
|
||||
|
||||
Managing product exclusions
|
||||
---------------------------
|
||||
|
||||
The following examples are all based on a product template that has two attributes:
|
||||
|
||||
- T-Shirt
|
||||
|
||||
- Color: Blue, Red, White
|
||||
- Size: S, M, L, XL, XXL
|
||||
|
||||
With the above product template, there are 15 different t-shirt variants in three different colors
|
||||
and five different sizes. If the white t-shirts are not available in the XXL size, then that
|
||||
variant can be deactivated.
|
||||
|
||||
To deactivate a particular product variant, go to :menuselection:`Sales --> Products --> Products`
|
||||
and select the relevant product. Next, click on the :guilabel:`Configure Variants` button, open the
|
||||
relevant product variant attribute value form (in this example, the :guilabel:`White Color`
|
||||
attribute), and then click on :guilabel:`Edit`.
|
||||
|
||||
In the :guilabel:`Exclude for` section, click :guilabel:`Add a line` and select any product(s)
|
||||
and/or specific attribute values that are currently unavailable. Finally, click :guilabel:`Save` to
|
||||
apply the setting, and Odoo will automatically show the product variant as unavailable on the
|
||||
eCommerce page.
|
||||
|
||||
.. image:: variants/attributes-exclusions.png
|
||||
:align: center
|
||||
:alt: Excluding attributes.
|
||||
|
||||
Setting a price per variant
|
||||
---------------------------
|
||||
|
||||
Extra costs can be added to a product's standard price for specific product variants.
|
||||
|
||||
To do this, open :menuselection:`Sales --> Products --> Products`, and click on the relevant
|
||||
product. Next, click on :guilabel:`Configure Variants` to access the list of product variant
|
||||
values.
|
||||
|
||||
Then, click on a variant value, and :guilabel:`Edit`. In the :guilabel:`Value Price Extra` field,
|
||||
type in the additional cost for this particular value. This amount is added to the standard price.
|
||||
Finally, click :guilabel:`Save` to apply the extra price to the value.
|
||||
|
||||
.. image:: variants/value-price-extra.png
|
||||
:align: center
|
||||
:alt: Value Price Extra setting.
|
||||
The above example has a total of 20 different products (5 sizes x 4
|
||||
colors). Each one of these products has its own inventory, sales, etc.
|
||||
|
||||
Impact of variants
|
||||
==================
|
||||
|
||||
- :guilabel:`Barcode`: barcodes are associated with each variant instead of the product template.
|
||||
Each individual variant can have its own unique barcode/SKU.
|
||||
- **Barcode**: the code and barcode is associated to a variant, not the
|
||||
template. Every variant may have its own barcode / SKU.
|
||||
|
||||
- :guilabel:`Price`: every product variant has its own public price, which is the sum of the
|
||||
product template price and any extra charges for particular attributes. For example, a red
|
||||
shirt's cost is $23 because the shirt's template price is $20, plus an additional $3 for the red
|
||||
color variant. Pricelist rules can be configured to apply to the product template or to the
|
||||
variant.
|
||||
- **Price**: every product variant has its own public price that is
|
||||
computed based on the template price ($20) with an optional extra
|
||||
for every variant (+$3 for color red). However, you can define
|
||||
pricelist rules that apply on the template or the variant.
|
||||
|
||||
- :guilabel:`Inventory`: inventory is counted for each individual product variant. On the product
|
||||
template form, the inventory reflects the sum of all variants, but the actual inventory is
|
||||
computed by individual variants.
|
||||
- **Inventory**: the inventory is managed by product variant. You don't
|
||||
own t-shirts, you only own "T-shirts, S, Red", or "T-Shirts, M,
|
||||
Blue". For information purpose, on the product template form, you
|
||||
get the inventory that is the sum of every variant. (but the
|
||||
actual inventory is computed by variant)
|
||||
|
||||
- :guilabel:`Picture`: each product variant can have its own specific picture.
|
||||
- **Picture**: the picture is related to the variant, every variation
|
||||
of a product may have its own primary picture.
|
||||
|
||||
.. note::
|
||||
Changes to the product template automatically apply to every variant of that product.
|
||||
- **Other fields**: most of the other fields belongs to the product
|
||||
template. If you update them, it updates automatically all the
|
||||
variants. (example: Income Account, Taxes)
|
||||
|
||||
Should you use variants?
|
||||
========================
|
||||
|
||||
When should you use variants?
|
||||
-----------------------------
|
||||
|
||||
Using variants has the following impacts:
|
||||
|
||||
- **eCommerce**: in your online shop, the customer will only see
|
||||
product templates in the catalog page. Once the visitor click on
|
||||
such a product, he will have options to choose amongst the
|
||||
variants (colors, sizes, …)
|
||||
|
||||
- **Manufacturing**: Using variants allows to define only one bill of
|
||||
material for a product template and slight variations for some of
|
||||
the variants. Example: instead of creating a Bill of Material for
|
||||
"T-shirt, Red, S", you create a bill of material for "T-shirt"
|
||||
and add some lines that are specific to the dimension S, and
|
||||
other lines specific to the color Red.
|
||||
|
||||
- **Pricing**: The default price of a product is computed using the
|
||||
price of the product template and add the optional extra price on
|
||||
each dimension of the variant. This way, variant prices are
|
||||
easier to maintain since you don't have to set the price for
|
||||
every variant. However, it's possible to create pricelist rules
|
||||
to fix price per variants too.
|
||||
|
||||
When should you avoid using variants?
|
||||
-------------------------------------
|
||||
|
||||
Using variants may add a level of complexity on the way you use Odoo.
|
||||
You should consider using variants only if you need it to reduce the
|
||||
complexity of managing lots of products that are similars.
|
||||
|
||||
As an example, importing your initial product catalog is more complex if
|
||||
you use variants. You can't just import a list of products, you must
|
||||
import product templates and all their related variations.
|
||||
|
||||
In addition to that, you should also carefully select the dimensions
|
||||
that you manage as separate product templates and those as variants. As
|
||||
an example, a company having these products:
|
||||
|
||||
- Quality: T-Shirts, Polos, Shirts
|
||||
|
||||
- Color: Red, Blue
|
||||
|
||||
- Size: S, M, L, XL
|
||||
|
||||
In such a use case, you could create 1 template with three dimensions of
|
||||
variants (Layout, T-Shirts, Polos). But, it's recommended to create two
|
||||
different product templates as T-shirts may highly differ from polos or
|
||||
shirts and customer expect to see these as two different products in the
|
||||
e-Commerce:
|
||||
|
||||
- Product Template: T-shirt
|
||||
|
||||
- Color: Red, Blue
|
||||
- Size: S, M, L, XL
|
||||
|
||||
- Product Template: Polos
|
||||
|
||||
- Color: Red, Blue
|
||||
- Size: S, M, L, XL
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Activate the variant feature
|
||||
----------------------------
|
||||
|
||||
Before you can use product variants, you must first activate the product
|
||||
variants in the settings. To do so, you must go to the Sales app. In the
|
||||
menu :menuselection:`Configuration --> Settings`, locate the **Products Variants** line,
|
||||
and tick the option **Products can have several attributes**, then click
|
||||
on **Apply**.
|
||||
|
||||
.. image:: variants/variant01.png
|
||||
:align: center
|
||||
|
||||
Creating products with variants
|
||||
-------------------------------
|
||||
|
||||
Once you have activated the variant option, you can add variants to your
|
||||
products. To do so, go to the Sales module, :menuselection:`Sales --> Products`.
|
||||
It is also accessible from the Purchase and inventory modules.
|
||||
|
||||
Now, click on the product you wish to add variants to.
|
||||
|
||||
In the product page, a new tab called Variants has appeared. The number
|
||||
in purple written on top is the number of variants this product
|
||||
currently has. To add new variants, click on the tile. In the new
|
||||
window, click on **Create**.
|
||||
|
||||
In **Attributes**, click on the rolldown menu and select the type of
|
||||
variance you wish to add. If the variant does not yet exist, you can
|
||||
create it on the fly by clicking on Create and edit…
|
||||
|
||||
.. image:: variants/variant02.png
|
||||
:align: center
|
||||
|
||||
In the Attributes window, the **Value** field is the description of the
|
||||
attribute such as Green, Plastic or 32GB. The **Attribute** field is the
|
||||
type of variant such as Color, Material or Memory.
|
||||
|
||||
.. image:: variants/variant03.png
|
||||
:align: center
|
||||
|
||||
You can add a cost for the variant on the fly by adding it in the
|
||||
**Attribute Price Extra** field, or choose to modify it later. Click on
|
||||
**Save**.
|
||||
|
||||
You can also add a different barcode and internal reference to the
|
||||
variant.
|
||||
|
||||
When you have entered all the specifications of the variant, click on
|
||||
**Save**.
|
||||
|
||||
Managing Product Variants
|
||||
=========================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The examples below are all based on this product template that has two
|
||||
variant attributes :
|
||||
|
||||
- T-Shirt B&C
|
||||
|
||||
- Color: Red, Blue, White
|
||||
|
||||
- Size: S, M, L, XL, XXL
|
||||
|
||||
Managing combination possibilities
|
||||
----------------------------------
|
||||
|
||||
By default, with the above product template, you get 15 different
|
||||
products (3 colors, 5 sizes). If the XXL size only exists for red and
|
||||
blue t-shirts, you can deactivate the white product variant.
|
||||
|
||||
To do this, click on the **Variants** button, select the XXL, White
|
||||
T-shirt. From the product form, uncheck the **Active** box of the T-shirt
|
||||
White, XXL.
|
||||
|
||||
.. image:: variants/variant04.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
|
||||
That deactivating a product is different than having an inventory of 0.
|
||||
|
||||
Setting a price per variant
|
||||
---------------------------
|
||||
|
||||
You can add a cost over the main price for some of the variants of a
|
||||
product.
|
||||
|
||||
Once you have activated the variant option, you can add variants to your
|
||||
products. To do so, go to the Sales module, open :menuselection:`Sales --> Products`
|
||||
and click on the product you want to modify. Click on the **Variant Prices**
|
||||
button to access the list of variant values.
|
||||
|
||||
.. image:: variants/variant05.png
|
||||
:align: center
|
||||
|
||||
Click on the variant name you wish to add a value to, to make the 3
|
||||
fields editable. In the **Attribute Price Extra** field, add the cost of
|
||||
the variant that will be added to the original price.
|
||||
|
||||
.. image:: variants/variant06.png
|
||||
:align: center
|
||||
|
||||
When you have entered all the extra values, click on **Save**.
|
||||
|
||||
.. seealso::
|
||||
- `Accounting Memento: Details of Journal Entries
|
||||
</applications/finance/accounting/overview/main_concepts/memento.html#journal-entries>`_
|
||||
- :doc:`/applications/finance/accounting/getting_started/process_overview/supplier_bill`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 7.2 KiB |