Compare commits

..

1 Commits

Author SHA1 Message Date
Julien Alardot (jual)
282da1df76 [IMP] account, account_report, l10n_*: Introduce unified reporting engine
This commit adapts account's model to the new report engine introduced for v16, and updates the data files accordingly.

account.report model is now declared in community, together with the other models used by the reporting. This is done so that the tax tags can properly be created by the tax report and used on tax templates. All the actual computation logic stays in enterprise.

See enterprise commit for full details.

Task 2524389

Signed-off-by: Julien Alardot (jual) <jual@odoo.com>
2022-08-25 10:04:29 +02:00
122 changed files with 822 additions and 1486 deletions

View File

@@ -59,8 +59,6 @@ database manager.
registrar.
- You are the owner of the domain name and can use it for other purposes.
- Odoo manages payment and technical support for you.
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the

View File

@@ -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

View File

@@ -11,4 +11,4 @@ Finance
finance/expenses
finance/documents
finance/sign
finance/payment_providers
finance/payment_acquirers

View File

@@ -1,117 +1,117 @@
===========================================
Manage a bank account in a foreign currency
===========================================
===================================
Manage a bank in a foreign currency
===================================
In Odoo, every transaction is recorded in the default currency of the company, and reports are all
based on that default currency. When you have a bank account in a foreign currency, for every
In Odoo, every transaction is recorded in the default currency of the
company. Reports are all based on the currency of the company. But for
transactions occurring in another currency, Odoo stores both the value
in the currency of the company and the value in the currency of the
transaction.
When you have a bank account in a foreign currencies, for every
transaction, Odoo stores two values:
- The debit/credit in the currency of the *company*;
- The debit/credit in the currency of the *bank account*.
- The debit/credit in the currency of the company
Currency rates are updated automatically using the web services of a banking institution. By
default, Odoo uses the European Central Bank's web services but other options are available.
- The debit/credit in the currency of the bank account
Currency rates are updated automatically using yahoo.com, or the
European Central bank web-services.
Configuration
=============
Activate multi-currencies
-------------------------
Activate the multi-currency feature
-----------------------------------
To work with multiple currencies, go to :menuselection:`Accounting --> Configuration --> Settings
--> Currencies` and tick :guilabel:`Multi-Currencies`. Under :guilabel:`Post Exchange difference
entries in:`, provide a :guilabel:`Journal`, a :guilabel:`Gain Account`, a :guilabel:`Loss Account`,
and then click on :guilabel:`Save`.
In order to allow your company to work with multiple currencies, you
should activate the multi-currency mode. In the accounting application,
go into :menuselection:`Configuration --> Settings --> Accounting & Finance Features`
make sure the **Allow Multi-currencies** box is ticked. Provide
a **Currency Exchange Gain / Loss** account, then click on **Apply**.
Configure currencies
--------------------
Once Odoo is configured to support multiple currencies, they are all created by default, but not
necessarily active. To activate the new currencies, click on :guilabel:`Activate Other Currencies`
under the :guilabel:`Multi-Currencies` setting or go to :menuselection:`Accounting --> Configuration
--> Accounting: Currencies`.
Once the Odoo is configured to support multiple currencies, you should
activate the currencies you plan to work with. To do that, go to the menu
:menuselection:`Configuration --> Currencies`. All the currencies are created by default,
but you should activate the ones you plan to support (to activate a
currency, check its "Active" field).
When the currencies are activated, you can choose to **automate** the currency rate update, or leave
it on **manual**. To configure the rate update, go back to :menuselection:`Accounting -->
Configuration --> Settings --> Currencies`, check :guilabel:`Automatic Currency Rates`, set
:guilabel:`Interval` to your desired frequency, and then click on :guilabel:`Save`. You also have
the option to choose the :guilabel:`Service` you wish to obtain currency rates from.
After having activated the currencies, you can configure the parameters
to automate the currency rate update. These options are also in the
settings of the Accounting application, in the bottom of the page:
Click on the Update now button (:guilabel:`🗘`) besides the :guilabel:`Next Run` field to update
the currency rates manually.
.. image:: foreign_currency/foreign01.png
:align: center
Click on the **Update Now** link to update the currency rates now.
Create a new bank account
-------------------------
In the accounting application, go to :menuselection:`Accounting --> Configuration --> Journals` and
create a new one. Enter a :guilabel:`Journal Name` and set the :guilabel:`Type` to `Bank`. In the
:guilabel:`Journal Entries` tab, enter a **short code**, a **currency**, and then finally click on
the :guilabel:`Bank Account` field to create a new account. In the pop-up window of the account
creation, enter a name, a code (ex.: 550007), set its type to `Bank and Cash`, set a currency type,
and save. When you are back on the **journal**, click on the :guilabel:`Account Number` field, and
in the pop-up window, fill out the :guilabel:`Account Number`, :guilabel:`Bank` of your account, and
save.
In the accounting application, we first go to :menuselection:`Configuration -->
Accounting / Bank account`, and we create a new one.
.. image:: foreign_currency/foreign-journal.png
.. image:: foreign_currency/foreign02.png
:align: center
:alt: Example of a created bank journal.
Upon creation of the journal, Odoo automatically links the bank account to the journal. It can be
found under :menuselection:`Accounting --> Configuration --> Accounting: Chart of Accounts`.
Once you save this bank account, Odoo will create all the documents for
you:
Vendor bill in a foreign currency
=================================
- An account in the trial balance
To pay a bill in a foreign currency, simply select the currency next to the :guilabel:`Journal`
field and register the payment. Odoo automatically creates and posts the foreign **exchange gain or
loss** as a new journal entry.
- A journal in your dashboard
.. image:: foreign_currency/foreign-bill-currency.png
- Information about the bank account in the footer of your invoices if
checked the box **Show in Invoices Footer**
Example: A vendor bill in a foreign currency
============================================
Based on the above example, let's assume we receive the following bill
from a supplier in China.
In the :menuselection:`Purchase --> Vendor Bills` , this is what you could see:
.. image:: foreign_currency/foreign03.png
:align: center
:alt: How to set a bill currency.
.. note::
Note that you can pay a foreign bill with another currency. In that case, Odoo automatically
converts between the two currencies.
Once you are ready to pay this bill, click on register payment on the
bill to record a payment.
Unrealized Currency Gains/Losses Report
=======================================
This report gives an overview of all unrealized amounts in a foreign currency on your balance sheet,
and allows you to adjust an entry or manually set an exchange rate. To access this report, go to
:menuselection:`Reporting --> Management: Unrealized Currency Gains/Losses`. From here, you have
access to all open entries in your **balance sheet**.
.. image:: foreign_currency/foreign-gains-losses.png
.. image:: foreign_currency/foreign04.png
:align: center
:alt: View of the Unrealized Gains/Losses journal.
If you wish to use a different currency rate than the one set in :menuselection:`Accounting -->
Configuration --> Settings --> Currencies`, click the :guilabel:`Exchange Rates` button and change
the rate of the foreign currencies in the report.
That's all you have to do. Odoo will automatically post the foreign
exchange gain or loss at the reconciliation of the payment with the
invoice, depending if the currency rate increased or decreased between
the invoice and the payment date.
.. image:: foreign_currency/foreign-exchange-rates.png
Note that you can pay a foreign bill with another currency. In such a
case, Odoo will automatically convert between the two currencies.
Customers Statements
====================
Customers and vendor statements are managed in the currency of the
invoice. So, the amount due by your customer (to your vendor) is always
expressed in the currency of the invoice.
If you have several invoices with different currencies for the same
customer, Odoo will split the customer statement by currency, as shown
in the report below.
.. image:: foreign_currency/foreign05.png
:align: center
:alt: Menu to manually change exchange rates.
When manually changing **exchange rates**, a yellow banner appears allowing you to reset back to
Odoo's rate. To do so, simply click on :guilabel:`Reset to Odoo's Rate`.
In the above report, the account receivable associated to Camptocamp is
not managed in a secondary currency, which means that it keeps every
transaction in its own currency. If you prefer, you can set the account
receivable for this customer in a secondary currency and all its debts
will automatically be converted to this currency.
.. image:: foreign_currency/foreign-reset-rates.png
:align: center
:alt: Banner to reset back to Odoo's rates.
In order to update your **balance sheet** with the amount of the :guilabel:`adjustment` column,
click on the :guilabel:`Adjustment Entry` button. In the pop-up window, select a
:guilabel:`Journal`, :guilabel:`Expense Account` and :guilabel:`Income Account` to calculate and
process the **unrealized gains and losses**.
You can set the date of the report in the :guilabel:`Date` field. Odoo automatically reverses the
booking entry to the date set in :guilabel:`Reversal Date`.
Once posted, the :guilabel:`adjustment` column should indicate `0.00`, meaning all **unrealized
gains/losses** have been adjusted.
.. image:: foreign_currency/foreign-adjustment.png
:align: center
:alt: Unrealized Currency Gains/Losses report once adjusted.
In such a case, the customer statement always has only one currency. In
general, this is not what the customer expect as he prefers to see the
amounts in the currency of the invoices he received;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -15,7 +15,6 @@ Localizations
localizations/egypt
localizations/france
localizations/germany
localizations/india
localizations/indonesia
localizations/italy
localizations/italy_IT

View File

@@ -13,17 +13,17 @@ Below you can find videos with a general description of the localization, and ho
Introduction
============
The Chilean localization has been improved and extended in Odoo v13. In this version, the next
The Chilean localization has been improved and extended in Odoo v13. In this version, the next
modules are available:
- **l10n_cl:** Adds accounting features for the Chilean localization, which represent the minimal
configuration required for a company to operate in Chile and under the SII (Servicio de Impuestos
Internos) regulations and guidelines.
- **l10n_cl:** Adds accounting features for the Chilean localization, which represent the minimal
configuration required for a company to operate in Chile and under the SII
(Servicio de Impuestos Internos) regulations and guidelines.
- **l10n_cl_edi:** Includes all technical and functional requirements to generate and receive
Electronic Invoice via web service, based on the SII regulations.
- **l10n_cl_edi:** Includes all technical and functional requirements to generate and receive
Electronic Invoice via web service, based on the SII regulations.
- **l10n_cl_reports:** Adds the reports Propuesta F29 y Balance Tributario (8 columnas).
- **l10n_cl_reports:** Adds the reports Propuesta F29 y Balance Tributario (8 columnas).
Configuration
=============
@@ -31,7 +31,7 @@ Configuration
Install the Chilean localization modules
----------------------------------------
For this, go to *Apps* and search for Chile. Then click *Install* in the module **Chile
For this, go to *Apps* and search for Chile. Then click *Install* in the module **Chile
E-invoicing**. This module has a dependency with **Chile - Accounting**. In case this last
one is not installed, Odoo installs it automatically with E-invoicing.
@@ -42,24 +42,24 @@ one is not installed, Odoo installs it automatically with E-invoicing.
.. note::
When you install a database from scratch selecting Chile as country, Odoo will automatically
install the base module: Chile - Accounting.
Company Settings
----------------
Once the modules are installed, the first step is to set up your company data. Additional
to the basic information, you need to add all the data and elements required for Electronic
Invoice, the easiest way to configure it is in
to the basic information, you need to add all the data and elements required for Electronic
Invoice, the easiest way to configure it is in
:menuselection:`Accounting --> Settings --> Chilean Localization`.
.. important::
All the following configuration and functionality is only available in Odoo if your
All the following configuration and functionality is only available in Odoo if your
company already passed the `Certification process <https://www.sii.cl/factura_electronica/
factura_mercado/proceso_certificacion.htm>`_
in the SII - Sistema de Facturación de Mercado, this certification enables you to
generate electronic invoices from your ERP and send them automatically to the SII.
If your company has not passed this certification yet, make sure you communicate this
to your Account Manager as a special process outside Odoo is required in order to complete
factura_mercado/proceso_certificacion.htm>`_
in the SII - Sistema de Facturación de Mercado, this certification enables you to
generate electronic invoices from your ERP and send them automatically to the SII.
If your company has not passed this certification yet, make sure you communicate this
to your Account Manager as a special process outside Odoo is required in order to complete
this certification.
Fiscal Information
@@ -71,7 +71,7 @@ instructions on each section.
.. image:: chile/Chile02.png
:align: center
:alt: Chilean company fiscal data.
Electronic Invoice Data
~~~~~~~~~~~~~~~~~~~~~~~
@@ -87,7 +87,7 @@ Configure DTE Incoming email server
***********************************
In order to receive you the claim and acceptance emails from your customers, it is
crucial to define the DTE incoming email server, considering this configuration:
crucial to define the DTE incoming email server, considering this configuration:
.. image:: chile/Chile03_2.png
:align: center
@@ -95,13 +95,13 @@ crucial to define the DTE incoming email server, considering this configuration:
.. tip::
For your Go-live make sure you archive/remove from your inbox all the emails
related to vendor bills that are not required to be processed in Odoo.
related to vendor bills that are not required to be processed in Odoo.
Certificate
~~~~~~~~~~~
In order to generate the electronic invoice signature, a digital certificate with the extension
``pfx`` is required, proceed to this section and load your file and password.
In order to generate the electronic invoice signature, a digital certificate with the extension ``.pfx``
is required, proceed to this section and load your file and password.
.. image:: chile/Chile03_3.png
:align: center
@@ -109,22 +109,22 @@ In order to generate the electronic invoice signature, a digital certificate wit
.. image:: chile/Chile04.png
:align: center
:alt: Digital certificate configuration.
:alt: Digital certificate configuration.
A certificate can be shared between several users. If this is the case leave the user field empty,
so all your billing users can use the same one. On the other hand, if you need to restrict the
so all your billing users can use the same one. On the other hand, if you need to restrict the
certificate for a particular user, just define the users in the certificate.
.. note::
In some cases, depending on the certificate format, it is possible that the field Subject Serial
Number is not loaded automatically. If this is the case, you can manually edit this field by
filling it with the Certificate's legal representative RUT.
filling it with the Certificates legal representative RUT.
Financial Reports
~~~~~~~~~~~~~~~~~
The report Propuesta F29 requires two values that need to be defined as part of the company
configuration:
configuration:
.. image:: chile/Chile05.png
:align: center
@@ -134,18 +134,18 @@ Multicurrency
~~~~~~~~~~~~~
The official currency rate in Chile is provided by the Chilean service `mindicador.cl
<https://mindicador.cl>`_. You can find this service in the currency rate configuration, and you
can set a predefined interval for the rate updates.
<https://mindicador.cl>`_. You can find this service in the currency rate configuration, and you can
set a predefined interval for the rate updates.
.. image:: chile/Chile05_2.png
:align: center
:alt: Currency reate service for Chile.
Chart of accounts
~~~~~~~~~~~~~~~~~
The chart of accounts is installed by default as part of the set of data included in
the localization module. The accounts are mapped automatically in:
the localization module. The accounts are mapped automatically in:
- Taxes.
- Default Account Payable.
@@ -169,7 +169,7 @@ are now available on the Partner form. This information is essential for most tr
.. image:: chile/Chile06.png
:align: center
:alt: Chilean identification types for partners.
TaxpayerType
************
@@ -179,20 +179,20 @@ a customer is important you make sure this value is set:
.. image:: chile/Chile07.png
:align: center
:alt: Chilean taxpayer types for partners.
:alt: Chilean taxpayer types for partners.
Electronic Invoice Data
***********************
As part of the information that is sent in the electronic Invoice, you need to define the
email that is going to appear as the sender of the electronic invoice to your customer, and
the Industry description.
the Industry description.
.. image:: chile/Chile07_2.png
:align: center
:alt: Chilean electronic invoice data for partners.
Taxes
~~~~~
@@ -209,7 +209,7 @@ Taxes Types
Chile has several tax types, the most common ones are:
- VAT. Is the regular VAT and it can have several rates.
- VAT. Is the regular VAT and it can have several rates.
- ILA (Impuesto a la Ley de Alcholes). Taxes for alcoholic drinks. It has a different rate.
@@ -217,7 +217,7 @@ Fiscal Positions
~~~~~~~~~~~~~~~~
Based on the purchase transactions, the VAT can have different affections. This will be done
in Odoo using the default purchase fiscal positions.
in Odoo using the default purchase fiscal positions.
Document Types
@@ -230,7 +230,7 @@ Chile case: SII).
The document type is essential information that needs to be displayed in the printed reports and
that needs to be easily identified within the set of invoices as well of account moves.
Each document type can have a unique sequence per company. As part of the localization,
Each document type can have a unique sequence per company. As part of the localization,
the Document Type includes the country on which the document is applicable and the data
is created automatically when the localization module is installed.
@@ -239,7 +239,7 @@ fill anything on this view:
.. image:: chile/Chile09.png
:align: center
:alt: Chilean fiscal document types list.
:alt: Chilean fiscal document types list.
.. note::
There are several document types that are inactive by default but can be activated if needed.
@@ -253,7 +253,7 @@ The document type on each transaction will be determined by:
- The Journal related to the Invoice, identifying if the journal uses documents.
- Condition applied based on the type of Issues and Receiver (ex. Type of fiscal
regimen of the buyer and type of fiscal regimen of the vendor).
Journals
--------
@@ -269,7 +269,7 @@ Sales Journals in Odoo usually represent a business unit or location, example:
- Ventas Santiago.
- Ventas Valparaiso.
For the retail stores is common to have one journal per POS:
For the retail stores is common to have one journal per POS:
- Cashier 1.
- Cashier 2.
@@ -289,51 +289,50 @@ bills but can be easily registered using this model, for example:
Configuration
~~~~~~~~~~~~~
When creating sales journals the next information must be filled in:
When creating sales journals the next information must be filled in:
**Point of sale type**: If the Sales journal will be used for electronic documents, the option
Online must be selected. Otherwise, if the journal is used for invoices imported from a previous
system or if you are using the SII portal “Facturación MiPyme“ you can use the option Manual.
system or if you are using the SII portal “Facturación MiPyme“ you can use the option Manual.
**Use Documents**: This field is used to define if the journal will use Document Types. It is only
applicable to Purchase and Sales journals that can be related to the different sets of document
types available in Chile. By default, all the sales journals created will use documents.
applicable to Purchase and Sales journals that can be related to the
different sets of document types available in Chile. By default, all the sales journals created will
use documents.
.. image:: chile/Chile41.png
:align: center
:alt: Document type configuration on Journal.
.. important::
For the Chilean localization, it is important to define the default Debit and Credit accounts
as they are required for one of the debit notes use cases.
.. _chile/caf-documentation:
CAF
---
A CAF (Folio Authorization Code) is required, for each document type that is issued to your
customers, the CAF is a file the SII provides to the Emisor with the folio/sequence authorized
customers, the CAF is a file the SII provides to the Emisor with the folio/sequence authorized
for the electronic invoice documents.
Your company can make several requests for folios and obtain several CAFs, each one associated
with different ranges of folios. The CAFs are shared within all the journals, this means
that you only need one active CAF per document type and it will be applied on all journals.
Please refer to the `SII documentation <https://palena.sii.cl/dte/mn_timbraje.html>`_ to check the
detail on how to acquire the CAF.
Please refer to the SII documentation to check the detail on how to acquire the CAF:
`SII Timbraje <https://palena.sii.cl/dte/mn_timbraje.html>`_.
.. important::
The CAFs required by the SII are different from Production to Test (Certification mode). Make
sure you have the correct CAF set depending on your environment.
Configuration
~~~~~~~~~~~~~
Once you have the CAF files you need to associate them with a document type in Odoo,
in order to add a CAF, just follow these steps:
1. Access to :menuselection:`Accounting --> Settings --> CAF`
2. Upload the file.
3. Save the CAF.
@@ -343,11 +342,11 @@ in order to add a CAF, just follow these steps:
:alt: Steps to add a new CAF.
Once loaded, the status changes to *In Use*. At this moment, when a transaction is used
for this document type, the invoice number takes the first folio in the sequence.
for this document type, the invoice number takes the first folio in the sequence.
.. important::
In case you have used some folios in your previous system, make sure you set the next valid
folio when the first transaction is created.
folio when the first transaction is created.
@@ -357,42 +356,40 @@ Usage and Testing
Electronic Invoice Workflow
---------------------------
In the Chilean localization the electronic Invoice workflow covers the Emission of Customer
Invoices and the reception of Vendor Bills, in the next diagram we explain how the information
transmitted to the SII and between the customers and Vendors.
In the Chilean localization the electronic Invoice workflow covers the Emission of
Customer Invoices and the reception of Vendor Bills, in the next diagram we explain how
the information transmitted to the SII and between the customers and Vendors.
.. image:: chile/Chile14.png
:align: center
:alt: Diagram with Electronic invoice transactions.
Customer invoice Emission
-------------------------
After the partners and journals are created and configured, the invoices are created in the
standard way, for Chile one of the differentiators is the document type which is selected
automatically based on the Taxpayer.
After the partners and journals are created and configured, the invoices are created in
the standard way, for Chile one of the differentiators is the document type which is selected
automatically based on the Taxpayer.
You can manually change the document type if needed.
You can manually change the document type if needed.
.. image:: chile/Chile15.png
:align: center
:alt: Document type selection on invoices.
.. important::
Documents type 33: Electronic Invoice must have at least one item with tax, otherwise the SII
rejects the document validation.
.. _chile/electronic-invoice-validation:
Validation and DTE Status
~~~~~~~~~~~~~~~~~~~~~~~~~
When all the invoice information is filled, either manually or automatically when it's created
from a sales order, proceed to validate the invoice. After the invoice is posted:
When all the invoice information is filled, either manually or automatically when its created
from a sales order, proceed to validate the invoice. After the invoice is posted:
- The DTE File (Electronic Tax Document) is created automatically and added in the chatter.
- The DTE SII status is set as: Pending to be sent.
- The DTE SII status is set as: Pending to be sent.
.. image:: chile/Chile16.png
:align: center
@@ -400,59 +397,60 @@ from a sales order, proceed to validate the invoice. After the invoice is posted
The DTE Status is updated automatically by Odoo with a scheduled action that runs every day
at night, if you need to get the response from the SII immediately you can do it manually as well.
The DTE status workflow is as follows:
The DTE status workflow is as follows:
.. image:: chile/Chile17.png
:align: center
:alt: Transition of DTE statuses.
1. In the first step the DTE is sent to the SII, you can manually send it using the button: Enviar
Ahora, a SII Tack number is generated and assigned to the invoice, you can use this number to
Ahora, a SII Tack number is generated and assigned to the invoice, you can use this number to
check the details the SII sent back by email. The DTE status is updated to Ask for Status.
2. Once the SII response is received Odoo updates the DTE Status, in case you want to do it
manually just click on the button: Verify on SII. The result can either be Accepted, Accepted
2. Once the SII response is received Odoo updates the DTE Status, in case you want to do it
manually just click on the button: Verify on SII. The result can either be Accepted, Accepted
With Objection or Rejected.
.. image:: chile/Chile18.png
:align: center
:alt: Identification transaction for invoice and Status update.
There are several internal status in the SII before you get Acceptance or Rejection, in case you
click continuously the Button Verify in SII, you will receive in the chatter the detail of
those intermediate statuses:
There are several internal status in the SII before you get Acceptance or Rejection, in
case you click continuously the Button Verify in SII, you will receive in the chatter the
detail of those intermediate statuses:
.. image:: chile/Chile18_2.png
:align: center
:alt: Descprtion of each DTE status in the chatter.
3. The final response from the SII, can take on of these values:
**Accepted:** Indicates the invoice information is correct, our document is now fiscally valid
and it's automatically sent to the customer.
**Accepted with objections:** Indicates the invoice information is correct but a minor issue was
identified, nevertheless our document is now fiscally valid and it's automatically sent to the
customer.
**Accepted:** Indicates the invoice information is correct, our document is now fiscally valid
and its automatically sent to the customer.
**Accepted with objections:** Indicates the invoice information is correct but a minor issue
was identified, nevertheless our document is now fiscally valid and its automatically
sent to the customer.
.. image:: chile/Chile19.png
:align: center
:alt: Email track once it is sent to the customer.
**Rejected:** Indicates the information in the invoice is incorrect and needs to be corrected,
the detail of the issue is received in the emails you registered in the SII, if it is properly
configured in Odoo, the details are also retrieved in the chatter once the email server is
processed.
**Rejected:** Indicates the information in the invoice is incorrect and needs to be
corrected, the detail of the issue is received in the emails you registered in the
SII, if it is properly configured in Odoo, the details are also retrieved
in the chatter once the email server is processed.
If the invoice is Rejected please follow this steps:
* Change the document to draft.
* Make the required corrections based on the message received from the SII.
* Post the invoice again.
.. image:: chile/Chile20.png
:align: center
:alt: Message when an invoice is rejected.
@@ -462,9 +460,9 @@ Crossed references
~~~~~~~~~~~~~~~~~~
When the Invoice is created as a result of another fiscal document, the information related to the
originator document must be registered in the Tab Cross Reference, which is commonly used for
credit or debit notes, but in some cases can be used on Customer Invoices as well. In the case of
the credit and debit notes, they are set automatically by Odoo:
originator document must be registered in the Tab Cross Reference, which is commonly used for
credit or debit notes, but in some cases can be used on Customer Invoices as well. In the case of the
credit and debit notes, they are set automatically by Odoo:
.. image:: chile/Chile21.png
:align: center
@@ -498,14 +496,14 @@ Once the invoice has been sent to the customer:
.. image:: chile/Chile23.png
:align: center
:alt: Message with the commercial acceptance from the customer.
Processed for Claimed invoices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Once the invoice has been Accepted by the SII **it can not be cancelled in Odoo**. In case you get
a Claim for your customer the correct way to proceed is with a Credit Note to either cancel the
Invoice or correct it. Please refer to the :ref:`chile/credit-notes` section for more details.
Once the invoice has been Accepted by the SII **it can not be cancelled in Odoo**. In case you
get a Claim for your customer the correct way to proceed is with a Credit Note to either cancel
the Invoice or correct it. Please refer to the Credit Notes section for more details.
.. image:: chile/Chile24.png
:align: center
@@ -515,56 +513,55 @@ Common Errors
~~~~~~~~~~~~~
There are multiple reasons behind a rejection from the SII, but these are some of the common errors
you might have and which is the related solution.
you might have and which is the related solution.
- Error: ``RECHAZO- DTE Sin Comuna Origen.``
*Hint:* Make sure the Company Address is properly filled including the State and City.
*Hint:* Make sure the Company Address is properly filled including the State and City.
- Error en Monto: ``- IVA debe declararse.``
*Hint:* The invoice lines should include one VAT tax, make sure you add one on each invoice line.
*Hint:* The invoice lines should include one VAT tax, make sure you add one on each invoice line.
- Error: ``Rut No Autorizado a Firmar.``
*Hint:* The invoice lines should include one VAT tax, make sure you add one on each invoice line.
*Hint:* The invoice lines should include one VAT tax, make sure you add one on each invoice line.
- Error: ``Fecha/Número Resolucion Invalido RECHAZO- CAF Vencido : (Firma_DTE[AAAA-MM-DD] -
CAF[AAAA-MM-DD]) &gt; 6 meses.``
*Hint:* Try to add a new CAF related to this document as the one you're using is expired.
*Hint:* Try to add a new CAF related to this document as the one youre using is expired.
- Error: ``Element '{http://www.sii.cl/SiiDte%7DRutReceptor': This element is not expected. Expected
is ( {http://www.sii.cl/SiiDte%7DRutEnvia ).``
*Hint:* Make sure the field Document Type and VAT are set either in the Customer and in the main
company.
- GLOSA: ``Usuario sin permiso de envio.``
*Hint:* This error indicates that most likely, your company has not passed the `Certification
process <https://www.sii.cl/factura_electronica/factura_mercado/proceso_certificacion.htm>`_ in
the SII - Sistema de Facturación de Mercado. If this is the case, please contact your Account
Manager or Customer Support as this certification is not part of the the Odoo services, but we
can give you some alternatives.
process <https://www.sii.cl/factura_electronica/factura_mercado/proceso_certificacion.htm>`_ in
the SII - Sistema de Facturación de Mercado. If this is the case, please contact your Account
Manager or Customer Support as this certification is not part of the the Odoo services,
but we can give you some alternatives.
.. _chile/credit-notes:
Credit Notes
------------
When a cancellation or correction is needed over a validated invoice, a credit note must be
generated. It is important to consider that a CAF file is required for the Credit Note,
which is identified as document 64 in the SII.
which is identified as document 64 in the SII.
.. image:: chile/Chile40.png
:align: center
:alt: Creation of CAF for Credit notes.
.. tip::
Refer to the :ref:`CAF section <chile/caf-documentation>` where we described the process to load
the CAF on each document type.
.. tip:: Refer to the CAF section where we described the process to load the CAF on each
document type.
Use Cases
~~~~~~~~~
@@ -572,24 +569,24 @@ Use Cases
Cancel Referenced document
**************************
In case you need to cancel or invalid an Invoice, use the button Add Credit note and select Full
In case you need to cancel or invalid an Invoice, use the button Add Credit note and select Full
Refund, in this case the SII reference Code is automatically set to: Anula Documento de referencia.
.. image:: chile/Chile26.png
:align: center
:alt: Full invoice refund with SII reference code 1.
:align: center
:alt: Full invoice refund with SII reference code 1.
Corrects Referenced Document Text
*********************************
If a correction in the invoice information is required, for example the Street Name, use the button
Add Credit note,select Partial Refund and select the option “Solo corregir Texto”. In this case
the SII reference Code is automatically set to: Corrige el monto del Documento de Referencia.
the SII reference Code is automatically set to: Corrige el monto del Documento de Referencia.
.. image:: chile/Chile27.png
:align: center
:alt: Partial refund to correct text including the corrected value.
Odoo creates a Credit Note with the corrected text in an invoice and price 0.
.. image:: chile/Chile28.png
@@ -597,15 +594,15 @@ Odoo creates a Credit Note with the corrected text in an invoice and price 0.
:alt: Credit note with the corrected value on the invoice lines.
.. important::
It's important to define the default credit account in the Sales journal as it
is taken for this use case in specific.
Its important to define the default credit account in the Sales journal as it
is taken for this use case in specific.
Corrects Referenced Document Amount
***********************************
When a correction on the amounts is required, use the button Add Credit note and select Partial
Refund. In this case the SII reference Code is automatically set to: Corrige el monto del Documento
de Referencia.
When a correction on the amounts is required, use the button Add Credit note
and select Partial Refund. In this case the SII reference Code is automatically
set to: Corrige el monto del Documento de Referencia.
.. image:: chile/Chile30.png
:align: center
@@ -615,8 +612,8 @@ Debit Notes
-----------
As part of the Chilean localization, besides creating credit notes from an existing document you
can also create debit Notes. For this just use the button “Add Debit Note”. The two main use cases
for debit notes are detailed below.
can also create debit Notes. For this just use the button “Add Debit Note”. The two main use
cases for debit notes are detailed below.
Use Cases
~~~~~~~~~
@@ -630,8 +627,8 @@ need to select option 3 in the field Reference code SII:
.. image:: chile/Chile31.png
:align: center
:alt: Debit note for partial refund to crrect amounts, using the SII reference code 3.
In this case Odoo automatically includes the source invoice in the cross reference section:
.. image:: chile/Chile32.png
@@ -642,230 +639,64 @@ Cancel Credit Notes
*******************
In Chile the debits notes are used to cancel a validated Credit Note, in this case just
select the button Add debit note and select the first option in the wizard: *1: Anula
select the button Add debit note and select the first option in the wizard: *1: Anula
Documentos de referencia.*
.. image:: chile/Chile33.png
:align: center
:alt: Creating a debit note to cancel a credit note with the SII code reference 1.
Vendor Bills
------------
As part of the Chilean localization, you can configure your Incoming email server as the same you
have register in the SII in order to:
- Automatically receive the vendor bills DTE and create the vendor bill based on this information.
- Automatically Send the reception acknowledgement to your vendor.
- Accept or Claim the document and send this status to your vendor.
- Automatically receive the vendor bills DTE and create the vendor bill based on this information.
- Automatically Send the reception acknowledgement to your vendor.
- Accept or Claim the document and send this status to your vendor.
Reception
~~~~~~~~~
As soon as the vendor email with the attached DTE is received:
1. The vendor Bill mapping all the information included in the xml.
2. An email is sent to the vendor with the Reception acknowledgement.
3. The DTE status is set as: Acuse de Recibido Enviado
2. An email is sent to the vendor with the Reception acknowledgement.
3. The DTE status is set as: Acuse de Recibido Enviado
.. image:: chile/Chile34.png
:align: center
:alt: Messages recorded in the chatter with the reception notification for the vendor.
:alt: Messages recorded in the chatter with the reception notification for the vendor.
Acceptation
~~~~~~~~~~~
If all the commercial information is correct on your vendor bill then you can accept the document
using the :guilabel:`Aceptar Documento` button. Once this is done the DTE Acceptation Status
changes to :guilabel:`Accepted`` and an email of acceptance is sent to the vendor.
If all the commercial information is correct on your vendor bill, you can accept the document using
the button: Aceptar Documento, once this is done the DTE Acceptation Status changes to: Accepted and
an email of acceptance is sent to the vendor.
.. image:: chile/Chile35.png
:align: center
:alt: Acceptance button in vendor bills to inform vendor the document is comercially accepted.
:alt: Acceptance button in vendor bills to inform the vendor all the document is comercially accepted.
Claim
~~~~~
In case there is a commercial issue or the information is not correct on your vendor bill, you can
Claim the document before validating it, using the button: Claim, once this is done the DTE
Acceptation Status change to: Claim and an email of acceptance is sent to the vendor.
Claim the document before validating it, using the button: Claim, once this is done the DTE
Acceptation Status change to: Claim and an email of acceptance is sent to the vendor.
.. image:: chile/Chile36.png
:align: center
:alt: Claim button in vendor bills to inform the vendor all the document is comercially rejected.
If you claim a vendor bill, the status changes from draft to cancel automatically. Considering this
as best practice, all the Claim documents should be canceled as they won't be valid for your
accounting records.
as best practice, all the Claim documents should be canceled as they wont be valid for your
accounting records.
Delivery Guide
--------------
To install the Delivery Guide module, go to :menuselection:`Apps` and search for :guilabel:`Chile
(l10n_cl)`. Then click :guilabel:`Install` on the module :guilabel:`Chile - E-Invoicing Delivery
Guide`.
.. note::
*Chile - E-Invoicing Delivery Guide* has a dependency with *Chile - Facturación Electrónica*.
Odoo will install the dependency automatically when the Delivery Guide module is installed.
The Delivery Guide module includes sending the DTE to SII and the stamp in PDF reports for
deliveries.
.. image:: chile/chile42.png
:align: center
:alt: Install Delivery Guide Module
Once all configurations have been made for electronic invoices (e.g., uploading a valid company
certificate, setting up master data, etc.), Delivery Guides need their own CAFs. Please refer to the
:ref:`CAF documentation <chile/caf-documentation>` to check the details on how to acquire the CAFs
for electronic Delivery Guides.
Verify the following important information in the *Price for the Delivery Guide* configuration:
- :guilabel:`From Sales Order`: Delivery Guide takes the product price from the Sales Order and
shows it on the document.
- :guilabel:`From Product Template`: Odoo takes the price configured in the product template and
shows it on the document.
- :guilabel:`No show price`: no price is shown in the Delivery Guide.
Electronic delivery guides are used to move stock from one place to another and they can represent
sales, sampling, consignment, internal transfers, and basically any product move.
Delivery Guide from a Sales Process
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When a Sales Order is created and confirmed, a Delivery Order is generated. After validating the
Delivery Order, the option to create a Delivery Guide is activated.
.. image:: chile/chile43.png
:align: center
:alt: Create Delivery Guide Button
When clicking on :guilabel:`Create Delivery Guide` for the first time, a warning message pops up,
showing the following:
.. image:: chile/chile44.png
:align: center
:alt: An example sequence error when creating a Delivery Guide in Odoo
This warning message means the user needs to indicate the next sequence number Odoo has to take to
generate the Delivery Guide, and only only happens the *first time* a Delivery Guide is created in
Odoo. After the first document has been correctly generated, Odoo takes the CAFs next available
number to generate the following Delivery Guide and so on.
After the Delivery Guide is created:
- The DTE file (Electronic Tax Document) is automatically created and added to the chatter.
- The DTE SII status is set as: Pending to be sent.
.. image:: chile/chile45.png
:align: center
:alt: DTE Status in SII and creation of DTE/XML
The DTE Status is automatically updated by Odoo with a scheduled action that runs every day at
night. To get a response from the SII immediately, press the :guilabel:`Send now to SII` button.
Once the Delivery Guide is sent, it may then be printed by clicking on the :guilabel:`Print
Delivery Guide` button.
.. image:: chile/chile46.png
:align: center
:alt: Printing Delivery Guide PDF
Electronic Receipt
------------------
To install the Electronic Receipt module, go to :menuselection:`Apps` and search for
:guilabel:`Chile (l10n_cl)`. Then click :guilabel:`Install` on the module :guilabel:`Chile -
Electronic Receipt`.
.. note::
*Chile - Electronic Receipt* has a dependency with *Chile - Facturación Electrónica*. Odoo will
install the dependency automatically when the E-invoicing Delivery Guide module is installed.
This module contains the electronic receipt and daily sales report, which are automatically sent to
SII.
.. image:: chile/chile47.png
:align: center
:alt: Install Electronic Receipt module
Once all configurations have been made for Electronic Invoices (e.g., uploading a valid company
certificate, setting up master data, etc.), Electronic Receipts need their own CAFs. Please refer
to the :ref:`CAF documentation <chile/caf-documentation>` to check the details on how to acquire the
CAFs for Electronic Receipts.
Electronic Receipts are useful when clients do not need an Electronic Invoice. By default, there is
a partner in the database called *Anonymous Final Consumer* with a generic RUT 66666666-6 and
taxpayer type of *Final Consumer*. This partner can be used for Electronic Receipts or a new record
may be created for the same purpose.
Although Electronic Receipts should be used for final consumers with a generic RUT, it can also be
used for specific partners. After the partners and journals are created and configured, the
Electronic Receipts are created in the standard way as Electronic Invoice, but the type of document
:guilabel:`(39) Electronic Receipt` should be selected, like so:
.. image:: chile/chile48.png
:align: center
:alt: Select type of Document: (39) Boleta Electrónica
Validation and DTE Status
~~~~~~~~~~~~~~~~~~~~~~~~~
When all of the Electronic Receipt information is filled, either manually or automatically from a
Sales Order, proceed to validate the receipt. By default, Electronic Invoice is selected as the
Document Type, however in order to validate the receipt correctly, make sure to edit the Document
Type and change to Electronic Receipt.
After the receipt is posted:
- The DTE file (Electronic Tax Document) is created automatically and added to the chatter.
- The DTE SII status is set as: Pending to be sent.
.. image:: chile/chile49.png
:align: center
:alt: DTE status in SII and creation of DTE/XML
The DTE Status is automatically updated by Odoo with a scheduled action that runs every day at
night. To get a response from the SII immediately, press the :guilabel:`Send now to SII` button.
Please refer to the :ref:`DTE Workflow <chile/electronic-invoice-validation>` for Electronic
Invoices as the workflow for Electronic Receipt follows the same process.
Daily Sales Report
~~~~~~~~~~~~~~~~~~
Once Electronic Receipts have been created, the system creates a daily sales report containing all
Electronic Receipts per day. This report is electronically stamped and sent to the SII overnight in
XML format. These daily reports can be found in :menuselection:`Reports --> Daily Sales Reports`.
.. image:: chile/chile50.png
:align: center
:alt: Find Electronic Receipts in the Reports menu, under Daily Sales Reports
A list of daily reports is displayed with all daily DTE sent to SII.
.. image:: chile/chile51.png
:align: center
:alt: List of Daily Reports
If no Electronic Receipt was made on a particular day, the report is sent but it will not have any
receipts in it. The report will also have an answer from the SII if it was accepted or rejected
(depending on the company's certificate and validated receipts).
.. image:: chile/chile52.png
:align: center
:alt: Daily Sales Book example
.. important::
For Chilean localization, note that the feature tax included in the price is *not* supported for
the Electronic Receipt.
If a Daily Sales Report has already been created for a specific day in another system, the daily
report in Odoo will be rejected due to the sequence number used. If that is the case, the user
has to manually click on :guilabel:`Retry` in order for a new sequence number to be generated
(this action is automatically done by Odoo). Afterwards, users can manually verify report status
with SII or wait for Odoo to update status later at night.
Financial Reports
=================
@@ -875,7 +706,7 @@ Balance Tributario de 8 Columnas
This report presents the accounts in detail (with their respective balances), classifying them
according to their origin and determining the level of profit or loss that the business had within
the evaluated period of time, so that a real and complete knowledge of the status of a company.
the evaluated period of time, so that a real and complete knowledge of the status of a company.
You can find this report in :menuselection:`Accounting --> Accounting --> Reports`
@@ -888,9 +719,9 @@ Propuesta F29
The form F29 is a new system that the SII enabled to taxpayers, and that replaces the Purchase and
Sales Books. This report is integrated by Purchase Register (CR) and the Sales Register (RV).
Its purpose is to support the transactions related to VAT, improving its control and declaration.
Its purpose is to support the transactions related to VAT, improving its control and declaration.
This record is supplied by the electronic tax documents (DTE's) that have been received by the
This record is supplied by the electronic tax documents (DTEs) that have been received by the
SII.
You can find this report in :menuselection:`Accounting --> Accounting --> Reports`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,189 +0,0 @@
=====
India
=====
.. _india/installation:
Installation
============
:ref:`Install <general/install>` the following modules to get all the features of the Indian
localization:
.. list-table::
:header-rows: 1
* - Name
- Technical name
- Description
* - :guilabel:`Indian - Accounting`
- `l10n_in`
- Default :doc:`fiscal localization package <../overview/fiscal_localization_packages>`
* - :guilabel:`Indian E-invoice Integration`
- `l10n_in_edi`
- :ref:`Indian e-invoicing integration <india/e-invoicing>`
.. _india/e-invoicing:
Indian e-invoicing
==================
Odoo is compliant with the **Indian Good and Services Tax (GST) e-Invoice system** requirements.
.. important::
Indian e-invoicing is available from Odoo 15.0. If needed, :doc:`upgrade
</administration/upgrade>` your database.
.. _india/e-invoicing-api:
Registration on your NIC e-Invoice web portal
---------------------------------------------
You must register on the **NIC e-Invoice** web portal to get your **API credentials**. You need
these credentials to :ref:`configure your Odoo Accounting app <india/e-invoicing-configuration>`.
#. Login to the NIC e-Invoice web portal on - https://einvoice1.gst.gov.in/ by clicking on
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`.
.. note::
If you have already registered on the NIC Eway Bill Production portal, then you can use the
same login credentials here.
.. image:: india/e-invoice-system-login.png
:align: center
:alt: Register Odoo ERP system on e-invoice web portal
#. From your dashboard, go to :menuselection:`API Registration --> User Credentials --> Create API
User`.
.. image:: india/e-invoice-create-api-user.png
:align: center
:alt: Click on User Credentials and Create API User
#. After that, you receive an :abbr:`OTP (one-time password)` code to your registered mobile number.
#. Enter the OTP code and click on :guilabel:`Verify OTP`.
.. image:: india/trigger-otp.png
:align: center
:alt: Trigger an OTP to your registerd phone number
#. Select :guilabel:`Through GSP` in the first field, select :guilabel:`Tera Software Limited`
as your GSP, and type in a :guilabel:`Username` and :guilabel:`Password` for your API.
.. image:: india/submit-api-registration-details.png
:align: center
:alt: Submit API specific Username and Password
#. Click on :guilabel:`Submit`.
.. _india/e-invoicing-configuration:
Configuration on Odoo
---------------------
To set up the e-invoice service, go to :menuselection:`Accounting --> Configuration --> Settings -->
Indian Electronic Invoicing`, and enter the :guilabel:`Username` and :guilabel:`Password`.
.. image:: india/e-invoice-setup.png
:align: center
:alt: Setup e-invoice service
.. _india/e-invoicing-journals:
Journals
~~~~~~~~
Your default *sales* journal should be already configured correctly. You can check it or configure
other journals by going to :menuselection:`Accounting --> Configuration --> Journals`. Then, open
your *sales* journal, and in the :guilabel:`Advanced Settings` tab, under :guilabel:`Electronic Data
Interchange`, check :guilabel:`E-Invoice (IN)` and :guilabel:`Save`.
.. image:: india/journal-configuration.png
:align: center
:alt: Journal configuration
.. _india/e-invoicing-workflow:
Workflow
--------
To start invoicing from Odoo, an invoice must be created using the standard invoicing flow, that is,
either from a sales order or the invoice menu in the Accounting application.
.. _india/invoice-validation:
Invoice validation
~~~~~~~~~~~~~~~~~~
Once the invoice is validated, a confirmation message is displayed at the top.
Odoo automatically uploads the JSON-signed file to the government portal after a while. If you want
to process the invoice immediately, you can click on :guilabel:`Process Now`.
.. image:: india/e-invoice-process.png
:align: center
:alt: Indian e-invoicing confirmation message: "The invoice will be processed asynchronously by
the following E-invoicing service : E-Invoice (IN)"
.. note::
- You can find the JSON-signed file in the attached files, in the chatter.
- You can check the status of EDI with web-service under the :guilabel:`EDI Document` tab or the
:guilabel:`Electronic invoicing` field.
.. _india/invoice-pdf-report:
Invoice PDF Report
~~~~~~~~~~~~~~~~~~
Once the invoice is submitted and validated, you can print the invoice PDF report. The report
includes the :abbr:`IRN (Invoice Reference Number)`, acknowledgment number and date, and QR code.
They certify that the invoice is a valid fiscal document.
.. image:: india/invoice-report.png
:align: center
:alt: IRN and QR code
.. _india/edi-cancellation:
EDI Cancellation
~~~~~~~~~~~~~~~~
If you want to cancel an e-invoice, go to the :guilabel:`Other info` tab of the invoice and fill out
the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click on
:guilabel:`Request EDI cancellation`. The status of the :guilabel:`Electronic invoicing` field
changes to :guilabel:`To Cancel`.
.. image:: india/e-invoice-cancellation.png
:align: center
:alt: cancel reason and remarks
.. note::
If you want to abort the cancellation before processing the invoice, then click on
:guilabel:`Call Off EDI Cancellation`.
Once you request to cancel the e-invoice, Odoo automatically submits the JSON Signed file to the
government portal. If you want to process the invoice immediately, you can process it by clicking on
:guilabel:`Process Now`.
.. _india/verify-e-invoice:
Verify the e-invoice from the GST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After submitting an e-invoice, you can also verify the signed invoice from the GST e-Invoice system
website.
#. Download the JSON file from the attached files.
#. Open the e-invoice portal: https://einvoice1.gst.gov.in/ and go to :menuselection:`Search -->
Verify Signed Invoice`.
#. Select the JSON file and submit it.
.. image:: india/verify-invoice.png
:align: center
:alt: select the JSON file for verify invoice
#. You can check the verified signed e-invoice here.
.. image:: india/signed-invoice.png
:align: center
:alt: verified e-invoice

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -8,21 +8,9 @@ Configuration
:ref:`Install <general/install>` the following modules to get all the features of the Luxembourgish
localization:
.. list-table::
:header-rows: 1
* - Name
- Technical name
- Description
* - :guilabel:`Luxembourg - Accounting`
- `l10n_lu`
- Default :doc:`fiscal localization package <../overview/fiscal_localization_packages>`
* - :guilabel:`Luxembourg - Accounting Reports`
- `l10n_lu_reports`
- Country-specific reports
* - :guilabel:`Luxembourg - Annual VAT Report`
- `l10n_lu_reports_annual_vat`
- Country-specific reports
- :guilabel:`Luxembourg - Accounting` (module's technical name: ``l10n_lu``).
- :guilabel:`Luxembourg - Accounting Reports` (module's technical name: ``l10n_lu_reports``).
- :guilabel:`Luxembourg - Annual VAT Report` (module's technical name: ``l10n_lu_reports_annual_vat``).
.. image:: luxembourg/modules.png
:align: center

View File

@@ -31,8 +31,8 @@ localization in Odoo, it is necessary to meet the following requirements:
#. Be registered with the SAT and have an RFC.
#. Have a `Certificate of Digital Seal
<https://www.gob.mx/sat/acciones-y-programas/certificado-de-sello-digital>`_ (CSD).
#. Choose a PAC and purchase stamps. Currently the Mexican location in Odoo works with the following
PACs: `Solución Factible <https://solucionfactible.com/>`_, `Quadrum (formerly Finkok)
#. Choose a PAC and purchase stamps. Currently the Mexican location in Odoo works with two PACs:
`Solución Factible <https://solucionfactible.com/>`_, `Quadrum (formerly Finkok)
<https://cfdiquadrum.com.mx/index.html>`_ and `SW Sapien - Smarter Web <https://sw.com.mx/>`_.
#. Have knowledge and experience with billing, sales and accounting in Odoo. This documentation
contains only the information necessary to enable the use of Odoo in a company based in Mexico.

View File

@@ -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:

View File

@@ -38,10 +38,6 @@ payment dates defined beforehand by the seller.
.. note::
This document is about the *Payment Terms* feature, not *Terms & Conditions*.
.. seealso::
- :doc:`cash_discounts`
- `Odoo Tutorials: Payment Terms <https://www.odoo.com/slides/slide/payment-terms-1679>`_
Configuration
=============
@@ -119,3 +115,7 @@ on the day of issuance, and the balance is due at the end of the following month
The $1000 debited on the Account Receivable is split into two distinct *Journal Items*. Both of
them have their own **Due Date**.
.. seealso::
- :doc:`cash_discounts`
- `Odoo Tutorials: Terms and Conditions (T&C) and Payment Terms <https://www.odoo.com/r/fpv>`_

View File

@@ -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
-------------------------

View File

@@ -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`

View File

@@ -2,120 +2,125 @@
Different ways to record a payment
==================================
In Odoo, payments can either be linked automatically to an invoice or bill or be stand-alone records
for use at a later date.
In Odoo, a payment can either be linked directly to an invoice or be a
stand alone record for use on a later date:
If a payment is **linked to an invoice or bill**, it reduces the amount due of the invoice. You can
have multiple payments related to the same invoice.
- If a payment is linked to an invoice, it reduces the amount due of
the invoice. You can have multiple payments linked to the same
invoice.
If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those outstanding
amounts to reduce unpaid invoices/bills.
- If a payment is not linked to an invoice, the customer has an
outstanding credit with your company, or your company as an
outstanding balance with a vendor. You can use this outstanding
credit/debit to pay future invoices or bills.
Registering payment from an invoice or bill
===========================================
Paying an invoice
=================
When you click on :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a
new journal entry and changes the amount due according to the amount of the payment. The counterpart
is reflected in an outstanding receipts or payments account. At this point, the customer invoice or
vendor bill is marked as :guilabel:`In payment`. Then, when the outstanding account is reconciled
with a bank statement line, the invoice or vendor bill changes to the :guilabel:`Paid` status.
If you register a payment on a customer invoice or a vendor bill, the
payment is automatically reconciled with the invoice reducing the amount
due.
The information icon near the payment line displays more information about the payment. You can
access additional information, such as the related journal, by clicking on :guilabel:`View`.
.. image:: recording/recording01.png
:align: center
.. image:: recording/information-icon.png
:align: center
:alt: See detailed information of a payment
The green icon near the payment line will display more information about
the payment. From there you can choose to open the journal entry or
reconcile the payment.
.. note::
- The customer invoice or vendor bill should be in the status :guilabel:`Posted` to register the
payment.
- When clicking on :guilabel:`Register payment`, you can select the amount to pay and make a
partial or full payment.
- If your main bank account is set as :doc:`oustanding account
<../../bank/setup/outstanding_accounts>`, and the payment is made in Odoo (not related to a
bank statement), invoices and bills are directly registered in the status :guilabel:`Paid`.
- If you unreconciled a payment, it still appears in your books but is no longer linked to the
invoice.
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
created to post the currency exchange gains/losses (reversal) amount.
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
automatically created to post the cash basis tax (reversal) amount.
If you unreconcile a payment, it is still registered in your books but not
linked to the specific invoice any longer. If you unreconcile a payment in a
different currency, Odoo will create a journal entry to reverse the Currency
Exchange Loss/Gain posted at the time of reconciliation.
.. seealso::
- :doc:`../../bank/reconciliation/use_cases`
Payments not tied to an invoice
===============================
Registering payments not tied to an invoice or bill
Registering a payment
---------------------
In the Accounting application, you can create a new payment from the
Sales menu (register a customer payment) or the Purchases menu (pay a
vendor). If you use these menus, the payment is not linked to an
invoice, but can easily be reconciled on an invoice later on.
.. image:: recording/recording02.png
:align: center
When registering a new payment, you must select a customer or vendor,
the payment method, and the amount of the payment. The currency of the
transaction is defined by the payment method. If the payment refers to a
document (sale order, purchase order or invoice), set the reference of
this document in the memo field.
Once confirmed, a journal entry will be posted reflecting the
transaction just made in the accounting application.
Reconciling invoice payments
----------------------------
The easiest way of reconciling a payment with an invoice is to do so on
the invoice directly.
When validating a new invoice, Odoo will warn you that an outstanding
payment for this customer or vendor is available. In this case, you can
reconcile this payment to the invoice near the totals at the bottom,
under "Outstanding Payments".
.. image:: recording/recording03.png
:align: center
Reconciling all your outstanding payments and invoices
------------------------------------------------------
If you want to reconcile all outstanding payments and invoices at once
(instead of doing so one by one), you can use the batch reconciliation
feature within Odoo.
The batch reconciliation feature is available from the dashboard on the
Customer Invoices card and the Vendor Bills card for reconciling
Accounts Receivable and Payable, respectively.
.. image:: recording/recording04.png
:align: center
The payments matching tool will open all unreconciled customers or
vendors and will give you the opportunity to process them all one by
one, doing the matching of all their payments and invoices at once.
.. image:: recording/recording05.png
:align: center
During the reconciliation, if the sum of the debits and credits do not
match, it means there is still a remaining balance that either needs to
be reconciled at a later date, or needs to be written off directly.
Transferring money from one bank account to another
===================================================
When a new payment is registered via the menu :menuselection:`Customers / Vendors --> Payments`, it
is not directly linked to an invoice or bill. Instead, the account receivable or the account payable
are matched with the outstanding account until they are manually matched with their related invoice
or bill.
Just like making a customer or vendor payment, you transfer cash
internally between your bank accounts from the dashboard or from the
menus up top.
Matching invoices and bills with payments
-----------------------------------------
.. image:: recording/recording06.png
:align: center
A blue banner appears when you validate a new invoice or bill and there is an outstanding payment
for this specific customer or vendor. It can easily be matched from the invoice or the bill by
clicking on :guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
This will take you to the same screen you have for receiving and making
payments.
.. image:: recording/add-option.png
:align: center
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with the bank
statement.
.. seealso::
- :doc:`../../bank/reconciliation/use_cases`
Batch payment
-------------
Batch payments allow you to group different payments to ease reconciliation. They are also useful
when you deposit checks to the bank or for SEPA Payments.
Go to :menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting -->
Vendors --> Batch Payments`. In the list view of payments, you can select several payments and group
them in a batch clicking on :menuselection:`Action > Create Batch Payment`.
.. seealso::
- :doc:`../../receivables/customer_payments/batch`
- :doc:`../../receivables/customer_payments/batch_sdd`
Payments matching
-----------------
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
gives you the opportunity to process them all one by one, doing the matching of all their payments
and invoices at once. You can reach this tool from the :menuselection:`Accounting Dashboard -->
Customer Invoices / Vendor Bills`, and click on :guilabel:`` and select :guilabel:`Payments
Matching`, or by going to :menuselection:`Accounting --> Reconciliation`.
.. image:: recording/recording07.png
:align: center
.. note::
During the reconciliation, if the sum of the debits and credits does not match, it means there is
a remaining balance that either needs to be reconciled at a later date or needs to be written off
directly.
When making an internal transfer from one bank account to another, select
the bank you want to apply the transfer from in the dashboard, and in the
register payments screen, you select the transfer to account. Do not go
through this process again in the other bank account or else you will end up
with two journal entries for the same transaction.
Batch payments matching
-----------------------
To reconcile several outstanding payments or invoices at once, for a specific customer or vendor,
the batch reconciliation feature can be used. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You now see all transactions that have not been reconciled yet, and
when you select a customer or vendor, the :guilabel:`Reconcile` option is displayed.
.. image:: recording/reconcile-option.png
:align: center
:alt: See the reconcile option
Reconciling payments with bank statements
=========================================
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
next step is to reconcile it with the related bank statement line to have the transaction finalized
and the invoice or bill marked as :guilabel:`Paid`.
.. seealso::
- :doc:`../../bank/reconciliation/use_cases`
- :doc:`online_payment`
- :doc:`check`
- :doc:`followup`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -8,5 +8,4 @@ Overview
:titlesonly:
overview/main_reports
overview/customize
overview/data_inalterability
overview/customize

View File

@@ -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

View File

@@ -74,16 +74,16 @@ If you can not do that and if you really negotiate some prices with tax
excluded and, for other customers, others prices with tax included, you
must:
#. always store the default price **tax excluded** on the product form, and
apply a tax (price excluded on the product form)
1. always store the default price TAX EXCLUDED on the product form, and
apply a tax (price included on the product form)
#. create a pricelist with prices in **tax included**, for specific
2. create a pricelist with prices in TAX INCLUDED, for specific
customers
#. create a fiscal position that switches the tax excluded to a tax
3. create a fiscal position that switches the tax excluded to a tax
included
#. assign both the pricelist and the fiscal position to customers who
4. assign both the pricelist and the fiscal position to customers who
want to benefit to this pricelist and fiscal position
For the purpose of this documentation, we will use the above use case:
@@ -93,22 +93,6 @@ For the purpose of this documentation, we will use the above use case:
- but we want to sell it at 10€, tax included, in our shops or
eCommerce website
.. _b2b_b2c/ecommerce:
eCommerce
---------
If you only use B2C or B2B prices on your website, simply select the appropriate setting in the
**Website** app settings.
If you have both B2B and B2C prices on a single website, please follow these instructions:
#. Activate the :ref:`developer mode <developer-mode>` and go to :menuselection:`General Settings
--> Users & Companies --> Groups`.
#. Open either `Technical / Tax display B2B` or `Technical / Tax display B2C`.
#. Under the :guilabel:`Users` tab, add the users requiring access to the price type. Add B2C users
in the B2C group and B2B users in the B2B group.
Setting your products
---------------------

View File

@@ -1,29 +1,26 @@
: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/authorize
payment_acquirers/buckaroo
payment_acquirers/flutterwave
payment_acquirers/mollie
payment_acquirers/ogone
payment_acquirers/paypal
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 +28,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,98 +61,90 @@ 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:`Save cards for later <payment_acquirers/features/tokenization>`
- :ref:`Manual capture <payment_acquirers/features/manual_capture>`
- :ref:`Refunds <payment_acquirers/features/refund>`
* - :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:`Alipay <payment_acquirers/alipay>`
- Payment from the acquirer website
-
-
-
-
* - :doc:`AsiaPay <payment_providers/asiapay>`
- Payment from the provider website
* - :doc:`Amazon Payment Services <payment_acquirers/amazon_payment_services>`
- 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:`Mollie <payment_acquirers/mollie>`
- Payment from the acquirer website
-
-
-
* - :doc:`Ogone <payment_acquirers/ogone>`
- Payment from the acquirer website
- |V|
-
* - :doc:`Mollie <payment_providers/mollie>`
- Payment from the provider website
-
* - :doc:`PayPal <payment_acquirers/paypal>`
- Payment from the acquirer website
-
-
-
-
* - :doc:`PayPal <payment_providers/paypal>`
- Payment from the provider website
* - PayU Latam
- Payment from the acquirer website
-
-
-
-
* - :doc:`Razorpay <payment_providers/razorpay>`
- Payment from Odoo
-
- Full only
- Full and partial
-
* - :doc:`SIPS <payment_providers/sips>`
- Payment from the provider website
* - PayUMoney
- Payment from the acquirer 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
- |V|
.. |V| replace::
.. 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 +152,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
------------
Save cards for later
--------------------
If your payment provider 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.
If your payment acquirer supports this feature, customers can choose to save their card details as a
**payment token** in Odoo. When they do, they will not have to enter their card details again when
making a subsequent payment. 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 +194,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 +206,98 @@ 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:
Express checkout
----------------
If your payment provider 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
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 +307,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 +338,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 +346,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 +354,14 @@ 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/buckaroo`
- :doc:`payment_acquirers/mollie`
- :doc:`payment_acquirers/ogone`
- :doc:`payment_acquirers/paypal`
- :doc:`payment_acquirers/sips`
- :doc:`payment_acquirers/stripe`
- :doc:`../websites/ecommerce/shopper_experience/payment_acquirer`

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -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`

View File

@@ -5,14 +5,11 @@ Alipay
`Alipay <https://www.alipay.com/>`_ is an online payments platform established in China by Alibaba
Group.
.. warning::
The provider Alipay is deprecated. It is recommended to use :doc:`asiapay` instead.
Configuration
=============
.. seealso::
- :ref:`payment_providers/add_new`
- :ref:`payment_acquirers/add_new`
Credentials tab
---------------
@@ -36,4 +33,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`

View File

@@ -2,10 +2,10 @@
Amazon Payment Services
=======================
`Amazon Payment Services <https://paymentservices.amazon.com/>`_ or APS is an online payment provider
`Amazon Payment Services <https://flutterwave.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.

View File

@@ -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`

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -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`

View File

@@ -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`

View File

@@ -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`

View File

@@ -6,12 +6,9 @@ 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::
The provider Ogone is deprecated. It is recommended to use :doc:`stripe` instead.
Settings in Ogone
=================
@@ -53,8 +50,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 +99,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
account, and fill out the other fields as configured in your :ref:`Ogone portal <ogone/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>`.

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -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`

View File

@@ -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`

View File

@@ -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.
#. You can continue to :ref:`stripe/local-payment-methods`.
information, you are all set and your payment acquirer is enabled.
#. Your 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,18 +126,18 @@ 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
payment if unsupported payment methods are selected.
.. caution::
Odoo doesn't support the partial capture yet. Be aware that a partial capture from Stripe's
Odoo doesn't support the partial capture yet. Be aware that a partial capture from Stripe's
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.
@@ -169,33 +169,5 @@ listed, you don't have anything to do.
listed above, it is considered enabled with Stripe.
- If a local payment method is not listed above, it is not supported and cannot be enabled.
.. _stripe/express-checkout:
Enable express checkout
=======================
.. seealso::
:ref:`payment_providers/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
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`.
#. 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.
.. tab:: Register manually from Stripe
Visit the `Apple pay web domains page on Stripe
<https://dashboard.stripe.com/settings/payments/apple_pay>`_, or log into your Stripe
dashboard and go to :menuselection:`Settings --> Payments methods --> Apple Pay --> Configure
--> Web domains`. Then, click on :guilabel:`Add new domain` and insert the web domain of your
Odoo database into the pop-up form. Odoo already hosts the verification file of Stripe. Click
on :guilabel:`Add` to register your web domain with Apple.
.. important::
This operation must be repeated whenever your web domain changes.
- :doc:`../payment_acquirers`

View File

@@ -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`

View File

@@ -1,41 +0,0 @@
=======
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:
Configuration on AsiaPay Dashboard
==================================
#. Log into `AsiaPay Dashboard <https://www.paydollar.com/b2c2/eng/merchant/index.jsp>`_ and go to
:menuselection:`Profile --> Account Information`. Copy the values of the :guilabel:`Currency` and
:guilabel:`Secure Hash` fields and save them for later.
#. | Go to :menuselection:`Profile --> Payment Account Settings` and enable the options
:guilabel:`Return Value Link (Datefeed)`
| Enter your Odoo database URL followed by `/payment/asiapay/webhook` in the
:guilabel:`Return Value Link (Datefeed)` text field.
| For example: `https://yourcompany.odoo.com/payment/asiapay/webhook`.
| 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:
Configuration on Odoo
=====================
#. :ref:`Navigate to the payment provider AsiaPay <payment_providers/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
function `SHA1`. If a different function is :ref:`set on your account
<payment_providers/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`

View File

@@ -1,30 +0,0 @@
============
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:
Configuration on Mercado Pago Dashboard
=======================================
#. Log into `Mercado Pago Dashboard <https://www.mercadopago.com.mx/developers/panel>`_
and go to your **Application** or *create* a new one.
#. 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:
Configuration on Odoo
=====================
#. :ref:`Navigate to the payment provider Mercado Pago <payment_providers/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`.
#. Configure the rest of the options to your liking.
.. seealso::
- :doc:`../payment_providers`

View File

@@ -1,47 +0,0 @@
========
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:
Configuration on Razorpay Dashboard
===================================
#. Log into `Razorpay Dashboard <https://dashboard.razorpay.com/>`_ and go to
:menuselection:`Settings --> API Keys`. Generate the new keys and copy the values of the
:guilabel:`Key Id` and :guilabel:`Secret Key` fields and save them for later.
#. | Go to :menuselection:`Settings --> Webhooks`, click on :guilabel:`Create New Webhook`,
and enter your Odoo database URL followed by `/payment/razorpay/webhook` in
the :guilabel:`Webhook URL` text field.
| For example: `https://example.odoo.com/payment/razorpay/webhook`.
#. Fill the :guilabel:`Secret` field with a password of your choice and save it for later.
#. Make sure the :guilabel:`payment.authorized`, :guilabel:`payment.captured`,
:guilabel:`payment.failed`, :guilabel:`refund.failed` and :guilabel:`refund.processed`
checkboxes are ticked.
#. Click on :guilabel:`Create Webhook` to finalize the configuration.
.. _payment_providers/razorpay/configure_odoo:
Configuration on Odoo
=====================
#. :ref:`Navigate to the payment provider Razorpay <payment_providers/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`.
#. Configure the rest of the options to your liking.
.. important::
- 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`

View File

@@ -20,7 +20,7 @@ Setting up a Putaway Rule
In some cases, like for a retail shop storing vegetables and fruits, we have to store products in different locations to maintain product quality.
Lets suppose there are one warehouse location *WH/Stock* and two sub-locations *WH/Stock/Vegetables* and *WH/Stock/Fruits*.
Lets suppose there are one warehouse location *WH/Stock* and two sub-locations *WH/Stock/Vegatable* and *WH/Stock/Fruits*.
To manage those locations, we will create putaway rules. To do so, open the *Inventory* app and go
to :menuselection:`Configuration --> Putaway Rules`. Then, click on create and configure your first

View File

@@ -9,20 +9,16 @@ etc. Formulas are written in Python but programming skills are not required.
Configuration
=============
From the *General Settings*, activate *Google Drive* and *Google Spreadsheet*. The options
From the *General Settings*, active *Google Drive* and *Google Spreadsheet*. The options
*Authorization Code* and *Get Authorization Code* are now available.
.. image:: google_spreadsheets/authori.png
:align: center
:alt: Enable the Google Drive and Google Spreadsheet features in Odoo
Now, link your Google account with Odoo by following these steps:
#. Get Authorization Code
#. Select your Google account
#. Enter your password
#. Copy the code
#. Paste it into the Authorization Code field
Now, link your Google account with Odoo going to :menuselection:`Get Authorization Code -->
select your Google account --> enter your password --> copy the code -->
paste it into the Authorization Code field`.
Create a new Spreadsheet
------------------------
@@ -52,8 +48,8 @@ Link a Spreadsheet with Odoo
Applications
============
You have two different formulas available when using Google Spreadsheet in Odoo: *retrieve data* and
*retrieve grouped sums*.
You have 2 different formulas of using Google Spreadsheet in Odoo: retrieve data and retrieve
grouped sums.
.. warning::
Google Drive limits the execution time of scripts; if the data you requested takes

View File

@@ -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`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Some files were not shown because too many files have changed in this diff Show More