parent
4af7600805
commit
efb6c47e92
@ -17,7 +17,7 @@ You can use a custom domain name to access your Odoo database and websites:
|
|||||||
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
|
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||||
databases for one year. Visitors can then access your website with an address such as
|
databases for one year. Visitors can then access your website with an address such as
|
||||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ On Linux, using an installer
|
|||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
$ sudo dpkg -i <path_to_enterprise_deb>
|
$ sudo dpkg -i <path_to_enterprise_deb>
|
||||||
|
|
||||||
* Update your database to the enterprise packages using
|
* Update your database to the enterprise packages using
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
@ -123,7 +123,7 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Configure Outgoing Email Servers in Odoo.
|
:alt: Configure Outgoing Email Servers in Odoo.
|
||||||
|
|
||||||
Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should
|
Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should
|
||||||
appear. The Odoo database can now send safe, secure emails through Google using OAuth
|
appear. The Odoo database can now send safe, secure emails through Google using OAuth
|
||||||
authentication.
|
authentication.
|
||||||
|
|
||||||
|
@ -259,16 +259,16 @@ This server only keeps one month of backups: 7 daily and 4 weekly backups.
|
|||||||
Dedicated backup servers keep the same backups, as well as 3 additional monthly backups.
|
Dedicated backup servers keep the same backups, as well as 3 additional monthly backups.
|
||||||
To restore or download one of these monthly backups, please `contact us <https://www.odoo.com/help>`_.
|
To restore or download one of these monthly backups, please `contact us <https://www.odoo.com/help>`_.
|
||||||
|
|
||||||
If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python
|
If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python
|
||||||
dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list),
|
dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list),
|
||||||
as either the container will be changed by the installation of new pip packages, either the database itself will be
|
as either the container will be changed by the installation of new pip packages, either the database itself will be
|
||||||
changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially
|
changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially
|
||||||
break things.
|
break things.
|
||||||
|
|
||||||
If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done
|
If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done
|
||||||
by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course,
|
by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course,
|
||||||
as an extra precaution, you can make a backup manually before making big changes in your production sources in case
|
as an extra precaution, you can make a backup manually before making big changes in your production sources in case
|
||||||
something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups
|
something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups
|
||||||
to 5 per day.
|
to 5 per day.
|
||||||
|
|
||||||
The *import database* feature accepts database archives in the format provided by:
|
The *import database* feature accepts database archives in the format provided by:
|
||||||
|
@ -43,7 +43,7 @@ different columns you want to import.
|
|||||||
:alt: Register bank statements manually in Odoo Accounting
|
:alt: Register bank statements manually in Odoo Accounting
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Quicken Interchange Format (.QIF) is an older file format that is no longer supported since 2005.
|
Quicken Interchange Format (.QIF) is an older file format that is no longer supported since 2005.
|
||||||
If possible, prefer OFX files over QIF.
|
If possible, prefer OFX files over QIF.
|
||||||
|
|
||||||
Register bank statements manually
|
Register bank statements manually
|
||||||
|
@ -80,12 +80,12 @@ FAQ
|
|||||||
I have an error when I try to delete my synchronization within Odoo
|
I have an error when I try to delete my synchronization within Odoo
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
Odoo can't permanently delete the connection you have created with the banking institution. However,
|
Odoo can't permanently delete the connection you have created with the banking institution. However,
|
||||||
it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The
|
it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The
|
||||||
error you are seeing is probably a message telling you that the consent was revoked, but the record
|
error you are seeing is probably a message telling you that the consent was revoked, but the record
|
||||||
could not be deleted as it still exists within Salt edge. If you want to remove the connection
|
could not be deleted as it still exists within Salt edge. If you want to remove the connection
|
||||||
completely, please connect to your `Salt Edge account <https://www.saltedge.com/dashboard>`_
|
completely, please connect to your `Salt Edge account <https://www.saltedge.com/dashboard>`_
|
||||||
and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the
|
and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the
|
||||||
record.
|
record.
|
||||||
|
|
||||||
I have an error saying that I have already synchronized this account
|
I have an error saying that I have already synchronized this account
|
||||||
|
@ -63,7 +63,7 @@ Log an internal transfer
|
|||||||
|
|
||||||
The first step is to register the internal payment. To do so go into
|
The first step is to register the internal payment. To do so go into
|
||||||
your accounting dashboard, click on the **more** button of one of your banks
|
your accounting dashboard, click on the **more** button of one of your banks
|
||||||
and select :menuselection:`New --> Internal transfer`.
|
and select :menuselection:`New --> Internal transfer`.
|
||||||
|
|
||||||
.. image:: interbank/interbank01.png
|
.. image:: interbank/interbank01.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -117,7 +117,7 @@ The following window will open:
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
You need to choose counterparts for the payment. Select the correct
|
You need to choose counterparts for the payment. Select the correct
|
||||||
bank statement line corresponding to the payment and click on the
|
bank statement line corresponding to the payment and click on the
|
||||||
**reconcile** button. Close the statement to finish the transaction
|
**reconcile** button. Close the statement to finish the transaction
|
||||||
|
|
||||||
.. image:: interbank/interbank08.png
|
.. image:: interbank/interbank08.png
|
||||||
|
@ -11,7 +11,7 @@ Configuration
|
|||||||
.. image:: manage_cash_register/journal.png
|
.. image:: manage_cash_register/journal.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
||||||
Journals`.
|
Journals`.
|
||||||
|
|
||||||
2. In the tab Journal Entries, the Default Debit and Credit Account can be
|
2. In the tab Journal Entries, the Default Debit and Credit Account can be
|
||||||
|
@ -23,9 +23,9 @@ modules are available:
|
|||||||
- **l10n_ar_reports**: Add VAT Book report which is a legal requirement in Argentine and that holds
|
- **l10n_ar_reports**: Add VAT Book report which is a legal requirement in Argentine and that holds
|
||||||
the VAT detail info of sales or purchases recorded on the journal entries. This module includes as
|
the VAT detail info of sales or purchases recorded on the journal entries. This module includes as
|
||||||
well the VAT summary report that is used to analyze the invoice
|
well the VAT summary report that is used to analyze the invoice
|
||||||
|
|
||||||
- **l10n_ar_edi**: This module includes all technical and functional requirements to generate
|
- **l10n_ar_edi**: This module includes all technical and functional requirements to generate
|
||||||
Electronic Invoice via web service, based on the AFIP regulations.
|
Electronic Invoice via web service, based on the AFIP regulations.
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -48,7 +48,7 @@ fiscal obligation and structure of the company:
|
|||||||
|
|
||||||
.. image:: argentina/argentina02.png
|
.. image:: argentina/argentina02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
Chart of Account
|
Chart of Account
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
@ -75,9 +75,9 @@ Environment
|
|||||||
|
|
||||||
The AFIP infrastructure is replicated in two separate environments, Testing and Production.
|
The AFIP infrastructure is replicated in two separate environments, Testing and Production.
|
||||||
|
|
||||||
Testing is provided so that the Companies can test their developments until they are ready to move
|
Testing is provided so that the Companies can test their developments until they are ready to move
|
||||||
into the Production environment. As these two environments are completely isolated from each other,
|
into the Production environment. As these two environments are completely isolated from each other,
|
||||||
the digital certificates of one instance are not valid in the other one.
|
the digital certificates of one instance are not valid in the other one.
|
||||||
|
|
||||||
Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to select the environment:
|
Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to select the environment:
|
||||||
|
|
||||||
@ -87,10 +87,10 @@ Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to s
|
|||||||
|
|
||||||
AFIP Certificates
|
AFIP Certificates
|
||||||
*****************
|
*****************
|
||||||
The electronic invoice and other afip services work with WebServices (WS) provided by the AFIP.
|
The electronic invoice and other afip services work with WebServices (WS) provided by the AFIP.
|
||||||
|
|
||||||
In order to enable communication with the AFIP, the first step is to request a Digital Certificate
|
In order to enable communication with the AFIP, the first step is to request a Digital Certificate
|
||||||
if you don’t have one already.
|
if you don’t have one already.
|
||||||
|
|
||||||
#. Generate certificate Sign Request (Odoo). When this option is selected a file with extension
|
#. Generate certificate Sign Request (Odoo). When this option is selected a file with extension
|
||||||
``.csr`` (certificate signing request) is generated to be used the AFIP portal to request the
|
``.csr`` (certificate signing request) is generated to be used the AFIP portal to request the
|
||||||
@ -101,7 +101,7 @@ if you don’t have one already.
|
|||||||
#. Generate Certificate (AFIP). Access the AFIP portal and follow the instructions described in the
|
#. Generate Certificate (AFIP). Access the AFIP portal and follow the instructions described in the
|
||||||
next document in order to get a certificate. `Get AFIP Certificate
|
next document in order to get a certificate. `Get AFIP Certificate
|
||||||
<http://www.afip.gob.ar/ws/WSAA/wsaa_obtener_certificado_produccion.pdf>`_.
|
<http://www.afip.gob.ar/ws/WSAA/wsaa_obtener_certificado_produccion.pdf>`_.
|
||||||
|
|
||||||
#. Upload Certificate and Private Key (Odoo). Once the certificate has been generated, it needs to
|
#. Upload Certificate and Private Key (Odoo). Once the certificate has been generated, it needs to
|
||||||
be uploaded in Odoo, using the pencil next in the field “Certificado” and selecting the
|
be uploaded in Odoo, using the pencil next in the field “Certificado” and selecting the
|
||||||
corresponding file.
|
corresponding file.
|
||||||
@ -109,7 +109,7 @@ if you don’t have one already.
|
|||||||
.. image:: argentina/argentina_edi_03.png
|
.. image:: argentina/argentina_edi_03.png
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
In case you need to configure the Homologation Certificate, please refer to the AFIP official
|
In case you need to configure the Homologation Certificate, please refer to the AFIP official
|
||||||
documentation: `Homologation Certificate
|
documentation: `Homologation Certificate
|
||||||
<http://www.afip.gob.ar/ws/documentacion/certificados.asp>`_.
|
<http://www.afip.gob.ar/ws/documentacion/certificados.asp>`_.
|
||||||
|
|
||||||
@ -244,11 +244,11 @@ defines as well:
|
|||||||
#. The structure and data of the electronic invoice file.
|
#. The structure and data of the electronic invoice file.
|
||||||
|
|
||||||
Web Services
|
Web Services
|
||||||
************
|
************
|
||||||
- ``wsfev1: Electronic Invoice.`` This is the most common service,
|
- ``wsfev1: Electronic Invoice.`` This is the most common service,
|
||||||
is used to generated invoices for document types A, B, C, M with no detail per item.
|
is used to generated invoices for document types A, B, C, M with no detail per item.
|
||||||
- ``wsbfev1: Electronic Fiscal Bond.`` For those who invoice capital goods and wish
|
- ``wsbfev1: Electronic Fiscal Bond.`` For those who invoice capital goods and wish
|
||||||
to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For more
|
to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For more
|
||||||
detail you can refer to the next link: `Fiscal Bond
|
detail you can refer to the next link: `Fiscal Bond
|
||||||
<https://www.argentina.gob.ar/acceder-un-bono-por-fabricar-bienes-de-capital>`_.
|
<https://www.argentina.gob.ar/acceder-un-bono-por-fabricar-bienes-de-capital>`_.
|
||||||
- ``wsfexv1: Electronic Exportation Invoice.`` Used to generate invoices for international customers
|
- ``wsfexv1: Electronic Exportation Invoice.`` Used to generate invoices for international customers
|
||||||
@ -282,8 +282,8 @@ can be used:
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
When creating the Purchase journals, it's possible to define if they can be related to document
|
When creating the Purchase journals, it's possible to define if they can be related to document
|
||||||
types or not. In case that the option to use documents is selected, there is no need to manually
|
types or not. In case that the option to use documents is selected, there is no need to manually
|
||||||
associate the document type sequences as the document number is provided by the vendor.
|
associate the document type sequences as the document number is provided by the vendor.
|
||||||
|
|
||||||
|
|
||||||
@ -326,22 +326,22 @@ responsibility type but it can be updated manually by the user.
|
|||||||
|
|
||||||
Electronic Invoice elements
|
Electronic Invoice elements
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
When using electronic invoice, if all the information is correct the Invoice is posted in the
|
When using electronic invoice, if all the information is correct the Invoice is posted in the
|
||||||
standard way, in case that something needs to be addressed (check the section common errors for more
|
standard way, in case that something needs to be addressed (check the section common errors for more
|
||||||
detail), an error message is raised indicating the issue/proposed solution and the invoice remains
|
detail), an error message is raised indicating the issue/proposed solution and the invoice remains
|
||||||
in draft until the related data is corrected.
|
in draft until the related data is corrected.
|
||||||
|
|
||||||
Once the invoice is posted, the information related to the AFIP validation and status is displayed
|
Once the invoice is posted, the information related to the AFIP validation and status is displayed
|
||||||
in the AFIP Tab, including:
|
in the AFIP Tab, including:
|
||||||
|
|
||||||
- AFIP Autorisation: CAE number.
|
- AFIP Autorisation: CAE number.
|
||||||
- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the
|
- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the
|
||||||
CAE is generated.
|
CAE is generated.
|
||||||
- Result:
|
- Result:
|
||||||
|
|
||||||
- Aceptado en AFIP.
|
- Aceptado en AFIP.
|
||||||
- Aceptado con Observaciones.
|
- Aceptado con Observaciones.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_15.png
|
.. image:: argentina/argentina_edi_15.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
@ -378,7 +378,7 @@ Special Use Cases
|
|||||||
Invoices for Services
|
Invoices for Services
|
||||||
*********************
|
*********************
|
||||||
For electronic invoices that include Services, the AFIP requires to report the service starting
|
For electronic invoices that include Services, the AFIP requires to report the service starting
|
||||||
and ending date, this information can be filled in the tab “Other Info”:
|
and ending date, this information can be filled in the tab “Other Info”:
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_06.png
|
.. image:: argentina/argentina_edi_06.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -392,34 +392,34 @@ filled automatically considering the beginning and day of the invoice month:
|
|||||||
|
|
||||||
Exportation Invoices
|
Exportation Invoices
|
||||||
********************
|
********************
|
||||||
The invoices related to Exportation transactions required a Journal that used the AFIP POS
|
The invoices related to Exportation transactions required a Journal that used the AFIP POS
|
||||||
System “Expo Voucher - Web Service” so the proper document type be associated:
|
System “Expo Voucher - Web Service” so the proper document type be associated:
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_08.png
|
.. image:: argentina/argentina_edi_08.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
When the customer selected in the Invoice has set the AFIP responsibility type as “Cliente /
|
When the customer selected in the Invoice has set the AFIP responsibility type as “Cliente /
|
||||||
Proveedor del Exterior” or “IVA Liberado – Ley Nº 19.640”, Odoo automatically assigned:
|
Proveedor del Exterior” or “IVA Liberado – Ley Nº 19.640”, Odoo automatically assigned:
|
||||||
|
|
||||||
- Journal related to the exportation Web Service.
|
- Journal related to the exportation Web Service.
|
||||||
- Exportation document type .
|
- Exportation document type .
|
||||||
- Fiscal position: Compras/Ventas al exterior.
|
- Fiscal position: Compras/Ventas al exterior.
|
||||||
- Concepto AFIP: Products / Definitive export of goods.
|
- Concepto AFIP: Products / Definitive export of goods.
|
||||||
- Exempt Taxes.
|
- Exempt Taxes.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_09.png
|
.. image:: argentina/argentina_edi_09.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The Exportation Documents required the Incoterm in :menuselection:`Other Info --> Accounting`:
|
The Exportation Documents required the Incoterm in :menuselection:`Other Info --> Accounting`:
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_13.png
|
.. image:: argentina/argentina_edi_13.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
Fiscal Bond
|
Fiscal Bond
|
||||||
***********
|
***********
|
||||||
The Electronic Fiscal bond is used for those who invoice capital goods and wish to access
|
The Electronic Fiscal bond is used for those who invoice capital goods and wish to access
|
||||||
the benefit of the Electronic Tax Bonds granted by the Ministry of Economy.
|
the benefit of the Electronic Tax Bonds granted by the Ministry of Economy.
|
||||||
|
|
||||||
For these transactions it’s important to have into consideration the next requirements:
|
For these transactions it’s important to have into consideration the next requirements:
|
||||||
@ -435,77 +435,77 @@ For these transactions it’s important to have into consideration the next requ
|
|||||||
- Quantity.
|
- Quantity.
|
||||||
- Unit of measurement.
|
- Unit of measurement.
|
||||||
- Bonus.
|
- Bonus.
|
||||||
- VAT rate.
|
- VAT rate.
|
||||||
|
|
||||||
|
|
||||||
Electronic Credit Invoice MiPyme (FCE)
|
Electronic Credit Invoice MiPyme (FCE)
|
||||||
**************************************
|
**************************************
|
||||||
|
|
||||||
**Invoices:** There are several document types classified as Mipyme also known as
|
**Invoices:** There are several document types classified as Mipyme also known as
|
||||||
Electronic Credit Invoice (FCE in spanish), which is used to impulse the SME, its purpose is
|
Electronic Credit Invoice (FCE in spanish), which is used to impulse the SME, its purpose is
|
||||||
to develop a mechanism that improves the financing conditions of these companies and allows
|
to develop a mechanism that improves the financing conditions of these companies and allows
|
||||||
them to increase their productivity, through the early collection of credits and receivables
|
them to increase their productivity, through the early collection of credits and receivables
|
||||||
issued to their clients and / or vendors.
|
issued to their clients and / or vendors.
|
||||||
|
|
||||||
For these transactions it’s important to have into consideration the next requirements:
|
For these transactions it’s important to have into consideration the next requirements:
|
||||||
|
|
||||||
- Specific document types (201, 202, 206, etc).
|
- Specific document types (201, 202, 206, etc).
|
||||||
- The emisor should be eligible by the AFIP to MiPyme transactions.
|
- The emisor should be eligible by the AFIP to MiPyme transactions.
|
||||||
- The amount should be bigger than 100,000 ARS.
|
- The amount should be bigger than 100,000 ARS.
|
||||||
- A bank account type CBU must be related to the emisor, otherwise the invoice can’t
|
- A bank account type CBU must be related to the emisor, otherwise the invoice can’t
|
||||||
be validated, having these errors messages for example:
|
be validated, having these errors messages for example:
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_10.png
|
.. image:: argentina/argentina_edi_10.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
**Credit& Debit Notes:** When creating a Credit/Debit note related to a FCE document, it is
|
**Credit& Debit Notes:** When creating a Credit/Debit note related to a FCE document, it is
|
||||||
important take the next points into consideration:
|
important take the next points into consideration:
|
||||||
|
|
||||||
- Use the Credit and Debit Note buttons, so the correct reference of the originator
|
- Use the Credit and Debit Note buttons, so the correct reference of the originator
|
||||||
document passed to the note.
|
document passed to the note.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_11.png
|
.. image:: argentina/argentina_edi_11.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- The document letter should be the same than the originator document (either A or B).
|
- The document letter should be the same than the originator document (either A or B).
|
||||||
- The same currency as the source document must be used. When using a secondary currency
|
- The same currency as the source document must be used. When using a secondary currency
|
||||||
there is an exchange difference if the currency rate is different between the emission day
|
there is an exchange difference if the currency rate is different between the emission day
|
||||||
and the payment date, it’s possible to create a credit/debit note to decrease/increase the
|
and the payment date, it’s possible to create a credit/debit note to decrease/increase the
|
||||||
amount to pay in ARS.
|
amount to pay in ARS.
|
||||||
|
|
||||||
In the workflow we can have two scenarios:
|
In the workflow we can have two scenarios:
|
||||||
|
|
||||||
#. The FCE is rejected so the Credit Note should have the field “FCE, is Cancellation?” as True.
|
#. The FCE is rejected so the Credit Note should have the field “FCE, is Cancellation?” as True.
|
||||||
#. The Credit Note, is created with the negative amount to annulate the FCE document,
|
#. The Credit Note, is created with the negative amount to annulate the FCE document,
|
||||||
in this case the field “FCE, is Cancellation?” must be empty (false).
|
in this case the field “FCE, is Cancellation?” must be empty (false).
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_12.png
|
.. image:: argentina/argentina_edi_12.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Invoice printed report
|
Invoice printed report
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
The PDF report related to electronic invoices that have been validated by the AFIP includes
|
The PDF report related to electronic invoices that have been validated by the AFIP includes
|
||||||
a barcode at the bottom of the format which represent the CAE number, the Expiration Date is
|
a barcode at the bottom of the format which represent the CAE number, the Expiration Date is
|
||||||
also displayed as it’s legal requirement:
|
also displayed as it’s legal requirement:
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_14.png
|
.. image:: argentina/argentina_edi_14.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
Troubleshooting and Auditing
|
Troubleshooting and Auditing
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
For auditing and troubleshooting purposes you can get the detailed information of an
|
For auditing and troubleshooting purposes you can get the detailed information of an
|
||||||
invoice number that has been previously sent to the AFIP,
|
invoice number that has been previously sent to the AFIP,
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_23.png
|
.. image:: argentina/argentina_edi_23.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_24.png
|
.. image:: argentina/argentina_edi_24.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
You can also get the last number used in AFIP for a specific Document Type and POS Number
|
You can also get the last number used in AFIP for a specific Document Type and POS Number
|
||||||
as support for any possible issues on the sequence synchronization between Odoo and AFIP.
|
as support for any possible issues on the sequence synchronization between Odoo and AFIP.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_22.png
|
.. image:: argentina/argentina_edi_22.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -514,8 +514,8 @@ as support for any possible issues on the sequence synchronization between Odoo
|
|||||||
Vendor Bills
|
Vendor Bills
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Based on the purchase journal selected for the vendor bill, the document type is now a required field.
|
Based on the purchase journal selected for the vendor bill, the document type is now a required field.
|
||||||
This value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the
|
This value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the
|
||||||
value can be switched if necessary.
|
value can be switched if necessary.
|
||||||
|
|
||||||
.. image:: argentina/argentina16.png
|
.. image:: argentina/argentina16.png
|
||||||
@ -528,20 +528,20 @@ expected.
|
|||||||
.. image:: argentina/argentina17.png
|
.. image:: argentina/argentina17.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
The vendor bill number is structured in the same way that the invoices with the difference
|
The vendor bill number is structured in the same way that the invoices with the difference
|
||||||
that the document sequence is input by the user: “Document Prefix - Letter - Document number".
|
that the document sequence is input by the user: “Document Prefix - Letter - Document number".
|
||||||
|
|
||||||
|
|
||||||
Validate Vendor Bill number in AFIP
|
Validate Vendor Bill number in AFIP
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
As most companies have internal controls to verify that the vendor bill is related to an AFIP
|
As most companies have internal controls to verify that the vendor bill is related to an AFIP
|
||||||
valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings -->
|
valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings -->
|
||||||
Argentinian Localization --> Validate document in the AFIP`, considering the following levels:
|
Argentinian Localization --> Validate document in the AFIP`, considering the following levels:
|
||||||
|
|
||||||
- **Not available:** The verification is not done (this is the default value).
|
- **Not available:** The verification is not done (this is the default value).
|
||||||
- **Available:** The verification is done, in case the number is not valid
|
- **Available:** The verification is done, in case the number is not valid
|
||||||
it only raises a warning but it allows you to post the vendor bill.
|
it only raises a warning but it allows you to post the vendor bill.
|
||||||
- **Required:** The verification is done and it doesn't allow the user to
|
- **Required:** The verification is done and it doesn't allow the user to
|
||||||
post the vendor bill if the document number is not valid.
|
post the vendor bill if the document number is not valid.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_16.png
|
.. image:: argentina/argentina_edi_16.png
|
||||||
@ -549,13 +549,13 @@ Argentinian Localization --> Validate document in the AFIP`, considering the fol
|
|||||||
|
|
||||||
How to use it in Odoo
|
How to use it in Odoo
|
||||||
*********************
|
*********************
|
||||||
This tool incorporates in the vendor bill a new "Verify on AFIP" button located
|
This tool incorporates in the vendor bill a new "Verify on AFIP" button located
|
||||||
next to the AFIP Authorization code.
|
next to the AFIP Authorization code.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_17.png
|
.. image:: argentina/argentina_edi_17.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
In case it’s not a valid AFIP authorization the value “Rejected” will be
|
In case it’s not a valid AFIP authorization the value “Rejected” will be
|
||||||
displayed and the details of the validation will be added to the chatter.
|
displayed and the details of the validation will be added to the chatter.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_18.png
|
.. image:: argentina/argentina_edi_18.png
|
||||||
@ -566,8 +566,8 @@ Special Use cases
|
|||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
Untaxed Concepts
|
Untaxed Concepts
|
||||||
****************
|
****************
|
||||||
There are some transactions that include items that are not part of the VAT base amount,
|
There are some transactions that include items that are not part of the VAT base amount,
|
||||||
this is commonly used in fuel and gasoline invoices.
|
this is commonly used in fuel and gasoline invoices.
|
||||||
|
|
||||||
The vendor bill will be registered using 1 item for each product that is part of the VAT
|
The vendor bill will be registered using 1 item for each product that is part of the VAT
|
||||||
base amount and an additional item to register the amount of the Exempt concept:
|
base amount and an additional item to register the amount of the Exempt concept:
|
||||||
@ -577,23 +577,23 @@ base amount and an additional item to register the amount of the Exempt concept
|
|||||||
|
|
||||||
Perception Taxes
|
Perception Taxes
|
||||||
****************
|
****************
|
||||||
The vendor bill will be registered using 1 item for each product that is part of the
|
The vendor bill will be registered using 1 item for each product that is part of the
|
||||||
VAT base amount, the perception tax can be added in any of the product lines, as result
|
VAT base amount, the perception tax can be added in any of the product lines, as result
|
||||||
we will have one tax group for the VAT and one for the perception, the perception default
|
we will have one tax group for the VAT and one for the perception, the perception default
|
||||||
value is always 1.00.
|
value is always 1.00.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_20.png
|
.. image:: argentina/argentina_edi_20.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
You should use the pencil that is the next to the Perception amount to edit it
|
You should use the pencil that is the next to the Perception amount to edit it
|
||||||
and set the correct amount.
|
and set the correct amount.
|
||||||
|
|
||||||
.. image:: argentina/argentina_edi_21.png
|
.. image:: argentina/argentina_edi_21.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
After this is done the invoice can be validated.
|
After this is done the invoice can be validated.
|
||||||
|
|
||||||
|
|
||||||
Reports
|
Reports
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
@ -2,44 +2,44 @@
|
|||||||
France
|
France
|
||||||
======
|
======
|
||||||
|
|
||||||
FEC
|
FEC
|
||||||
===
|
===
|
||||||
|
|
||||||
If you have installed the French Accounting, you will be able to download the FEC.
|
If you have installed the French Accounting, you will be able to download the FEC.
|
||||||
For this, go in :menuselection:`Accounting --> Reporting --> France --> FEC`.
|
For this, go in :menuselection:`Accounting --> Reporting --> France --> FEC`.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If you do not see the submenu **FEC**, go in **Apps** and search for the module
|
If you do not see the submenu **FEC**, go in **Apps** and search for the module
|
||||||
called **France-FEC** and verify if it is well installed.
|
called **France-FEC** and verify if it is well installed.
|
||||||
|
|
||||||
French Accounting Reports
|
French Accounting Reports
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
If you have installed the French Accounting, you will have access to some accounting reports specific to France:
|
If you have installed the French Accounting, you will have access to some accounting reports specific to France:
|
||||||
|
|
||||||
- Bilan comptable
|
- Bilan comptable
|
||||||
- Compte de résultats
|
- Compte de résultats
|
||||||
- Plan de Taxes France
|
- Plan de Taxes France
|
||||||
|
|
||||||
Get the VAT anti-fraud certification with Odoo
|
Get the VAT anti-fraud certification with Odoo
|
||||||
==============================================
|
==============================================
|
||||||
|
|
||||||
As of January 1st 2018, a new anti-fraud legislation comes into effect
|
As of January 1st 2018, a new anti-fraud legislation comes into effect
|
||||||
in France and DOM-TOM. This new legislation stipulates certain criteria
|
in France and DOM-TOM. This new legislation stipulates certain criteria
|
||||||
concerning the inalterability, security, storage and archiving of sales data.
|
concerning the inalterability, security, storage and archiving of sales data.
|
||||||
These legal requirements are implemented in Odoo, version 9 onward,
|
These legal requirements are implemented in Odoo, version 9 onward,
|
||||||
through a module and a certificate of conformity to download.
|
through a module and a certificate of conformity to download.
|
||||||
|
|
||||||
Is my company required to use an anti-fraud software?
|
Is my company required to use an anti-fraud software?
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
Your company is required to use an anti-fraud cash register software like
|
Your company is required to use an anti-fraud cash register software like
|
||||||
Odoo (CGI art. 286, I. 3° bis) if:
|
Odoo (CGI art. 286, I. 3° bis) if:
|
||||||
|
|
||||||
* You are taxable (not VAT exempt) in France or any DOM-TOM,
|
* You are taxable (not VAT exempt) in France or any DOM-TOM,
|
||||||
* Some of your customers are private individuals (B2C).
|
* Some of your customers are private individuals (B2C).
|
||||||
|
|
||||||
This rule applies to any company size. Auto-entrepreneurs are exempted from
|
This rule applies to any company size. Auto-entrepreneurs are exempted from
|
||||||
VAT and therefore are not affected.
|
VAT and therefore are not affected.
|
||||||
|
|
||||||
Get certified with Odoo
|
Get certified with Odoo
|
||||||
@ -47,9 +47,9 @@ Get certified with Odoo
|
|||||||
|
|
||||||
Getting compliant with Odoo is very easy.
|
Getting compliant with Odoo is very easy.
|
||||||
|
|
||||||
Your company is requested by the tax administration to deliver a certificate
|
Your company is requested by the tax administration to deliver a certificate
|
||||||
of conformity testifying that your software complies with the anti-fraud
|
of conformity testifying that your software complies with the anti-fraud
|
||||||
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
|
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
|
||||||
`here <https://www.odoo.com/my/contract/french-certification/>`_.
|
`here <https://www.odoo.com/my/contract/french-certification/>`_.
|
||||||
If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise
|
If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise
|
||||||
</administration/maintain/enterprise>` or contact your Odoo service provider.
|
</administration/maintain/enterprise>` or contact your Odoo service provider.
|
||||||
@ -88,52 +88,52 @@ Anti-fraud features
|
|||||||
|
|
||||||
The anti-fraud module introduces the following features:
|
The anti-fraud module introduces the following features:
|
||||||
|
|
||||||
* **Inalterability**: deactivation of all the ways to cancel or modify
|
* **Inalterability**: deactivation of all the ways to cancel or modify
|
||||||
key data of POS orders, invoices and journal entries;
|
key data of POS orders, invoices and journal entries;
|
||||||
* **Security**: chaining algorithm to verify the inalterability;
|
* **Security**: chaining algorithm to verify the inalterability;
|
||||||
* **Storage**: automatic sales closings with computation of both period
|
* **Storage**: automatic sales closings with computation of both period
|
||||||
and cumulative totals (daily, monthly, annually).
|
and cumulative totals (daily, monthly, annually).
|
||||||
|
|
||||||
Inalterability
|
Inalterability
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
All the possible ways to cancel and modify key data of paid POS orders,
|
All the possible ways to cancel and modify key data of paid POS orders,
|
||||||
confirmed invoices and journal entries are deactivated,
|
confirmed invoices and journal entries are deactivated,
|
||||||
if the company is located in France or in any DOM-TOM.
|
if the company is located in France or in any DOM-TOM.
|
||||||
|
|
||||||
.. note:: If you run a multi-companies environment, only the documents of
|
.. note:: If you run a multi-companies environment, only the documents of
|
||||||
such companies are impacted.
|
such companies are impacted.
|
||||||
|
|
||||||
Security
|
Security
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
To ensure the inalterability, every order or journal entry is encrypted
|
To ensure the inalterability, every order or journal entry is encrypted
|
||||||
upon validation.
|
upon validation.
|
||||||
This number (or hash) is calculated from the key data of the document as
|
This number (or hash) is calculated from the key data of the document as
|
||||||
well as from the hash of the precedent documents.
|
well as from the hash of the precedent documents.
|
||||||
|
|
||||||
The module introduces an interface to test the data inalterability.
|
The module introduces an interface to test the data inalterability.
|
||||||
If any information is modified on a document after its validation,
|
If any information is modified on a document after its validation,
|
||||||
the test will fail. The algorithm recomputes all the hashes and compares them
|
the test will fail. The algorithm recomputes all the hashes and compares them
|
||||||
against the initial ones. In case of failure, the system points out the first
|
against the initial ones. In case of failure, the system points out the first
|
||||||
corrupted document recorded in the system.
|
corrupted document recorded in the system.
|
||||||
|
|
||||||
Users with *Manager* access rights can launch the inalterability check.
|
Users with *Manager* access rights can launch the inalterability check.
|
||||||
For POS orders, go to
|
For POS orders, go to
|
||||||
:menuselection:`Point of Sales --> Reporting --> French Statements`.
|
:menuselection:`Point of Sales --> Reporting --> French Statements`.
|
||||||
For invoices or journal entries,
|
For invoices or journal entries,
|
||||||
go to :menuselection:`Invoicing/Accounting --> Reporting --> French Statements`.
|
go to :menuselection:`Invoicing/Accounting --> Reporting --> French Statements`.
|
||||||
|
|
||||||
Storage
|
Storage
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
The system also processes automatic sales closings on a daily, monthly
|
The system also processes automatic sales closings on a daily, monthly
|
||||||
and annual basis.
|
and annual basis.
|
||||||
Such closings distinctly compute the sales total of the period as well as
|
Such closings distinctly compute the sales total of the period as well as
|
||||||
the cumulative grand totals from the very first sales entry recorded
|
the cumulative grand totals from the very first sales entry recorded
|
||||||
in the system.
|
in the system.
|
||||||
|
|
||||||
Closings can be found in the *French Statements* menu of Point of Sale,
|
Closings can be found in the *French Statements* menu of Point of Sale,
|
||||||
Invoicing and Accounting apps.
|
Invoicing and Accounting apps.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -141,15 +141,15 @@ Invoicing and Accounting apps.
|
|||||||
|
|
||||||
* For multi-companies environments, such closings are performed by company.
|
* For multi-companies environments, such closings are performed by company.
|
||||||
|
|
||||||
* POS orders are posted as journal entries at the closing of the POS session.
|
* POS orders are posted as journal entries at the closing of the POS session.
|
||||||
Closing a POS session can be done anytime.
|
Closing a POS session can be done anytime.
|
||||||
To prompt users to do it on a daily basis, the module prevents from resuming
|
To prompt users to do it on a daily basis, the module prevents from resuming
|
||||||
a session opened more than 24 hours ago.
|
a session opened more than 24 hours ago.
|
||||||
Such a session must be closed before selling again.
|
Such a session must be closed before selling again.
|
||||||
|
|
||||||
* A period’s total is computed from all the journal entries posted after the
|
* A period’s total is computed from all the journal entries posted after the
|
||||||
previous closing of the same type, regardless of their posting date.
|
previous closing of the same type, regardless of their posting date.
|
||||||
If you record a new sales transaction for a period already closed,
|
If you record a new sales transaction for a period already closed,
|
||||||
it will be counted in the very next closing.
|
it will be counted in the very next closing.
|
||||||
|
|
||||||
.. tip:: For test & audit purposes such closings can be manually generated in the
|
.. tip:: For test & audit purposes such closings can be manually generated in the
|
||||||
@ -160,14 +160,14 @@ Invoicing and Accounting apps.
|
|||||||
Responsibilities
|
Responsibilities
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Do not uninstall the module! If you do so, the hashes will be reset and none
|
Do not uninstall the module! If you do so, the hashes will be reset and none
|
||||||
of your past data will be longer guaranteed as being inalterable.
|
of your past data will be longer guaranteed as being inalterable.
|
||||||
|
|
||||||
Users remain responsible for their Odoo instance and must use it with
|
Users remain responsible for their Odoo instance and must use it with
|
||||||
due diligence. It is not permitted to modify the source code which guarantees
|
due diligence. It is not permitted to modify the source code which guarantees
|
||||||
the inalterability of data.
|
the inalterability of data.
|
||||||
|
|
||||||
Odoo absolves itself of all and any responsibility in case of changes
|
Odoo absolves itself of all and any responsibility in case of changes
|
||||||
in the module’s functions caused by 3rd party applications not certified by Odoo.
|
in the module’s functions caused by 3rd party applications not certified by Odoo.
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ The chart of accounts SKR03 and SKR04 are both supported in Odoo. You can choose
|
|||||||
one you want by going in :menuselection:`Accounting --> Configuration` then choose the
|
one you want by going in :menuselection:`Accounting --> Configuration` then choose the
|
||||||
package you want in the Fiscal Localization section.
|
package you want in the Fiscal Localization section.
|
||||||
|
|
||||||
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ German Accounting Reports
|
|||||||
|
|
||||||
Here is the list of German-specific reports available on Odoo Enterprise:
|
Here is the list of German-specific reports available on Odoo Enterprise:
|
||||||
|
|
||||||
- Balance Sheet
|
- Balance Sheet
|
||||||
- Profit & Loss
|
- Profit & Loss
|
||||||
- Tax Report (Umsatzsteuervoranmeldung)
|
- Tax Report (Umsatzsteuervoranmeldung)
|
||||||
- Partner VAT Intra
|
- Partner VAT Intra
|
||||||
|
@ -37,7 +37,7 @@ Give Odoo permission to process files
|
|||||||
Since the files are transmitted through Odoo's server before being sent to SDICoop or received by
|
Since the files are transmitted through Odoo's server before being sent to SDICoop or received by
|
||||||
your database, you need to authorize Odoo to process your files from your database.
|
your database, you need to authorize Odoo to process your files from your database.
|
||||||
|
|
||||||
To do this, go to :menuselection:`Accounting --> Settings --> Electronic Invoicing` and click on
|
To do this, go to :menuselection:`Accounting --> Settings --> Electronic Invoicing` and click on
|
||||||
*Register*.
|
*Register*.
|
||||||
|
|
||||||
.. image:: italy/register.png
|
.. image:: italy/register.png
|
||||||
|
@ -5,20 +5,20 @@ Peru
|
|||||||
Introduction
|
Introduction
|
||||||
============
|
============
|
||||||
|
|
||||||
The Peruvian localization has been improved and extended, in this version the next modules are
|
The Peruvian localization has been improved and extended, in this version the next modules are
|
||||||
available:
|
available:
|
||||||
|
|
||||||
- **l10n_pe**: Adds accounting features for the Peruvian localization, which represent the minimal
|
- **l10n_pe**: Adds accounting features for the Peruvian localization, which represent the minimal
|
||||||
configuration required for a company to operate in Peru and under the SUNAT regulations and
|
configuration required for a company to operate in Peru and under the SUNAT regulations and
|
||||||
guidelines. The main elements included in this module are: Chart of account, taxes,
|
guidelines. The main elements included in this module are: Chart of account, taxes,
|
||||||
document types.
|
document types.
|
||||||
|
|
||||||
- **l10n_pe_edi**: includes all technical and functional requirements to generate and validate
|
- **l10n_pe_edi**: includes all technical and functional requirements to generate and validate
|
||||||
Electronic Invoice, based on the SUNAT specification to create and process valid electronic
|
Electronic Invoice, based on the SUNAT specification to create and process valid electronic
|
||||||
documents, for more technical detail you can access the
|
documents, for more technical detail you can access the
|
||||||
`SUNAT EDI specifications <https://cpe.sunat.gob.pe/node/88/>`_,
|
`SUNAT EDI specifications <https://cpe.sunat.gob.pe/node/88/>`_,
|
||||||
that keeps track of new changes and updates.
|
that keeps track of new changes and updates.
|
||||||
The features of this module are based on the resolutions published on the
|
The features of this module are based on the resolutions published on the
|
||||||
`SUNAT Legislation <https://www.sunat.gob.pe/legislacion/general/index.html/>`_.
|
`SUNAT Legislation <https://www.sunat.gob.pe/legislacion/general/index.html/>`_.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -27,24 +27,24 @@ Configuration
|
|||||||
Install the Peruvian localization modules
|
Install the Peruvian localization modules
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
Go to *Apps* and search for Peru, then click Install in the module Peru EDI. This module has a
|
Go to *Apps* and search for Peru, then click Install in the module Peru EDI. This module has a
|
||||||
dependency with *Peru - Accounting*. In case this last one is not installed, Odoo installs it
|
dependency with *Peru - Accounting*. In case this last one is not installed, Odoo installs it
|
||||||
automatically within EDI.
|
automatically within EDI.
|
||||||
|
|
||||||
.. image:: peru/peru-modules.png
|
.. image:: peru/peru-modules.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Module" filter is set on "Peru"
|
:alt: The "Module" filter is set on "Peru"
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
When you install a database from scratch selecting Peru as country, Odoo automatically
|
When you install a database from scratch selecting Peru as country, Odoo automatically
|
||||||
installs the base module: Peru - Accounting.
|
installs the base module: Peru - Accounting.
|
||||||
|
|
||||||
Configure your company
|
Configure your company
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
In addition to the basic information in the Company, we need to set Peru as the Country, this is
|
In addition to the basic information in the Company, we need to set Peru as the Country, this is
|
||||||
essential for the Electronic Invoice to work properly. The field **Address Type Code** represents
|
essential for the Electronic Invoice to work properly. The field **Address Type Code** represents
|
||||||
the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor
|
the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor
|
||||||
Registration):
|
Registration):
|
||||||
|
|
||||||
.. image:: peru/peru-company.png
|
.. image:: peru/peru-company.png
|
||||||
@ -53,18 +53,18 @@ Registration):
|
|||||||
|
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
In case the Address type code is unknown, you can set it as the default value: 0000. Be aware
|
In case the Address type code is unknown, you can set it as the default value: 0000. Be aware
|
||||||
that if an incorrect value is entered, the Electronic invoice validation might have errors.
|
that if an incorrect value is entered, the Electronic invoice validation might have errors.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The NIF should be set following the RUC format.
|
The NIF should be set following the RUC format.
|
||||||
|
|
||||||
|
|
||||||
Chart of Account
|
Chart of Account
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The chart of accounts is installed by default as part of the set of data included in the
|
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:
|
localization module, the accounts are mapped automatically in:
|
||||||
|
|
||||||
- Taxes
|
- Taxes
|
||||||
- Default Account Payable.
|
- Default Account Payable.
|
||||||
@ -77,20 +77,20 @@ accounting.
|
|||||||
Accounting Settings
|
Accounting Settings
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Once the modules are installed and the basic information of your company is set, you need to
|
Once the modules are installed and the basic information of your company is set, you need to
|
||||||
configure the elements required for Electronic Invoice. For this, go to :menuselection:`Accounting
|
configure the elements required for Electronic Invoice. For this, go to :menuselection:`Accounting
|
||||||
--> Settings --> Peruvian Localization`.
|
--> Settings --> Peruvian Localization`.
|
||||||
|
|
||||||
Basic Concepts
|
Basic Concepts
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Here are some terms that are essential on the Peruvian localization:
|
Here are some terms that are essential on the Peruvian localization:
|
||||||
|
|
||||||
- **EDI**: Electronic Data Interchange, which in this refers to the Electronic Invoice.
|
- **EDI**: Electronic Data Interchange, which in this refers to the Electronic Invoice.
|
||||||
- **SUNAT**: is the organization that enforces customs and taxation in Peru.
|
- **SUNAT**: is the organization that enforces customs and taxation in Peru.
|
||||||
- **OSE**: Electronic Service Operator, `OSE SUNAT's definition
|
- **OSE**: Electronic Service Operator, `OSE SUNAT's definition
|
||||||
<https://cpe.sunat.gob.pe/aliados/ose#:~:text=El%20Operador%20de%20Servicios%20Electr%C3%B3nicos%20(OSE)%20es%20qui%C3%A9n%20se%20encarga,otro%20documento%20que%20se%20emita>`_.
|
<https://cpe.sunat.gob.pe/aliados/ose#:~:text=El%20Operador%20de%20Servicios%20Electr%C3%B3nicos%20(OSE)%20es%20qui%C3%A9n%20se%20encarga,otro%20documento%20que%20se%20emita>`_.
|
||||||
- **CDR**: Receipt certificate (Constancia de Recepción).
|
- **CDR**: Receipt certificate (Constancia de Recepción).
|
||||||
- **SOL Credentials**: Sunat Operaciones en Línea. User and password are provided by the SUNAT and
|
- **SOL Credentials**: Sunat Operaciones en Línea. User and password are provided by the SUNAT and
|
||||||
grant access to Online Operations systems.
|
grant access to Online Operations systems.
|
||||||
|
|
||||||
@ -112,12 +112,12 @@ IAP (Odoo In-App Purchase)
|
|||||||
**************************
|
**************************
|
||||||
|
|
||||||
This is the default and the suggested option, considering the digital ceritificate is included as
|
This is the default and the suggested option, considering the digital ceritificate is included as
|
||||||
part of the service.
|
part of the service.
|
||||||
|
|
||||||
.. image:: peru/peru-IAP.png
|
.. image:: peru/peru-IAP.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: IAP option as signature providers
|
:alt: IAP option as signature providers
|
||||||
|
|
||||||
What is the IAP?
|
What is the IAP?
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -146,34 +146,34 @@ Package.
|
|||||||
| 20,000 | 440 |
|
| 20,000 | 440 |
|
||||||
+---------+-----+
|
+---------+-----+
|
||||||
|
|
||||||
The credits are consumed per each document that is sent to the OSE.
|
The credits are consumed per each document that is sent to the OSE.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
If you have a validation error and the document needs to be sent one more time, one additional
|
If you have a validation error and the document needs to be sent one more time, one additional
|
||||||
credit will be charged. Therefore, it is paramount that you verify all information is correct
|
credit will be charged. Therefore, it is paramount that you verify all information is correct
|
||||||
before sending your document to the OSE.
|
before sending your document to the OSE.
|
||||||
|
|
||||||
What do you need to do?
|
What do you need to do?
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
- In Odoo, once your enterprise contract is activated and you start working in Production, you
|
- In Odoo, once your enterprise contract is activated and you start working in Production, you
|
||||||
need to buy credits once the first 1000 are consumed.
|
need to buy credits once the first 1000 are consumed.
|
||||||
- As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your
|
- As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your
|
||||||
company on the SUNAT website. This is a simple process. For more information, please check
|
company on the SUNAT website. This is a simple process. For more information, please check
|
||||||
`OSE Affiliation guide
|
`OSE Affiliation guide
|
||||||
<https://drive.google.com/file/d/1BkrMTZIiJyi5XI0lGMi3rbMzHddOL1pa/view?usp=sharing>`_.
|
<https://drive.google.com/file/d/1BkrMTZIiJyi5XI0lGMi3rbMzHddOL1pa/view?usp=sharing>`_.
|
||||||
- Register Digiflow as the authorized PSE, please check
|
- Register Digiflow as the authorized PSE, please check
|
||||||
`PSE Affiliation guide
|
`PSE Affiliation guide
|
||||||
<https://drive.google.com/file/d/1QZoqWvtQERpS0pqp6LcKmw7EBlm9EroU/view?usp=sharing>`_.
|
<https://drive.google.com/file/d/1QZoqWvtQERpS0pqp6LcKmw7EBlm9EroU/view?usp=sharing>`_.
|
||||||
|
|
||||||
Digiflow
|
Digiflow
|
||||||
********
|
********
|
||||||
|
|
||||||
This option can be used as an alternative, instead of using the IAP services you can send your
|
This option can be used as an alternative, instead of using the IAP services you can send your
|
||||||
document validation directly to Digiflow. In this case you need to consider:
|
document validation directly to Digiflow. In this case you need to consider:
|
||||||
|
|
||||||
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
|
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
|
||||||
process to acquire it, please refer to `SUNAT Digital Ceritifcates
|
process to acquire it, please refer to `SUNAT Digital Ceritifcates
|
||||||
<https://cpe.sunat.gob.pe/informacion_general/certificados_digitales/>`_.
|
<https://cpe.sunat.gob.pe/informacion_general/certificados_digitales/>`_.
|
||||||
- Sign a service agreement directly with `Digiflow <https://www.digiflow.pe/>`_.
|
- Sign a service agreement directly with `Digiflow <https://www.digiflow.pe/>`_.
|
||||||
- Provide your SOL credentials.
|
- Provide your SOL credentials.
|
||||||
@ -185,14 +185,14 @@ document validation directly to Digiflow. In this case you need to consider:
|
|||||||
SUNAT
|
SUNAT
|
||||||
*****
|
*****
|
||||||
|
|
||||||
In case your company wants to sign directly with the SUNAT, it is possible to select this option
|
In case your company wants to sign directly with the SUNAT, it is possible to select this option
|
||||||
in your configuration. In this case you need to consider:
|
in your configuration. In this case you need to consider:
|
||||||
- Get the SUNAT Certification process accepted.
|
- Get the SUNAT Certification process accepted.
|
||||||
|
|
||||||
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
|
- Buy your own digital Certificate: For more detail regarding the official vendor list, and the
|
||||||
process to acquire it, please refer to `SUNAT Digital Ceritifcates
|
process to acquire it, please refer to `SUNAT Digital Ceritifcates
|
||||||
<https://cpe.sunat.gob.pe/informacion_general/certificados_digitales/>`_.
|
<https://cpe.sunat.gob.pe/informacion_general/certificados_digitales/>`_.
|
||||||
|
|
||||||
- Provide you SOL credentials.
|
- Provide you SOL credentials.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
@ -202,14 +202,14 @@ in your configuration. In this case you need to consider:
|
|||||||
Testing environment
|
Testing environment
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Odoo provides a testing environment that can be activated before your company goes into production.
|
Odoo provides a testing environment that can be activated before your company goes into production.
|
||||||
|
|
||||||
When using the testing environment and the IAP signature, you don’t need to buy testing credits
|
When using the testing environment and the IAP signature, you don’t need to buy testing credits
|
||||||
for your transactions as all of them are validated by default.
|
for your transactions as all of them are validated by default.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
By default the databases are set to work on production, make sure to enable the testing mode
|
By default the databases are set to work on production, make sure to enable the testing mode
|
||||||
if needed.
|
if needed.
|
||||||
|
|
||||||
Certificate
|
Certificate
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
@ -221,17 +221,17 @@ password.
|
|||||||
.. image:: peru/peru-Certificate.png
|
.. image:: peru/peru-Certificate.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: EDI Certificate wizard
|
:alt: EDI Certificate wizard
|
||||||
|
|
||||||
Multicurrency
|
Multicurrency
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
The official currency exchange rate in Peru is provided by the Bank of Peru. Odoo can connect
|
The official currency exchange rate in Peru is provided by the Bank of Peru. Odoo can connect
|
||||||
directly to its services and get the currency rate either automatically or manually.
|
directly to its services and get the currency rate either automatically or manually.
|
||||||
|
|
||||||
.. image:: peru/peru-multicurrency.png
|
.. image:: peru/peru-multicurrency.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Bank of Peru is displayed in Multicurrency Service option
|
:alt: Bank of Peru is displayed in Multicurrency Service option
|
||||||
|
|
||||||
Please refer to the next section in our documentation for more information about :doc:`multicurrency
|
Please refer to the next section in our documentation for more information about :doc:`multicurrency
|
||||||
<../../others/multicurrencies/how_it_works>`.
|
<../../others/multicurrencies/how_it_works>`.
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ Configure Master data
|
|||||||
Taxes
|
Taxes
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
As part of the localization module the taxes are created automatically with their related
|
As part of the localization module the taxes are created automatically with their related
|
||||||
financial account and electronic invoice configuration.
|
financial account and electronic invoice configuration.
|
||||||
|
|
||||||
.. image:: peru/peru-taxes.png
|
.. image:: peru/peru-taxes.png
|
||||||
@ -252,9 +252,9 @@ financial account and electronic invoice configuration.
|
|||||||
EDI Configuration
|
EDI Configuration
|
||||||
*****************
|
*****************
|
||||||
|
|
||||||
As part of the taxes configuration, there are three new fields required for electronic invoice,
|
As part of the taxes configuration, there are three new fields required for electronic invoice,
|
||||||
the taxes created by default have this data included, but in case you create new taxes make
|
the taxes created by default have this data included, but in case you create new taxes make
|
||||||
sure you fill in the fields:
|
sure you fill in the fields:
|
||||||
|
|
||||||
.. image:: peru/peru-taxes-edi.png
|
.. image:: peru/peru-taxes-edi.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -273,15 +273,15 @@ There are two main fiscal positions included by default when you install the Per
|
|||||||
Document Types
|
Document Types
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
In some Latin American countries, including Peru, some accounting transactions like invoices and
|
In some Latin American countries, including Peru, some accounting transactions like invoices and
|
||||||
vendor bills are classified by document types, defined by the government fiscal authorities, in
|
vendor bills are classified by document types, defined by the government fiscal authorities, in
|
||||||
this case by the SUNAT.
|
this case by the SUNAT.
|
||||||
|
|
||||||
Each document type can have a unique sequence per journal where it is assigned. As part of the
|
Each document type can have a unique sequence per journal where it is assigned. As part of the
|
||||||
localization, the Document Type includes the country on which the document is applicable;the data
|
localization, the Document Type includes the country on which the document is applicable;the data
|
||||||
is created automatically when the localization module is installed.
|
is created automatically when the localization module is installed.
|
||||||
|
|
||||||
The information required for the document types is included by default so the user does not need
|
The information required for the document types is included by default so the user does not need
|
||||||
to fill anything on this view:
|
to fill anything on this view:
|
||||||
|
|
||||||
.. image:: peru/peru-document-type.png
|
.. image:: peru/peru-document-type.png
|
||||||
@ -289,7 +289,7 @@ to fill anything on this view:
|
|||||||
:alt: Document Type list
|
:alt: Document Type list
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and
|
Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and
|
||||||
Credit Note.
|
Credit Note.
|
||||||
|
|
||||||
Journals
|
Journals
|
||||||
@ -298,17 +298,17 @@ Journals
|
|||||||
When creating Sales Journals, the following information must be filled, in addition to the standard
|
When creating Sales Journals, the following information must be filled, in addition to the standard
|
||||||
fields on the Journals:
|
fields on the Journals:
|
||||||
|
|
||||||
Use Documents
|
Use Documents
|
||||||
*************
|
*************
|
||||||
|
|
||||||
This field is used to define if the journal uses Document Types. It is only applicable to
|
This field is used to define if the journal uses Document Types. It is only applicable to
|
||||||
Purchase and Sales journals, which are the ones that can be related to the different set of
|
Purchase and Sales journals, which are the ones that can be related to the different set of
|
||||||
document types available in Peru. By default, all the sales journals created use documents.
|
document types available in Peru. By default, all the sales journals created use documents.
|
||||||
|
|
||||||
Electronic Data Interchange
|
Electronic Data Interchange
|
||||||
***************************
|
***************************
|
||||||
|
|
||||||
This section indicates which EDI workflow is used in the invoice, for Peru we must select
|
This section indicates which EDI workflow is used in the invoice, for Peru we must select
|
||||||
“Peru UBL 2.1”.
|
“Peru UBL 2.1”.
|
||||||
|
|
||||||
.. image:: peru/peru-journal-edi.png
|
.. image:: peru/peru-journal-edi.png
|
||||||
@ -324,8 +324,8 @@ Partner
|
|||||||
Identification Type and VAT
|
Identification Type and VAT
|
||||||
***************************
|
***************************
|
||||||
|
|
||||||
As part of the Peruvian localization, the identification types defined by the SUNAT are now
|
As part of the Peruvian localization, the identification types defined by the SUNAT are now
|
||||||
available on the Partner form, this information is essential for most transactions either on
|
available on the Partner form, this information is essential for most transactions either on
|
||||||
the sender company and in the customer, make sure you fill in this information in your records.
|
the sender company and in the customer, make sure you fill in this information in your records.
|
||||||
|
|
||||||
.. image:: peru/peru-id-type.png
|
.. image:: peru/peru-id-type.png
|
||||||
@ -336,8 +336,8 @@ the sender company and in the customer, make sure you fill in this information i
|
|||||||
Product
|
Product
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
Additional to the basic information in your products, for the Peruvian localization, the UNSPC
|
Additional to the basic information in your products, for the Peruvian localization, the UNSPC
|
||||||
Code on the product is a required value to be configured.
|
Code on the product is a required value to be configured.
|
||||||
|
|
||||||
.. image:: peru/peru-unspc-code.png
|
.. image:: peru/peru-unspc-code.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -355,27 +355,27 @@ EDI Elements
|
|||||||
|
|
||||||
Once you have configured your master data, the invoices can be created from your sales order or
|
Once you have configured your master data, the invoices can be created from your sales order or
|
||||||
manually. Additional to the basic invoice information described on :doc:`our page about the
|
manually. Additional to the basic invoice information described on :doc:`our page about the
|
||||||
invoicing process <../../receivables/customer_invoices/overview>`, there are a couple of fields
|
invoicing process <../../receivables/customer_invoices/overview>`, there are a couple of fields
|
||||||
required as part of the Peru EDI:
|
required as part of the Peru EDI:
|
||||||
|
|
||||||
- **Document type**: The default value is “Factura Electronica” but you can manually change the
|
- **Document type**: The default value is “Factura Electronica” but you can manually change the
|
||||||
document type if needed and select Boleta for example.
|
document type if needed and select Boleta for example.
|
||||||
|
|
||||||
.. image:: peru/peru-invoice-document-type.png
|
.. image:: peru/peru-invoice-document-type.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Invoice document type field on invoices
|
:alt: Invoice document type field on invoices
|
||||||
|
|
||||||
- **Operation type**: This value is required for Electronic Invoice and indicates the transaction
|
- **Operation type**: This value is required for Electronic Invoice and indicates the transaction
|
||||||
type, the default value is “Internal Sale” but another value can be selected manually when needed,
|
type, the default value is “Internal Sale” but another value can be selected manually when needed,
|
||||||
for example Export of Goods.
|
for example Export of Goods.
|
||||||
|
|
||||||
.. image:: peru/peru-operation-type.png
|
.. image:: peru/peru-operation-type.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Invoice operation type field on invoices
|
:alt: Invoice operation type field on invoices
|
||||||
|
|
||||||
- **EDI Affectation Reason**: In the invoice lines, additional to the Tax there is a field “EDI
|
- **EDI Affectation Reason**: In the invoice lines, additional to the Tax there is a field “EDI
|
||||||
Affectation Reason” that determines the tax scope based on the SUNAT list that is displayed.
|
Affectation Reason” that determines the tax scope based on the SUNAT list that is displayed.
|
||||||
All the taxes loaded by default are associated with a default EDI affection reason, if needed
|
All the taxes loaded by default are associated with a default EDI affection reason, if needed
|
||||||
you can manually select another one when creating the invoice.
|
you can manually select another one when creating the invoice.
|
||||||
|
|
||||||
.. image:: peru/peru-tax-affectation-reason.png
|
.. image:: peru/peru-tax-affectation-reason.png
|
||||||
@ -386,70 +386,70 @@ Invoice validation
|
|||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Once you check all the information in your invoice is correct, you can proceed to validate it. This
|
Once you check all the information in your invoice is correct, you can proceed to validate it. This
|
||||||
action registers the account move and triggers the Electronic invoice workflow to send it to the
|
action registers the account move and triggers the Electronic invoice workflow to send it to the
|
||||||
OSE and the SUNAT. The following message is displayed at the top of the invoice:
|
OSE and the SUNAT. The following message is displayed at the top of the invoice:
|
||||||
|
|
||||||
.. image:: peru/peru-posted-invoice.png
|
.. image:: peru/peru-posted-invoice.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Sending of EDI Invoice in blue
|
:alt: Sending of EDI Invoice in blue
|
||||||
|
|
||||||
Asynchronous means that the document is not sent automatically after the invoice has been posted.
|
Asynchronous means that the document is not sent automatically after the invoice has been posted.
|
||||||
|
|
||||||
Electronic Invoice Status
|
Electronic Invoice Status
|
||||||
*************************
|
*************************
|
||||||
|
|
||||||
**To be Sent**: To be sent: Indicates the document is ready to be sent to the OSE, this can be
|
**To be Sent**: To be sent: Indicates the document is ready to be sent to the OSE, this can be
|
||||||
done either automatically by Odoo with a *cron* that runs every hour, or the user can send it
|
done either automatically by Odoo with a *cron* that runs every hour, or the user can send it
|
||||||
immediately by clicking on the button “Sent now”.
|
immediately by clicking on the button “Sent now”.
|
||||||
|
|
||||||
.. image:: peru/peru-sent-manual.png
|
.. image:: peru/peru-sent-manual.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Send EDI manually
|
:alt: Send EDI manually
|
||||||
|
|
||||||
**Sent**: Indicates the document was sent to the OSE and was successfully validated. As part of
|
**Sent**: Indicates the document was sent to the OSE and was successfully validated. As part of
|
||||||
the validation a ZIP file is downloaded and a message is logged in the chatter indicating the
|
the validation a ZIP file is downloaded and a message is logged in the chatter indicating the
|
||||||
correct Government validation.
|
correct Government validation.
|
||||||
|
|
||||||
.. image:: peru/peru-invoice-sent.png
|
.. image:: peru/peru-invoice-sent.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Message on chatter when the invoice is valid
|
:alt: Message on chatter when the invoice is valid
|
||||||
|
|
||||||
In case there is a validation error the Electronic Invoice status remains in “To be sent” so the
|
In case there is a validation error the Electronic Invoice status remains in “To be sent” so the
|
||||||
corrections can be made and the invoice can be sent again.
|
corrections can be made and the invoice can be sent again.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
One credit is consumed each time that you send a document for validation, in this sense if an
|
One credit is consumed each time that you send a document for validation, in this sense if an
|
||||||
error is detected on an invoice and you send it one more time, two credits are consumed in
|
error is detected on an invoice and you send it one more time, two credits are consumed in
|
||||||
total.
|
total.
|
||||||
|
|
||||||
Common Errors
|
Common Errors
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo
|
There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo
|
||||||
sends a message at the top of the invoice indicating the error details and in the most common
|
sends a message at the top of the invoice indicating the error details and in the most common
|
||||||
cases a hint to fix the issue.
|
cases a hint to fix the issue.
|
||||||
|
|
||||||
If a validation error is received, you have two options:
|
If a validation error is received, you have two options:
|
||||||
|
|
||||||
- In case the error is related to master data on the partner, customer or taxes, you can simply
|
- In case the error is related to master data on the partner, customer or taxes, you can simply
|
||||||
apply the change on the record (example customer identification type) and once it is done click
|
apply the change on the record (example customer identification type) and once it is done click
|
||||||
on the Retry button.
|
on the Retry button.
|
||||||
- If the error is related to some data recorded on the invoice directly (Operation type, missing
|
- If the error is related to some data recorded on the invoice directly (Operation type, missing
|
||||||
data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the
|
data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the
|
||||||
changes, and then send the invoice again to the SUNAT for another validation.
|
changes, and then send the invoice again to the SUNAT for another validation.
|
||||||
|
|
||||||
.. image:: peru/peru-errors.png
|
.. image:: peru/peru-errors.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: List of common errors on invoices
|
:alt: List of common errors on invoices
|
||||||
|
|
||||||
|
|
||||||
For more detail please refert to `Common errors in SUNAT
|
For more detail please refert to `Common errors in SUNAT
|
||||||
<https://www.nubefact.com/codigos-error-sunat/>`_.
|
<https://www.nubefact.com/codigos-error-sunat/>`_.
|
||||||
|
|
||||||
Invoice PDF Report
|
Invoice PDF Report
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed.
|
After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed.
|
||||||
The report includes a QR code, indicating the invoice is a valid fiscal document.
|
The report includes a QR code, indicating the invoice is a valid fiscal document.
|
||||||
|
|
||||||
.. image:: peru/peru-PDF.png
|
.. image:: peru/peru-PDF.png
|
||||||
@ -459,18 +459,18 @@ The report includes a QR code, indicating the invoice is a valid fiscal document
|
|||||||
IAP Credits
|
IAP Credits
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
Odoo’s Electronic IAP offers 1000 credits for free, after these credits are consumed in your
|
Odoo’s Electronic IAP offers 1000 credits for free, after these credits are consumed in your
|
||||||
production database, your company must buy new credits in order to process your transactions.
|
production database, your company must buy new credits in order to process your transactions.
|
||||||
|
|
||||||
Once you run out of credits a red label is displayed at the top of the invoice indicating that
|
Once you run out of credits a red label is displayed at the top of the invoice indicating that
|
||||||
additional credits are required, you can easily buy them by accessing the link provided in
|
additional credits are required, you can easily buy them by accessing the link provided in
|
||||||
the message.
|
the message.
|
||||||
|
|
||||||
.. image:: peru/peru-credits-IAP.png
|
.. image:: peru/peru-credits-IAP.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Buying credits in the IAP
|
:alt: Buying credits in the IAP
|
||||||
|
|
||||||
In the IAP service includes packages with different pricing based on the number of credits.
|
In the IAP service includes packages with different pricing based on the number of credits.
|
||||||
The price list in the IAP is always displayed in EUR.
|
The price list in the IAP is always displayed in EUR.
|
||||||
|
|
||||||
Special Use cases
|
Special Use cases
|
||||||
@ -479,30 +479,30 @@ Special Use cases
|
|||||||
Cancellation process
|
Cancellation process
|
||||||
********************
|
********************
|
||||||
|
|
||||||
Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake.
|
Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake.
|
||||||
If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by
|
If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by
|
||||||
clicking on the button Request Cancellation:
|
clicking on the button Request Cancellation:
|
||||||
|
|
||||||
.. image:: peru/peru-cancellation.png
|
.. image:: peru/peru-cancellation.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Request invoice cancellation button
|
:alt: Request invoice cancellation button
|
||||||
|
|
||||||
In order to cancel an invoice, please provide a cancellation Reason.
|
In order to cancel an invoice, please provide a cancellation Reason.
|
||||||
|
|
||||||
Electronic Invoice Status
|
Electronic Invoice Status
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
**To Cancel**: Indicates the cancellation request is ready to be sent to the OSE, this can be done
|
**To Cancel**: Indicates the cancellation request is ready to be sent to the OSE, this can be done
|
||||||
either automatically by Odoo with a *cron* that runs every hour, or the user can send it
|
either automatically by Odoo with a *cron* that runs every hour, or the user can send it
|
||||||
immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is
|
immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is
|
||||||
created, as a result the next message and CDR File are logged in the chatter:
|
created, as a result the next message and CDR File are logged in the chatter:
|
||||||
|
|
||||||
.. image:: peru/peru-cancellation-cdr.png
|
.. image:: peru/peru-cancellation-cdr.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Cancellation CDR sent by the SUNAT
|
:alt: Cancellation CDR sent by the SUNAT
|
||||||
|
|
||||||
**Cancelled**: Indicates the cancellation request was sent to the OSE and was successfully
|
**Cancelled**: Indicates the cancellation request was sent to the OSE and was successfully
|
||||||
validated. As part of the validation a ZIP file is downloaded and a message is logged in the
|
validated. As part of the validation a ZIP file is downloaded and a message is logged in the
|
||||||
chatter indicating the correct Government validation.
|
chatter indicating the correct Government validation.
|
||||||
|
|
||||||
.. image:: peru/peru-cancelled.png
|
.. image:: peru/peru-cancelled.png
|
||||||
@ -511,14 +511,14 @@ chatter indicating the correct Government validation.
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
One credit is consumed on each cancellation request.
|
One credit is consumed on each cancellation request.
|
||||||
|
|
||||||
Cancellation process
|
Cancellation process
|
||||||
********************
|
********************
|
||||||
|
|
||||||
When creating exportation invoices, take into account the next considerations:
|
When creating exportation invoices, take into account the next considerations:
|
||||||
|
|
||||||
- The Identification type on your customer must be Foreign ID.
|
- The Identification type on your customer must be Foreign ID.
|
||||||
- Operation type in your invoice must be an Exportation one.
|
- Operation type in your invoice must be an Exportation one.
|
||||||
- The taxes included in the invoice lines should be EXP taxes.
|
- The taxes included in the invoice lines should be EXP taxes.
|
||||||
|
|
||||||
.. image:: peru/peru-exp-invoice.png
|
.. image:: peru/peru-exp-invoice.png
|
||||||
@ -528,24 +528,24 @@ When creating exportation invoices, take into account the next considerations:
|
|||||||
Advance Payments
|
Advance Payments
|
||||||
****************
|
****************
|
||||||
|
|
||||||
#. Create the advance payment Invoice and apply its related payment.
|
#. Create the advance payment Invoice and apply its related payment.
|
||||||
#. Create the final invoice without considering the advance payment.
|
#. Create the final invoice without considering the advance payment.
|
||||||
#. Create a credit note for the Final invoice with the advance payment amount.
|
#. Create a credit note for the Final invoice with the advance payment amount.
|
||||||
#. Reconcile the Credit note with the final invoice.
|
#. Reconcile the Credit note with the final invoice.
|
||||||
#. The remaining balance on the final invoice should be paid with a regular payment transaction.
|
#. The remaining balance on the final invoice should be paid with a regular payment transaction.
|
||||||
|
|
||||||
|
|
||||||
Detraction Invoices
|
Detraction Invoices
|
||||||
********************
|
********************
|
||||||
|
|
||||||
When creating invoices that is subject to Detractions, take into account the next considerations:
|
When creating invoices that is subject to Detractions, take into account the next considerations:
|
||||||
|
|
||||||
#. All the products included in the invoice must have these fields configured:
|
#. All the products included in the invoice must have these fields configured:
|
||||||
|
|
||||||
.. image:: peru/peru-detraction.png
|
.. image:: peru/peru-detraction.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Detraction fields on products
|
:alt: Detraction fields on products
|
||||||
|
|
||||||
#. Operation type in your invoice must be ``1001``
|
#. Operation type in your invoice must be ``1001``
|
||||||
|
|
||||||
.. image:: peru/peru-detraction-invoice.png
|
.. image:: peru/peru-detraction-invoice.png
|
||||||
@ -555,8 +555,8 @@ When creating invoices that is subject to Detractions, take into account the nex
|
|||||||
Credit Notes
|
Credit Notes
|
||||||
------------
|
------------
|
||||||
|
|
||||||
When a correction or refund is needed over a validated invoice, a credit note must be generated,
|
When a correction or refund is needed over a validated invoice, a credit note must be generated,
|
||||||
for this just click on the button “Add Credit Note”, a part of the Peruvian localization you need
|
for this just click on the button “Add Credit Note”, a part of the Peruvian localization you need
|
||||||
to prove a Credit Reason selecting one of the options in the list.
|
to prove a Credit Reason selecting one of the options in the list.
|
||||||
|
|
||||||
.. image:: peru/peru-credit-note.png
|
.. image:: peru/peru-credit-note.png
|
||||||
@ -564,9 +564,9 @@ to prove a Credit Reason selecting one of the options in the list.
|
|||||||
:alt: Add Credit Note from invoice
|
:alt: Add Credit Note from invoice
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
When creating your first credit Note, select the Credit Method: Partial Refund, this allows you
|
When creating your first credit Note, select the Credit Method: Partial Refund, this allows you
|
||||||
to define the credit note sequence.
|
to define the credit note sequence.
|
||||||
|
|
||||||
By default the Credit Note is set in the document type:
|
By default the Credit Note is set in the document type:
|
||||||
|
|
||||||
.. image:: peru/peru-credit-note-document.png
|
.. image:: peru/peru-credit-note-document.png
|
||||||
@ -577,13 +577,13 @@ To finish the workflow please follow the instructions on :doc:`our page about Cr
|
|||||||
<../../receivables/customer_invoices/credit_notes>`.
|
<../../receivables/customer_invoices/credit_notes>`.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The EDI workflow for the Credit notes works in the same way as the invoices.
|
The EDI workflow for the Credit notes works in the same way as the invoices.
|
||||||
|
|
||||||
|
|
||||||
Debit Notes
|
Debit Notes
|
||||||
------------
|
------------
|
||||||
|
|
||||||
As part of the Peruvian localization, besides creating credit notes from an existing document
|
As part of the Peruvian localization, besides creating credit notes from an existing document
|
||||||
you can also create debit Notes. For this just use the button “Add Debit Note”.
|
you can also create debit Notes. For this just use the button “Add Debit Note”.
|
||||||
|
|
||||||
By default the Debit Note is set in the document type.
|
By default the Debit Note is set in the document type.
|
||||||
|
@ -9,12 +9,12 @@ In Odoo, there are several Spanish Chart of Accounts that are available by defau
|
|||||||
|
|
||||||
- PGCE PYMEs 2008
|
- PGCE PYMEs 2008
|
||||||
- PGCE Completo 2008
|
- PGCE Completo 2008
|
||||||
- PGCE Entitades
|
- PGCE Entitades
|
||||||
|
|
||||||
You can choose the one you want by going in :menuselection:`Accounting --> Configuration`
|
You can choose the one you want by going in :menuselection:`Accounting --> Configuration`
|
||||||
then choose the package you want in the **Fiscal Localization** section.
|
then choose the package you want in the **Fiscal Localization** section.
|
||||||
|
|
||||||
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
|
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
|
||||||
@ -24,7 +24,7 @@ Spanish Accounting Reports
|
|||||||
|
|
||||||
If the Spanish Accounting Localization is installed, you will have access to accounting reports specific to Spain:
|
If the Spanish Accounting Localization is installed, you will have access to accounting reports specific to Spain:
|
||||||
|
|
||||||
- Balance Sheet
|
- Balance Sheet
|
||||||
- Tax Report (Modelo 111)
|
- Tax Report (Modelo 111)
|
||||||
- Tax Report (Modelo 115)
|
- Tax Report (Modelo 115)
|
||||||
- Tax Report (Modelo 303)
|
- Tax Report (Modelo 303)
|
||||||
|
@ -12,7 +12,7 @@ called *Print ISR*.
|
|||||||
.. image:: switzerland/switzerland00.png
|
.. image:: switzerland/switzerland00.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
The button *Print ISR* only appears there is well a bank account
|
The button *Print ISR* only appears there is well a bank account
|
||||||
defined on the invoice. You can use CH6309000000250097798 as bank
|
defined on the invoice. You can use CH6309000000250097798 as bank
|
||||||
account number and 010391391 as CHF ISR reference.
|
account number and 010391391 as CHF ISR reference.
|
||||||
@ -142,4 +142,4 @@ odoo.com/help.
|
|||||||
.. tip::
|
.. tip::
|
||||||
Don't forget to update your fiscal positions. If you have a version
|
Don't forget to update your fiscal positions. If you have a version
|
||||||
11.1 (or higher), there is nothing to do. Otherwise, you will also
|
11.1 (or higher), there is nothing to do. Otherwise, you will also
|
||||||
have to update your fiscal positions accordingly.
|
have to update your fiscal positions accordingly.
|
||||||
|
@ -17,7 +17,7 @@ From Vendor Bill to Payment
|
|||||||
Record a new vendor bill
|
Record a new vendor bill
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
When a vendor bill is received, you can record it from :menuselection:`Purchases --> Vendor Bills`
|
When a vendor bill is received, you can record it from :menuselection:`Purchases --> Vendor Bills`
|
||||||
in the Accounting application. As a shortcut,
|
in the Accounting application. As a shortcut,
|
||||||
you can also use the **New Bill** feature on the accounting dashboard.
|
you can also use the **New Bill** feature on the accounting dashboard.
|
||||||
|
|
||||||
@ -36,12 +36,12 @@ Save the invoice to update the pre tax and tax amounts at the bottom of
|
|||||||
the screen. You will most likely need to configure the prices of your
|
the screen. You will most likely need to configure the prices of your
|
||||||
products without taxes as Odoo will compute the tax for you.
|
products without taxes as Odoo will compute the tax for you.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
On the bottom left corner, Odoo shows a summary table of all taxes on the vendor bill.
|
On the bottom left corner, Odoo shows a summary table of all taxes on the vendor bill.
|
||||||
In several countries, different methods are accepted to round the totals (round per line,
|
In several countries, different methods are accepted to round the totals (round per line,
|
||||||
or round globally). The default rounding method in Odoo is to round the final prices
|
or round globally). The default rounding method in Odoo is to round the final prices
|
||||||
per line (as you may have different taxes per product. E.g. Alcohol and cigarettes).
|
per line (as you may have different taxes per product. E.g. Alcohol and cigarettes).
|
||||||
However if your vendor has a different tax amount on their bill, you can change the
|
However if your vendor has a different tax amount on their bill, you can change the
|
||||||
amount in the bottom left table to adjust and match.
|
amount in the bottom left table to adjust and match.
|
||||||
|
|
||||||
Validate The Vendor Bill
|
Validate The Vendor Bill
|
||||||
@ -91,8 +91,8 @@ if set it correctly).
|
|||||||
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You can also register a payment to a vendor directly without applying it to a vendor bill.
|
You can also register a payment to a vendor directly without applying it to a vendor bill.
|
||||||
To do that, :menuselection:`Purchases --> Payments`. Then,
|
To do that, :menuselection:`Purchases --> Payments`. Then,
|
||||||
from the vendor bill you will be able to reconcile this payment with directly.
|
from the vendor bill you will be able to reconcile this payment with directly.
|
||||||
|
|
||||||
Printing vendor Checks
|
Printing vendor Checks
|
||||||
|
@ -7,9 +7,9 @@ Overview
|
|||||||
|
|
||||||
Managing budgets is an essential part of running a business. Budgets help
|
Managing budgets is an essential part of running a business. Budgets help
|
||||||
people become more intentional with the way money is spent and direct people
|
people become more intentional with the way money is spent and direct people
|
||||||
to organize and prioritize their work to meet financial goals. They allows
|
to organize and prioritize their work to meet financial goals. They allows
|
||||||
you to plan your desired financial outcome and then measure your actual
|
you to plan your desired financial outcome and then measure your actual
|
||||||
performance against the plan. Odoo manages budgets using both General and Analytic
|
performance against the plan. Odoo manages budgets using both General and Analytic
|
||||||
Accounts.
|
Accounts.
|
||||||
|
|
||||||
We will use the following example to illustrate. We just started a
|
We will use the following example to illustrate. We just started a
|
||||||
@ -17,7 +17,7 @@ project with Smith&Co and we would like to budget the incomes and
|
|||||||
expenses of that project. We plan to have a revenue of 1000 and we don't
|
expenses of that project. We plan to have a revenue of 1000 and we don't
|
||||||
want to spend more than 700.
|
want to spend more than 700.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
First we need to install the relevant apps to use budgeting. The main
|
First we need to install the relevant apps to use budgeting. The main
|
||||||
@ -40,17 +40,17 @@ Budgetary Positions
|
|||||||
Budgetary positions are lists of accounts for which you want to keep
|
Budgetary positions are lists of accounts for which you want to keep
|
||||||
budgets (typically expense or income accounts). They need to be defined
|
budgets (typically expense or income accounts). They need to be defined
|
||||||
so Odoo can know it which accounts he needs to go get the budget
|
so Odoo can know it which accounts he needs to go get the budget
|
||||||
information.
|
information.
|
||||||
|
|
||||||
The budgetary positions act as a type of restriction on what can be recorded
|
The budgetary positions act as a type of restriction on what can be recorded
|
||||||
in the 'practical amount' column in a budget.
|
in the 'practical amount' column in a budget.
|
||||||
|
|
||||||
Each budgetary position can have any number of accounts from the general
|
Each budgetary position can have any number of accounts from the general
|
||||||
ledger (the main chart of accounts) assigned to it, though it must have at least one.
|
ledger (the main chart of accounts) assigned to it, though it must have at least one.
|
||||||
|
|
||||||
If you record a transaction that has an analytic account assigned to it that *is*
|
If you record a transaction that has an analytic account assigned to it that *is*
|
||||||
included in a budget line but one of the general ledger accounts *is not* included
|
included in a budget line but one of the general ledger accounts *is not* included
|
||||||
in the budgetary position for that same budget line, it will not appear within the
|
in the budgetary position for that same budget line, it will not appear within the
|
||||||
'practical amount' column of that budget line.
|
'practical amount' column of that budget line.
|
||||||
|
|
||||||
Some budgetary positions might be already installed with your chart of
|
Some budgetary positions might be already installed with your chart of
|
||||||
|
@ -19,7 +19,7 @@ First, install the three applications necessary to use this
|
|||||||
functionality, namely **Accounting**, **Sales** and **Timesheet**. Enter the apps
|
functionality, namely **Accounting**, **Sales** and **Timesheet**. Enter the apps
|
||||||
module name and install them.
|
module name and install them.
|
||||||
|
|
||||||
.. image:: timesheets/timesheets14.png
|
.. image:: timesheets/timesheets14.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. image:: timesheets/timesheets05.png
|
.. image:: timesheets/timesheets05.png
|
||||||
@ -51,14 +51,14 @@ cost of 18 euros / hours. We will thus fill in 18 in this field.
|
|||||||
.. image:: timesheets/timesheets07.png
|
.. image:: timesheets/timesheets07.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you want the employee to be able to enter timesheets he
|
If you want the employee to be able to enter timesheets he
|
||||||
needs to be related to a User.
|
needs to be related to a User.
|
||||||
|
|
||||||
Repeat the operation to create the Cedric Digory employee. Don't forget
|
Repeat the operation to create the Cedric Digory employee. Don't forget
|
||||||
to specify its related user and **Timesheet Costs**.
|
to specify its related user and **Timesheet Costs**.
|
||||||
|
|
||||||
Issue a Sales Order
|
Issue a Sales Order
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
We created two employees called Harry Potter and Cedric Diggory in the
|
We created two employees called Harry Potter and Cedric Diggory in the
|
||||||
@ -121,7 +121,7 @@ Without filters
|
|||||||
|
|
||||||
If we pointed all our costs and revenues of the project on the correct
|
If we pointed all our costs and revenues of the project on the correct
|
||||||
analytical account we can easily retrieve the cost and revenues related
|
analytical account we can easily retrieve the cost and revenues related
|
||||||
to this analytical account. Enter the *Accounting* app, select
|
to this analytical account. Enter the *Accounting* app, select
|
||||||
:menuselection:`Adviser --> Analytic Accounts --> Open Charts`.
|
:menuselection:`Adviser --> Analytic Accounts --> Open Charts`.
|
||||||
|
|
||||||
Note : you can specify a period for **Analysis**. If you want to open the
|
Note : you can specify a period for **Analysis**. If you want to open the
|
||||||
|
@ -18,7 +18,7 @@ Configuration
|
|||||||
Enable multi-currencies
|
Enable multi-currencies
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
In the accounting module, Go to :menuselection:`Configuration --> Settings`
|
In the accounting module, Go to :menuselection:`Configuration --> Settings`
|
||||||
and flag **Allow multi currencies**, then click on **apply**.
|
and flag **Allow multi currencies**, then click on **apply**.
|
||||||
|
|
||||||
.. image:: exchange/exchange_rate03.png
|
.. image:: exchange/exchange_rate03.png
|
||||||
@ -36,9 +36,9 @@ in **Dollars**.
|
|||||||
.. image:: exchange/exchange_rate08.png
|
.. image:: exchange/exchange_rate08.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
You can automatically fetch the currency rates from the **European
|
You can automatically fetch the currency rates from the **European
|
||||||
Central Bank** or from **Yahoo**. Please read the document :
|
Central Bank** or from **Yahoo**. Please read the document :
|
||||||
:doc:`how_it_works`.
|
:doc:`how_it_works`.
|
||||||
|
|
||||||
Configure your journal
|
Configure your journal
|
||||||
@ -61,7 +61,7 @@ that you can register payments only in this currency.
|
|||||||
Record a payment in a different currency
|
Record a payment in a different currency
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
In the **Accounting** application, go to :menuselection:`Sales --> Payments`.
|
In the **Accounting** application, go to :menuselection:`Sales --> Payments`.
|
||||||
Register the payment and indicate that it was done in the foreign currency. Then
|
Register the payment and indicate that it was done in the foreign currency. Then
|
||||||
click on **confirm**.
|
click on **confirm**.
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ Record a bank statement in a different currency
|
|||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
Create or import the bank statement of your payment. The **Amount** is in
|
Create or import the bank statement of your payment. The **Amount** is in
|
||||||
the company currency. There are two complementary fields, the **Amount currency**,
|
the company currency. There are two complementary fields, the **Amount currency**,
|
||||||
which is the amount that was actually paid and the **Currency** in which it was paid.
|
which is the amount that was actually paid and the **Currency** in which it was paid.
|
||||||
|
|
||||||
.. image:: exchange/exchange_rate07.png
|
.. image:: exchange/exchange_rate07.png
|
||||||
|
@ -63,7 +63,7 @@ Live Currency Rate
|
|||||||
|
|
||||||
By default, the currencies need to be updated manually. But you can
|
By default, the currencies need to be updated manually. But you can
|
||||||
synchronize it with `Yahoo <https://finance.yahoo.com/currency-converter/>`__ or
|
synchronize it with `Yahoo <https://finance.yahoo.com/currency-converter/>`__ or
|
||||||
the `European Central Bank <http://www.ecb.europa.eu>`__. In
|
the `European Central Bank <http://www.ecb.europa.eu>`__. In
|
||||||
:menuselection:`Configuration --> Settings`, go to the **Live Currency Rate** section.
|
:menuselection:`Configuration --> Settings`, go to the **Live Currency Rate** section.
|
||||||
|
|
||||||
Choose the interval : Manually, Daily, Weekly or Monthly. You can always
|
Choose the interval : Manually, Daily, Weekly or Monthly. You can always
|
||||||
|
@ -13,11 +13,11 @@ Iceland, Norway, Switzerland, Andorra, Monaco and San Marino.
|
|||||||
With Odoo, once you decide to pay a vendor, you can select to pay the
|
With Odoo, once you decide to pay a vendor, you can select to pay the
|
||||||
bill with SEPA. Then, at the end of the day, the manager can generate
|
bill with SEPA. Then, at the end of the day, the manager can generate
|
||||||
the SEPA file containing all bank wire transfers and send it to the
|
the SEPA file containing all bank wire transfers and send it to the
|
||||||
bank.
|
bank.
|
||||||
|
|
||||||
By default,the file follows the SEPA Credit Transfer **'pain.001.001.03'**
|
By default,the file follows the SEPA Credit Transfer **'pain.001.001.03'**
|
||||||
specifications. This is a well-defined standard that makes consensus
|
specifications. This is a well-defined standard that makes consensus
|
||||||
among banks. However, according to the country set on your company,
|
among banks. However, according to the country set on your company,
|
||||||
another format can be used : **'pain.001.001.03.ch.02'** for Switzerland
|
another format can be used : **'pain.001.001.03.ch.02'** for Switzerland
|
||||||
and **'pain.001.003.03'** for Germany.
|
and **'pain.001.003.03'** for Germany.
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ them and automatically import the data into your database reduces errors and sav
|
|||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
`Try it out <https://www.odoo.com/app/invoice-automation>`_! Upload one of your Bills or try one of our samples.
|
`Try it out <https://www.odoo.com/app/invoice-automation>`_! Upload one of your Bills or try one of our samples.
|
||||||
|
|
||||||
Set up the feature
|
Set up the feature
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@ Cash rounding
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
**Cash rounding** is required when the lowest physical denomination
|
**Cash rounding** is required when the lowest physical denomination
|
||||||
of currency, or the smallest coin, is higher than the minimum unit
|
of currency, or the smallest coin, is higher than the minimum unit
|
||||||
of account.
|
of account.
|
||||||
|
|
||||||
For example, some countries require their companies to round up or
|
For example, some countries require their companies to round up or
|
||||||
down the total amount of an invoice to the nearest five cents, when
|
down the total amount of an invoice to the nearest five cents, when
|
||||||
the payment is made in cash.
|
the payment is made in cash.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -19,22 +19,22 @@ and enable *Cash Rounding*, then click on *Save*.
|
|||||||
.. image:: cash_rounding/cash_rounding01.png
|
.. image:: cash_rounding/cash_rounding01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`,
|
Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`,
|
||||||
and click on *Create*.
|
and click on *Create*.
|
||||||
|
|
||||||
Define here your *Rounding Precision*, *Rounding Strategy*, and
|
Define here your *Rounding Precision*, *Rounding Strategy*, and
|
||||||
*Rounding Method*.
|
*Rounding Method*.
|
||||||
|
|
||||||
Odoo supports two **rounding strategies**:
|
Odoo supports two **rounding strategies**:
|
||||||
|
|
||||||
1. **Add a rounding line**: a *rounding* line is added on the invoice.
|
1. **Add a rounding line**: a *rounding* line is added on the invoice.
|
||||||
You have to define which account records the cash roundings.
|
You have to define which account records the cash roundings.
|
||||||
|
|
||||||
2. **Modify tax amount**: the rounding is applied in the taxes section.
|
2. **Modify tax amount**: the rounding is applied in the taxes section.
|
||||||
|
|
||||||
Apply roundings
|
Apply roundings
|
||||||
===============
|
===============
|
||||||
|
|
||||||
When editing a draft invoice, open the *Other Info* tab, go to the
|
When editing a draft invoice, open the *Other Info* tab, go to the
|
||||||
*Accounting Information* section, and select the appropriate *Cash
|
*Accounting Information* section, and select the appropriate *Cash
|
||||||
Rounding Method*.
|
Rounding Method*.
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
========================
|
========================
|
||||||
Credit notes and refunds
|
Credit notes and refunds
|
||||||
========================
|
========================
|
||||||
A **credit note**, or **credit memo**, is a document issued
|
A **credit note**, or **credit memo**, is a document issued
|
||||||
to a customer that notifies them that they have been credited
|
to a customer that notifies them that they have been credited
|
||||||
a certain amount.
|
a certain amount.
|
||||||
|
|
||||||
There are several reasons that can lead to a credit note, such as:
|
There are several reasons that can lead to a credit note, such as:
|
||||||
@ -11,19 +11,19 @@ There are several reasons that can lead to a credit note, such as:
|
|||||||
* the goods delivered are damaged
|
* the goods delivered are damaged
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Issuing a credit note is the only legal way to cancel,
|
Issuing a credit note is the only legal way to cancel,
|
||||||
refund or modify a validated invoice. Don’t forget to
|
refund or modify a validated invoice. Don’t forget to
|
||||||
*register the payment* afterward if you need to send money
|
*register the payment* afterward if you need to send money
|
||||||
back to your customer.
|
back to your customer.
|
||||||
|
|
||||||
Issue a Credit Note
|
Issue a Credit Note
|
||||||
===================
|
===================
|
||||||
You can create a credit note from scratch by going to
|
You can create a credit note from scratch by going to
|
||||||
:menuselection:`Accounting --> Customers --> Credit Notes`,
|
:menuselection:`Accounting --> Customers --> Credit Notes`,
|
||||||
and by clicking on *Create*. Filling the Credit Note’s form
|
and by clicking on *Create*. Filling the Credit Note’s form
|
||||||
works the same way as the Invoice’s form.
|
works the same way as the Invoice’s form.
|
||||||
|
|
||||||
However, most of the time, credit notes are generated directly
|
However, most of the time, credit notes are generated directly
|
||||||
from the invoices they are related to.
|
from the invoices they are related to.
|
||||||
|
|
||||||
To do so, open the *Customer Invoice*, and click on *Add Credit Note*.
|
To do so, open the *Customer Invoice*, and click on *Add Credit Note*.
|
||||||
@ -37,15 +37,15 @@ You can choose between three options:
|
|||||||
- Full refund and new draft invoice
|
- Full refund and new draft invoice
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Credit Notes’ numbers start with “R” and are followed by the
|
Credit Notes’ numbers start with “R” and are followed by the
|
||||||
number of the document they are related to (e.g., RINV/2019/0004).
|
number of the document they are related to (e.g., RINV/2019/0004).
|
||||||
|
|
||||||
Partial Refund
|
Partial Refund
|
||||||
--------------
|
--------------
|
||||||
Odoo creates a draft credit note already prefilled with all the
|
Odoo creates a draft credit note already prefilled with all the
|
||||||
necessary information from the original invoice.
|
necessary information from the original invoice.
|
||||||
|
|
||||||
This is the option to choose to do a partial refund, or if you
|
This is the option to choose to do a partial refund, or if you
|
||||||
want to modify any detail on the credit note.
|
want to modify any detail on the credit note.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -53,19 +53,19 @@ want to modify any detail on the credit note.
|
|||||||
|
|
||||||
Full Refund
|
Full Refund
|
||||||
-----------
|
-----------
|
||||||
Odoo creates a credit note, automatically validates it, and
|
Odoo creates a credit note, automatically validates it, and
|
||||||
reconciles the original invoice with it.
|
reconciles the original invoice with it.
|
||||||
|
|
||||||
.. image:: credit_notes/credit_notes02.png
|
.. image:: credit_notes/credit_notes02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
This is the option to choose to do a full refund or cancel
|
This is the option to choose to do a full refund or cancel
|
||||||
a validated invoice.
|
a validated invoice.
|
||||||
|
|
||||||
Full refund and new draft invoice
|
Full refund and new draft invoice
|
||||||
---------------------------------
|
---------------------------------
|
||||||
Odoo creates a credit note, automatically validates it, reconciles
|
Odoo creates a credit note, automatically validates it, reconciles
|
||||||
the original invoice with it, and open a new draft invoice
|
the original invoice with it, and open a new draft invoice
|
||||||
prefilled with the same details from the original invoice.
|
prefilled with the same details from the original invoice.
|
||||||
|
|
||||||
This is the option to choose to modify the content of a validated invoice.
|
This is the option to choose to modify the content of a validated invoice.
|
||||||
@ -74,22 +74,22 @@ Record a Vendor Refund
|
|||||||
======================
|
======================
|
||||||
**Vendor Refunds** are recorded the same way you would do with invoices’ credit notes:
|
**Vendor Refunds** are recorded the same way you would do with invoices’ credit notes:
|
||||||
|
|
||||||
You can either create a credit note from scratch by going
|
You can either create a credit note from scratch by going
|
||||||
to :menuselection:`Accounting --> Vendors --> Refund`, and
|
to :menuselection:`Accounting --> Vendors --> Refund`, and
|
||||||
by clicking on *Create*, or by opening the validated *Vendor Bill*,
|
by clicking on *Create*, or by opening the validated *Vendor Bill*,
|
||||||
and clicking on *Add Credit Note*.
|
and clicking on *Add Credit Note*.
|
||||||
|
|
||||||
Journal Entries
|
Journal Entries
|
||||||
===============
|
===============
|
||||||
Issuing a credit note from an invoice creates a **reverse entry**
|
Issuing a credit note from an invoice creates a **reverse entry**
|
||||||
that zeroes out the journal items generated by the original invoice.
|
that zeroes out the journal items generated by the original invoice.
|
||||||
|
|
||||||
Here is an example of an invoice’s journal entry:
|
Here is an example of an invoice’s journal entry:
|
||||||
|
|
||||||
.. image:: credit_notes/credit_notes03.png
|
.. image:: credit_notes/credit_notes03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
And here is the credit note’s journal entry generated to reverse
|
And here is the credit note’s journal entry generated to reverse
|
||||||
the original invoice above:
|
the original invoice above:
|
||||||
|
|
||||||
.. image:: credit_notes/credit_notes04.png
|
.. image:: credit_notes/credit_notes04.png
|
||||||
|
@ -42,7 +42,7 @@ Configuration --> Chart of Accounts`, click on *Create*, and fill out the form.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This account's type must be either *Current Liabilities* or *Non-current Liabilities*
|
This account's type must be either *Current Liabilities* or *Non-current Liabilities*
|
||||||
|
|
||||||
Post an income to the right account
|
Post an income to the right account
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ save.
|
|||||||
|
|
||||||
.. image:: deferred_revenues/deferred_revenues03.png
|
.. image:: deferred_revenues/deferred_revenues03.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Change of the Income Account for a product in Odoo
|
:alt: Change of the Income Account for a product in Odoo
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
It is possible to automate the creation of revenue entries for these products (see:
|
It is possible to automate the creation of revenue entries for these products (see:
|
||||||
@ -75,11 +75,11 @@ Change the account of a posted journal item
|
|||||||
|
|
||||||
To do so, open your Sales Journal by going to
|
To do so, open your Sales Journal by going to
|
||||||
:menuselection:`Accounting --> Accounting --> Sales`, select the journal item you
|
:menuselection:`Accounting --> Accounting --> Sales`, select the journal item you
|
||||||
want to modify, click on the account, and select the right one.
|
want to modify, click on the account, and select the right one.
|
||||||
|
|
||||||
.. image:: deferred_revenues/deferred_revenues04.png
|
.. image:: deferred_revenues/deferred_revenues04.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Modification of a posted journal item's account in Odoo Accounting
|
:alt: Modification of a posted journal item's account in Odoo Accounting
|
||||||
|
|
||||||
Deferred Revenues entries
|
Deferred Revenues entries
|
||||||
=========================
|
=========================
|
||||||
@ -107,8 +107,8 @@ recognize your revenue, and at which date.
|
|||||||
|
|
||||||
.. image:: deferred_revenues/deferred_revenues06.png
|
.. image:: deferred_revenues/deferred_revenues06.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Revenue Board in Odoo Accounting
|
:alt: Revenue Board in Odoo Accounting
|
||||||
|
|
||||||
What does "Prorata Temporis" mean?
|
What does "Prorata Temporis" mean?
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ Deferred Entry from the Sales Journal
|
|||||||
|
|
||||||
You can create a deferred entry from a specific journal item in your **Sales Journal**.
|
You can create a deferred entry from a specific journal item in your **Sales Journal**.
|
||||||
|
|
||||||
To do so, open your Sales Journal by going to
|
To do so, open your Sales Journal by going to
|
||||||
:menuselection:`Accounting --> Accounting --> Sales`, and select the journal item you want to defer.
|
:menuselection:`Accounting --> Accounting --> Sales`, and select the journal item you want to defer.
|
||||||
Make sure that it is posted in the right account (see:
|
Make sure that it is posted in the right account (see:
|
||||||
`Change the account of a posted journal item`_).
|
`Change the account of a posted journal item`_).
|
||||||
|
@ -1,36 +1,36 @@
|
|||||||
============================
|
============================
|
||||||
Add EPC QR Codes to invoices
|
Add EPC QR Codes to invoices
|
||||||
============================
|
============================
|
||||||
European Payments Council Quick Response Code,
|
European Payments Council Quick Response Code,
|
||||||
or **EPC QR Code**, are two-dimensional barcodes
|
or **EPC QR Code**, are two-dimensional barcodes
|
||||||
that customers can scan with their **mobile banking
|
that customers can scan with their **mobile banking
|
||||||
applications** to initiate a **SEPA Credit Transfer
|
applications** to initiate a **SEPA Credit Transfer
|
||||||
(SCT)**, and pay their invoices instantly.
|
(SCT)**, and pay their invoices instantly.
|
||||||
|
|
||||||
In addition to bringing ease of use and speed,
|
In addition to bringing ease of use and speed,
|
||||||
it greatly reduces typing errors that would potentially
|
it greatly reduces typing errors that would potentially
|
||||||
make for payment issues.
|
make for payment issues.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This feature is only available in several European
|
This feature is only available in several European
|
||||||
countries such as Austria, Belgium, Finland, Germany,
|
countries such as Austria, Belgium, Finland, Germany,
|
||||||
and The Netherlands.
|
and The Netherlands.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
Go to :menuselection:`Accounting --> Configuration --> Settings`
|
Go to :menuselection:`Accounting --> Configuration --> Settings`
|
||||||
and activate the **SEPA QR Code** feature.
|
and activate the **SEPA QR Code** feature.
|
||||||
|
|
||||||
.. image:: epc_qr_code/epc_qr_code01.png
|
.. image:: epc_qr_code/epc_qr_code01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Configure your Bank Account’s journal
|
Configure your Bank Account’s journal
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
Make sure that your *Bank Account* is correctly configured
|
Make sure that your *Bank Account* is correctly configured
|
||||||
on Odoo with your IBAN and BIC.
|
on Odoo with your IBAN and BIC.
|
||||||
|
|
||||||
To do so, go to :menuselection:`Accounting --> Configuration
|
To do so, go to :menuselection:`Accounting --> Configuration
|
||||||
--> Journals`, open your *bank journal*, then fill out the
|
--> Journals`, open your *bank journal*, then fill out the
|
||||||
*Bank Account* and *Bank* under the *Bank Account* tab.
|
*Bank Account* and *Bank* under the *Bank Account* tab.
|
||||||
|
|
||||||
.. image:: epc_qr_code/epc_qr_code02.png
|
.. image:: epc_qr_code/epc_qr_code02.png
|
||||||
@ -38,26 +38,26 @@ To do so, go to :menuselection:`Accounting --> Configuration
|
|||||||
|
|
||||||
Issue Invoices with EPC QR Codes
|
Issue Invoices with EPC QR Codes
|
||||||
================================
|
================================
|
||||||
EPC QR Codes are added automatically to your invoices, as
|
EPC QR Codes are added automatically to your invoices, as
|
||||||
long as you issue them to customers that are located in a
|
long as you issue them to customers that are located in a
|
||||||
country where this feature is available.
|
country where this feature is available.
|
||||||
|
|
||||||
Go to :menuselection:`Accounting --> Customers --> Invoices`,
|
Go to :menuselection:`Accounting --> Customers --> Invoices`,
|
||||||
and create a new invoice.
|
and create a new invoice.
|
||||||
|
|
||||||
Before posting it, open the *Other Info* tab. Odoo automatically
|
Before posting it, open the *Other Info* tab. Odoo automatically
|
||||||
fills out the *Bank Account* field with your IBAN.
|
fills out the *Bank Account* field with your IBAN.
|
||||||
|
|
||||||
Make sure that the account indicated is the one you want to use to
|
Make sure that the account indicated is the one you want to use to
|
||||||
receive your customer’s payment as Odoo uses this field to generate
|
receive your customer’s payment as Odoo uses this field to generate
|
||||||
the EPC QR Code.
|
the EPC QR Code.
|
||||||
|
|
||||||
.. image:: epc_qr_code/epc_qr_code03.png
|
.. image:: epc_qr_code/epc_qr_code03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If you want to issue an invoice without an EPC QR Code,
|
If you want to issue an invoice without an EPC QR Code,
|
||||||
remove the IBAN indicated in the *Bank Account* field,
|
remove the IBAN indicated in the *Bank Account* field,
|
||||||
under the *Other Info* tab of the invoice.
|
under the *Other Info* tab of the invoice.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
@ -145,5 +145,5 @@ It remains possible to resequence the invoices but with some restrictions:
|
|||||||
#. The feature does not work if the sequence is inconsistent with the month of the entry.
|
#. The feature does not work if the sequence is inconsistent with the month of the entry.
|
||||||
#. It does not work if the sequence leads to a duplicate.
|
#. It does not work if the sequence leads to a duplicate.
|
||||||
#. The order of the invoice remains unchanged.
|
#. The order of the invoice remains unchanged.
|
||||||
#. It is useful for people who use a numbering from another software and who want to continue the
|
#. It is useful for people who use a numbering from another software and who want to continue the
|
||||||
current year without starting over from the beginning.
|
current year without starting over from the beginning.
|
||||||
|
@ -72,7 +72,7 @@ their SEPA Direct Debit mandate.
|
|||||||
.. todo::
|
.. todo::
|
||||||
Add link to future **Payment Acquirer** documentation.
|
Add link to future **Payment Acquirer** documentation.
|
||||||
|
|
||||||
Close or revoke a mandate
|
Close or revoke a mandate
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Direct Debit mandates are closed automatically after their *End Date*. If this field is left blank,
|
Direct Debit mandates are closed automatically after their *End Date*. If this field is left blank,
|
||||||
@ -95,7 +95,7 @@ included in the next SDD XML file.
|
|||||||
Get paid with SDD Batch Payments
|
Get paid with SDD Batch Payments
|
||||||
================================
|
================================
|
||||||
|
|
||||||
Customer Invoices
|
Customer Invoices
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
You can register SDD payments for invoices issued to customers who have an active SDD mandate.
|
You can register SDD payments for invoices issued to customers who have an active SDD mandate.
|
||||||
|
@ -6,14 +6,14 @@ There are two ways to handle payments received by checks. Odoo support
|
|||||||
both approaches so that you can use the one that better fits your
|
both approaches so that you can use the one that better fits your
|
||||||
habits.
|
habits.
|
||||||
|
|
||||||
1. **Undeposited Funds:**
|
1. **Undeposited Funds:**
|
||||||
once you receive the check, you record a payment
|
once you receive the check, you record a payment
|
||||||
by check on the invoice. (using a Check journal and posted on the
|
by check on the invoice. (using a Check journal and posted on the
|
||||||
Undeposited Fund account) Then, once the check arrives in your
|
Undeposited Fund account) Then, once the check arrives in your
|
||||||
bank account, move money from Undeposited Funds to your bank
|
bank account, move money from Undeposited Funds to your bank
|
||||||
account.
|
account.
|
||||||
|
|
||||||
2. **One journal entry only:**
|
2. **One journal entry only:**
|
||||||
once your receive the check, you record a
|
once your receive the check, you record a
|
||||||
payment on your bank, paid by check, without going through the
|
payment on your bank, paid by check, without going through the
|
||||||
**Undeposited Funds**. Once you process your bank statement, you do
|
**Undeposited Funds**. Once you process your bank statement, you do
|
||||||
@ -28,7 +28,7 @@ Even if the first method is cleaner, Odoo support the second approach
|
|||||||
because some accountants are used to it (quickbooks and peachtree
|
because some accountants are used to it (quickbooks and peachtree
|
||||||
users).
|
users).
|
||||||
|
|
||||||
.. Note::
|
.. Note::
|
||||||
You may have a look at the *Deposit Ticket feature* if you deposit
|
You may have a look at the *Deposit Ticket feature* if you deposit
|
||||||
several checks to your bank accounts in batch.
|
several checks to your bank accounts in batch.
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ If you use this approach to manage received checks, you get the list of
|
|||||||
checks that have not been cashed in the **Undeposit Funds** account
|
checks that have not been cashed in the **Undeposit Funds** account
|
||||||
(accessible, for example, from the general ledger).
|
(accessible, for example, from the general ledger).
|
||||||
|
|
||||||
.. Note::
|
.. Note::
|
||||||
Both methods will produce the same data in your accounting at the
|
Both methods will produce the same data in your accounting at the
|
||||||
end of the process. But, if you have checks that have not been cashed,
|
end of the process. But, if you have checks that have not been cashed,
|
||||||
this one is cleaner because those checks have not been reported yet on
|
this one is cleaner because those checks have not been reported yet on
|
||||||
@ -135,7 +135,7 @@ books:
|
|||||||
| Bank | | 100.00 | |
|
| Bank | | 100.00 | |
|
||||||
+----------------------+-------------------+----------+----------+
|
+----------------------+-------------------+----------+----------+
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
You may also record the payment directly without going on the
|
You may also record the payment directly without going on the
|
||||||
customer invoice, using the menu :menuselection:`Sales --> Payments`. This method may
|
customer invoice, using the menu :menuselection:`Sales --> Payments`. This method may
|
||||||
be more convenient if you have a lot of checks to record in a batch but
|
be more convenient if you have a lot of checks to record in a batch but
|
||||||
|
@ -20,7 +20,7 @@ Make sure your :ref:`Payment Acquirers are correctly configured <payment_acquire
|
|||||||
By default, ":doc:`Wire Transfer </applications/finance/payment_acquirers/wire_transfer>`" is the only
|
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.
|
Payment Acquirer activated, but you still have to fill out the payment details.
|
||||||
|
|
||||||
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
||||||
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*.
|
||||||
|
|
||||||
Customer Portal
|
Customer Portal
|
||||||
|
@ -46,7 +46,7 @@ Add lines in your custom reports
|
|||||||
=================================
|
=================================
|
||||||
|
|
||||||
After you've created the report, you need to fill it with lines. They
|
After you've created the report, you need to fill it with lines. They
|
||||||
all need a **name**, a **code** (that is used to refer to the line), a
|
all need a **name**, a **code** (that is used to refer to the line), a
|
||||||
**sequence number** and a **level** (Used for the line rendering).
|
**sequence number** and a **level** (Used for the line rendering).
|
||||||
|
|
||||||
.. image:: customize/customize04.png
|
.. image:: customize/customize04.png
|
||||||
|
@ -31,7 +31,7 @@ Balance Sheet
|
|||||||
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
|
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
|
||||||
of your organisation as at a particular date.
|
of your organisation as at a particular date.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports09.png
|
.. image:: main_reports/main_reports09.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Profit and Loss
|
Profit and Loss
|
||||||
@ -41,7 +41,7 @@ The **Profit and Loss** report (or **Income Statement**) shows your
|
|||||||
organisation's net income, by deducting expenses from revenue for the
|
organisation's net income, by deducting expenses from revenue for the
|
||||||
report period.
|
report period.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports10.png
|
.. image:: main_reports/main_reports10.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Executive Summary
|
Executive Summary
|
||||||
@ -58,36 +58,36 @@ reporting :
|
|||||||
The contribution each individual sale made
|
The contribution each individual sale made
|
||||||
by your business less any direct costs needed to make those sales
|
by your business less any direct costs needed to make those sales
|
||||||
(things like labour, materials, etc).
|
(things like labour, materials, etc).
|
||||||
- **Net profit margin:**
|
- **Net profit margin:**
|
||||||
The contribution each individual sale made by
|
The contribution each individual sale made by
|
||||||
your business less any direct costs needed to make those sales,
|
your business less any direct costs needed to make those sales,
|
||||||
as well as any fixed overheads your company has (things like
|
as well as any fixed overheads your company has (things like
|
||||||
rent, electricity, taxes you need to pay as a result of those
|
rent, electricity, taxes you need to pay as a result of those
|
||||||
sales).
|
sales).
|
||||||
- **Return on investment (p.a.):**
|
- **Return on investment (p.a.):**
|
||||||
The ratio of net profit made, to the
|
The ratio of net profit made, to the
|
||||||
amount of assets the company used to make those profits.
|
amount of assets the company used to make those profits.
|
||||||
- **Position:**
|
- **Position:**
|
||||||
- **Average debtor days:**
|
- **Average debtor days:**
|
||||||
The average number of days it takes your
|
The average number of days it takes your
|
||||||
customers to pay you (fully), across all your customer invoices.
|
customers to pay you (fully), across all your customer invoices.
|
||||||
- **Average creditor days:**
|
- **Average creditor days:**
|
||||||
The average number of days it takes you to
|
The average number of days it takes you to
|
||||||
pay your suppliers (fully) across all your bills.
|
pay your suppliers (fully) across all your bills.
|
||||||
- **Short term cash forecast:**
|
- **Short term cash forecast:**
|
||||||
How much cash is expected in or out of
|
How much cash is expected in or out of
|
||||||
your organisation in the next month i.e. balance of your **Sales
|
your organisation in the next month i.e. balance of your **Sales
|
||||||
account** for the month less the balance of your **Purchases account**
|
account** for the month less the balance of your **Purchases account**
|
||||||
for the month.
|
for the month.
|
||||||
- **Current assets to liabilities:**
|
- **Current assets to liabilities:**
|
||||||
Also referred to as **current ratio**, this is the ratio
|
Also referred to as **current ratio**, this is the ratio
|
||||||
of current assets (assets that could be
|
of current assets (assets that could be
|
||||||
turned into cash within a year) to the current liabilities
|
turned into cash within a year) to the current liabilities
|
||||||
(liabilities which will be due in the next year). This is
|
(liabilities which will be due in the next year). This is
|
||||||
typically used as as a measure of a company's ability to service
|
typically used as as a measure of a company's ability to service
|
||||||
its debt.
|
its debt.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports01.png
|
.. image:: main_reports/main_reports01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
General Ledger
|
General Ledger
|
||||||
@ -99,7 +99,7 @@ account and from there you can view a detailed transaction report or any
|
|||||||
exceptions. This report is useful for checking every transaction that
|
exceptions. This report is useful for checking every transaction that
|
||||||
occurred during a certain period of time.
|
occurred during a certain period of time.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports05.png
|
.. image:: main_reports/main_reports05.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Aged Payable
|
Aged Payable
|
||||||
@ -109,7 +109,7 @@ Run the **Aged Payable Details** report to display information on individual
|
|||||||
bills, credit notes and overpayments owed by you, and how long these
|
bills, credit notes and overpayments owed by you, and how long these
|
||||||
have gone unpaid.
|
have gone unpaid.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports02.png
|
.. image:: main_reports/main_reports02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Aged Receivable
|
Aged Receivable
|
||||||
@ -118,7 +118,7 @@ Aged Receivable
|
|||||||
The **Aged Receivables** report shows the sales invoices that were awaiting
|
The **Aged Receivables** report shows the sales invoices that were awaiting
|
||||||
payment during a selected month and several months prior.
|
payment during a selected month and several months prior.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports07.png
|
.. image:: main_reports/main_reports07.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Cash Flow Statement
|
Cash Flow Statement
|
||||||
@ -128,7 +128,7 @@ The **Cash Flow Statement** shows how changes in balance sheet accounts and
|
|||||||
income affect cash and cash equivalents, and breaks the analysis down to
|
income affect cash and cash equivalents, and breaks the analysis down to
|
||||||
operating, investing and financing activities.
|
operating, investing and financing activities.
|
||||||
|
|
||||||
.. image:: main_reports/main_reports03.png
|
.. image:: main_reports/main_reports03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Tax Report
|
Tax Report
|
||||||
@ -137,11 +137,11 @@ Tax Report
|
|||||||
This report allows you to see the **net** and **tax amounts** for all the taxes
|
This report allows you to see the **net** and **tax amounts** for all the taxes
|
||||||
grouped by type (sale/purchase).
|
grouped by type (sale/purchase).
|
||||||
|
|
||||||
.. image:: main_reports/main_reports04.png
|
.. image:: main_reports/main_reports04.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Bank Reconciliation
|
Bank Reconciliation
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
.. image:: main_reports/main_reports06.png
|
.. image:: main_reports/main_reports06.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -29,6 +29,6 @@ You can then configure your fiscal years in
|
|||||||
You only have to create fiscal years if they last more or less
|
You only have to create fiscal years if they last more or less
|
||||||
than 12 months.
|
than 12 months.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
* :doc:`close_fiscal_year`
|
* :doc:`close_fiscal_year`
|
||||||
|
@ -11,7 +11,7 @@ Taxes
|
|||||||
taxes/default_taxes
|
taxes/default_taxes
|
||||||
taxes/fiscal_positions
|
taxes/fiscal_positions
|
||||||
taxes/eu_distance_selling
|
taxes/eu_distance_selling
|
||||||
taxes/avatax
|
taxes/avatax
|
||||||
taxes/taxcloud
|
taxes/taxcloud
|
||||||
taxes/retention
|
taxes/retention
|
||||||
taxes/B2B_B2C
|
taxes/B2B_B2C
|
||||||
|
@ -98,19 +98,19 @@ Setting your products
|
|||||||
|
|
||||||
Your company must be configured with tax excluded by default. This is
|
Your company must be configured with tax excluded by default. This is
|
||||||
usually the default configuration, but you can check your **Default Sale
|
usually the default configuration, but you can check your **Default Sale
|
||||||
Tax** from the menu :menuselection:`Configuration --> Settings`
|
Tax** from the menu :menuselection:`Configuration --> Settings`
|
||||||
of the Accounting application.
|
of the Accounting application.
|
||||||
|
|
||||||
.. image:: B2B_B2C/price_B2C_B2B01.png
|
.. image:: B2B_B2C/price_B2C_B2B01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Once done, you can create a **B2C** pricelist. You can activate the
|
Once done, you can create a **B2C** pricelist. You can activate the
|
||||||
pricelist feature per customer from the menu:
|
pricelist feature per customer from the menu:
|
||||||
:menuselection:`Configuration --> Settings` of the Sale application.
|
:menuselection:`Configuration --> Settings` of the Sale application.
|
||||||
Choose the option **different prices per customer segment**.
|
Choose the option **different prices per customer segment**.
|
||||||
|
|
||||||
Once done, create a B2C pricelist from the menu
|
Once done, create a B2C pricelist from the menu
|
||||||
:menuselection:`Configuration --> Pricelists`.
|
:menuselection:`Configuration --> Pricelists`.
|
||||||
It's also good to rename the default pricelist into B2B to avoid confusion.
|
It's also good to rename the default pricelist into B2B to avoid confusion.
|
||||||
|
|
||||||
Then, create a product at 8.26€, with a tax of 21% (defined as tax not
|
Then, create a product at 8.26€, with a tax of 21% (defined as tax not
|
||||||
@ -125,8 +125,8 @@ Setting the B2C fiscal position
|
|||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
From the accounting application, create a B2C fiscal position from this
|
From the accounting application, create a B2C fiscal position from this
|
||||||
menu: :menuselection:`Configuration --> Fiscal Positions`.
|
menu: :menuselection:`Configuration --> Fiscal Positions`.
|
||||||
This fiscal position should map the VAT 21% (tax excluded of price)
|
This fiscal position should map the VAT 21% (tax excluded of price)
|
||||||
with a VAT 21% (tax included in price)
|
with a VAT 21% (tax included in price)
|
||||||
|
|
||||||
.. image:: B2B_B2C/price_B2C_B2B03.png
|
.. image:: B2B_B2C/price_B2C_B2B03.png
|
||||||
@ -135,8 +135,8 @@ with a VAT 21% (tax included in price)
|
|||||||
Test by creating a quotation
|
Test by creating a quotation
|
||||||
============================
|
============================
|
||||||
|
|
||||||
Create a quotation from the Sale application, using the
|
Create a quotation from the Sale application, using the
|
||||||
:menuselection:`Sales --> Quotations` menu. You should have the
|
:menuselection:`Sales --> Quotations` menu. You should have the
|
||||||
following result: 8.26€ + 1.73€ = 9.99€.
|
following result: 8.26€ + 1.73€ = 9.99€.
|
||||||
|
|
||||||
.. image:: B2B_B2C/price_B2C_B2B04.png
|
.. image:: B2B_B2C/price_B2C_B2B04.png
|
||||||
|
@ -12,7 +12,7 @@ receive the payment the 2nd quarter of your fiscal year. Based on the
|
|||||||
cash basis method, the tax you have to pay to the administration is due
|
cash basis method, the tax you have to pay to the administration is due
|
||||||
for the 2nd quarter.
|
for the 2nd quarter.
|
||||||
|
|
||||||
How to configure cash basis taxes ?
|
How to configure cash basis taxes ?
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
You first have to activate the setting in
|
You first have to activate the setting in
|
||||||
@ -41,7 +41,7 @@ to post the base tax amount for an accurate tax report.
|
|||||||
.. image:: cash_basis_taxes/cash_basis_taxes03.png
|
.. image:: cash_basis_taxes/cash_basis_taxes03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
What is the impact of cash basis taxes in my accounting ?
|
What is the impact of cash basis taxes in my accounting ?
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
Let’s take an example. You make a sale of $100 with a 15% cash basis
|
Let’s take an example. You make a sale of $100 with a 15% cash basis
|
||||||
@ -89,7 +89,7 @@ When you reconcile the invoice and the payment, this entry is generated:
|
|||||||
+--------------------------+----------------------------+
|
+--------------------------+----------------------------+
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
The last two journal items are neutral but they are needed to insure
|
The last two journal items are neutral but they are needed to insure
|
||||||
correct tax reports in Odoo with accurate base tax amounts.
|
correct tax reports in Odoo with accurate base tax amounts.
|
||||||
We advise to use a default revenue account.
|
We advise to use a default revenue account.
|
||||||
The balance of this account will then always be at zero.
|
The balance of this account will then always be at zero.
|
||||||
|
@ -40,8 +40,8 @@ Once the tax is defined, you can use it in your products, sales order or
|
|||||||
invoices.
|
invoices.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If the retention is a percentage of a regular tax, create a Tax with a
|
If the retention is a percentage of a regular tax, create a Tax with a
|
||||||
**Tax Computation** as a **Tax Group** and set the two taxes in this group
|
**Tax Computation** as a **Tax Group** and set the two taxes in this group
|
||||||
(normal tax and retention).
|
(normal tax and retention).
|
||||||
|
|
||||||
Applying retention taxes on invoices
|
Applying retention taxes on invoices
|
||||||
@ -55,9 +55,9 @@ invoice line.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
When you see the customer invoice on the screen, you get only a
|
When you see the customer invoice on the screen, you get only a
|
||||||
**Taxes line** summarizing all the taxes (normal taxes & retentions).
|
**Taxes line** summarizing all the taxes (normal taxes & retentions).
|
||||||
But when you print or send the invoice, Odoo does the correct
|
But when you print or send the invoice, Odoo does the correct
|
||||||
grouping amongst all the taxes.
|
grouping amongst all the taxes.
|
||||||
|
|
||||||
The printed invoice will show the different amounts in each tax group.
|
The printed invoice will show the different amounts in each tax group.
|
||||||
|
@ -14,7 +14,7 @@ How to set expense types
|
|||||||
========================
|
========================
|
||||||
|
|
||||||
The first step to track expenses is to configure the expense types (managed as products in Odoo)
|
The first step to track expenses is to configure the expense types (managed as products in Odoo)
|
||||||
that your company allows, from the *Configuration* menu.
|
that your company allows, from the *Configuration* menu.
|
||||||
When a specific expense is reimbursed at a fixed price, set a cost on the product.
|
When a specific expense is reimbursed at a fixed price, set a cost on the product.
|
||||||
Otherwise keep the cost at 0.0 and employees will report the real cost per expense.
|
Otherwise keep the cost at 0.0 and employees will report the real cost per expense.
|
||||||
|
|
||||||
@ -37,16 +37,16 @@ Here are some examples:
|
|||||||
|
|
||||||
* Cost: 0.0
|
* Cost: 0.0
|
||||||
|
|
||||||
Don't forget to set an expense tax on each expense type
|
Don't forget to set an expense tax on each expense type
|
||||||
(and an account if you use Odoo Accounting).
|
(and an account if you use Odoo Accounting).
|
||||||
It's usually a good practice to use a tax that is configured
|
It's usually a good practice to use a tax that is configured
|
||||||
with :ref:`Tax Included in Price <taxes/included-in-price>`.
|
with :ref:`Tax Included in Price <taxes/included-in-price>`.
|
||||||
That way, employees report expenses with
|
That way, employees report expenses with
|
||||||
prices including taxes, which is usually the expected behaviour.
|
prices including taxes, which is usually the expected behaviour.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
The *Sales* app allows you to specify units of measure for your
|
The *Sales* app allows you to specify units of measure for your
|
||||||
expense types (units, miles, nights, etc.).
|
expense types (units, miles, nights, etc.).
|
||||||
Go to :menuselection:`Sales --> Configuration --> Settings` and check
|
Go to :menuselection:`Sales --> Configuration --> Settings` and check
|
||||||
*Some products may be sold/purchased in different units of measure (advanced)*.
|
*Some products may be sold/purchased in different units of measure (advanced)*.
|
||||||
|
|
||||||
@ -57,20 +57,20 @@ How to record expenses
|
|||||||
Manually
|
Manually
|
||||||
--------
|
--------
|
||||||
|
|
||||||
As an employee (Employee in user access rights), you can record
|
As an employee (Employee in user access rights), you can record
|
||||||
expenses from :menuselection:`My Expenses --> Expenses to Submit`.
|
expenses from :menuselection:`My Expenses --> Expenses to Submit`.
|
||||||
|
|
||||||
.. image:: expenses/submit_01.png
|
.. image:: expenses/submit_01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
1. Select the related product and enter either the total amount
|
1. Select the related product and enter either the total amount
|
||||||
you paid (with Quantity = 1) or the unit price if Quantity is
|
you paid (with Quantity = 1) or the unit price if Quantity is
|
||||||
countable (e.g. number of hotel nights).
|
countable (e.g. number of hotel nights).
|
||||||
2. Enter the expense date.
|
2. Enter the expense date.
|
||||||
3. Choose if you paid the bill on your own (and expect to be reimbursed)
|
3. Choose if you paid the bill on your own (and expect to be reimbursed)
|
||||||
or if the company paid directly (e.g. if you used a company's credit card).
|
or if the company paid directly (e.g. if you used a company's credit card).
|
||||||
4. Set the bill reference, add some notes if requested and attach a
|
4. Set the bill reference, add some notes if requested and attach a
|
||||||
photo/scan of the receipt from the discussion thread.
|
photo/scan of the receipt from the discussion thread.
|
||||||
That will help the manager and the accountant validate it.
|
That will help the manager and the accountant validate it.
|
||||||
|
|
||||||
.. image:: expenses/submit_02.png
|
.. image:: expenses/submit_02.png
|
||||||
@ -79,56 +79,56 @@ expenses from :menuselection:`My Expenses --> Expenses to Submit`.
|
|||||||
In one click from emails
|
In one click from emails
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Let your employees record their expenses from a simple email.
|
Let your employees record their expenses from a simple email.
|
||||||
Make a snapshot of the receipt and send it by email, or simply forward a bill!
|
Make a snapshot of the receipt and send it by email, or simply forward a bill!
|
||||||
|
|
||||||
The only thing to do is setting up an email alias in
|
The only thing to do is setting up an email alias in
|
||||||
:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com).
|
:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com).
|
||||||
For security purposes, only authenticated employee emails
|
For security purposes, only authenticated employee emails
|
||||||
(cfr. *Work Email* in employee detail form) are accepted.
|
(cfr. *Work Email* in employee detail form) are accepted.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
The expense product is set automatically if the mail subject contains
|
The expense product is set automatically if the mail subject contains
|
||||||
the product's internal reference in first position.
|
the product's internal reference in first position.
|
||||||
Type the expense amount in the mail subject to set it on the expense too (e.g. Ref001 Food 100€).
|
Type the expense amount in the mail subject to set it on the expense too (e.g. Ref001 Food 100€).
|
||||||
|
|
||||||
How to submit expenses to managers
|
How to submit expenses to managers
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
When you are ready to submit your expenses to your manager
|
When you are ready to submit your expenses to your manager
|
||||||
(e.g. at the end of a business trip, or once a month),
|
(e.g. at the end of a business trip, or once a month),
|
||||||
go to the menu :menuselection:`My Expenses --> Expenses to Submit`. Select all expenses
|
go to the menu :menuselection:`My Expenses --> Expenses to Submit`. Select all expenses
|
||||||
from the list view and click on :menuselection:`Action --> Submit to Manager`.
|
from the list view and click on :menuselection:`Action --> Submit to Manager`.
|
||||||
Save the newly created expense report (i.e. set of expenses),
|
Save the newly created expense report (i.e. set of expenses),
|
||||||
and wait for your manager to approve it.
|
and wait for your manager to approve it.
|
||||||
|
|
||||||
.. image:: expenses/submit_03.png
|
.. image:: expenses/submit_03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
You can also submit expenses one by one from the *Submit to Manager*
|
You can also submit expenses one by one from the *Submit to Manager*
|
||||||
button on the form view of an expense.
|
button on the form view of an expense.
|
||||||
|
|
||||||
All your submitted expense reports can be found in
|
All your submitted expense reports can be found in
|
||||||
:menuselection:`Expenses --> My Expenses --> Expense Reports`.
|
:menuselection:`Expenses --> My Expenses --> Expense Reports`.
|
||||||
|
|
||||||
|
|
||||||
How to approve expenses
|
How to approve expenses
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
HR and team managers get an overview of all expense reports to
|
HR and team managers get an overview of all expense reports to
|
||||||
validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`.
|
validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`.
|
||||||
Such users must have at least *Officers* access rights for *Expenses*.
|
Such users must have at least *Officers* access rights for *Expenses*.
|
||||||
|
|
||||||
.. image:: expenses/approval_01.png
|
.. image:: expenses/approval_01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
They can review expense reports, approve or reject them, as well as providing
|
They can review expense reports, approve or reject them, as well as providing
|
||||||
feedback thanks to the integrated communication tool.
|
feedback thanks to the integrated communication tool.
|
||||||
|
|
||||||
.. image:: expenses/approval_02.png
|
.. image:: expenses/approval_02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
As a team manager you can easily find the expense reports of your team members.
|
As a team manager you can easily find the expense reports of your team members.
|
||||||
You need to be set as manager in the detail form of those employees.
|
You need to be set as manager in the detail form of those employees.
|
||||||
|
|
||||||
.. image:: expenses/approval_03.png
|
.. image:: expenses/approval_03.png
|
||||||
@ -138,27 +138,27 @@ You need to be set as manager in the detail form of those employees.
|
|||||||
How to post expenses in accounting
|
How to post expenses in accounting
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
Once expense reports approved by managers, the accounting department
|
Once expense reports approved by managers, the accounting department
|
||||||
goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check
|
goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check
|
||||||
accounts, products and taxes. They can click *Post Journal Entries*
|
accounts, products and taxes. They can click *Post Journal Entries*
|
||||||
to post related journal entries into your books.
|
to post related journal entries into your books.
|
||||||
To do so, the user must have following access rights:
|
To do so, the user must have following access rights:
|
||||||
|
|
||||||
* Accounting: Accountant or Adviser
|
* Accounting: Accountant or Adviser
|
||||||
* Expenses: Manager
|
* Expenses: Manager
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
To post an expense, a *Home Address* must be set on the employee.
|
To post an expense, a *Home Address* must be set on the employee.
|
||||||
If you get a related blocking message when posting, click the employee,
|
If you get a related blocking message when posting, click the employee,
|
||||||
go to *Personal Information* tab and select/create the contact of your employee
|
go to *Personal Information* tab and select/create the contact of your employee
|
||||||
in the address book.
|
in the address book.
|
||||||
A contact has been automatically created if this person is using Odoo.
|
A contact has been automatically created if this person is using Odoo.
|
||||||
|
|
||||||
How to reimburse employees
|
How to reimburse employees
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
You can now see all the expense reports to reimburse in
|
You can now see all the expense reports to reimburse in
|
||||||
:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`.
|
:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`.
|
||||||
To record the payment or pay by check, click *Register a Payment*.
|
To record the payment or pay by check, click *Register a Payment*.
|
||||||
|
|
||||||
See how you can easily manage the payment process in Odoo:
|
See how you can easily manage the payment process in Odoo:
|
||||||
@ -223,7 +223,7 @@ Submit, validate and post expenses
|
|||||||
Invoice expenses
|
Invoice expenses
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Now you can invoice the order. It shows up in
|
Now you can invoice the order. It shows up in
|
||||||
:menuselection:`Sales --> Invoicing --> Sales`
|
:menuselection:`Sales --> Invoicing --> Sales`
|
||||||
to Invoice. The expenses have been added automatically in the order
|
to Invoice. The expenses have been added automatically in the order
|
||||||
lines. Such items show up in blue (i.e. to invoice).
|
lines. Such items show up in blue (i.e. to invoice).
|
||||||
@ -231,4 +231,4 @@ lines. Such items show up in blue (i.e. to invoice).
|
|||||||
.. image:: expenses/invoicing_04.png
|
.. image:: expenses/invoicing_04.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
e (i.e. to invoice).
|
e (i.e. to invoice).
|
||||||
|
@ -111,7 +111,7 @@ Your Paypal account is ready!
|
|||||||
.. tip::
|
.. tip::
|
||||||
If you want your customers to pay without creating a Paypal account,
|
If you want your customers to pay without creating a Paypal account,
|
||||||
*Paypal Account Optional* needs to be turned on.
|
*Paypal Account Optional* needs to be turned on.
|
||||||
|
|
||||||
.. image:: paypal/paypal_account_optional.png
|
.. image:: paypal/paypal_account_optional.png
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
@ -168,7 +168,7 @@ Your configuration is ready to roll. Make sure *Production* mode is
|
|||||||
on. Then publish the payment method by clicking the *Published* button right next to it.
|
on. Then publish the payment method by clicking the *Published* button right next to it.
|
||||||
|
|
||||||
.. image:: paypal/paypal11.png
|
.. image:: paypal/paypal11.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. image:: paypal/paypal12.png
|
.. image:: paypal/paypal12.png
|
||||||
:align: Center
|
:align: Center
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
How to get paid with wire transfers
|
How to get paid with wire transfers
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
**Wire Transfer** is the default payment method available.
|
**Wire Transfer** is the default payment method available.
|
||||||
The aim is providing your customers with your bank details
|
The aim is providing your customers with your bank details
|
||||||
so they can pay on their own.
|
so they can pay on their own.
|
||||||
This is very easy to start with but slow and inefficient process-wise.
|
This is very easy to start with but slow and inefficient process-wise.
|
||||||
Opt for payment acquirers as soon as you can!
|
Opt for payment acquirers as soon as you can!
|
||||||
|
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ They will appear to the customers when they place an order.
|
|||||||
How to manage an order once you get paid
|
How to manage an order once you get paid
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
Whenever a customer pays by wire transfer, the order stays in an
|
Whenever a customer pays by wire transfer, the order stays in an
|
||||||
intermediary stage **Quotation Sent** (i.e. unpaid order).
|
intermediary stage **Quotation Sent** (i.e. unpaid order).
|
||||||
When you get paid,
|
When you get paid,
|
||||||
you confirm the order manually to launch the delivery.
|
you confirm the order manually to launch the delivery.
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ you confirm the order manually to launch the delivery.
|
|||||||
How to create other manual payment methods
|
How to create other manual payment methods
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
If you manage a B2B business, you can create other manually-processed
|
If you manage a B2B business, you can create other manually-processed
|
||||||
payment methods like paying by check.
|
payment methods like paying by check.
|
||||||
To do so, just rename *Wire Transfer* or duplicate it.
|
To do so, just rename *Wire Transfer* or duplicate it.
|
||||||
|
|
||||||
|
@ -13,4 +13,3 @@ Miscellaneous
|
|||||||
general/calendars
|
general/calendars
|
||||||
general/in_app_purchase
|
general/in_app_purchase
|
||||||
general/developer_mode
|
general/developer_mode
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ Credentials
|
|||||||
|
|
||||||
#. Select **Web Application** as the Application type. Now configure the allowed pages on which you
|
#. Select **Web Application** as the Application type. Now configure the allowed pages on which you
|
||||||
will be redirected.
|
will be redirected.
|
||||||
|
|
||||||
In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain
|
In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain
|
||||||
immediately followed by ``/auth_oauth/signin``. For example:
|
immediately followed by ``/auth_oauth/signin``. For example:
|
||||||
``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*.
|
``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*.
|
||||||
@ -106,7 +106,7 @@ Odoo activation
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You may have to log in again after this step.
|
You may have to log in again after this step.
|
||||||
|
|
||||||
#. Go back to :menuselection:`General Settings --> Integrations`, activate **Google
|
#. Go back to :menuselection:`General Settings --> Integrations`, activate **Google
|
||||||
Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and
|
Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and
|
||||||
*Save*.
|
*Save*.
|
||||||
|
@ -20,7 +20,7 @@ If your database is hosted on our cloud (Odoo Online or Odoo.sh), it is not nece
|
|||||||
outgoing email server to send emails from your custom domain. You can enjoy this feature by using
|
outgoing email server to send emails from your custom domain. You can enjoy this feature by using
|
||||||
the default Odoo email server.
|
the default Odoo email server.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
|
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
|
||||||
emails sent per day for databases with an Enterprise subscription. This limit can be increased
|
emails sent per day for databases with an Enterprise subscription. This limit can be increased
|
||||||
under certain conditions. See our :doc:`FAQ <faq>` or contact support for more
|
under certain conditions. See our :doc:`FAQ <faq>` or contact support for more
|
||||||
@ -38,19 +38,19 @@ Be SPF compliant
|
|||||||
================
|
================
|
||||||
|
|
||||||
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which
|
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which
|
||||||
servers are allowed to send email from that domain. When a server receives an incoming email,
|
servers are allowed to send email from that domain. When a server receives an incoming email,
|
||||||
it checks whether the IP address of the sending server is on the list of allowed IPs according
|
it checks whether the IP address of the sending server is on the list of allowed IPs according
|
||||||
to the SPF record of the sender.
|
to the SPF record of the sender.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The SPF verification is performed on the domain mentioned in the Return-Path field of the email.
|
The SPF verification is performed on the domain mentioned in the Return-Path field of the email.
|
||||||
In the case of an email sent by Odoo, this domain corresponds to the value of the
|
In the case of an email sent by Odoo, this domain corresponds to the value of the
|
||||||
`mail.catchall.domain` key in the database system parameters.
|
`mail.catchall.domain` key in the database system parameters.
|
||||||
|
|
||||||
See the :ref:`documentation on incoming emails <email_communication/inbound_messages>`.
|
See the :ref:`documentation on incoming emails <email_communication/inbound_messages>`.
|
||||||
|
|
||||||
The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends
|
The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends
|
||||||
on the provider hosting the DNS zone of your domain name. In order for the verification to work
|
on the provider hosting the DNS zone of your domain name. In order for the verification to work
|
||||||
properly, each domain can only have one SPF record.
|
properly, each domain can only have one SPF record.
|
||||||
|
|
||||||
If your domain name does not yet have an SPF record, the content of the record to create is as
|
If your domain name does not yet have an SPF record, the content of the record to create is as
|
||||||
@ -66,7 +66,7 @@ new one).
|
|||||||
If your TXT record is `v=spf1 include:_spf.google.com ~all`, you need to edit it to add
|
If your TXT record is `v=spf1 include:_spf.google.com ~all`, you need to edit it to add
|
||||||
`include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all`
|
`include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all`
|
||||||
|
|
||||||
You can check if your SPF record is valid with a free tool like
|
You can check if your SPF record is valid with a free tool like
|
||||||
`MXToolbox SPF <https://mxtoolbox.com/spf.aspx>`_.
|
`MXToolbox SPF <https://mxtoolbox.com/spf.aspx>`_.
|
||||||
|
|
||||||
.. _email_communication/DKIM_compliant:
|
.. _email_communication/DKIM_compliant:
|
||||||
@ -86,13 +86,13 @@ To enable DKIM, you must add a CNAME record to the DNS zone of your domain name:
|
|||||||
``odoo._domainkey IN CNAME odoo._domainkey.odoo.com.``
|
``odoo._domainkey IN CNAME odoo._domainkey.odoo.com.``
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If your domain name is `mycompany.com`, you need to create a subdomain
|
If your domain name is `mycompany.com`, you need to create a subdomain
|
||||||
`odoo._domainkey.mycompany.com` whose canonical name is `odoo._domainkey.odoo.com.`.
|
`odoo._domainkey.mycompany.com` whose canonical name is `odoo._domainkey.odoo.com.`.
|
||||||
|
|
||||||
How to create or modify a CNAME record depends on the provider hosting the DNS zone of your domain
|
How to create or modify a CNAME record depends on the provider hosting the DNS zone of your domain
|
||||||
name. The most common providers are list below.
|
name. The most common providers are list below.
|
||||||
|
|
||||||
You can check if your DKIM record is valid with a free tool like
|
You can check if your DKIM record is valid with a free tool like
|
||||||
`DKIM Core <https://dkimcore.org/tools/>`_. If a selector is asked, enter `odoo`.
|
`DKIM Core <https://dkimcore.org/tools/>`_. If a selector is asked, enter `odoo`.
|
||||||
|
|
||||||
Check your DMARC policy
|
Check your DMARC policy
|
||||||
@ -110,7 +110,7 @@ There are three DMARC policies:
|
|||||||
``p=quarantine`` and ``p=reject`` instruct the server that receives an email to quarantine that
|
``p=quarantine`` and ``p=reject`` instruct the server that receives an email to quarantine that
|
||||||
email or ignore it if the SPF and/or DKIM check fails.
|
email or ignore it if the SPF and/or DKIM check fails.
|
||||||
|
|
||||||
If your domain name uses DMARC and has defined one of these policies, it is therefore imperative
|
If your domain name uses DMARC and has defined one of these policies, it is therefore imperative
|
||||||
to be SPF compliant or to enable DKIM.
|
to be SPF compliant or to enable DKIM.
|
||||||
|
|
||||||
.. danger::
|
.. danger::
|
||||||
@ -118,7 +118,7 @@ to be SPF compliant or to enable DKIM.
|
|||||||
strongly advise against using an *@yahoo.com* or *@aol.com* address for your users. These emails
|
strongly advise against using an *@yahoo.com* or *@aol.com* address for your users. These emails
|
||||||
will never reach their recipient.
|
will never reach their recipient.
|
||||||
|
|
||||||
``p=none`` is used for the domain owner to receive reports about entities using their domain. It
|
``p=none`` is used for the domain owner to receive reports about entities using their domain. It
|
||||||
should not impact the deliverability if the DMARC check fails.
|
should not impact the deliverability if the DMARC check fails.
|
||||||
|
|
||||||
You can check the DMARC record of a domain name with a tool like
|
You can check the DMARC record of a domain name with a tool like
|
||||||
@ -127,12 +127,12 @@ You can check the DMARC record of a domain name with a tool like
|
|||||||
If one of your partners, customer or vendor, uses DMARC and has defined one of these policies, the
|
If one of your partners, customer or vendor, uses DMARC and has defined one of these policies, the
|
||||||
Odoo server cannot relay emails from this partner to your users.
|
Odoo server cannot relay emails from this partner to your users.
|
||||||
|
|
||||||
You need to :ref:`handle user notifications in Odoo <discuss_app/notification_preferences>`, or replace the
|
You need to :ref:`handle user notifications in Odoo <discuss_app/notification_preferences>`, or replace the
|
||||||
email address of the partner with a default email address.
|
email address of the partner with a default email address.
|
||||||
|
|
||||||
.. _email_communication/SPFDKIM_common_providers:
|
.. _email_communication/SPFDKIM_common_providers:
|
||||||
|
|
||||||
SPF, DKIM & DMARC documentation of common providers
|
SPF, DKIM & DMARC documentation of common providers
|
||||||
===================================================
|
===================================================
|
||||||
|
|
||||||
- `OVH DNS <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/>`_
|
- `OVH DNS <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/>`_
|
||||||
@ -145,8 +145,8 @@ SPF, DKIM & DMARC documentation of common providers
|
|||||||
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
||||||
- `Azure DNS <https://docs.microsoft.com/en-us/azure/dns/dns-getstarted-portal>`_
|
- `Azure DNS <https://docs.microsoft.com/en-us/azure/dns/dns-getstarted-portal>`_
|
||||||
|
|
||||||
To fully test your configuration, the tool `Mail-Tester <https://www.mail-tester.com/>`_ will give
|
To fully test your configuration, the tool `Mail-Tester <https://www.mail-tester.com/>`_ will give
|
||||||
you a full overview of the content and configuration you have in one email sent! Mail-Tester can
|
you a full overview of the content and configuration you have in one email sent! Mail-Tester can
|
||||||
also be used for other lesser known providers.
|
also be used for other lesser known providers.
|
||||||
|
|
||||||
Use a default email address
|
Use a default email address
|
||||||
|
@ -36,15 +36,15 @@ the example below, the template would be sent to job applicants.
|
|||||||
Writing content including placeholder expressions
|
Writing content including placeholder expressions
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
A placeholder is a string of characters that temporarily takes the place of the final data. With
|
A placeholder is a string of characters that temporarily takes the place of the final data. With
|
||||||
email templates, for example, placeholders let you put dynamic content in order to personalize
|
email templates, for example, placeholders let you put dynamic content in order to personalize
|
||||||
the email for the recipient.
|
the email for the recipient.
|
||||||
|
|
||||||
A common use is to use it to indicate the name of the recipient in the newsletter so that each
|
A common use is to use it to indicate the name of the recipient in the newsletter so that each
|
||||||
recipient gets a personalized newsletter.
|
recipient gets a personalized newsletter.
|
||||||
|
|
||||||
Placeholders and more specifically fields that are available for a template will depend on the
|
Placeholders and more specifically fields that are available for a template will depend on the
|
||||||
template you modify. One way to see the fields that are available is to check the Dynamic
|
template you modify. One way to see the fields that are available is to check the Dynamic
|
||||||
Placeholder Generator tab.
|
Placeholder Generator tab.
|
||||||
|
|
||||||
.. _email_communication/dynamic_placeholder_generator:
|
.. _email_communication/dynamic_placeholder_generator:
|
||||||
@ -66,27 +66,27 @@ Placeholder Generator tab.
|
|||||||
.. image:: email_template/preview.png
|
.. image:: email_template/preview.png
|
||||||
:alt: View of the content with the standard body view in Odoo
|
:alt: View of the content with the standard body view in Odoo
|
||||||
|
|
||||||
Using functions with placeholders
|
Using functions with placeholders
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
Functions can be used along with your placeholders in order to format the data as you'd like within
|
Functions can be used along with your placeholders in order to format the data as you'd like within
|
||||||
your mail templates, for example, the time format can be changed using a function such
|
your mail templates, for example, the time format can be changed using a function such
|
||||||
as ``format_time``.
|
as ``format_time``.
|
||||||
|
|
||||||
In order to use functions, you have to know the available fields to format. To know that, you have
|
In order to use functions, you have to know the available fields to format. To know that, you have
|
||||||
to check the fields (the properties) of the object that are available to be used.
|
to check the fields (the properties) of the object that are available to be used.
|
||||||
|
|
||||||
Checking the fields (properties) available on the object
|
Checking the fields (properties) available on the object
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
To check the **fields available**, click on the link next to Applies to. For the example we use
|
To check the **fields available**, click on the link next to Applies to. For the example we use
|
||||||
the Portal: new user template, so we click on Portal user Config.
|
the Portal: new user template, so we click on Portal user Config.
|
||||||
|
|
||||||
.. image:: email_template/apply-to-model.png
|
.. image:: email_template/apply-to-model.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Template is capable of using the field of the defined Models.
|
:alt: Template is capable of using the field of the defined Models.
|
||||||
|
|
||||||
By clicking on the link, you are redirected to the model, in this case the ``Portal user Config``
|
By clicking on the link, you are redirected to the model, in this case the ``Portal user Config``
|
||||||
model that lists all the fields that you can use within your mail template.
|
model that lists all the fields that you can use within your mail template.
|
||||||
|
|
||||||
.. image:: email_template/fields-of-model.png
|
.. image:: email_template/fields-of-model.png
|
||||||
@ -96,55 +96,55 @@ model that lists all the fields that you can use within your mail template.
|
|||||||
As a side note, you can also see the fields that are available by accessing the dynamic placeholder
|
As a side note, you can also see the fields that are available by accessing the dynamic placeholder
|
||||||
generator, as described :ref:`previously <email_communication/dynamic_placeholder_generator>`.
|
generator, as described :ref:`previously <email_communication/dynamic_placeholder_generator>`.
|
||||||
|
|
||||||
See below an example with the email field that was added in the template and its result as well as
|
See below an example with the email field that was added in the template and its result as well as
|
||||||
some other placeholders already present by default.
|
some other placeholders already present by default.
|
||||||
|
|
||||||
.. image:: email_template/field-and-rendering.png
|
.. image:: email_template/field-and-rendering.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Adding a field on a template and see the result
|
:alt: Adding a field on a template and see the result
|
||||||
|
|
||||||
Using fields with functions
|
Using fields with functions
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Now that you know the *fields* that can be used, you can use one of them with a function. For this
|
Now that you know the *fields* that can be used, you can use one of them with a function. For this
|
||||||
example, we add the creation date, *create_date* field to the body of the template ‘Portal: new user’
|
example, we add the creation date, *create_date* field to the body of the template ‘Portal: new user’
|
||||||
along with the ``format_date`` function so that the user knows when he was invited.
|
along with the ``format_date`` function so that the user knows when he was invited.
|
||||||
|
|
||||||
.. image:: email_template/format-date-functions-example.png
|
.. image:: email_template/format-date-functions-example.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Example of the format_date on a create_date field
|
:alt: Example of the format_date on a create_date field
|
||||||
|
|
||||||
As you can see we use the placeholder `${}` with the ``format_date`` function which uses as a
|
As you can see we use the placeholder `${}` with the ``format_date`` function which uses as a
|
||||||
parameter the field create_date available on the current object, this gives the following line
|
parameter the field create_date available on the current object, this gives the following line
|
||||||
of code ``${format_date(object.create_date)}``.
|
of code ``${format_date(object.create_date)}``.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
It's really important to check that the preview is working, if it's broken your template
|
It's really important to check that the preview is working, if it's broken your template
|
||||||
might appear totally blank when previewing it. We also recommend not changing the content
|
might appear totally blank when previewing it. We also recommend not changing the content
|
||||||
in existing templates unless you have prior knowledge. We highly recommend duplicating the
|
in existing templates unless you have prior knowledge. We highly recommend duplicating the
|
||||||
template and apply your changes within this one.
|
template and apply your changes within this one.
|
||||||
|
|
||||||
Find below the result of the e-mail received in the recipient's mailbox with the modifications
|
Find below the result of the e-mail received in the recipient's mailbox with the modifications
|
||||||
applied.
|
applied.
|
||||||
|
|
||||||
.. image:: email_template/rendering-format-date-function.png
|
.. image:: email_template/rendering-format-date-function.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Rendering of the format_date function on a create_date field
|
:alt: Rendering of the format_date function on a create_date field
|
||||||
|
|
||||||
Still by using the ``format_date`` function, you have the possibility to adapt the format of the
|
Still by using the ``format_date`` function, you have the possibility to adapt the format of the
|
||||||
date just in a specific email by specifying the formatting of the date as a second parameter.
|
date just in a specific email by specifying the formatting of the date as a second parameter.
|
||||||
If not specified, the format used by default is the one defined in the settings of the language.
|
If not specified, the format used by default is the one defined in the settings of the language.
|
||||||
More information on how to access these parameters can be found :ref:`here <email_communication/usable_functions>`.
|
More information on how to access these parameters can be found :ref:`here <email_communication/usable_functions>`.
|
||||||
|
|
||||||
In order to adapt the date format, the piece of code used in the above example
|
In order to adapt the date format, the piece of code used in the above example
|
||||||
``${format_date(object.create_date)}`` becomes ``${format_date(object.create_date, date_format='dd -- MM -- YYYY')}``
|
``${format_date(object.create_date)}`` becomes ``${format_date(object.create_date, date_format='dd -- MM -- YYYY')}``
|
||||||
here dd is the day, MM the month and YYYY the year.
|
here dd is the day, MM the month and YYYY the year.
|
||||||
|
|
||||||
Here is the result once the function is adapted in the template.
|
Here is the result once the function is adapted in the template.
|
||||||
|
|
||||||
.. image:: email_template/adapted-rendering-format-date-function.png
|
.. image:: email_template/adapted-rendering-format-date-function.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Adapted rendering of the format_date
|
:alt: Adapted rendering of the format_date
|
||||||
|
|
||||||
.. _email_communication/usable_functions:
|
.. _email_communication/usable_functions:
|
||||||
|
|
||||||
@ -154,32 +154,32 @@ Functions used by default within email templates
|
|||||||
To format your data, many functions can be used, here are some examples.
|
To format your data, many functions can be used, here are some examples.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
**This list of functions is not exhaustive**, meaning that all functions that are available
|
**This list of functions is not exhaustive**, meaning that all functions that are available
|
||||||
aren't listed in the below list, for more functions, we invite you to check the `babel <http://babel.pocoo.org/en/latest/api/dates.html>`_
|
aren't listed in the below list, for more functions, we invite you to check the `babel <http://babel.pocoo.org/en/latest/api/dates.html>`_
|
||||||
documentation, last but not least, modifications on the templates are considered as
|
documentation, last but not least, modifications on the templates are considered as
|
||||||
customization and isn’t covered by our support.
|
customization and isn’t covered by our support.
|
||||||
|
|
||||||
For the following examples, we will introduce mostly some date functions. By default, the format
|
For the following examples, we will introduce mostly some date functions. By default, the format
|
||||||
of the date used is the one defined in the settings of the language.
|
of the date used is the one defined in the settings of the language.
|
||||||
|
|
||||||
These settings can only be accessed when the :ref:`developer mode <developer-mode>` is enabled.
|
These settings can only be accessed when the :ref:`developer mode <developer-mode>` is enabled.
|
||||||
Once developer is enabled go to :menuselection:`Settings --> Translations --> Languages` and click
|
Once developer is enabled go to :menuselection:`Settings --> Translations --> Languages` and click
|
||||||
on one of the languages to see all the settings such as the time format or date format used by
|
on one of the languages to see all the settings such as the time format or date format used by
|
||||||
the language.
|
the language.
|
||||||
|
|
||||||
- **format_date()** - formats the date (without the time).
|
- **format_date()** - formats the date (without the time).
|
||||||
|
|
||||||
Can be found on the template `Purchase Order: Send PO`:
|
Can be found on the template `Purchase Order: Send PO`:
|
||||||
|
|
||||||
.. image:: email_template/po-template-format-date.png
|
.. image:: email_template/po-template-format-date.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Code of the format_date on existing template Purchase
|
:alt: Code of the format_date on existing template Purchase
|
||||||
|
|
||||||
The result will look like this:
|
The result will look like this:
|
||||||
|
|
||||||
.. image:: email_template/po-template-format-date-rendering.png
|
.. image:: email_template/po-template-format-date-rendering.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Rendering of the format_date on existing template Purchase
|
:alt: Rendering of the format_date on existing template Purchase
|
||||||
|
|
||||||
- **format_datetime()** - formats the datetime, defining a specific timezone, in this case Central
|
- **format_datetime()** - formats the datetime, defining a specific timezone, in this case Central
|
||||||
European Time (CET).
|
European Time (CET).
|
||||||
@ -188,20 +188,20 @@ the language.
|
|||||||
|
|
||||||
.. image:: email_template/event-reg-template-format-datetime.png
|
.. image:: email_template/event-reg-template-format-datetime.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Code of the format_datetime on existing template Event
|
:alt: Code of the format_datetime on existing template Event
|
||||||
|
|
||||||
The result will look like this:
|
The result will look like this:
|
||||||
|
|
||||||
.. image:: email_template/event-reg-template-format-datetime-rendering.png
|
.. image:: email_template/event-reg-template-format-datetime-rendering.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Rendering of the format_datetime on existing template Event
|
:alt: Rendering of the format_datetime on existing template Event
|
||||||
|
|
||||||
- **format_time()** - Similar to the format_datetime function except It's used only for the time,
|
- **format_time()** - Similar to the format_datetime function except It's used only for the time,
|
||||||
not a date.
|
not a date.
|
||||||
|
|
||||||
- **format_amount()** - Formats a number, an amount to display the currency depending on the display
|
- **format_amount()** - Formats a number, an amount to display the currency depending on the display
|
||||||
setting that has been defined on the currency (the :ref:`debug mode <developer-mode>` must be
|
setting that has been defined on the currency (the :ref:`debug mode <developer-mode>` must be
|
||||||
activated to see this feature) :menuselection:`Accounting --> Configuration --> Currencies`
|
activated to see this feature) :menuselection:`Accounting --> Configuration --> Currencies`
|
||||||
(before or after the amount depending on the convention).
|
(before or after the amount depending on the convention).
|
||||||
|
|
||||||
.. image:: email_template/so-template-format-amount.png
|
.. image:: email_template/so-template-format-amount.png
|
||||||
@ -217,10 +217,10 @@ the language.
|
|||||||
Defining a default reply to on your mail template
|
Defining a default reply to on your mail template
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Although the field *reply to* is available within the mail templates, **this field is only used
|
Although the field *reply to* is available within the mail templates, **this field is only used
|
||||||
for mass mailing** mode (this means when sending templates on what we call bulk emailing). You
|
for mass mailing** mode (this means when sending templates on what we call bulk emailing). You
|
||||||
can send emails in bulk in almost every app that has a list view. Select the records you want
|
can send emails in bulk in almost every app that has a list view. Select the records you want
|
||||||
and click on the action button. If you have an option to send an email, you will see a mail
|
and click on the action button. If you have an option to send an email, you will see a mail
|
||||||
composer with possible values to define:
|
composer with possible values to define:
|
||||||
|
|
||||||
.. image:: email_template/composer-mass-mailing-quotations.png
|
.. image:: email_template/composer-mass-mailing-quotations.png
|
||||||
@ -233,12 +233,12 @@ You can also define them by default on the template:
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Reply-to field on template.
|
:alt: Reply-to field on template.
|
||||||
|
|
||||||
Because of this, setting a value in this field is useless as the value defined will be totally
|
Because of this, setting a value in this field is useless as the value defined will be totally
|
||||||
ignored. The default *reply-to* value is the default catchall email address to ensure a
|
ignored. The default *reply-to* value is the default catchall email address to ensure a
|
||||||
communication between your customer and your Odoo database. For more information about the way
|
communication between your customer and your Odoo database. For more information about the way
|
||||||
the catchall works, please check :ref:`how to manage inbound messages <email_communication/inbound_messages>`.
|
the catchall works, please check :ref:`how to manage inbound messages <email_communication/inbound_messages>`.
|
||||||
|
|
||||||
Transactional emails and corresponding URL for each company
|
Transactional emails and corresponding URL for each company
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
When using Odoo, multiple events trigger the sending of automated emails. These emails are known
|
When using Odoo, multiple events trigger the sending of automated emails. These emails are known
|
||||||
@ -247,36 +247,36 @@ as transactional emails and sometimes contain links pointing to your Odoo databa
|
|||||||
By default, links generated by the database use the dynamic web.base.url key defined in the system
|
By default, links generated by the database use the dynamic web.base.url key defined in the system
|
||||||
parameters. More information about this :ref:`parameter <domain-name/web-base-url>`.
|
parameters. More information about this :ref:`parameter <domain-name/web-base-url>`.
|
||||||
|
|
||||||
If the website application isn't installed, the web.base.url key will always be the default
|
If the website application isn't installed, the web.base.url key will always be the default
|
||||||
parameter used to generate all the links.
|
parameter used to generate all the links.
|
||||||
|
|
||||||
It’s important to know that this key can only have a single value, meaning that in a
|
It’s important to know that this key can only have a single value, meaning that in a
|
||||||
multi-website/company database environment, even if you have a specific domain name for each
|
multi-website/company database environment, even if you have a specific domain name for each
|
||||||
website, the links generated to share a document or within a transactional email might remain the
|
website, the links generated to share a document or within a transactional email might remain the
|
||||||
same, whatever the website/company related to the sending of the email/document.
|
same, whatever the website/company related to the sending of the email/document.
|
||||||
|
|
||||||
This is not always the case as some Odoo applications have a link established in the database with
|
This is not always the case as some Odoo applications have a link established in the database with
|
||||||
the website application, meaning that in this case, if a specific domain is defined for the
|
the website application, meaning that in this case, if a specific domain is defined for the
|
||||||
websites, the URL generated in the email template will use the domain defined on the corresponding
|
websites, the URL generated in the email template will use the domain defined on the corresponding
|
||||||
website of the company.
|
website of the company.
|
||||||
|
|
||||||
.. caution::
|
.. caution::
|
||||||
A document shared using the documents application will always use the web.base.url key, as the
|
A document shared using the documents application will always use the web.base.url key, as the
|
||||||
document shared isn't associated with any particular website. Meaning that the URL will always be
|
document shared isn't associated with any particular website. Meaning that the URL will always be
|
||||||
the same (the web.base.url key value), whatever the company it's shared from, this is a known
|
the same (the web.base.url key value), whatever the company it's shared from, this is a known
|
||||||
limitation!
|
limitation!
|
||||||
|
|
||||||
On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a
|
On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a
|
||||||
link established with the website from which the order was made. As a result, the e-mail sent for
|
link established with the website from which the order was made. As a result, the e-mail sent for
|
||||||
the sales orders uses the domain name defined for the corresponding website to generate the links.
|
the sales orders uses the domain name defined for the corresponding website to generate the links.
|
||||||
|
|
||||||
For more information about how to configure your domains, we invite you to check :doc:`our domain name
|
For more information about how to configure your domains, we invite you to check :doc:`our domain name
|
||||||
documentation </administration/maintain/domain_names>`.
|
documentation </administration/maintain/domain_names>`.
|
||||||
|
|
||||||
Updating translations within email templates
|
Updating translations within email templates
|
||||||
********************************************
|
********************************************
|
||||||
|
|
||||||
Email templates are automatically translated. Changing the translations shouldn’t be necessary.
|
Email templates are automatically translated. Changing the translations shouldn’t be necessary.
|
||||||
However, if for a specific reason you’d like to change some of the translations, this can be done.
|
However, if for a specific reason you’d like to change some of the translations, this can be done.
|
||||||
|
|
||||||
Like any modification in the code, keep in mind that modifications that aren’t done correctly (for
|
Like any modification in the code, keep in mind that modifications that aren’t done correctly (for
|
||||||
@ -291,7 +291,7 @@ In order to edit your translations, follow these steps from the template.
|
|||||||
:align: left
|
:align: left
|
||||||
:alt: Edit the language of a template
|
:alt: Edit the language of a template
|
||||||
|
|
||||||
#. A pop-up window with the different languages installed on the database will be displayed. From
|
#. A pop-up window with the different languages installed on the database will be displayed. From
|
||||||
here, editing the translations will be possible. Don't forget to hit the save button to preserve
|
here, editing the translations will be possible. Don't forget to hit the save button to preserve
|
||||||
your changes.
|
your changes.
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
===
|
===
|
||||||
FAQ
|
FAQ
|
||||||
===
|
===
|
||||||
|
|
||||||
This document contains an explanation of the most recurring mailing concerns.
|
This document contains an explanation of the most recurring mailing concerns.
|
||||||
|
|
||||||
We will start by addressing issues of outgoing emails (ex: my client has not received my email),
|
We will start by addressing issues of outgoing emails (ex: my client has not received my email),
|
||||||
and then, of incoming emails (ex: I do not receive responses from my customers in the database).
|
and then, of incoming emails (ex: I do not receive responses from my customers in the database).
|
||||||
|
|
||||||
Outgoing emails
|
Outgoing emails
|
||||||
@ -27,15 +27,15 @@ Common error messages
|
|||||||
|
|
||||||
.. _email_communication/daily_limit_mail:
|
.. _email_communication/daily_limit_mail:
|
||||||
|
|
||||||
You reached your daily limit:
|
You reached your daily limit:
|
||||||
*****************************
|
*****************************
|
||||||
|
|
||||||
.. image:: faq/email-limit.png
|
.. image:: faq/email-limit.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Warning in Odoo upon email limit reached
|
:alt: Warning in Odoo upon email limit reached
|
||||||
|
|
||||||
Each email service provider has its own email sending limits. The limits may be daily, hourly,
|
Each email service provider has its own email sending limits. The limits may be daily, hourly,
|
||||||
and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent
|
and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent
|
||||||
our e-mail servers from being blacklisted.
|
our e-mail servers from being blacklisted.
|
||||||
|
|
||||||
Here are the default limits for new databases:
|
Here are the default limits for new databases:
|
||||||
@ -48,18 +48,18 @@ Here are the default limits for new databases:
|
|||||||
|
|
||||||
In case you hit the limit, you can:
|
In case you hit the limit, you can:
|
||||||
|
|
||||||
- Ask our support team to increase your daily limit. We will analyze the situation of your database
|
- Ask our support team to increase your daily limit. We will analyze the situation of your database
|
||||||
depending on (non-exhaustive list):
|
depending on (non-exhaustive list):
|
||||||
|
|
||||||
- How many users in your database,
|
- How many users in your database,
|
||||||
- Which apps are installed,
|
- Which apps are installed,
|
||||||
- Your bounce rate: the percentage of email addresses that did not receive your emails because
|
- Your bounce rate: the percentage of email addresses that did not receive your emails because
|
||||||
it was returned by a mail server on its way to the final recipient. You can contact the `support
|
it was returned by a mail server on its way to the final recipient. You can contact the `support
|
||||||
<https://www.odoo.com/help>`_.
|
<https://www.odoo.com/help>`_.
|
||||||
|
|
||||||
- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer
|
- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer
|
||||||
to :doc:`the corresponding documentation </applications/general/email_communication/email_servers>`),
|
to :doc:`the corresponding documentation </applications/general/email_communication/email_servers>`),
|
||||||
- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode <developer-mode>`
|
- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode <developer-mode>`
|
||||||
must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails`
|
must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails`
|
||||||
|
|
||||||
.. image:: faq/email-retry-technical.png
|
.. image:: faq/email-retry-technical.png
|
||||||
@ -70,54 +70,54 @@ In case you hit the limit, you can:
|
|||||||
The daily limit is global to your database and can rise quickly! By default an internal message,
|
The daily limit is global to your database and can rise quickly! By default an internal message,
|
||||||
a notification, a note, etc. counts as an email in your daily limit if it notifies someone.
|
a notification, a note, etc. counts as an email in your daily limit if it notifies someone.
|
||||||
|
|
||||||
You can mitigate this by receiving your :ref:`notifications in Odoo <discuss_app/notification_preferences>`
|
You can mitigate this by receiving your :ref:`notifications in Odoo <discuss_app/notification_preferences>`
|
||||||
instead of by emails.
|
instead of by emails.
|
||||||
|
|
||||||
SMTP Error
|
SMTP Error
|
||||||
**********
|
**********
|
||||||
|
|
||||||
You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail
|
You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail
|
||||||
Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure
|
Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure
|
||||||
and transmit it over the Internet, and the error messages generated by email services are helpful
|
and transmit it over the Internet, and the error messages generated by email services are helpful
|
||||||
tools to diagnose and troubleshoot email problems.
|
tools to diagnose and troubleshoot email problems.
|
||||||
|
|
||||||
No Error
|
No Error
|
||||||
********
|
********
|
||||||
|
|
||||||
Odoo is not always capable of providing information for the reason it failed. The different
|
Odoo is not always capable of providing information for the reason it failed. The different
|
||||||
providers implement a personalized policy of the bounce emails and it is not always possible
|
providers implement a personalized policy of the bounce emails and it is not always possible
|
||||||
for Odoo to interpret it correctly.
|
for Odoo to interpret it correctly.
|
||||||
|
|
||||||
If you have this problem on a recurring basis with the same client or the same domain, please
|
If you have this problem on a recurring basis with the same client or the same domain, please
|
||||||
do not hesitate to contact `Odoo Support <https://www.odoo.com/help>`_ for help in finding a reason.
|
do not hesitate to contact `Odoo Support <https://www.odoo.com/help>`_ for help in finding a reason.
|
||||||
|
|
||||||
Note: in such case, one of the most common reasons is related to :ref:`SPF <email_communication/spf_compliant>`
|
Note: in such case, one of the most common reasons is related to :ref:`SPF <email_communication/spf_compliant>`
|
||||||
and/or :ref:`DKIM <email_communication/DKIM_compliant>` configuration.
|
and/or :ref:`DKIM <email_communication/DKIM_compliant>` configuration.
|
||||||
|
|
||||||
Why is my email sent late?
|
Why is my email sent late?
|
||||||
**************************
|
**************************
|
||||||
|
|
||||||
It may happen that you schedule an email campaign but it is not sent on time. We know that
|
It may happen that you schedule an email campaign but it is not sent on time. We know that
|
||||||
we use a delayed job to send emails that we consider as not urgent (Newsletters concept
|
we use a delayed job to send emails that we consider as not urgent (Newsletters concept
|
||||||
such as mass mailing, marketing automation, events). The system utility **cron** can be used
|
such as mass mailing, marketing automation, events). The system utility **cron** can be used
|
||||||
to schedule programs to run automatically at predetermined intervals. We use that policy in order
|
to schedule programs to run automatically at predetermined intervals. We use that policy in order
|
||||||
to avoid cluttering the mail servers and prioritize the communication.
|
to avoid cluttering the mail servers and prioritize the communication.
|
||||||
|
|
||||||
The emails considered urgent (communication from one person to another one such as
|
The emails considered urgent (communication from one person to another one such as
|
||||||
Sales Orders, Invoices, Purchase Orders, etc.) are sent directly.
|
Sales Orders, Invoices, Purchase Orders, etc.) are sent directly.
|
||||||
|
|
||||||
.. image:: faq/email-scheduled-later.png
|
.. image:: faq/email-scheduled-later.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Email scheduled to be sent later.
|
:alt: Email scheduled to be sent later.
|
||||||
|
|
||||||
By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour
|
By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour
|
||||||
before the campaign is actually sent.
|
before the campaign is actually sent.
|
||||||
|
|
||||||
Incoming emails
|
Incoming emails
|
||||||
===============
|
===============
|
||||||
|
|
||||||
When you have an issue with incoming emails, there might not be an indication per se in Odoo.
|
When you have an issue with incoming emails, there might not be an indication per se in Odoo.
|
||||||
This is the client who tries to contact a database who will get a bounce (most of the
|
This is the client who tries to contact a database who will get a bounce (most of the
|
||||||
time 550: mailbox unavailable).
|
time 550: mailbox unavailable).
|
||||||
|
|
||||||
Emails are not received
|
Emails are not received
|
||||||
@ -127,22 +127,22 @@ Depending on the platform you are using:
|
|||||||
|
|
||||||
- The **Odoo.sh** users can find their live logs on the folder :file:`~/logs/`.
|
- The **Odoo.sh** users can find their live logs on the folder :file:`~/logs/`.
|
||||||
|
|
||||||
- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains
|
- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains
|
||||||
a list of files containing the logs of the database. The log files are created everyday
|
a list of files containing the logs of the database. The log files are created everyday
|
||||||
at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order
|
at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order
|
||||||
to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and
|
to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and
|
||||||
:file:`odoo.log.1`. For the following, they are named with their dates and compressed.
|
:file:`odoo.log.1`. For the following, they are named with their dates and compressed.
|
||||||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||||
``zgrep`` (for the compressed ones) to search through the files.
|
``zgrep`` (for the compressed ones) to search through the files.
|
||||||
|
|
||||||
- **Odoo Online** users won’t have access to their logs. However you can still contact
|
- **Odoo Online** users won’t have access to their logs. However you can still contact
|
||||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||||
with the same client or domain.
|
with the same client or domain.
|
||||||
|
|
||||||
Get help from support
|
Get help from support
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
In order to get helped efficiently, please provide as much information as possible. Here is a list
|
In order to get helped efficiently, please provide as much information as possible. Here is a list
|
||||||
of what can be helpful:
|
of what can be helpful:
|
||||||
|
|
||||||
- The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the
|
- The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the
|
||||||
|
@ -16,7 +16,7 @@ SET default_tablespace = '';
|
|||||||
SET default_with_oids = false;
|
SET default_with_oids = false;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: companies; Type: TABLE; Schema: public; Owner: fp; Tablespace:
|
-- Name: companies; Type: TABLE; Schema: public; Owner: fp; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE companies (
|
CREATE TABLE companies (
|
||||||
@ -56,7 +56,7 @@ SELECT pg_catalog.setval('companies_id_seq', 3, true);
|
|||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: persons; Type: TABLE; Schema: public; Owner: fp; Tablespace:
|
-- Name: persons; Type: TABLE; Schema: public; Owner: fp; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE persons (
|
CREATE TABLE persons (
|
||||||
@ -134,7 +134,7 @@ COPY persons (id, company_id, person_name) FROM stdin;
|
|||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Name: companies_pkey; Type: CONSTRAINT; Schema: public; Owner: fp; Tablespace:
|
-- Name: companies_pkey; Type: CONSTRAINT; Schema: public; Owner: fp; Tablespace:
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE ONLY companies
|
ALTER TABLE ONLY companies
|
||||||
|
@ -29,7 +29,7 @@ Settings --> IAP Account`.
|
|||||||
|
|
||||||
.. image:: in_app_purchase/image2.png
|
.. image:: in_app_purchase/image2.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
IAP Portal
|
IAP Portal
|
||||||
==========
|
==========
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ Different services are available depending on the hosting type of your Database:
|
|||||||
- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party
|
- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party
|
||||||
apps can be used.
|
apps can be used.
|
||||||
|
|
||||||
Offering my own services
|
Offering my own services
|
||||||
========================
|
========================
|
||||||
|
|
||||||
I am more than welcome to offer my own IAP services through Odoo Apps! It is the perfect opportunity
|
I am more than welcome to offer my own IAP services through Odoo Apps! It is the perfect opportunity
|
||||||
|
@ -26,7 +26,7 @@ In order to install libsrtp, follow the instructions below:
|
|||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
cd /usr/local/src/
|
cd /usr/local/src/
|
||||||
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
|
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
|
||||||
tar zxvf srtp-1.4.2.tgz
|
tar zxvf srtp-1.4.2.tgz
|
||||||
cd /usr/local/src/srtp
|
cd /usr/local/src/srtp
|
||||||
./configure CFLAGS=-fPIC --prefix=/usr/local/lib
|
./configure CFLAGS=-fPIC --prefix=/usr/local/lib
|
||||||
@ -67,7 +67,7 @@ You also need to install PJSIP, you can download the source `here <http://www.pj
|
|||||||
# ldconfig -p | grep pj
|
# ldconfig -p | grep pj
|
||||||
|
|
||||||
- **The result should be:**
|
- **The result should be:**
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
|
libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
|
||||||
@ -90,7 +90,7 @@ Asterisk
|
|||||||
- Extract Asterisk:
|
- Extract Asterisk:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
tar zxvf asterisk*
|
tar zxvf asterisk*
|
||||||
|
|
||||||
- Enter the Asterisk directory:
|
- Enter the Asterisk directory:
|
||||||
@ -99,7 +99,7 @@ Asterisk
|
|||||||
|
|
||||||
cd ./asterisk*
|
cd ./asterisk*
|
||||||
|
|
||||||
- Run the Asterisk configure script:
|
- Run the Asterisk configure script:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
@ -207,14 +207,14 @@ In Odoo, the configuration should be done in the user's preferences.
|
|||||||
.. image:: asterisk/voip_config01.png
|
.. image:: asterisk/voip_config01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in our example: 1060).
|
- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in our example: 1060).
|
||||||
|
|
||||||
- The SIP Password is the secret you chose in the sip.conf file.
|
- The SIP Password is the secret you chose in the sip.conf file.
|
||||||
|
|
||||||
- The extension of your office's phone is not a required field but it is used if you want to transfer your call from Odoo to an external phone also configured in the sip.conf file.
|
- The extension of your office's phone is not a required field but it is used if you want to transfer your call from Odoo to an external phone also configured in the sip.conf file.
|
||||||
|
|
||||||
|
|
||||||
The configuration should also be done in the General Settings under the "Integrations" section.
|
The configuration should also be done in the General Settings under the "Integrations" section.
|
||||||
|
|
||||||
.. image:: onsip/onsip02.png
|
.. image:: onsip/onsip02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -18,12 +18,12 @@ warehouse.
|
|||||||
Points to be Considered while Implementing Drop-Shipping
|
Points to be Considered while Implementing Drop-Shipping
|
||||||
========================================================
|
========================================================
|
||||||
|
|
||||||
- Use drop-shipping only for the products you can't or don't want to keep in stock.
|
- Use drop-shipping only for the products you can't or don't want to keep in stock.
|
||||||
One reason is that you'll always make smaller
|
One reason is that you'll always make smaller
|
||||||
margins on items that are drop-shipped, so you should keep it
|
margins on items that are drop-shipped, so you should keep it
|
||||||
only for items that take up a lot of space in your warehouse.
|
only for items that take up a lot of space in your warehouse.
|
||||||
|
|
||||||
- Drop-shipping is best for niche products.
|
- Drop-shipping is best for niche products.
|
||||||
Chances are that products that are in high demand are being offered by large suppliers at a
|
Chances are that products that are in high demand are being offered by large suppliers at a
|
||||||
fraction of the price you'll be able to charge, so using a more
|
fraction of the price you'll be able to charge, so using a more
|
||||||
costly shipping method won't be financially rewarding. But if
|
costly shipping method won't be financially rewarding. But if
|
||||||
@ -32,11 +32,11 @@ Points to be Considered while Implementing Drop-Shipping
|
|||||||
- To protect your customers from bad experiences.
|
- To protect your customers from bad experiences.
|
||||||
Test drop-shipping companies for yourself beforehand and list the best ones.
|
Test drop-shipping companies for yourself beforehand and list the best ones.
|
||||||
|
|
||||||
- Make sure time is not against you.
|
- Make sure time is not against you.
|
||||||
Drop-shipping should take a reasonable amount of time and surely not more than it would have taken you to handle it all by yourself. It's also nice to be able
|
Drop-shipping should take a reasonable amount of time and surely not more than it would have taken you to handle it all by yourself. It's also nice to be able
|
||||||
to provide your customers with a tracking number.
|
to provide your customers with a tracking number.
|
||||||
|
|
||||||
- Items have to be available from your supplier.
|
- Items have to be available from your supplier.
|
||||||
It's good to know if
|
It's good to know if
|
||||||
the product you're selling is available upstream. If you don't
|
the product you're selling is available upstream. If you don't
|
||||||
have that information, inform your customers that you don't hold
|
have that information, inform your customers that you don't hold
|
||||||
|
@ -38,7 +38,7 @@ goods in output and then deliver (3 steps)* for *Outgoing Shipments*.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Activating this option will lead to the creation of two new locations,
|
Activating this option will lead to the creation of two new locations,
|
||||||
*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory -->
|
*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory -->
|
||||||
Configuration --> Locations`, *Select* the one you want to rename and update its name.
|
Configuration --> Locations`, *Select* the one you want to rename and update its name.
|
||||||
|
|
||||||
Create a Sales Order
|
Create a Sales Order
|
||||||
|
@ -19,7 +19,7 @@ provide a mechanism to chain different actions together. In this case,
|
|||||||
we will chain the picking step to the shipping step.
|
we will chain the picking step to the shipping step.
|
||||||
|
|
||||||
To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
|
To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
|
||||||
activate the option. Note that activating *Multi-Step Routes* will also
|
activate the option. Note that activating *Multi-Step Routes* will also
|
||||||
activate *Storage Locations*.
|
activate *Storage Locations*.
|
||||||
|
|
||||||
.. image:: two_steps/two_steps_01.png
|
.. image:: two_steps/two_steps_01.png
|
||||||
@ -28,7 +28,7 @@ activate *Storage Locations*.
|
|||||||
Warehouse configuration
|
Warehouse configuration
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory -->
|
Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory -->
|
||||||
Configuration --> Warehouse` and enter the warehouse which will use
|
Configuration --> Warehouse` and enter the warehouse which will use
|
||||||
delivery in 2 steps. You can then select the option *Send goods in
|
delivery in 2 steps. You can then select the option *Send goods in
|
||||||
output and then deliver (2 steps)* for Outgoing Shipments.
|
output and then deliver (2 steps)* for Outgoing Shipments.
|
||||||
|
@ -43,10 +43,10 @@ on the dashboard, you can click the *1 TO PROCESS* button under the
|
|||||||
|
|
||||||
Now, enter the picking that you want to process. You will be able to
|
Now, enter the picking that you want to process. You will be able to
|
||||||
click on *Validate* to complete the move directly as products coming
|
click on *Validate* to complete the move directly as products coming
|
||||||
from suppliers are considered as being always available.
|
from suppliers are considered as being always available.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you have :guilabel:`Storage Locations` activated, you can click the hamburger menu next to
|
If you have :guilabel:`Storage Locations` activated, you can click the hamburger menu next to
|
||||||
the :guilabel:`Done quantity` to specify the location(s) where you are storing the received
|
the :guilabel:`Done quantity` to specify the location(s) where you are storing the received
|
||||||
product(s).
|
product(s).
|
||||||
|
|
||||||
|
@ -7,20 +7,20 @@ chain, it only makes sense that we assess the quality of the products received f
|
|||||||
To do so, we will add a quality control step.
|
To do so, we will add a quality control step.
|
||||||
|
|
||||||
Odoo uses routes to define how to handle the different receipt steps.
|
Odoo uses routes to define how to handle the different receipt steps.
|
||||||
Configuration of those routes is done at the warehouse level. By default, the reception is a
|
Configuration of those routes is done at the warehouse level. By default, the reception is a
|
||||||
one-step process, but it can also be configured to have two-steps or three-steps processes.
|
one-step process, but it can also be configured to have two-steps or three-steps processes.
|
||||||
|
|
||||||
The three-steps flow works as follows: you receive the goods in your receiving area, then transfer
|
The three-steps flow works as follows: you receive the goods in your receiving area, then transfer
|
||||||
them into a quality area for quality control (QC). When the quality check is completed, the goods
|
them into a quality area for quality control (QC). When the quality check is completed, the goods
|
||||||
that match the QC requirements are moved to stock
|
that match the QC requirements are moved to stock
|
||||||
|
|
||||||
Activate Multi-Step Routes
|
Activate Multi-Step Routes
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
The first step is to allow the use of *Multi-Step Routes*. Routes provide a mechanism to chain different
|
The first step is to allow the use of *Multi-Step Routes*. Routes provide a mechanism to chain different
|
||||||
actions together. In this case, we will chain the picking step to the shipping step.
|
actions together. In this case, we will chain the picking step to the shipping step.
|
||||||
|
|
||||||
To enable *Multi-Step Routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
|
To enable *Multi-Step Routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and
|
||||||
activate the option.
|
activate the option.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_01.png
|
.. image:: three_steps/three_steps_01.png
|
||||||
@ -34,22 +34,22 @@ activate the option.
|
|||||||
Configure warehouse for receipt in 3-steps
|
Configure warehouse for receipt in 3-steps
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
Once *Multi-Step Routes* has been activated, go to :menuselection:`Inventory --> Configuration -->
|
Once *Multi-Step Routes* has been activated, go to :menuselection:`Inventory --> Configuration -->
|
||||||
Warehouse` and enter the warehouse which should work with the 3-steps reception. Then, select
|
Warehouse` and enter the warehouse which should work with the 3-steps reception. Then, select
|
||||||
*Receive goods in input, then quality and then stock (3 steps)* for *Incoming Shipments*.
|
*Receive goods in input, then quality and then stock (3 steps)* for *Incoming Shipments*.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_02.png
|
.. image:: three_steps/three_steps_02.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of the incoming shipment strategy to choose to receive goods in three steps
|
:alt: View of the incoming shipment strategy to choose to receive goods in three steps
|
||||||
|
|
||||||
Activating this option leads to the creation of two new locations: *Input* and *Quality Control*.
|
Activating this option leads to the creation of two new locations: *Input* and *Quality Control*.
|
||||||
To rename them, go to :menuselection:`Inventory --> Configuration --> Locations` and select
|
To rename them, go to :menuselection:`Inventory --> Configuration --> Locations` and select
|
||||||
the one you want to rename.
|
the one you want to rename.
|
||||||
|
|
||||||
Create a Purchase Order
|
Create a Purchase Order
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
To start the 3-steps reception process, create a *Request for Quotation* from the *Purchase* app,
|
To start the 3-steps reception process, create a *Request for Quotation* from the *Purchase* app,
|
||||||
add some storable products to it and confirm. Then, three pickings are created with your *Purchase
|
add some storable products to it and confirm. Then, three pickings are created with your *Purchase
|
||||||
Order* as the source document:
|
Order* as the source document:
|
||||||
|
|
||||||
@ -68,25 +68,25 @@ Order* as the source document:
|
|||||||
Process the receipt, quality control and entry in stock
|
Process the receipt, quality control and entry in stock
|
||||||
=======================================================
|
=======================================================
|
||||||
|
|
||||||
As the receipt operation is the first one to be processed, it has a *Ready* status while the others
|
As the receipt operation is the first one to be processed, it has a *Ready* status while the others
|
||||||
are *Waiting Another Operation*.
|
are *Waiting Another Operation*.
|
||||||
|
|
||||||
To access the receipt operation, click on the button from the *Purchase Order* or go back to the
|
To access the receipt operation, click on the button from the *Purchase Order* or go back to the
|
||||||
*Inventory* app dashboard and click on *Receipts*.
|
*Inventory* app dashboard and click on *Receipts*.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_04.png
|
.. image:: three_steps/three_steps_04.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of the button to click to see the receipts that need to be processed
|
:alt: View of the button to click to see the receipts that need to be processed
|
||||||
|
|
||||||
In the receipt order, products are always considered available because they come from the supplier.
|
In the receipt order, products are always considered available because they come from the supplier.
|
||||||
Then, the receipt can be validated.
|
Then, the receipt can be validated.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_05.png
|
.. image:: three_steps/three_steps_05.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of the move (internal transfer) from the reception area to the warehouse input area
|
:alt: View of the move (internal transfer) from the reception area to the warehouse input area
|
||||||
|
|
||||||
Once the receipt has been validated, the transfer to quality becomes *Ready*. And, because the documents
|
Once the receipt has been validated, the transfer to quality becomes *Ready*. And, because the documents
|
||||||
are chained to each other, products previously received are automatically reserved on the
|
are chained to each other, products previously received are automatically reserved on the
|
||||||
transfer. Then, the transfer can be directly validated.
|
transfer. Then, the transfer can be directly validated.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_06.png
|
.. image:: three_steps/three_steps_06.png
|
||||||
@ -97,7 +97,7 @@ transfer. Then, the transfer can be directly validated.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: View of the move (internal transfer) from the input area to the quality control area
|
:alt: View of the move (internal transfer) from the input area to the quality control area
|
||||||
|
|
||||||
Now, the transfer that enters the products to stock is *Ready*. Here, it is again ready to be
|
Now, the transfer that enters the products to stock is *Ready*. Here, it is again ready to be
|
||||||
validated in order to transfer the products to your stock location.
|
validated in order to transfer the products to your stock location.
|
||||||
|
|
||||||
.. image:: three_steps/three_steps_08.png
|
.. image:: three_steps/three_steps_08.png
|
||||||
|
@ -40,7 +40,7 @@ After that, the different transfers that needed to be included in the batch tran
|
|||||||
to the batch transfer
|
to the batch transfer
|
||||||
|
|
||||||
To see the products to pick for the different transfers, click on
|
To see the products to pick for the different transfers, click on
|
||||||
*Select*. If *Multi-locations* has been activated, the document also shows the locations they have
|
*Select*. If *Multi-locations* has been activated, the document also shows the locations they have
|
||||||
been reserved from.
|
been reserved from.
|
||||||
|
|
||||||
.. image:: batch_transfers/batch_transfers_05.png
|
.. image:: batch_transfers/batch_transfers_05.png
|
||||||
@ -77,12 +77,12 @@ too.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: View of an in progress batch transfer
|
:alt: View of an in progress batch transfer
|
||||||
|
|
||||||
In case all the products cannot be picked, you can create backorders for each individual transfer
|
In case all the products cannot be picked, you can create backorders for each individual transfer
|
||||||
which couldn’t be completely processed.
|
which couldn’t be completely processed.
|
||||||
|
|
||||||
.. image:: batch_transfers/batch_transfers_09.png
|
.. image:: batch_transfers/batch_transfers_09.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: How to handle batch transfers with unavailable products. Creation of a backorder inside
|
:alt: How to handle batch transfers with unavailable products. Creation of a backorder inside
|
||||||
of a batch transfer
|
of a batch transfer
|
||||||
|
|
||||||
.. image:: batch_transfers/batch_transfers_10.png
|
.. image:: batch_transfers/batch_transfers_10.png
|
||||||
|
@ -9,7 +9,7 @@ delivery strategies.
|
|||||||
Terminology
|
Terminology
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Minimum stock rule
|
Minimum stock rule
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Minimum Stock rules are used to ensure that you always have the minimum
|
Minimum Stock rules are used to ensure that you always have the minimum
|
||||||
@ -54,7 +54,7 @@ the "Inventory submenu", do not forget to select a supplier.
|
|||||||
Don't forget to select the right product type. A consumable
|
Don't forget to select the right product type. A consumable
|
||||||
can not be stocked and will thus not be accounted for in the stock valuation.
|
can not be stocked and will thus not be accounted for in the stock valuation.
|
||||||
|
|
||||||
Make to Order
|
Make to Order
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
The Make to Order configuration is available on your product form
|
The Make to Order configuration is available on your product form
|
||||||
|
@ -40,8 +40,8 @@ can decide to separate the quantity into two different packages. It then
|
|||||||
allows you to have a report with the quantity of products for each
|
allows you to have a report with the quantity of products for each
|
||||||
package.
|
package.
|
||||||
|
|
||||||
To separate a delivery into different packages you will have to set the
|
To separate a delivery into different packages you will have to set the
|
||||||
done quantity to the desired package quantity then click on "PUT IN
|
done quantity to the desired package quantity then click on "PUT IN
|
||||||
PACK", do this for each package.
|
PACK", do this for each package.
|
||||||
|
|
||||||
.. image:: usage/usage_05.png
|
.. image:: usage/usage_05.png
|
||||||
|
@ -25,7 +25,7 @@ options available. Each of them is explained in detail below.
|
|||||||
|
|
||||||
.. rst-class:: alternatives doc-aside
|
.. rst-class:: alternatives doc-aside
|
||||||
|
|
||||||
Standard Price
|
Standard Price
|
||||||
.. rst-class:: values-table
|
.. rst-class:: values-table
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
@ -110,7 +110,7 @@ Average Price
|
|||||||
- +2*€6
|
- +2*€6
|
||||||
- €36
|
- €36
|
||||||
|
|
||||||
In **AVCO (Average Cost)**, each product has the same value and this
|
In **AVCO (Average Cost)**, each product has the same value and this
|
||||||
value is the average purchase cost of the product. With this costing method, the
|
value is the average purchase cost of the product. With this costing method, the
|
||||||
cost of the product is recomputed as each receipt.
|
cost of the product is recomputed as each receipt.
|
||||||
|
|
||||||
@ -157,14 +157,14 @@ FIFO
|
|||||||
- €44
|
- €44
|
||||||
|
|
||||||
In **FIFO (First In First Out)**, the products are valued at their
|
In **FIFO (First In First Out)**, the products are valued at their
|
||||||
purchase cost. When a product leaves the stock, that’s the “First in,
|
purchase cost. When a product leaves the stock, that’s the “First in,
|
||||||
first out” rule that applies.
|
first out” rule that applies.
|
||||||
|
|
||||||
Pay attention, that this is a financial FIFO. The first value “in”
|
Pay attention, that this is a financial FIFO. The first value “in”
|
||||||
is the first value “out”, no matter the storage location, warehouse
|
is the first value “out”, no matter the storage location, warehouse
|
||||||
or serial number.
|
or serial number.
|
||||||
|
|
||||||
FIFO is advised if you manage all your workflows into Odoo (Sales,
|
FIFO is advised if you manage all your workflows into Odoo (Sales,
|
||||||
Purchases, Inventory). It suits any kind of users.
|
Purchases, Inventory). It suits any kind of users.
|
||||||
|
|
||||||
Inventory Valuation: Manual or Automated
|
Inventory Valuation: Manual or Automated
|
||||||
@ -179,7 +179,7 @@ your accounting mode: it can be continental or anglo-saxon. In
|
|||||||
continental accounting, the cost of a good is taken into account as soon
|
continental accounting, the cost of a good is taken into account as soon
|
||||||
as the product is received in stock. In anglo-saxon accounting, the cost
|
as the product is received in stock. In anglo-saxon accounting, the cost
|
||||||
of a good is only recorded as an expense when this good is invoiced to a
|
of a good is only recorded as an expense when this good is invoiced to a
|
||||||
final customer. In the tables below, you can easily compare those two
|
final customer. In the tables below, you can easily compare those two
|
||||||
accounting modes.
|
accounting modes.
|
||||||
|
|
||||||
Usually, based on your country, the correct accounting mode will be
|
Usually, based on your country, the correct accounting mode will be
|
||||||
@ -195,8 +195,8 @@ on your accounting books. Periodically, you create a manual journal
|
|||||||
entry representing the value of what you have in stock. To know that
|
entry representing the value of what you have in stock. To know that
|
||||||
value, go in :menuselection:`Inventory --> Reporting --> Inventory Valuation`.
|
value, go in :menuselection:`Inventory --> Reporting --> Inventory Valuation`.
|
||||||
|
|
||||||
This is the default configuration in Odoo and it works
|
This is the default configuration in Odoo and it works
|
||||||
out-of-the-box. Check following operations and find out how
|
out-of-the-box. Check following operations and find out how
|
||||||
Odoo is managing the accounting postings.
|
Odoo is managing the accounting postings.
|
||||||
|
|
||||||
Continental Accounting
|
Continental Accounting
|
||||||
@ -248,11 +248,11 @@ Manufacturing Orders
|
|||||||
|
|
||||||
<hr style="float: none; visibility: hidden; margin: 0;">
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
||||||
|
|
||||||
At the end of the month/year, your company does a physical inventory
|
At the end of the month/year, your company does a physical inventory
|
||||||
or just relies on the inventory in Odoo to value the stock into your books.
|
or just relies on the inventory in Odoo to value the stock into your books.
|
||||||
|
|
||||||
Create a journal entry to move the stock variation value from your
|
Create a journal entry to move the stock variation value from your
|
||||||
Profit&Loss section to your assets.
|
Profit&Loss section to your assets.
|
||||||
|
|
||||||
.. h:div:: doc-aside
|
.. h:div:: doc-aside
|
||||||
|
|
||||||
@ -261,13 +261,13 @@ Profit&Loss section to your assets.
|
|||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
\ Debit Credit
|
\ Debit Credit
|
||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
Assets: Inventory X
|
Assets: Inventory X
|
||||||
Expenses: Inventory Variations X
|
Expenses: Inventory Variations X
|
||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
|
|
||||||
If the stock value decreased, the **Inventory** account is credited
|
If the stock value decreased, the **Inventory** account is credited
|
||||||
and the **Inventory Variations** debited.
|
and the **Inventory Variations** debited.
|
||||||
|
|
||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
<hr style="float: none; visibility: hidden; margin: 0;">
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
||||||
@ -289,7 +289,7 @@ Vendor Bill
|
|||||||
============================= ===== ======
|
============================= ===== ======
|
||||||
|
|
||||||
Configuration:
|
Configuration:
|
||||||
* Purchased Goods: defined on the product or on the internal category of related product
|
* Purchased Goods: defined on the product or on the internal category of related product
|
||||||
(Expense Account field)
|
(Expense Account field)
|
||||||
* Deferred Tax Assets: defined on the tax used on the purchase order line
|
* Deferred Tax Assets: defined on the tax used on the purchase order line
|
||||||
* Accounts Payable: defined on the vendor related to the bill
|
* Accounts Payable: defined on the vendor related to the bill
|
||||||
@ -307,7 +307,7 @@ Customer Invoice
|
|||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
|
|
||||||
Configuration:
|
Configuration:
|
||||||
* Revenues: defined on the product or on the internal category of related
|
* Revenues: defined on the product or on the internal category of related
|
||||||
product (Income Account field)
|
product (Income Account field)
|
||||||
* Deferred Tax Liabilities: defined on the tax used on the invoice line
|
* Deferred Tax Liabilities: defined on the tax used on the invoice line
|
||||||
* Accounts Receivable: defined on the customer (Receivable Account)
|
* Accounts Receivable: defined on the customer (Receivable Account)
|
||||||
@ -322,11 +322,11 @@ Manufacturing Orders
|
|||||||
.. raw:: html
|
.. raw:: html
|
||||||
|
|
||||||
<hr style="float: none; visibility: hidden; margin: 0;">
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
||||||
|
|
||||||
At the end of the month/year, your company does a physical inventory
|
At the end of the month/year, your company does a physical inventory
|
||||||
or just relies on the inventory in Odoo to value the stock into your books.
|
or just relies on the inventory in Odoo to value the stock into your books.
|
||||||
|
|
||||||
Then you need to break down the purchase balance into both the inventory and
|
Then you need to break down the purchase balance into both the inventory and
|
||||||
the cost of goods sold using the following formula:
|
the cost of goods sold using the following formula:
|
||||||
|
|
||||||
Cost of goods sold (COGS) = Starting inventory value + Purchases – Closing inventory value
|
Cost of goods sold (COGS) = Starting inventory value + Purchases – Closing inventory value
|
||||||
@ -340,10 +340,10 @@ To update the stock valuation in your books, record such an entry:
|
|||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
\ Debit Credit
|
\ Debit Credit
|
||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
Assets: Inventory (closing value) X
|
Assets: Inventory (closing value) X
|
||||||
Expenses: Cost of Good Sold X
|
Expenses: Cost of Good Sold X
|
||||||
Expenses: Purchased Goods X
|
Expenses: Purchased Goods X
|
||||||
Assets: Inventory (starting value) X
|
Assets: Inventory (starting value) X
|
||||||
===================================== ===== ======
|
===================================== ===== ======
|
||||||
|
|
||||||
Automated Inventory Valuation
|
Automated Inventory Valuation
|
||||||
@ -370,19 +370,19 @@ Continental Accounting
|
|||||||
<hr style="float: none; visibility: hidden; margin: 0;">
|
<hr style="float: none; visibility: hidden; margin: 0;">
|
||||||
|
|
||||||
.. h:div:: doc-aside
|
.. h:div:: doc-aside
|
||||||
|
|
||||||
**Configuration:**
|
**Configuration:**
|
||||||
|
|
||||||
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
|
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
|
||||||
|
|
||||||
- Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
|
- Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line
|
||||||
|
|
||||||
- Revenues/Expenses: defined by default on product's internal category; can be
|
- Revenues/Expenses: defined by default on product's internal category; can be
|
||||||
also set in product form (Accounting tab) as a replacement value.
|
also set in product form (Accounting tab) as a replacement value.
|
||||||
|
|
||||||
- Inventory Variations: to set as Stock Input/Output Account in product's internal
|
- Inventory Variations: to set as Stock Input/Output Account in product's internal
|
||||||
category
|
category
|
||||||
|
|
||||||
- Inventory: to set as Stock Valuation Account in product's internal category
|
- Inventory: to set as Stock Valuation Account in product's internal category
|
||||||
|
|
||||||
Anglo-Saxon Accounting
|
Anglo-Saxon Accounting
|
||||||
@ -402,7 +402,7 @@ Anglo-Saxon Accounting
|
|||||||
|
|
||||||
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
|
- Accounts Receivable/Payable: defined on the partner (Accounting tab)
|
||||||
|
|
||||||
- Deferred Tax Assets/Liabilities: defined on the tax used on the
|
- Deferred Tax Assets/Liabilities: defined on the tax used on the
|
||||||
invoice line
|
invoice line
|
||||||
|
|
||||||
- Revenues: defined on the product category as a default, or specifically
|
- Revenues: defined on the product category as a default, or specifically
|
||||||
@ -412,13 +412,13 @@ Anglo-Saxon Accounting
|
|||||||
Defined on the product category as a default value, or specifically on
|
Defined on the product category as a default value, or specifically on
|
||||||
the product form.
|
the product form.
|
||||||
|
|
||||||
- Goods Received Not Purchased: to set as Stock Input Account in product's
|
- Goods Received Not Purchased: to set as Stock Input Account in product's
|
||||||
internal category
|
internal category
|
||||||
|
|
||||||
- Goods Issued Not Invoiced: to set as Stock Output Account in product's
|
- Goods Issued Not Invoiced: to set as Stock Output Account in product's
|
||||||
internal category
|
internal category
|
||||||
|
|
||||||
- Inventory: to set as Stock Valuation Account in product's internal category
|
- Inventory: to set as Stock Valuation Account in product's internal category
|
||||||
|
|
||||||
- Price Difference: to set in product's internal category or in product
|
- Price Difference: to set in product's internal category or in product
|
||||||
form as a specific replacement value
|
form as a specific replacement value
|
||||||
|
@ -23,7 +23,7 @@ Now, you have to make sure that the main stock locations of warehouse A and ware
|
|||||||
Sell a product from the virtual warehouse
|
Sell a product from the virtual warehouse
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
Let’s say you have two products, one stored in warehouse A and one stored in warehouse B. Now, you can create a new quotation for one of each product. Go to other information and choose Warehouse A+B in the shipping information.
|
Let’s say you have two products, one stored in warehouse A and one stored in warehouse B. Now, you can create a new quotation for one of each product. Go to other information and choose Warehouse A+B in the shipping information.
|
||||||
|
|
||||||
.. image:: stock_warehouses/ware3.png
|
.. image:: stock_warehouses/ware3.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -24,8 +24,8 @@ through all these locations, which also trigger all the route's rules.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: view of a generic warehouse with stock and quality control area
|
:alt: view of a generic warehouse with stock and quality control area
|
||||||
|
|
||||||
In this example, vendor trucks unload pallets of ordered goods at receiving docks.
|
In this example, vendor trucks unload pallets of ordered goods at receiving docks.
|
||||||
Operators then scan the products in the receiving area. Some of these products are sent to a
|
Operators then scan the products in the receiving area. Some of these products are sent to a
|
||||||
quality control area (those devoted to being used during the manufacturing process, for
|
quality control area (those devoted to being used during the manufacturing process, for
|
||||||
example), while others are directly stored in their respective locations.
|
example), while others are directly stored in their respective locations.
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ Area* is created.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
All these transfers are pre-generated by Odoo, starting from the end and going backwards.
|
All these transfers are pre-generated by Odoo, starting from the end and going backwards.
|
||||||
While working, the operator process these transfers in the opposite order: first the picking,
|
While working, the operator process these transfers in the opposite order: first the picking,
|
||||||
then the packing, then the delivery order.
|
then the packing, then the delivery order.
|
||||||
|
|
||||||
Push Rules
|
Push Rules
|
||||||
@ -150,7 +150,7 @@ Configuration --> Routes` to see the routes Odoo generated for you.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: view of all the preconfigured routes Odoo offers
|
:alt: view of all the preconfigured routes Odoo offers
|
||||||
|
|
||||||
Opening one of those routes allows you to see on what you can apply the route.
|
Opening one of those routes allows you to see on what you can apply the route.
|
||||||
Here, all the selected product categories in the
|
Here, all the selected product categories in the
|
||||||
*YourCompany* warehouse are set up to follow the 3-steps route.
|
*YourCompany* warehouse are set up to follow the 3-steps route.
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ Here, all the selected product categories in the
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: view of a route example applicable on category and warehouse
|
:alt: view of a route example applicable on category and warehouse
|
||||||
|
|
||||||
Easier for many businesses, this process might not fit yours. Thus,
|
Easier for many businesses, this process might not fit yours. Thus,
|
||||||
you can configure custom routes in which you can define your own
|
you can configure custom routes in which you can define your own
|
||||||
rules, but also the source and destination location of each action. As
|
rules, but also the source and destination location of each action. As
|
||||||
an example, here are the rules for the pre-configured route.
|
an example, here are the rules for the pre-configured route.
|
||||||
@ -245,7 +245,7 @@ Rules
|
|||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
The rules are to be defined on the routes. To do so, go to
|
The rules are to be defined on the routes. To do so, go to
|
||||||
:menuselection:`Inventory --> Configuration --> Routes`, then to the *Rules* section,
|
:menuselection:`Inventory --> Configuration --> Routes`, then to the *Rules* section,
|
||||||
and click on *Add a line* button.
|
and click on *Add a line* button.
|
||||||
|
|
||||||
.. image:: use-routes/add-new-rules.png
|
.. image:: use-routes/add-new-rules.png
|
||||||
@ -267,8 +267,8 @@ all of them:
|
|||||||
those products to the destination location.
|
those products to the destination location.
|
||||||
- **Pull & Push**: this rule allows generating pickings in the two
|
- **Pull & Push**: this rule allows generating pickings in the two
|
||||||
situations explained above. This means that when products are
|
situations explained above. This means that when products are
|
||||||
required at a specific location, a transfer is created from the previous location to fulfill
|
required at a specific location, a transfer is created from the previous location to fulfill
|
||||||
that need. This creates a need in the previous location and a rule is triggered to fulfill
|
that need. This creates a need in the previous location and a rule is triggered to fulfill
|
||||||
it. Once the second need is fulfilled, the products are pushed to the destination location and all the
|
it. Once the second need is fulfilled, the products are pushed to the destination location and all the
|
||||||
needs are fulfilled.
|
needs are fulfilled.
|
||||||
- **Buy**: when products are needed at the destination location, a
|
- **Buy**: when products are needed at the destination location, a
|
||||||
@ -301,7 +301,7 @@ the source location:
|
|||||||
In the *Scheduling* section, you can determine how Odoo behaves when
|
In the *Scheduling* section, you can determine how Odoo behaves when
|
||||||
one of the chain's pickings is rescheduled. In case you decide to
|
one of the chain's pickings is rescheduled. In case you decide to
|
||||||
**Propagate Rescheduling**, the next move is also to be rescheduled.
|
**Propagate Rescheduling**, the next move is also to be rescheduled.
|
||||||
If you prefer having the choice to reschedule the next move,
|
If you prefer having the choice to reschedule the next move,
|
||||||
you can decide to receive an alert in the form of a
|
you can decide to receive an alert in the form of a
|
||||||
*next activity*.
|
*next activity*.
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ In the *Inventory* app, go to :menuselection:`Configuration --> Settings` and ac
|
|||||||
Setting up a Putaway Rule
|
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.
|
In some cases, like for a retail shop storing vegetables and fruits, we have to store products in different locations to maintain product quality.
|
||||||
|
|
||||||
Let’s suppose there are one warehouse location *WH/Stock* and two sub-locations *WH/Stock/Vegetables* and *WH/Stock/Fruits*.
|
Let’s suppose there are one warehouse location *WH/Stock* and two sub-locations *WH/Stock/Vegetables* and *WH/Stock/Fruits*.
|
||||||
|
|
||||||
|
@ -2,36 +2,36 @@
|
|||||||
What is a Removal Strategy (FIFO, LIFO, and FEFO)?
|
What is a Removal Strategy (FIFO, LIFO, and FEFO)?
|
||||||
==================================================
|
==================================================
|
||||||
|
|
||||||
Usually, *Removal Strategies* are defined in picking operations to select the best products to
|
Usually, *Removal Strategies* are defined in picking operations to select the best products to
|
||||||
optimize the distance for the worker, for quality control purposes, or to first move the products
|
optimize the distance for the worker, for quality control purposes, or to first move the products
|
||||||
with the closest expiration date.
|
with the closest expiration date.
|
||||||
|
|
||||||
When a product movement needs to be done, Odoo finds available products that can be assigned to
|
When a product movement needs to be done, Odoo finds available products that can be assigned to
|
||||||
the transfer. The way Odoo assigns these products depends on the *Removal Strategy* defined in
|
the transfer. The way Odoo assigns these products depends on the *Removal Strategy* defined in
|
||||||
the *Product Category* or on the *Location*.
|
the *Product Category* or on the *Location*.
|
||||||
|
|
||||||
What happens inside the warehouse?
|
What happens inside the warehouse?
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
Imagine a generic warehouse plan, with receiving docks and area, storage locations, picking and
|
Imagine a generic warehouse plan, with receiving docks and area, storage locations, picking and
|
||||||
packing areas, and shipping docks. All products go through all these locations, but some rules,
|
packing areas, and shipping docks. All products go through all these locations, but some rules,
|
||||||
such as removal strategies, can have an effect on which products are taken for the pickings.
|
such as removal strategies, can have an effect on which products are taken for the pickings.
|
||||||
|
|
||||||
.. image:: removal/empty-dock.png
|
.. image:: removal/empty-dock.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: empty stock waiting for deliveries at the docks.
|
:alt: empty stock waiting for deliveries at the docks.
|
||||||
|
|
||||||
Here, vendor trucks unload pallets of goods at the docks. Then, operators scan the products in the
|
Here, vendor trucks unload pallets of goods at the docks. Then, operators scan the products in the
|
||||||
receiving area, with the receiving date and, if the product has an expiration date, the expiration
|
receiving area, with the receiving date and, if the product has an expiration date, the expiration
|
||||||
date. After that, products are stored in their respective locations.
|
date. After that, products are stored in their respective locations.
|
||||||
|
|
||||||
.. image:: removal/entering-stocks.png
|
.. image:: removal/entering-stocks.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: products entering stock via the receiving area.
|
:alt: products entering stock via the receiving area.
|
||||||
|
|
||||||
Next, several orders for the same product are made, but you didn’t receive the goods the same day
|
Next, several orders for the same product are made, but you didn’t receive the goods the same day
|
||||||
and they don’t have the same expiration date. In that situation, you logically prefer sending those
|
and they don’t have the same expiration date. In that situation, you logically prefer sending those
|
||||||
with the closest date first. Depending on the removal strategy you chose, Odoo generates a transfer
|
with the closest date first. Depending on the removal strategy you chose, Odoo generates a transfer
|
||||||
with the products fitting your settings the best.
|
with the products fitting your settings the best.
|
||||||
|
|
||||||
.. image:: removal/packing-products.png
|
.. image:: removal/packing-products.png
|
||||||
@ -47,62 +47,62 @@ How does it work?
|
|||||||
First In, First Out (FIFO)
|
First In, First Out (FIFO)
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
When using a **First In, First Out** strategy, a demand for some products triggers a removal rule
|
When using a **First In, First Out** strategy, a demand for some products triggers a removal rule
|
||||||
which requests a transfer for the lot/serial number that has entered your stock the first.
|
which requests a transfer for the lot/serial number that has entered your stock the first.
|
||||||
|
|
||||||
To be clearer, let’s imagine that you have three lots of nails in your warehouse. Those three have
|
To be clearer, let’s imagine that you have three lots of nails in your warehouse. Those three have
|
||||||
the following lot numbers: 00001, 00002, 00003, each with 5 nails boxes in it. 00001 entered the
|
the following lot numbers: 00001, 00002, 00003, each with 5 nails boxes in it. 00001 entered the
|
||||||
stock on the 23rd of May, 00002 on the 25th of May, and 00003 on the 1st of June. A customer orders
|
stock on the 23rd of May, 00002 on the 25th of May, and 00003 on the 1st of June. A customer orders
|
||||||
you 6 boxes on the 11th of June. With the *FIFO* strategy selected, a transfer is requested for the
|
you 6 boxes on the 11th of June. With the *FIFO* strategy selected, a transfer is requested for the
|
||||||
five boxes of 00001 and one of the boxes in 00002 because 00001 has entered your stock before the
|
five boxes of 00001 and one of the boxes in 00002 because 00001 has entered your stock before the
|
||||||
others. The box from 00002 is taken because it has the oldest enter date after 00001.
|
others. The box from 00002 is taken because it has the oldest enter date after 00001.
|
||||||
|
|
||||||
So, for every order of a product with the *FIFO* strategy selected, Odoo requests a transfer for the
|
So, for every order of a product with the *FIFO* strategy selected, Odoo requests a transfer for the
|
||||||
good that has been in your stock for the longest period.
|
good that has been in your stock for the longest period.
|
||||||
|
|
||||||
Last In, First Out (LIFO)
|
Last In, First Out (LIFO)
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
The same way as for FIFO, the **Last In, First Out** strategy is based on moving products based on the
|
The same way as for FIFO, the **Last In, First Out** strategy is based on moving products based on the
|
||||||
date they entered the stock. Here, a demand for some products triggers a removal rule that requests a
|
date they entered the stock. Here, a demand for some products triggers a removal rule that requests a
|
||||||
transfer for the lot/serial number that has entered your stock the last.
|
transfer for the lot/serial number that has entered your stock the last.
|
||||||
|
|
||||||
To better understand, let’s imagine three lots of screws in your warehouse. Those three have the
|
To better understand, let’s imagine three lots of screws in your warehouse. Those three have the
|
||||||
following numbers: 10001, 10002, 10003, each with 10 screw boxes in it. 10001 has entered the stock
|
following numbers: 10001, 10002, 10003, each with 10 screw boxes in it. 10001 has entered the stock
|
||||||
on the 1st of June, 10002 on the 3rd of June, and 10003 on the 6th of June. A customer orders
|
on the 1st of June, 10002 on the 3rd of June, and 10003 on the 6th of June. A customer orders
|
||||||
7 boxes on the 8th of June. With the *LIFO* strategy selected, a transfer is requested for seven
|
7 boxes on the 8th of June. With the *LIFO* strategy selected, a transfer is requested for seven
|
||||||
boxes of 10003 because that lot is the last one to have entered the stock.
|
boxes of 10003 because that lot is the last one to have entered the stock.
|
||||||
|
|
||||||
So, basically, for every order of a product with the *LIFO* strategy used, a transfer for the last
|
So, basically, for every order of a product with the *LIFO* strategy used, a transfer for the last
|
||||||
one to have entered the stock is requested.
|
one to have entered the stock is requested.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This strategy is banned in many countries and can lead to only have old or obsolete products
|
This strategy is banned in many countries and can lead to only have old or obsolete products
|
||||||
in your stock.
|
in your stock.
|
||||||
|
|
||||||
First Expire, First Out (FEFO)
|
First Expire, First Out (FEFO)
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
The **First Expire, First Out** strategy is a bit different from the two others. Here, it is the
|
The **First Expire, First Out** strategy is a bit different from the two others. Here, it is the
|
||||||
expiration date that is important and not the date the product entered the stock.
|
expiration date that is important and not the date the product entered the stock.
|
||||||
|
|
||||||
Let’s imagine three lots of 6-eggs boxes (in this specific case, don’t forget to use
|
Let’s imagine three lots of 6-eggs boxes (in this specific case, don’t forget to use
|
||||||
:doc:`units of measure <../../management/products/uom>`). Those three have the following numbers:
|
:doc:`units of measure <../../management/products/uom>`). Those three have the following numbers:
|
||||||
20001, 20002, and 20003, each with 5 boxes in it. 20001 has entered the stock on the 1st of July
|
20001, 20002, and 20003, each with 5 boxes in it. 20001 has entered the stock on the 1st of July
|
||||||
and expires on the 15th of July, 20002 on the 2nd and expires on the 14th of July, and 20003 on
|
and expires on the 15th of July, 20002 on the 2nd and expires on the 14th of July, and 20003 on
|
||||||
the 4th and expires on the 21st of July. A customer orders 6 boxes on the 5th of July. With the
|
the 4th and expires on the 21st of July. A customer orders 6 boxes on the 5th of July. With the
|
||||||
*FEFO* strategy selected, a transfer is requested for the five boxes of 20002 and one from 20001.
|
*FEFO* strategy selected, a transfer is requested for the five boxes of 20002 and one from 20001.
|
||||||
The transfer for all the boxes of the lot 20002 is because they have the closest expiration date.
|
The transfer for all the boxes of the lot 20002 is because they have the closest expiration date.
|
||||||
The transfer also requests one box from 20001 because it’s the lot that expires the sooner after 20002.
|
The transfer also requests one box from 20001 because it’s the lot that expires the sooner after 20002.
|
||||||
|
|
||||||
Then, you can remember that for every order of a product with the *FEFO* strategy, a transfer is
|
Then, you can remember that for every order of a product with the *FEFO* strategy, a transfer is
|
||||||
requested for the product that has the nearest expiration date from the order date.
|
requested for the product that has the nearest expiration date from the order date.
|
||||||
|
|
||||||
Use Removal Strategies
|
Use Removal Strategies
|
||||||
======================
|
======================
|
||||||
|
|
||||||
To identify some units from other ones, you need to track them, either by *lot* or by *serial number*.
|
To identify some units from other ones, you need to track them, either by *lot* or by *serial number*.
|
||||||
To do so, go to :menuselection:`Configuration --> Settings`. Then, activate *Storage Location*,
|
To do so, go to :menuselection:`Configuration --> Settings`. Then, activate *Storage Location*,
|
||||||
*Multi-Steps Routes*, and *Lots & Serial Numbers*.
|
*Multi-Steps Routes*, and *Lots & Serial Numbers*.
|
||||||
|
|
||||||
.. image:: removal/enabled-features.png
|
.. image:: removal/enabled-features.png
|
||||||
@ -112,7 +112,7 @@ To do so, go to :menuselection:`Configuration --> Settings`. Then, activate *Sto
|
|||||||
.. note::
|
.. note::
|
||||||
To work with the *FEFO* strategy, activate the *Expiration Dates* feature.
|
To work with the *FEFO* strategy, activate the *Expiration Dates* feature.
|
||||||
|
|
||||||
Next, you need to define your removal strategy, on *Product Categories* via
|
Next, you need to define your removal strategy, on *Product Categories* via
|
||||||
:menuselection:`Inventory --> Configuration --> Product Categories`.
|
:menuselection:`Inventory --> Configuration --> Product Categories`.
|
||||||
|
|
||||||
.. image:: removal/first-in-first-out.png
|
.. image:: removal/first-in-first-out.png
|
||||||
@ -122,23 +122,23 @@ Next, you need to define your removal strategy, on *Product Categories* via
|
|||||||
FIFO (First In, First Out)
|
FIFO (First In, First Out)
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
As said, a *FIFO* strategy implies that products stocked first move out first. Companies should use
|
As said, a *FIFO* strategy implies that products stocked first move out first. Companies should use
|
||||||
that method if they are selling products with short demand cycles, such as clothes, and to ensure
|
that method if they are selling products with short demand cycles, such as clothes, and to ensure
|
||||||
they are not stuck with outdated styles in stock.
|
they are not stuck with outdated styles in stock.
|
||||||
|
|
||||||
For this example, we created three lots of white shirts. Those are from the All/Clothes category,
|
For this example, we created three lots of white shirts. Those are from the All/Clothes category,
|
||||||
where we put *FIFO* as the removal strategy. In our stock location (WH/Stock), we now find the
|
where we put *FIFO* as the removal strategy. In our stock location (WH/Stock), we now find the
|
||||||
three lots available.
|
three lots available.
|
||||||
|
|
||||||
.. image:: removal/inventory-valuation.png
|
.. image:: removal/inventory-valuation.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: view of the white shirt lots inventory valuation.
|
:alt: view of the white shirt lots inventory valuation.
|
||||||
|
|
||||||
The lot 000001 contains 5 shirts, 000002 contains 3 shirts, and 000003 contains 2. As it can be
|
The lot 000001 contains 5 shirts, 000002 contains 3 shirts, and 000003 contains 2. As it can be
|
||||||
seen above, 000001 has entered the stock first. Let’s create a sale order of six white shirts
|
seen above, 000001 has entered the stock first. Let’s create a sale order of six white shirts
|
||||||
to check that products from that lot are the first ones to move out.
|
to check that products from that lot are the first ones to move out.
|
||||||
|
|
||||||
On the delivery order linked to the picking, you can see that the oldest lot numbers have been
|
On the delivery order linked to the picking, you can see that the oldest lot numbers have been
|
||||||
reserved thanks to the *FIFO* strategy.
|
reserved thanks to the *FIFO* strategy.
|
||||||
|
|
||||||
.. image:: removal/reserved-lots-FIFO.png
|
.. image:: removal/reserved-lots-FIFO.png
|
||||||
@ -148,18 +148,18 @@ reserved thanks to the *FIFO* strategy.
|
|||||||
LIFO (Last In, First Out)
|
LIFO (Last In, First Out)
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
With a *LIFO* strategy, that’s quite the opposite. In fact, the products that are brought the
|
With a *LIFO* strategy, that’s quite the opposite. In fact, the products that are brought the
|
||||||
last move out the first. It is mostly used in case of products without a shelf life.
|
last move out the first. It is mostly used in case of products without a shelf life.
|
||||||
|
|
||||||
Even if our white shirts are clothes, we can say that they are timeless. So, let’s use them to
|
Even if our white shirts are clothes, we can say that they are timeless. So, let’s use them to
|
||||||
test our *LIFO* strategy. Once again, open the product category via :menuselection:`Inventory
|
test our *LIFO* strategy. Once again, open the product category via :menuselection:`Inventory
|
||||||
--> Configuration --> Product Categories` and change the removal strategy to *LIFO*.
|
--> Configuration --> Product Categories` and change the removal strategy to *LIFO*.
|
||||||
|
|
||||||
.. image:: removal/last-in-first-out.png
|
.. image:: removal/last-in-first-out.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: last in first out strategy set up as forced removal strategy.
|
:alt: last in first out strategy set up as forced removal strategy.
|
||||||
|
|
||||||
Now, create a sale order for 4 white shirts and check that the reserved products are from lots
|
Now, create a sale order for 4 white shirts and check that the reserved products are from lots
|
||||||
000003 and 000002.
|
000003 and 000002.
|
||||||
|
|
||||||
.. image:: removal/reserved-lots-LIFO.png
|
.. image:: removal/reserved-lots-LIFO.png
|
||||||
@ -172,29 +172,29 @@ Now, create a sale order for 4 white shirts and check that the reserved products
|
|||||||
FEFO (First Expiry, First Out)
|
FEFO (First Expiry, First Out)
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
With the *FEFO* strategy, the way products are picked is not based on the reception date. In this
|
With the *FEFO* strategy, the way products are picked is not based on the reception date. In this
|
||||||
particular case, they are dispatched according to their expiration date.
|
particular case, they are dispatched according to their expiration date.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
To have more information about Expiration date, please have a look at
|
To have more information about Expiration date, please have a look at
|
||||||
:doc:`the related doc <../../management/lots_serial_numbers/expiration_dates>`.
|
:doc:`the related doc <../../management/lots_serial_numbers/expiration_dates>`.
|
||||||
|
|
||||||
By activating *Expiration Dates*, it becomes possible to define different dates on the serial/lot
|
By activating *Expiration Dates*, it becomes possible to define different dates on the serial/lot
|
||||||
numbers to be used in *FEFO*. These dates can be set by going to :menuselection:`Inventory -->
|
numbers to be used in *FEFO*. These dates can be set by going to :menuselection:`Inventory -->
|
||||||
Master Data --> Lots/Serial Numbers`.
|
Master Data --> Lots/Serial Numbers`.
|
||||||
|
|
||||||
.. image:: removal/removal-date.png
|
.. image:: removal/removal-date.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: view of the removal date for 0000001.
|
:alt: view of the removal date for 0000001.
|
||||||
|
|
||||||
Lots are picked based on their removal date, from earliest to latest. Lots without a removal date
|
Lots are picked based on their removal date, from earliest to latest. Lots without a removal date
|
||||||
defined are picked after lots with removal dates.
|
defined are picked after lots with removal dates.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Other dates are for informational and reporting purposes only. If not removed from the stock,
|
Other dates are for informational and reporting purposes only. If not removed from the stock,
|
||||||
lots that are past the expiration dates may still be picked for delivery orders!
|
lots that are past the expiration dates may still be picked for delivery orders!
|
||||||
|
|
||||||
To use the *FEFO* strategy, once again go to :menuselection:`Inventory --> Configuration -->
|
To use the *FEFO* strategy, once again go to :menuselection:`Inventory --> Configuration -->
|
||||||
Product Categories` and choose *FEFO* as the *Force Removal Strategy*.
|
Product Categories` and choose *FEFO* as the *Force Removal Strategy*.
|
||||||
|
|
||||||
.. image:: removal/first-expiry-first-out.png
|
.. image:: removal/first-expiry-first-out.png
|
||||||
@ -213,8 +213,8 @@ For this particular case, let’s use hand cream. As usual, we have three lots o
|
|||||||
| 0000003 | Hand Cream | 10/31/2019 |
|
| 0000003 | Hand Cream | 10/31/2019 |
|
||||||
+-----------------------+---------------+-----------------------+
|
+-----------------------+---------------+-----------------------+
|
||||||
|
|
||||||
When we realize a sale for 25 units of Hand Cream, we can see that the lot numbers which have been
|
When we realize a sale for 25 units of Hand Cream, we can see that the lot numbers which have been
|
||||||
automatically reserved by Odoo are the ones with the closest expiration date, meaning 0000001 and
|
automatically reserved by Odoo are the ones with the closest expiration date, meaning 0000001 and
|
||||||
0000003.
|
0000003.
|
||||||
|
|
||||||
.. image:: removal/reserved-hand-cream.png
|
.. image:: removal/reserved-hand-cream.png
|
||||||
|
@ -14,7 +14,7 @@ the destination.
|
|||||||
|
|
||||||
You can easily cancel the request made to the carrier system.
|
You can easily cancel the request made to the carrier system.
|
||||||
|
|
||||||
How to cancel a shipping request?
|
How to cancel a shipping request?
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
- If the delivery order is not **Validated**, then the request hasn't been
|
- If the delivery order is not **Validated**, then the request hasn't been
|
||||||
@ -36,7 +36,7 @@ You will now see that the shipment has been cancelled.
|
|||||||
|
|
||||||
You can now change the carrier if you wish.
|
You can now change the carrier if you wish.
|
||||||
|
|
||||||
How to send a shipping request after cancelling one?
|
How to send a shipping request after cancelling one?
|
||||||
====================================================
|
====================================================
|
||||||
|
|
||||||
After cancelling the shipping request, you can change the carrier you
|
After cancelling the shipping request, you can change the carrier you
|
||||||
|
@ -81,7 +81,7 @@ Open the products you want to ship and set a weight on it.
|
|||||||
Don't forget to do the conversion if you are used to the imperial
|
Don't forget to do the conversion if you are used to the imperial
|
||||||
measurement system.
|
measurement system.
|
||||||
|
|
||||||
How to print shipping labels ?
|
How to print shipping labels ?
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
The delivery order created from the sale order will take the shipping
|
The delivery order created from the sale order will take the shipping
|
||||||
|
@ -13,7 +13,7 @@ Configuration
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
To configure the use of packages, go to the menu
|
To configure the use of packages, go to the menu
|
||||||
:menuselection:`Inventory --> Configuration --> Settings`.
|
:menuselection:`Inventory --> Configuration --> Settings`.
|
||||||
Locate the **Packages** section and tick **Record
|
Locate the **Packages** section and tick **Record
|
||||||
packages used on packing: pallets, boxes,...**
|
packages used on packing: pallets, boxes,...**
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
===============================
|
===============================
|
||||||
How to setup a delivery method?
|
How to setup a delivery method?
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
@ -33,7 +33,7 @@ order to see it :
|
|||||||
Configure the delivery method
|
Configure the delivery method
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
To configure your delivery methods, go to the **Inventory** module,
|
To configure your delivery methods, go to the **Inventory** module,
|
||||||
click on :menuselection:`Configuration --> Delivery Methods`.
|
click on :menuselection:`Configuration --> Delivery Methods`.
|
||||||
|
|
||||||
First set a name and a transporter company.
|
First set a name and a transporter company.
|
||||||
@ -65,9 +65,9 @@ feature limits the list of countries on your e-commerce.
|
|||||||
.. image:: delivery_method/setup02.png
|
.. image:: delivery_method/setup02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You can integrate Odoo with external shippers in order to compute the
|
You can integrate Odoo with external shippers in order to compute the
|
||||||
real price and packagings, and handle the printing the shipping labels.
|
real price and packagings, and handle the printing the shipping labels.
|
||||||
See :doc:`third_party_shipper`
|
See :doc:`third_party_shipper`
|
||||||
|
|
||||||
Delivery process
|
Delivery process
|
||||||
|
@ -16,7 +16,7 @@ Configuration
|
|||||||
Install the shipper company connector module
|
Install the shipper company connector module
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
In the inventory module, click on :menuselection:`Configuration --> Settings`.
|
In the inventory module, click on :menuselection:`Configuration --> Settings`.
|
||||||
Under **Shipping Connectors**, flag the transportation companies you want to
|
Under **Shipping Connectors**, flag the transportation companies you want to
|
||||||
integrate :
|
integrate :
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ integrate :
|
|||||||
Then click on **Apply**.
|
Then click on **Apply**.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you want to integrate delivery methods in your e-commerce,
|
If you want to integrate delivery methods in your e-commerce,
|
||||||
you'll have to install the **eCommerce Delivery** module.
|
you'll have to install the **eCommerce Delivery** module.
|
||||||
|
|
||||||
Configure the delivery method
|
Configure the delivery method
|
||||||
|
@ -16,15 +16,15 @@ the UPS Developer Kit API Development and Production servers.
|
|||||||
Create a UPS Account
|
Create a UPS Account
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Note that only customers located in the US can open a UPS account online.
|
Note that only customers located in the US can open a UPS account online.
|
||||||
If you are located outside the US, you will need to contact UPS Customer
|
If you are located outside the US, you will need to contact UPS Customer
|
||||||
Service in order to to open an account.
|
Service in order to to open an account.
|
||||||
|
|
||||||
You can read additional information about opening a UPS account on the
|
You can read additional information about opening a UPS account on the
|
||||||
their website, on the page,
|
their website, on the page,
|
||||||
`How to Open a UPS Account Online <https://www.ups.com/content/us/en/resources/sri/openaccountonline.html?srch_pos=2&srch_phr=open+ups+account>`_
|
`How to Open a UPS Account Online <https://www.ups.com/content/us/en/resources/sri/openaccountonline.html?srch_pos=2&srch_phr=open+ups+account>`_
|
||||||
|
|
||||||
If you don't already have a UPS account, you can create one along with
|
If you don't already have a UPS account, you can create one along with
|
||||||
your online profile by following these steps:
|
your online profile by following these steps:
|
||||||
|
|
||||||
1. Access the UPS.com web site at
|
1. Access the UPS.com web site at
|
||||||
@ -34,7 +34,7 @@ at the top of the page.
|
|||||||
2. Click the **Register for MyUPS** button, and follow the prompts to
|
2. Click the **Register for MyUPS** button, and follow the prompts to
|
||||||
complete the registration process.
|
complete the registration process.
|
||||||
|
|
||||||
If you already have a UPS account, you can add it to your online profile as follows:
|
If you already have a UPS account, you can add it to your online profile as follows:
|
||||||
|
|
||||||
1. Log in to the `UPS.com website <http://www.ups.com/>`_) using your UPS.com User ID and Password.
|
1. Log in to the `UPS.com website <http://www.ups.com/>`_) using your UPS.com User ID and Password.
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ If you already have a UPS account, you can add it to your online profile as foll
|
|||||||
4. Click the **Add an Existing UPS Account** link in the **UPS Account Details**
|
4. Click the **Add an Existing UPS Account** link in the **UPS Account Details**
|
||||||
section of the page.
|
section of the page.
|
||||||
|
|
||||||
5. In the **Add New Account** screen, enter the **UPS Account Number**,
|
5. In the **Add New Account** screen, enter the **UPS Account Number**,
|
||||||
**Account Name**, and **Postal Code** fields. The country defaults to
|
**Account Name**, and **Postal Code** fields. The country defaults to
|
||||||
United States.q
|
United States.q
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ type, which is *Manufacture this Product*.
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
The destination location should **not** be a scrap location. A scrap location is where you put
|
The destination location should **not** be a scrap location. A scrap location is where you put
|
||||||
products that you don't need.
|
products that you don't need.
|
||||||
|
|
||||||
Using the same BoM to describe Variants
|
Using the same BoM to describe Variants
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
@ -18,7 +18,7 @@ produced out of raw materials “A” and “B”.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_01.png
|
.. image:: subcontracting/subcontracting_01.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
With its subcontracting feature, Odoo helps you handle this flow easily.
|
With its subcontracting feature, Odoo helps you handle this flow easily.
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ To use the subcontracting feature, go to :menuselection:`Manufacturing
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_02.png
|
.. image:: subcontracting/subcontracting_02.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
To define if a product must be subcontracted, use a *Bill of Materials
|
To define if a product must be subcontracted, use a *Bill of Materials
|
||||||
(BoM)* of type *Subcontracting*.
|
(BoM)* of type *Subcontracting*.
|
||||||
@ -46,7 +46,7 @@ several subcontractors.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_03.png
|
.. image:: subcontracting/subcontracting_03.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
Basic Subcontracting Flow
|
Basic Subcontracting Flow
|
||||||
=========================
|
=========================
|
||||||
@ -58,7 +58,7 @@ a subcontractor on the *BoM*.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_04.png
|
.. image:: subcontracting/subcontracting_04.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
Once the *PO* is validated (1), a pending receipt is created. When the
|
Once the *PO* is validated (1), a pending receipt is created. When the
|
||||||
products are received, validate the receipt (2), with the actual
|
products are received, validate the receipt (2), with the actual
|
||||||
@ -131,14 +131,14 @@ also tracked, its serial/lot number can be registered here too.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_05.png
|
.. image:: subcontracting/subcontracting_05.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
For audit purposes, it is possible to check the lot numbers recorded on
|
For audit purposes, it is possible to check the lot numbers recorded on
|
||||||
a receipt by using the icon on the right of the finished products:
|
a receipt by using the icon on the right of the finished products:
|
||||||
|
|
||||||
.. image:: subcontracting/subcontracting_06.png
|
.. image:: subcontracting/subcontracting_06.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
Automate Replenishment of Subcontractors
|
Automate Replenishment of Subcontractors
|
||||||
========================================
|
========================================
|
||||||
@ -172,7 +172,7 @@ components to the subcontractor.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_07.png
|
.. image:: subcontracting/subcontracting_07.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
The second approach is to use a “pull” flow. Here, the demand in the
|
The second approach is to use a “pull” flow. Here, the demand in the
|
||||||
finished product (real demand or forecasted one through the Master
|
finished product (real demand or forecasted one through the Master
|
||||||
@ -182,7 +182,7 @@ wanted components.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_08.png
|
.. image:: subcontracting/subcontracting_08.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
Replenishment from another supplier
|
Replenishment from another supplier
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@ -198,7 +198,7 @@ subcontractor for the shipping.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_09.png
|
.. image:: subcontracting/subcontracting_09.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
That way, the supplier can ship items directly and you simply receive
|
That way, the supplier can ship items directly and you simply receive
|
||||||
and pay the bill. However, it is still required to validate receipts for
|
and pay the bill. However, it is still required to validate receipts for
|
||||||
@ -206,7 +206,7 @@ the subcontractor.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_10.png
|
.. image:: subcontracting/subcontracting_10.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
Quality Control
|
Quality Control
|
||||||
---------------
|
---------------
|
||||||
@ -219,14 +219,14 @@ reception.
|
|||||||
|
|
||||||
.. image:: subcontracting/subcontracting_11.png
|
.. image:: subcontracting/subcontracting_11.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
To create a quality check at the receipt, open the *Quality* app and
|
To create a quality check at the receipt, open the *Quality* app and
|
||||||
create a new *Control Point* on the reception.
|
create a new *Control Point* on the reception.
|
||||||
|
|
||||||
.. image:: subcontracting/subcontracting_12.png
|
.. image:: subcontracting/subcontracting_12.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt:
|
:alt:
|
||||||
|
|
||||||
By doing so, a quality check is automatically created each time a
|
By doing so, a quality check is automatically created each time a
|
||||||
finished product is received.
|
finished product is received.
|
||||||
|
@ -16,7 +16,7 @@ will be saved.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This process can take more than 30 minutes. Do not turn off or unplug
|
This process can take more than 30 minutes. Do not turn off or unplug
|
||||||
the IoT Box as it would leave it in an inconsistent state.
|
the IoT Box as it would leave it in an inconsistent state.
|
||||||
|
|
||||||
.. image:: flash_sdcard/flash_sdcard01.png
|
.. image:: flash_sdcard/flash_sdcard01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -26,7 +26,7 @@ Before starting, make sure you have the following:
|
|||||||
The list of supported hardware can be found on the `POS Hardware
|
The list of supported hardware can be found on the `POS Hardware
|
||||||
page <https://www.odoo.com/page/point-of-sale-hardware>`__
|
page <https://www.odoo.com/page/point-of-sale-hardware>`__
|
||||||
|
|
||||||
Set Up
|
Set Up
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
To connect hardware to the PoS, the first step is to connect an IoT Box
|
To connect hardware to the PoS, the first step is to connect an IoT Box
|
||||||
|
@ -8,7 +8,7 @@ connected, the screen can be used to display a :abbr:`PoS (Point of Sale)` order
|
|||||||
.. image:: screen/screen-pos-client-display.png
|
.. image:: screen/screen-pos-client-display.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: An example of a PoS (point of sale) order on a screen display.
|
:alt: An example of a PoS (point of sale) order on a screen display.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Access the customer display from any other computer by going to the :abbr:`IoT (Internet of Things)`
|
Access the customer display from any other computer by going to the :abbr:`IoT (Internet of Things)`
|
||||||
Box homepage and clicking on the :guilabel:`POS Display` button.
|
Box homepage and clicking on the :guilabel:`POS Display` button.
|
||||||
@ -47,21 +47,21 @@ screen.
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: The default "POS Client Display" screen that appears when a screen display is successfully
|
:alt: The default "POS Client Display" screen that appears when a screen display is successfully
|
||||||
connected to an IoT Box.
|
connected to an IoT Box.
|
||||||
|
|
||||||
The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of
|
The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of
|
||||||
Things)` Box homepage.
|
Things)` Box homepage.
|
||||||
|
|
||||||
.. image:: screen/screen-screen-name-example.png
|
.. image:: screen/screen-screen-name-example.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: An example of a screen display name shown on the IoT Box homepage.
|
:alt: An example of a screen display name shown on the IoT Box homepage.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If no screen is detected, a default display named :guilabel:`Distant Display` will be used instead.
|
If no screen is detected, a default display named :guilabel:`Distant Display` will be used instead.
|
||||||
|
|
||||||
.. image:: screen/screen-no-screen.png
|
.. image:: screen/screen-no-screen.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The "Distant Display" screen name will be used if no screen is detected.
|
:alt: The "Distant Display" screen name will be used if no screen is detected.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ Now, select :guilabel:`IoT Box` in the drop-down menu and choose the screen in t
|
|||||||
.. image:: screen/screen-pos-screen-config.png
|
.. image:: screen/screen-pos-screen-config.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Connect the screen display to the Point of Sale app.
|
:alt: Connect the screen display to the Point of Sale app.
|
||||||
|
|
||||||
The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A "screen" icon will appear
|
The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A "screen" icon will appear
|
||||||
in the top bar to inform the connection status with the screen.
|
in the top bar to inform the connection status with the screen.
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ Convert leads into opportunities
|
|||||||
|
|
||||||
The system can generate leads instead of opportunities, in order to add
|
The system can generate leads instead of opportunities, in order to add
|
||||||
a qualification step before converting a *Lead* into an
|
a qualification step before converting a *Lead* into an
|
||||||
*Opportunity* and assigning to the right sales people.
|
*Opportunity* and assigning to the right sales people.
|
||||||
|
|
||||||
You can activate this mode from the CRM Settings. It applies to all your sales
|
You can activate this mode from the CRM Settings. It applies to all your sales
|
||||||
channels by default. But you can make it specific for specific channels
|
channels by default. But you can make it specific for specific channels
|
||||||
@ -46,7 +46,7 @@ Merge opportunities
|
|||||||
Odoo will also automatically propose to merge opportunities if they have
|
Odoo will also automatically propose to merge opportunities if they have
|
||||||
the same email address. When merging opportunities, Odoo merges the
|
the same email address. When merging opportunities, Odoo merges the
|
||||||
information into the opportunity which was created first, giving
|
information into the opportunity which was created first, giving
|
||||||
priority to the information present on the first opportunity.
|
priority to the information present on the first opportunity.
|
||||||
|
|
||||||
No information is lost: data from the other opportunity is logged in the
|
No information is lost: data from the other opportunity is logged in the
|
||||||
chatter and the information fields for easy access.
|
chatter and the information fields for easy access.
|
||||||
|
@ -8,7 +8,7 @@ Configuration
|
|||||||
==============
|
==============
|
||||||
|
|
||||||
For this feature to work, go to :menuselection:`CRM --> Configuration --> Settings` and activate the **Lead Mining** feature.
|
For this feature to work, go to :menuselection:`CRM --> Configuration --> Settings` and activate the **Lead Mining** feature.
|
||||||
|
|
||||||
.. image:: lead_mining/LM1.png
|
.. image:: lead_mining/LM1.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
@ -31,16 +31,16 @@ From there, click on the **Generate Leads** button, a window where you will be a
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
When choosing to target Companied and their contacts you can choose the contacts you are getting based on Role or Seniority.
|
When choosing to target Companied and their contacts you can choose the contacts you are getting based on Role or Seniority.
|
||||||
When getting contact information make sure to be aware of the latest EU regulation, get more information about General Data Protection Regulation on
|
When getting contact information make sure to be aware of the latest EU regulation, get more information about General Data Protection Regulation on
|
||||||
`Odoo GDPR <http://odoo.com/gdpr>`__,
|
`Odoo GDPR <http://odoo.com/gdpr>`__,
|
||||||
|
|
||||||
|
|
||||||
You can decide to filter the leads you are getting depending on the size (number of employees) of the companies.
|
You can decide to filter the leads you are getting depending on the size (number of employees) of the companies.
|
||||||
You can pick the countries your leads are coming from. It is possible to pick multiple countries.
|
You can pick the countries your leads are coming from. It is possible to pick multiple countries.
|
||||||
You can pick the industries your leads are coming from. It is possible to pick multiple industries.
|
You can pick the industries your leads are coming from. It is possible to pick multiple industries.
|
||||||
|
|
||||||
You can choose the salesperson and the Salesteam the lead will be assigned to.
|
You can choose the salesperson and the Salesteam the lead will be assigned to.
|
||||||
You can also add tags to track your generated leads.
|
You can also add tags to track your generated leads.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
@ -50,7 +50,7 @@ Pricing
|
|||||||
==================
|
==================
|
||||||
This is an In-App Purchase feature, each generated lead will cost you one credit.
|
This is an In-App Purchase feature, each generated lead will cost you one credit.
|
||||||
If you choose to get contact information each contact will also cost us one additional credit.
|
If you choose to get contact information each contact will also cost us one additional credit.
|
||||||
Here is the pricing for this `feature <https://iap.odoo.com/iap/in-app-services/167?>`__,
|
Here is the pricing for this `feature <https://iap.odoo.com/iap/in-app-services/167?>`__,
|
||||||
To buy credits you can either go to :menuselection:`CRM --> Configuration --> Settings --> Buy
|
To buy credits you can either go to :menuselection:`CRM --> Configuration --> Settings --> Buy
|
||||||
Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Services`.
|
Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Services`.
|
||||||
|
|
||||||
@ -70,4 +70,3 @@ Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Ser
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
* :doc:`In-App Purchases (IAP) </applications/general/in_app_purchase>`
|
* :doc:`In-App Purchases (IAP) </applications/general/in_app_purchase>`
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
:nosearch:
|
:nosearch:
|
||||||
|
|
||||||
===================
|
===================
|
||||||
Analyze performance
|
Analyze performance
|
||||||
===================
|
===================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
@ -16,15 +16,15 @@ convenient.
|
|||||||
Set up Pricelists
|
Set up Pricelists
|
||||||
=================
|
=================
|
||||||
|
|
||||||
To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration`
|
To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration`
|
||||||
and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration
|
and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration
|
||||||
--> Point of Sale` and enable *Pricelist* for the *PoS*.
|
--> Point of Sale` and enable *Pricelist* for the *PoS*.
|
||||||
|
|
||||||
.. image:: pricelists/pricelists_01.png
|
.. image:: pricelists/pricelists_01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Now, you can create *Pricelists* by clicking on the *Pricelists* link.
|
Now, you can create *Pricelists* by clicking on the *Pricelists* link.
|
||||||
Then, set it up by choosing the product category you want to include in your happy hour
|
Then, set it up by choosing the product category you want to include in your happy hour
|
||||||
and the discount.
|
and the discount.
|
||||||
|
|
||||||
.. image:: pricelists/pricelists_02.png
|
.. image:: pricelists/pricelists_02.png
|
||||||
|
@ -6,7 +6,7 @@ When working with a Point of Sale application, employees want a
|
|||||||
simple, and user-friendly solution. A solution that works online or
|
simple, and user-friendly solution. A solution that works online or
|
||||||
offline and with any device.
|
offline and with any device.
|
||||||
|
|
||||||
A Point of Sale system is a fully integrated application that allows any transaction,
|
A Point of Sale system is a fully integrated application that allows any transaction,
|
||||||
automatically registers product moves in your stock, and gives you
|
automatically registers product moves in your stock, and gives you
|
||||||
real-time statistics and consolidations across all shops.
|
real-time statistics and consolidations across all shops.
|
||||||
|
|
||||||
@ -84,10 +84,10 @@ payment.
|
|||||||
Return and refund products
|
Return and refund products
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
Having a well-thought-out return policy is key to keep customers satisfied and make the process
|
Having a well-thought-out return policy is key to keep customers satisfied and make the process
|
||||||
of accepting returns and refunds easy for you.
|
of accepting returns and refunds easy for you.
|
||||||
|
|
||||||
To do that, from the PoS interface, select the product and quantity (with the +/- button) that the
|
To do that, from the PoS interface, select the product and quantity (with the +/- button) that the
|
||||||
customer wants to return. For multiple products, repeat the process individually.
|
customer wants to return. For multiple products, repeat the process individually.
|
||||||
|
|
||||||
.. image:: getting_started/getting_started_06.png
|
.. image:: getting_started/getting_started_06.png
|
||||||
@ -104,7 +104,7 @@ process the payment and validate it.
|
|||||||
Close the PoS session
|
Close the PoS session
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
To close your session at the end of the day, click on the close button on the upper right corner
|
To close your session at the end of the day, click on the close button on the upper right corner
|
||||||
of your screen and confirm. Now, close the session on the dashboard view.
|
of your screen and confirm. Now, close the session on the dashboard view.
|
||||||
|
|
||||||
.. image:: getting_started/getting_started_08.png
|
.. image:: getting_started/getting_started_08.png
|
||||||
@ -114,8 +114,8 @@ of your screen and confirm. Now, close the session on the dashboard view.
|
|||||||
.. tip::
|
.. tip::
|
||||||
It’s strongly advised to close your PoS session at the end of each day.
|
It’s strongly advised to close your PoS session at the end of each day.
|
||||||
|
|
||||||
Once a session is closed, you can see a summary of all transactions per payment method.
|
Once a session is closed, you can see a summary of all transactions per payment method.
|
||||||
Then, click on a line to see all orders that were paid during your PoS session.
|
Then, click on a line to see all orders that were paid during your PoS session.
|
||||||
If everything is correct, validate the session and post the closing entries.
|
If everything is correct, validate the session and post the closing entries.
|
||||||
|
|
||||||
.. image:: getting_started/getting_started_09.png
|
.. image:: getting_started/getting_started_09.png
|
||||||
|
@ -10,7 +10,7 @@ takes away.
|
|||||||
Set up fiscal positions for PoS
|
Set up fiscal positions for PoS
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`
|
To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`
|
||||||
and check *Fiscal Position per Order*. Now, you can choose the fiscal positions
|
and check *Fiscal Position per Order*. Now, you can choose the fiscal positions
|
||||||
you want for your *PoS*.
|
you want for your *PoS*.
|
||||||
|
|
||||||
@ -32,8 +32,8 @@ Now, choose the fiscal position you need for the current order.
|
|||||||
Set up a default fiscal position
|
Set up a default fiscal position
|
||||||
================================
|
================================
|
||||||
|
|
||||||
If you want to use a default fiscal position, meaning that a preexisting value is always
|
If you want to use a default fiscal position, meaning that a preexisting value is always
|
||||||
automatically assigned, go to :menuselection:`Point of Sale --> Configuration
|
automatically assigned, go to :menuselection:`Point of Sale --> Configuration
|
||||||
--> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one.
|
--> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one.
|
||||||
|
|
||||||
.. image:: fiscal_position/fiscal_position_03.png
|
.. image:: fiscal_position/fiscal_position_03.png
|
||||||
|
@ -96,7 +96,7 @@ customer.
|
|||||||
|
|
||||||
.. image:: restaurant/restaurant_09.png
|
.. image:: restaurant/restaurant_09.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of the pos interface and transfer button. How to transfer customers from one table
|
:alt: View of the pos interface and transfer button. How to transfer customers from one table
|
||||||
to another
|
to another
|
||||||
|
|
||||||
Register an additional order
|
Register an additional order
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
Cash Rounding
|
Cash Rounding
|
||||||
=============
|
=============
|
||||||
|
|
||||||
**Cash rounding** is required when the lowest physical denomination
|
**Cash rounding** is required when the lowest physical denomination
|
||||||
of currency, or the smallest coin, is higher than the minimum unit
|
of currency, or the smallest coin, is higher than the minimum unit
|
||||||
of account.
|
of account.
|
||||||
|
|
||||||
For example, some countries require their companies to round up or
|
For example, some countries require their companies to round up or
|
||||||
down the total amount of an invoice to the nearest five cents, when
|
down the total amount of an invoice to the nearest five cents, when
|
||||||
the payment is made in cash.
|
the payment is made in cash.
|
||||||
|
|
||||||
Each point of sale in Odoo can be configured to apply cash rounding
|
Each point of sale in Odoo can be configured to apply cash rounding
|
||||||
@ -16,20 +16,20 @@ to the totals of its bills or receipts.
|
|||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Go to :menuselection:`Point of Sale --> Configuration --> Settings`
|
Go to :menuselection:`Point of Sale --> Configuration --> Settings`
|
||||||
and enable *Cash Rounding*, then click on *Save*.
|
and enable *Cash Rounding*, then click on *Save*.
|
||||||
|
|
||||||
.. image:: cash_rounding/cash_rounding01.png
|
.. image:: cash_rounding/cash_rounding01.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Go to :menuselection:`Point of Sale --> Configuration --> Point of
|
Go to :menuselection:`Point of Sale --> Configuration --> Point of
|
||||||
Sale`, open the point of sale you want to configure, and enable the
|
Sale`, open the point of sale you want to configure, and enable the
|
||||||
*Cash Rounding* option.
|
*Cash Rounding* option.
|
||||||
|
|
||||||
To define the **Rounding Method**, open the drop-down list and click
|
To define the **Rounding Method**, open the drop-down list and click
|
||||||
on *Create and Edit...*.
|
on *Create and Edit...*.
|
||||||
|
|
||||||
Define here your *Rounding Precision*, *Profit Account*, and
|
Define here your *Rounding Precision*, *Profit Account*, and
|
||||||
*Loss Account*, then save both the Rounding Method and your Point
|
*Loss Account*, then save both the Rounding Method and your Point
|
||||||
of Sale settings.
|
of Sale settings.
|
||||||
|
|
||||||
@ -43,5 +43,5 @@ rounding according to your settings.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Odoo Point of Sale only support the *Add a rounding line*
|
Odoo Point of Sale only support the *Add a rounding line*
|
||||||
rounding strategies and *Half-up* rounding methods.
|
rounding strategies and *Half-up* rounding methods.
|
||||||
|
@ -39,7 +39,7 @@ turn, notify the customer that the order (or a part of it) is on its way.
|
|||||||
.. important::
|
.. important::
|
||||||
Starting from July 2021, Amazon requires that deliveries be provided with a tracking
|
Starting from July 2021, Amazon requires that deliveries be provided with a tracking
|
||||||
reference. This concerns all marketplaces.
|
reference. This concerns all marketplaces.
|
||||||
|
|
||||||
If this is not already done, you need to :ref:`install <general/install>` the **Delivery Costs**
|
If this is not already done, you need to :ref:`install <general/install>` the **Delivery Costs**
|
||||||
module in order to provide the tracking reference. There is unfortunately no workaround to comply
|
module in order to provide the tracking reference. There is unfortunately no workaround to comply
|
||||||
with this new Amazon policy.
|
with this new Amazon policy.
|
||||||
|
@ -19,14 +19,14 @@ Choose your pricing strategy from :menuselection:`Sales --> Settings`.
|
|||||||
* *Different prices per customer segment :* you will set several prices per products ;
|
* *Different prices per customer segment :* you will set several prices per products ;
|
||||||
* *Advanced pricing based on formula :* will let you apply discounts, margins and roundings.
|
* *Advanced pricing based on formula :* will let you apply discounts, margins and roundings.
|
||||||
|
|
||||||
Several prices per product
|
Several prices per product
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
To apply several prices per product, select *Different prices per customer
|
To apply several prices per product, select *Different prices per customer
|
||||||
segment* in :menuselection:`Sales --> Settings`. Then open the *Sales* tab
|
segment* in :menuselection:`Sales --> Settings`. Then open the *Sales* tab
|
||||||
in the product detail form. You can settle following strategies.
|
in the product detail form. You can settle following strategies.
|
||||||
|
|
||||||
Prices per customer segment
|
Prices per customer segment
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
Create pricelists for your customer segments: e.g. registered, premium, etc.
|
Create pricelists for your customer segments: e.g. registered, premium, etc.
|
||||||
@ -88,10 +88,10 @@ Each pricelist item can be associated to either all products, to a product inter
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
* Once again the system is smart. If a rule is set for a particular item and another one for its category, Odoo will take the rule of the item.
|
* Once again the system is smart. If a rule is set for a particular item and another one for its category, Odoo will take the rule of the item.
|
||||||
|
|
||||||
* Make sure at least one pricelist item covers all your products.
|
* Make sure at least one pricelist item covers all your products.
|
||||||
|
|
||||||
There are 3 modes of computation: fix price, discount & formula.
|
There are 3 modes of computation: fix price, discount & formula.
|
||||||
|
|
||||||
.. image:: pricing/price_computation.png
|
.. image:: pricing/price_computation.png
|
||||||
@ -122,7 +122,7 @@ Any new customer recorded in Odoo gets a default pricelist, i.e. the first one i
|
|||||||
|
|
||||||
The default pricelist can be replaced when creating a sales order.
|
The default pricelist can be replaced when creating a sales order.
|
||||||
|
|
||||||
.. tip:: You can change the pricelists sequence by drag & drop in list view.
|
.. tip:: You can change the pricelists sequence by drag & drop in list view.
|
||||||
|
|
||||||
Compute and show discount % to customers
|
Compute and show discount % to customers
|
||||||
========================================
|
========================================
|
||||||
|
@ -4,7 +4,7 @@ How to import Products with Categories and Variants
|
|||||||
|
|
||||||
Import templates are provided in the **Import Tool** of the most common data to
|
Import templates are provided in the **Import Tool** of the most common data to
|
||||||
import (contacts, products, bank statements, etc.).
|
import (contacts, products, bank statements, etc.).
|
||||||
You can open them with any spreadsheet software (Microsoft Office,
|
You can open them with any spreadsheet software (Microsoft Office,
|
||||||
OpenOffice, Google Drive, etc.).
|
OpenOffice, Google Drive, etc.).
|
||||||
|
|
||||||
How to customize the file
|
How to customize the file
|
||||||
|
@ -22,7 +22,7 @@ Go to :menuselection:`Accounting --> Configuration --> Settings` and activate
|
|||||||
:align: center
|
:align: center
|
||||||
:class: img-thumbnail
|
:class: img-thumbnail
|
||||||
:alt: How to enable Default Terms & Conditions on Odoo Sales?
|
:alt: How to enable Default Terms & Conditions on Odoo Sales?
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Please note that this feature is activated via the settings of the **Invoicing App** and **not**
|
Please note that this feature is activated via the settings of the **Invoicing App** and **not**
|
||||||
via the settings of the **Sales App**. Moreover, you don't need to install the invoicing
|
via the settings of the **Sales App**. Moreover, you don't need to install the invoicing
|
||||||
@ -55,7 +55,7 @@ templates. This is interesting if you have different terms and conditions within
|
|||||||
.. important::
|
.. important::
|
||||||
Be sure to check out our documentation about quotation templates: :doc:`quote_template`,
|
Be sure to check out our documentation about quotation templates: :doc:`quote_template`,
|
||||||
to master each step of this amazing feature.
|
to master each step of this amazing feature.
|
||||||
|
|
||||||
General Terms & Conditions
|
General Terms & Conditions
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ Run a modern open-source online store with Odoo eCommerce. Learn how to sell onl
|
|||||||
products and increase your average cart sizes.
|
products and increase your average cart sizes.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||||
databases for one year. Visitors can then access your website with an address such as
|
databases for one year. Visitors can then access your website with an address such as
|
||||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
==================================
|
==================================
|
||||||
How to customize my catalog page
|
How to customize my catalog page
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
Product Catalog
|
Product Catalog
|
||||||
|
@ -15,5 +15,5 @@ If you like to show your products under several angles, you can turn the image i
|
|||||||
.. image:: multi_images/multi_images02.png
|
.. image:: multi_images/multi_images02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Such extra image are common to all the product variants (if any).
|
Such extra image are common to all the product variants (if any).
|
||||||
|
@ -3,7 +3,7 @@ How to sell accessories and optional products (cross-selling)
|
|||||||
=============================================================
|
=============================================================
|
||||||
|
|
||||||
You sell computers. Why not stimulating your customers to buy a top-notch
|
You sell computers. Why not stimulating your customers to buy a top-notch
|
||||||
screen or an extra-warranty? That's the goal of cross-selling functionalities:
|
screen or an extra-warranty? That's the goal of cross-selling functionalities:
|
||||||
|
|
||||||
* Accessory products on checkout page,
|
* Accessory products on checkout page,
|
||||||
* Optional products on a new *Add to Cart* screen (not installed by default).
|
* Optional products on a new *Add to Cart* screen (not installed by default).
|
||||||
|
@ -46,7 +46,7 @@ You can easily moderate by using the chatter, either in the product detail form
|
|||||||
or on the web page.
|
or on the web page.
|
||||||
|
|
||||||
To unpublish the post, open the product web page and click the *Published* button
|
To unpublish the post, open the product web page and click the *Published* button
|
||||||
to turn it red (*Unpublished*).
|
to turn it red (*Unpublished*).
|
||||||
|
|
||||||
.. image:: reviews/comment_unpublish.png
|
.. image:: reviews/comment_unpublish.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
How customers can access their customer account
|
How customers can access their customer account
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
It has never been so easy for your customers to access their
|
It has never been so easy for your customers to access their
|
||||||
customer account. Forget endless signup forms,
|
customer account. Forget endless signup forms,
|
||||||
Odoo makes it as easy as ABC.
|
Odoo makes it as easy as ABC.
|
||||||
They are suggested to sign up (name, email, password) when the order
|
They are suggested to sign up (name, email, password) when the order
|
||||||
is placed, and not before.
|
is placed, and not before.
|
||||||
Indeed, nothing is more annoying than going through a signup process
|
Indeed, nothing is more annoying than going through a signup process
|
||||||
before buying something.
|
before buying something.
|
||||||
|
@ -11,7 +11,7 @@ Discover the best **Open-Source Website Builder** and learn how to build beautif
|
|||||||
convert visitors into leads or revenues.
|
convert visitors into leads or revenues.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||||
databases for one year. Visitors can then access your website with an address such as
|
databases for one year. Visitors can then access your website with an address such as
|
||||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||||
|
|
||||||
|
@ -18,10 +18,10 @@ How to track your website's traffic in Google Analytics
|
|||||||
|
|
||||||
To follow your website's traffic with Google Analytics:
|
To follow your website's traffic with Google Analytics:
|
||||||
|
|
||||||
- `Create a Google Analytics account <https://www.google.com/analytics/>`__ if
|
- `Create a Google Analytics account <https://www.google.com/analytics/>`__ if
|
||||||
you don't have any.
|
you don't have any.
|
||||||
|
|
||||||
- Go through the creation form and accept the conditions to get the tracking ID.
|
- Go through the creation form and accept the conditions to get the tracking ID.
|
||||||
|
|
||||||
.. image:: google_analytics/google_analytics_account.png
|
.. image:: google_analytics/google_analytics_account.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -20,14 +20,14 @@ How to track your website traffic from your Odoo Dashboard
|
|||||||
dashboard on external website until the official end of support `around mid
|
dashboard on external website until the official end of support `around mid
|
||||||
2023 <https://developers.googleblog.com/2022/03/gis-jsweb-authz-migration.html>`_.
|
2023 <https://developers.googleblog.com/2022/03/gis-jsweb-authz-migration.html>`_.
|
||||||
|
|
||||||
You can follow your traffic statistics straight from your Odoo Website
|
You can follow your traffic statistics straight from your Odoo Website
|
||||||
Dashboard thanks to Google Analytics.
|
Dashboard thanks to Google Analytics.
|
||||||
|
|
||||||
- A preliminary step is creating a Google Analytics account and entering the
|
- A preliminary step is creating a Google Analytics account and entering the
|
||||||
tracking ID in your Website's settings (see :doc:`google_analytics`).
|
tracking ID in your Website's settings (see :doc:`google_analytics`).
|
||||||
|
|
||||||
- Go to `Google APIs platform <https://console.developers.google.com>`__
|
- Go to `Google APIs platform <https://console.developers.google.com>`__
|
||||||
to generate Analytics API credentials. Log in with your Google account.
|
to generate Analytics API credentials. Log in with your Google account.
|
||||||
|
|
||||||
- Select Analytics API.
|
- Select Analytics API.
|
||||||
|
|
||||||
@ -50,25 +50,25 @@ Dashboard thanks to Google Analytics.
|
|||||||
.. image:: google_analytics_dashboard/google_analytics_create_credentials.png
|
.. image:: google_analytics_dashboard/google_analytics_create_credentials.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- Select *Web browser (Javascript)*
|
- Select *Web browser (Javascript)*
|
||||||
as calling source and *User data* as kind of data.
|
as calling source and *User data* as kind of data.
|
||||||
|
|
||||||
.. image:: google_analytics_dashboard/google_analytics_get_credentials.png
|
.. image:: google_analytics_dashboard/google_analytics_get_credentials.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- Then you can create a Client ID.
|
- Then you can create a Client ID.
|
||||||
Enter the name of the application (e.g. Odoo) and the allowed pages on
|
Enter the name of the application (e.g. Odoo) and the allowed pages on
|
||||||
which you will be redirected. The *Authorized JavaScript origin* is your
|
which you will be redirected. The *Authorized JavaScript origin* is your
|
||||||
Odoo's instance URL. The *Authorized redirect URI* is your Odoo's instance
|
Odoo's instance URL. The *Authorized redirect URI* is your Odoo's instance
|
||||||
URL followed by '/google_account/authentication'.
|
URL followed by '/google_account/authentication'.
|
||||||
|
|
||||||
.. image:: google_analytics_dashboard/google_analytics_authorization.png
|
.. image:: google_analytics_dashboard/google_analytics_authorization.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
- Go through the Consent Screen step by entering a product name
|
- Go through the Consent Screen step by entering a product name
|
||||||
(e.g. Google Analytics in Odoo). Feel free to check the customizations options
|
(e.g. Google Analytics in Odoo). Feel free to check the customizations options
|
||||||
but this is not mandatory. The Consent Screen will only show up when you enter
|
but this is not mandatory. The Consent Screen will only show up when you enter
|
||||||
the Client ID in Odoo for the first time.
|
the Client ID in Odoo for the first time.
|
||||||
|
|
||||||
- Finally you are provided with your Client ID. Copy and paste it in Odoo.
|
- Finally you are provided with your Client ID. Copy and paste it in Odoo.
|
||||||
|
@ -29,7 +29,7 @@ Title, Description
|
|||||||
Every web page should define the ``<title>`` and ``<description>`` meta data.
|
Every web page should define the ``<title>`` and ``<description>`` meta data.
|
||||||
These information elements are used by search engines to promote your website.
|
These information elements are used by search engines to promote your website.
|
||||||
They are automatically generated based on page title & content, but you can
|
They are automatically generated based on page title & content, but you can
|
||||||
finetune them. Make sure they fit the content of the page, otherwise you will
|
finetune them. Make sure they fit the content of the page, otherwise you will
|
||||||
be downgraded by search engines.
|
be downgraded by search engines.
|
||||||
|
|
||||||
.. image:: seo/seo01.png
|
.. image:: seo/seo01.png
|
||||||
@ -40,15 +40,15 @@ Keywords
|
|||||||
In order to write quality content and boost your traffic, Odoo provides
|
In order to write quality content and boost your traffic, Odoo provides
|
||||||
a ``<keyword>`` finder. Those keywords are the searches you want to head
|
a ``<keyword>`` finder. Those keywords are the searches you want to head
|
||||||
towards your website. For each keyword, you see how it is used in the content
|
towards your website. For each keyword, you see how it is used in the content
|
||||||
(H1, H2, page title, page description, page content) and what are the related
|
(H1, H2, page title, page description, page content) and what are the related
|
||||||
searches in Google. The more keywords are used the better.
|
searches in Google. The more keywords are used the better.
|
||||||
|
|
||||||
.. image:: seo/seo02.png
|
.. image:: seo/seo02.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If your website is in multiple languages, you can use the Promote
|
If your website is in multiple languages, you can use the Promote
|
||||||
tool for every language of a single page and set specific title,
|
tool for every language of a single page and set specific title,
|
||||||
description and search tags.
|
description and search tags.
|
||||||
|
|
||||||
Content is King
|
Content is King
|
||||||
@ -80,8 +80,8 @@ modules to help you build your website content:
|
|||||||
Use Social Networks
|
Use Social Networks
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Social media is built for mass sharing. If lots of people share your content
|
Social media is built for mass sharing. If lots of people share your content
|
||||||
on social media, then it's likely more people will link to it,
|
on social media, then it's likely more people will link to it,
|
||||||
and links are a huge factor for SEO ranking.
|
and links are a huge factor for SEO ranking.
|
||||||
|
|
||||||
Odoo embeds several tools to share content through social media:
|
Odoo embeds several tools to share content through social media:
|
||||||
@ -94,7 +94,7 @@ All you have to do is to refer all your accounts in your company settings.
|
|||||||
|
|
||||||
.. image:: seo/seo03.png
|
.. image:: seo/seo03.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Social Share
|
Social Share
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@ -106,17 +106,17 @@ wall.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Most social media use a picture of the picture to decorate the share post.
|
Most social media use a picture of the picture to decorate the share post.
|
||||||
Odoo uses the website logo by default but you can choose any other image
|
Odoo uses the website logo by default but you can choose any other image
|
||||||
of your page in the Promote tool.
|
of your page in the Promote tool.
|
||||||
|
|
||||||
.. image:: seo/seo05.png
|
.. image:: seo/seo05.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
Facebook Page
|
Facebook Page
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Drop the building block *Facebook Page* to display a widget of your Facebook
|
Drop the building block *Facebook Page* to display a widget of your Facebook
|
||||||
business page and encourage visitors to follow it.
|
business page and encourage visitors to follow it.
|
||||||
You can display the timeline, the next events and the messages.
|
You can display the timeline, the next events and the messages.
|
||||||
|
|
||||||
Twitter Scroller
|
Twitter Scroller
|
||||||
@ -179,7 +179,7 @@ an example, the following URLs all do a 301 redirect to the above URL:
|
|||||||
product name)
|
product name)
|
||||||
|
|
||||||
Some URLs have several dynamic parts, like this one (a blog category and
|
Some URLs have several dynamic parts, like this one (a blog category and
|
||||||
a post):
|
a post):
|
||||||
|
|
||||||
- https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56
|
- https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ In the above example:
|
|||||||
|
|
||||||
When an Odoo page has a pager, the page number is set directly in the
|
When an Odoo page has a pager, the page number is set directly in the
|
||||||
URL (does not have a GET argument). This allows every page to be indexed
|
URL (does not have a GET argument). This allows every page to be indexed
|
||||||
by search engines. Example:
|
by search engines. Example:
|
||||||
|
|
||||||
- https://www.odoo.com/blog/page/3
|
- https://www.odoo.com/blog/page/3
|
||||||
|
|
||||||
@ -222,7 +222,7 @@ maintaining the SEO link juice.
|
|||||||
HTTPS
|
HTTPS
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Search engines boost ranking of secure HTTPS/SSL websites.
|
Search engines boost ranking of secure HTTPS/SSL websites.
|
||||||
So, by default all Odoo Online instances are fully
|
So, by default all Odoo Online instances are fully
|
||||||
based on HTTPS. If the visitor accesses your website through a non HTTPS
|
based on HTTPS. If the visitor accesses your website through a non HTTPS
|
||||||
url, it gets a 301 redirect to its HTTPS equivalent.
|
url, it gets a 301 redirect to its HTTPS equivalent.
|
||||||
@ -230,7 +230,7 @@ url, it gets a 301 redirect to its HTTPS equivalent.
|
|||||||
Links: Nofollow Strategy
|
Links: Nofollow Strategy
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
The more a page is linked from external and quality websites,
|
The more a page is linked from external and quality websites,
|
||||||
the better it is for your SEO.
|
the better it is for your SEO.
|
||||||
|
|
||||||
Here are Odoo strategies to manage links:
|
Here are Odoo strategies to manage links:
|
||||||
@ -296,7 +296,7 @@ yourwebsite.com/shop), they may automatically be redirected to a
|
|||||||
translated version according to their browser language preference (e.g.
|
translated version according to their browser language preference (e.g.
|
||||||
yourwebsite.com/fr\_FR/shop).
|
yourwebsite.com/fr\_FR/shop).
|
||||||
|
|
||||||
Next time, it keeps a cookie of the current language to
|
Next time, it keeps a cookie of the current language to
|
||||||
avoid any redirection.
|
avoid any redirection.
|
||||||
|
|
||||||
To force a visitor to stick to the default language, you can use the
|
To force a visitor to stick to the default language, you can use the
|
||||||
@ -409,18 +409,18 @@ CSS is shared amongst all pages, when the visitor clicks on another
|
|||||||
page, the browser does not even have to load a new CSS file!
|
page, the browser does not even have to load a new CSS file!
|
||||||
|
|
||||||
================================= =============================================
|
================================= =============================================
|
||||||
**Both files in the <head>** **What the visitor gets (only one file)**
|
**Both files in the <head>** **What the visitor gets (only one file)**
|
||||||
================================= =============================================
|
================================= =============================================
|
||||||
/\* From bootstrap.css \*/ .text-muted {
|
/\* From bootstrap.css \*/ .text-muted {
|
||||||
.text-muted { color: #666;
|
.text-muted { color: #666;
|
||||||
color: #777; background: yellow
|
color: #777; background: yellow
|
||||||
background: yellow; }
|
background: yellow; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/\* From my-theme.css \*/
|
/\* From my-theme.css \*/
|
||||||
.text-muted {
|
.text-muted {
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
================================= =============================================
|
================================= =============================================
|
||||||
|
|
||||||
The CSS sent by Odoo includes all CSS / Less / Sass of all pages /
|
The CSS sent by Odoo includes all CSS / Less / Sass of all pages /
|
||||||
@ -432,28 +432,28 @@ into a second bundle that is loaded only when the page using it is
|
|||||||
requested. An example of this is the backend that is only loaded when
|
requested. An example of this is the backend that is only loaded when
|
||||||
the visitor logs in and accesses the backend (/web).
|
the visitor logs in and accesses the backend (/web).
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If the CSS file is very big, Odoo will split it into two smaller
|
If the CSS file is very big, Odoo will split it into two smaller
|
||||||
files to avoid the 4095 selectors limit per sheet of Internet Explorer.
|
files to avoid the 4095 selectors limit per sheet of Internet Explorer.
|
||||||
But most themes fit below this limit.
|
But most themes fit below this limit.
|
||||||
|
|
||||||
**Minified:** After being pre-processed and concatenated, the resulting
|
**Minified:** After being pre-processed and concatenated, the resulting
|
||||||
CSS is minified to reduce its size.
|
CSS is minified to reduce its size.
|
||||||
|
|
||||||
============================ ==============================
|
============================ ==============================
|
||||||
**Before minification** **After minification**
|
**Before minification** **After minification**
|
||||||
============================ ==============================
|
============================ ==============================
|
||||||
/\* some comments \*/ .text-muted {color: #666}
|
/\* some comments \*/ .text-muted {color: #666}
|
||||||
.text-muted {
|
.text-muted {
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
============================ ==============================
|
============================ ==============================
|
||||||
|
|
||||||
The final result is then compressed, before being delivered to the
|
The final result is then compressed, before being delivered to the
|
||||||
browser.
|
browser.
|
||||||
|
|
||||||
Then, a cached version is stored server-side (so we do not have
|
Then, a cached version is stored server-side (so we do not have
|
||||||
to pre-process, concatenate, minify at every request) and browser-side
|
to pre-process, concatenate, minify at every request) and browser-side
|
||||||
(so the same visitor will load the CSS only once for all pages they
|
(so the same visitor will load the CSS only once for all pages they
|
||||||
visit).
|
visit).
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ Publish a page in all websites
|
|||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
A new static page is created and only made available in the current
|
A new static page is created and only made available in the current
|
||||||
website. You can duplicate it to other websites from
|
website. You can duplicate it to other websites from
|
||||||
:menuselection:`Website --> Configuration --> Pages`. To do so, leave the *Website* field empty.
|
:menuselection:`Website --> Configuration --> Pages`. To do so, leave the *Website* field empty.
|
||||||
|
|
||||||
If you want to duplicate it in just one other website, duplicate the
|
If you want to duplicate it in just one other website, duplicate the
|
||||||
@ -198,7 +198,7 @@ When you edit the page again, the change only affects the current
|
|||||||
website. A new page is duplicated and tied up to the website.
|
website. A new page is duplicated and tied up to the website.
|
||||||
The original page still being linked to all websites.
|
The original page still being linked to all websites.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
By grouping pages by URL in the page manager, you quickly find
|
By grouping pages by URL in the page manager, you quickly find
|
||||||
the original page behind each edited page.
|
the original page behind each edited page.
|
||||||
|
|
||||||
|
@ -976,7 +976,7 @@ The convention is to organize the code according to the following structure:
|
|||||||
- *static/src/js*
|
- *static/src/js*
|
||||||
|
|
||||||
- *static/src/js/tours*: end user tour files (tutorials, not tests)
|
- *static/src/js/tours*: end user tour files (tutorials, not tests)
|
||||||
|
|
||||||
- *static/src/scss*: scss files
|
- *static/src/scss*: scss files
|
||||||
- *static/src/xml*: all qweb templates that will be rendered in JS
|
- *static/src/xml*: all qweb templates that will be rendered in JS
|
||||||
|
|
||||||
|
@ -33,9 +33,9 @@ A tool called *gprof2dot* will produce a graph with this result:
|
|||||||
A tool called *xdot* will display the resulting graph:
|
A tool called *xdot* will display the resulting graph:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
xdot /temp/prof.xdot
|
xdot /temp/prof.xdot
|
||||||
|
|
||||||
Log a method
|
Log a method
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ An example of a view inheritance extension can be found
|
|||||||
Add the ``property_ids`` field to the ``base.view_users_form`` in a new notebook page.
|
Add the ``property_ids`` field to the ``base.view_users_form`` in a new notebook page.
|
||||||
|
|
||||||
Tip: an example an inheritance of the users' view can be found
|
Tip: an example an inheritance of the users' view can be found
|
||||||
`here <https://github.com/odoo/odoo/blob/691d1f087040f1ec7066e485d19ce3662dfc6501/addons/gamification/views/res_users_views.xml#L5-L14>`__.
|
`here <https://github.com/odoo/odoo/blob/691d1f087040f1ec7066e485d19ce3662dfc6501/addons/gamification/views/res_users_views.xml#L5-L14>`__.
|
||||||
|
|
||||||
Inheritance is extensively used in Odoo due to its modular concept. Do not hesitate to read
|
Inheritance is extensively used in Odoo due to its modular concept. Do not hesitate to read
|
||||||
the corresponding documentation for more info!
|
the corresponding documentation for more info!
|
||||||
|
@ -136,7 +136,7 @@ to link a line to an invoice is to include all lines at invoice creation. To do
|
|||||||
:class:`~odoo.fields.One2many`. One2many and Many2many use special 'commands' described in
|
:class:`~odoo.fields.One2many`. One2many and Many2many use special 'commands' described in
|
||||||
:ref:`reference/orm/models/crud`. This format is a list of triplets executed sequentially, where
|
:ref:`reference/orm/models/crud`. This format is a list of triplets executed sequentially, where
|
||||||
each triplet is a command to execute on the set of records. Here is a simple example to include
|
each triplet is a command to execute on the set of records. Here is a simple example to include
|
||||||
a One2many field ``line_ids`` at creation of a ``test.model``::
|
a One2many field ``line_ids`` at creation of a ``test.model``::
|
||||||
|
|
||||||
def inherited_action(self):
|
def inherited_action(self):
|
||||||
self.env["test.model"].create(
|
self.env["test.model"].create(
|
||||||
|
@ -277,7 +277,7 @@ the template, such as data from additional models:
|
|||||||
|
|
||||||
Custom fonts
|
Custom fonts
|
||||||
============
|
============
|
||||||
If you want to use custom fonts you will need to add your custom font and the related less/CSS to the ``web.reports_assets_common`` assets bundle.
|
If you want to use custom fonts you will need to add your custom font and the related less/CSS to the ``web.reports_assets_common`` assets bundle.
|
||||||
Adding your custom font(s) to ``web.assets_common`` or ``web.assets_backend`` will not make your font available in QWeb reports.
|
Adding your custom font(s) to ``web.assets_common`` or ``web.assets_backend`` will not make your font available in QWeb reports.
|
||||||
|
|
||||||
Example::
|
Example::
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user