diff --git a/content/administration/maintain/domain_names.rst b/content/administration/maintain/domain_names.rst index f2da44fcb..9c1349492 100644 --- a/content/administration/maintain/domain_names.rst +++ b/content/administration/maintain/domain_names.rst @@ -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``). .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online 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``. diff --git a/content/administration/maintain/enterprise.rst b/content/administration/maintain/enterprise.rst index 8b87aa23c..25f9e7330 100644 --- a/content/administration/maintain/enterprise.rst +++ b/content/administration/maintain/enterprise.rst @@ -41,7 +41,7 @@ On Linux, using an installer .. code-block:: console $ sudo dpkg -i - + * Update your database to the enterprise packages using .. code-block:: console diff --git a/content/administration/maintain/google_oauth.rst b/content/administration/maintain/google_oauth.rst index 7e6b3966b..153de3f2a 100644 --- a/content/administration/maintain/google_oauth.rst +++ b/content/administration/maintain/google_oauth.rst @@ -123,7 +123,7 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t :align: center :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 authentication. diff --git a/content/administration/odoo_sh/getting_started/branches.rst b/content/administration/odoo_sh/getting_started/branches.rst index 7975e10aa..4f914a854 100644 --- a/content/administration/odoo_sh/getting_started/branches.rst +++ b/content/administration/odoo_sh/getting_started/branches.rst @@ -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. To restore or download one of these monthly backups, please `contact us `_. -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), -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 +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), +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 break things. -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, -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 +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, +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 to 5 per day. The *import database* feature accepts database archives in the format provided by: diff --git a/content/applications/finance/accounting/bank/feeds/bank_statements.rst b/content/applications/finance/accounting/bank/feeds/bank_statements.rst index 79b7b3930..a3ef98e43 100644 --- a/content/applications/finance/accounting/bank/feeds/bank_statements.rst +++ b/content/applications/finance/accounting/bank/feeds/bank_statements.rst @@ -43,7 +43,7 @@ different columns you want to import. :alt: Register bank statements manually in Odoo Accounting .. 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. Register bank statements manually diff --git a/content/applications/finance/accounting/bank/feeds/saltedge.rst b/content/applications/finance/accounting/bank/feeds/saltedge.rst index 5766150b2..d38008f0b 100644 --- a/content/applications/finance/accounting/bank/feeds/saltedge.rst +++ b/content/applications/finance/accounting/bank/feeds/saltedge.rst @@ -80,12 +80,12 @@ FAQ 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, -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 -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 `_ -and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the +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 +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 +completely, please connect to your `Salt Edge account `_ +and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the record. I have an error saying that I have already synchronized this account diff --git a/content/applications/finance/accounting/bank/misc/interbank.rst b/content/applications/finance/accounting/bank/misc/interbank.rst index a8fe38bd6..6e76ee5e5 100644 --- a/content/applications/finance/accounting/bank/misc/interbank.rst +++ b/content/applications/finance/accounting/bank/misc/interbank.rst @@ -63,7 +63,7 @@ Log an internal transfer 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 -and select :menuselection:`New --> Internal transfer`. +and select :menuselection:`New --> Internal transfer`. .. image:: interbank/interbank01.png :align: center @@ -117,7 +117,7 @@ The following window will open: :align: center 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 .. image:: interbank/interbank08.png diff --git a/content/applications/finance/accounting/bank/setup/manage_cash_register.rst b/content/applications/finance/accounting/bank/setup/manage_cash_register.rst index 3ded4ef83..365ad2b13 100644 --- a/content/applications/finance/accounting/bank/setup/manage_cash_register.rst +++ b/content/applications/finance/accounting/bank/setup/manage_cash_register.rst @@ -11,7 +11,7 @@ Configuration .. image:: manage_cash_register/journal.png :align: center -1. Configure the Cash journal in :menuselection:`Accounting --> Configuration --> +1. Configure the Cash journal in :menuselection:`Accounting --> Configuration --> Journals`. 2. In the tab Journal Entries, the Default Debit and Credit Account can be diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst index 5fbb24b4c..a020feed7 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst @@ -23,9 +23,9 @@ modules are available: - **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 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 - Electronic Invoice via web service, based on the AFIP regulations. + +- **l10n_ar_edi**: This module includes all technical and functional requirements to generate + Electronic Invoice via web service, based on the AFIP regulations. Configuration @@ -48,7 +48,7 @@ fiscal obligation and structure of the company: .. image:: argentina/argentina02.png :align: center - + Chart of Account ~~~~~~~~~~~~~~~~ @@ -75,9 +75,9 @@ Environment 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 -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. +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, +the digital certificates of one instance are not valid in the other one. 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 ***************** -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 -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 ``.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 next document in order to get a certificate. `Get AFIP Certificate `_. - + #. 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 corresponding file. @@ -109,7 +109,7 @@ if you don’t have one already. .. image:: argentina/argentina_edi_03.png .. 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 `_. @@ -244,11 +244,11 @@ defines as well: #. The structure and data of the electronic invoice file. Web Services -************ -- ``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. -- ``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 +************ +- ``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. +- ``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 detail you can refer to the next link: `Fiscal Bond `_. - ``wsfexv1: Electronic Exportation Invoice.`` Used to generate invoices for international customers @@ -282,8 +282,8 @@ can be used: :align: center .. note:: - 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 + 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 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -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 -detail), an error message is raised indicating the issue/proposed solution and the invoice remains -in draft until the related data is corrected. +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 +detail), an error message is raised indicating the issue/proposed solution and the invoice remains +in draft until the related data is corrected. -Once the invoice is posted, the information related to the AFIP validation and status is displayed -in the AFIP Tab, including: +Once the invoice is posted, the information related to the AFIP validation and status is displayed +in the AFIP Tab, including: - AFIP Autorisation: CAE number. -- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the - CAE is generated. +- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the + CAE is generated. - Result: - Aceptado en AFIP. - - Aceptado con Observaciones. - + - Aceptado con Observaciones. + .. image:: argentina/argentina_edi_15.png :align: center @@ -378,7 +378,7 @@ Special Use Cases Invoices for Services ********************* 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 :align: center @@ -392,34 +392,34 @@ filled automatically considering the beginning and day of the invoice month: 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: .. image:: argentina/argentina_edi_08.png :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: - Journal related to the exportation Web Service. - Exportation document type . - Fiscal position: Compras/Ventas al exterior. - Concepto AFIP: Products / Definitive export of goods. -- Exempt Taxes. +- Exempt Taxes. .. image:: argentina/argentina_edi_09.png :align: center .. note:: The Exportation Documents required the Incoterm in :menuselection:`Other Info --> Accounting`: - + .. image:: argentina/argentina_edi_13.png :align: center - - + + 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. 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. - Unit of measurement. - 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 -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 -them to increase their productivity, through the early collection of credits and receivables -issued to their clients and / or vendors. +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 +them to increase their productivity, through the early collection of credits and receivables +issued to their clients and / or vendors. For these transactions it’s important to have into consideration the next requirements: - Specific document types (201, 202, 206, etc). -- The emisor should be eligible by the AFIP to MiPyme transactions. -- 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 - be validated, having these errors messages for example: - +- The emisor should be eligible by the AFIP to MiPyme transactions. +- 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 + be validated, having these errors messages for example: + .. image:: argentina/argentina_edi_10.png :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: -- Use the Credit and Debit Note buttons, so the correct reference of the originator - document passed to the note. +- Use the Credit and Debit Note buttons, so the correct reference of the originator + document passed to the note. .. image:: argentina/argentina_edi_11.png :align: center - + - 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 - 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 - amount to pay in ARS. +- 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 + and the payment date, it’s possible to create a credit/debit note to decrease/increase the + amount to pay in ARS. 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 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). +#. 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, + in this case the field “FCE, is Cancellation?” must be empty (false). .. image:: argentina/argentina_edi_12.png :align: center - + Invoice printed report ~~~~~~~~~~~~~~~~~~~~~~ -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 -also displayed as it’s legal requirement: - +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 +also displayed as it’s legal requirement: + .. image:: argentina/argentina_edi_14.png :align: center Troubleshooting and Auditing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For auditing and troubleshooting purposes you can get the detailed information of an -invoice number that has been previously sent to the AFIP, +For auditing and troubleshooting purposes you can get the detailed information of an +invoice number that has been previously sent to the AFIP, .. image:: argentina/argentina_edi_23.png :align: center - + .. 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 -as support for any possible issues on the sequence synchronization between Odoo and AFIP. +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. .. image:: argentina/argentina_edi_22.png :align: center @@ -514,8 +514,8 @@ as support for any possible issues on the sequence synchronization between Odoo Vendor Bills ------------ -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 +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 value can be switched if necessary. .. image:: argentina/argentina16.png @@ -528,20 +528,20 @@ expected. .. image:: argentina/argentina17.png :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". Validate Vendor Bill number in 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 --> -Argentinian Localization --> Validate document in the AFIP`, considering the following levels: +valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings --> +Argentinian Localization --> Validate document in the AFIP`, considering the following levels: - **Not available:** The verification is not done (this is the default value). -- **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. -- **Required:** The verification is done and it doesn't allow the user to +- **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. +- **Required:** The verification is done and it doesn't allow the user to post the vendor bill if the document number is not valid. .. 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 ********************* -This tool incorporates in the vendor bill a new "Verify on AFIP" button located -next to the AFIP Authorization code. +This tool incorporates in the vendor bill a new "Verify on AFIP" button located +next to the AFIP Authorization code. .. image:: argentina/argentina_edi_17.png :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. .. image:: argentina/argentina_edi_18.png @@ -566,8 +566,8 @@ Special Use cases ~~~~~~~~~~~~~~~~~ Untaxed Concepts **************** -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. +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. 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: @@ -577,23 +577,23 @@ base amount and an additional item to register the amount of the Exempt concept Perception Taxes **************** -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 -we will have one tax group for the VAT and one for the perception, the perception default -value is always 1.00. +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 +we will have one tax group for the VAT and one for the perception, the perception default +value is always 1.00. .. image:: argentina/argentina_edi_20.png :align: center -You should use the pencil that is the next to the Perception amount to edit it -and set the correct amount. +You should use the pencil that is the next to the Perception amount to edit it +and set the correct amount. .. image:: argentina/argentina_edi_21.png :align: center - -After this is done the invoice can be validated. - - + +After this is done the invoice can be validated. + + Reports ======= diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst index d97bcd514..88f5aaa5d 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst @@ -2,44 +2,44 @@ France ====== -FEC +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:: 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 ========================= -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 - Compte de résultats -- Plan de Taxes France +- Plan de Taxes France Get the VAT anti-fraud certification with Odoo ============================================== -As of January 1st 2018, a new anti-fraud legislation comes into effect -in France and DOM-TOM. This new legislation stipulates certain criteria -concerning the inalterability, security, storage and archiving of sales data. -These legal requirements are implemented in Odoo, version 9 onward, +As of January 1st 2018, a new anti-fraud legislation comes into effect +in France and DOM-TOM. This new legislation stipulates certain criteria +concerning the inalterability, security, storage and archiving of sales data. +These legal requirements are implemented in Odoo, version 9 onward, through a module and a certificate of conformity to download. 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: * You are taxable (not VAT exempt) in France or any DOM-TOM, * 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. Get certified with Odoo @@ -47,9 +47,9 @@ Get certified with Odoo Getting compliant with Odoo is very easy. -Your company is requested by the tax administration to deliver a certificate -of conformity testifying that your software complies with the anti-fraud -legislation. This certificate is granted by Odoo SA to Odoo Enterprise users +Your company is requested by the tax administration to deliver a certificate +of conformity testifying that your software complies with the anti-fraud +legislation. This certificate is granted by Odoo SA to Odoo Enterprise users `here `_. If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise ` or contact your Odoo service provider. @@ -88,52 +88,52 @@ Anti-fraud 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; * **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). Inalterability ~~~~~~~~~~~~~~ -All the possible ways to cancel and modify key data of paid POS orders, -confirmed invoices and journal entries are deactivated, -if the company is located in France or in any DOM-TOM. +All the possible ways to cancel and modify key data of paid POS orders, +confirmed invoices and journal entries are deactivated, +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. Security ~~~~~~~~ -To ensure the inalterability, every order or journal entry is encrypted -upon validation. -This number (or hash) is calculated from the key data of the document as +To ensure the inalterability, every order or journal entry is encrypted +upon validation. +This number (or hash) is calculated from the key data of the document as well as from the hash of the precedent documents. -The module introduces an interface to test the data inalterability. -If any information is modified on a document after its validation, -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 +The module introduces an interface to test the data inalterability. +If any information is modified on a document after its validation, +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 corrupted document recorded in the system. -Users with *Manager* access rights can launch the inalterability check. -For POS orders, go to -:menuselection:`Point of Sales --> Reporting --> French Statements`. -For invoices or journal entries, +Users with *Manager* access rights can launch the inalterability check. +For POS orders, go to +:menuselection:`Point of Sales --> Reporting --> French Statements`. +For invoices or journal entries, go to :menuselection:`Invoicing/Accounting --> Reporting --> French Statements`. 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. -Such closings distinctly compute the sales total of the period as well as -the cumulative grand totals from the very first sales entry recorded +Such closings distinctly compute the sales total of the period as well as +the cumulative grand totals from the very first sales entry recorded 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. .. note:: @@ -141,15 +141,15 @@ Invoicing and Accounting apps. * For multi-companies environments, such closings are performed by company. - * POS orders are posted as journal entries at the closing of the POS session. - Closing a POS session can be done anytime. - To prompt users to do it on a daily basis, the module prevents from resuming - a session opened more than 24 hours ago. + * POS orders are posted as journal entries at the closing of the POS session. + Closing a POS session can be done anytime. + To prompt users to do it on a daily basis, the module prevents from resuming + a session opened more than 24 hours ago. Such a session must be closed before selling again. - * 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. - If you record a new sales transaction for a period already closed, + * 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. + If you record a new sales transaction for a period already closed, it will be counted in the very next closing. .. tip:: For test & audit purposes such closings can be manually generated in the @@ -160,14 +160,14 @@ Invoicing and Accounting apps. 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. -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 +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 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. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst index 73acbca0e..ba6be4777 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst @@ -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 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:: @@ -20,7 +20,7 @@ German Accounting Reports Here is the list of German-specific reports available on Odoo Enterprise: -- Balance Sheet +- Balance Sheet - Profit & Loss - Tax Report (Umsatzsteuervoranmeldung) - Partner VAT Intra diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst index c34fc4edc..03dccee07 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst @@ -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 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*. .. image:: italy/register.png diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst index 6a193c08a..a7b0296e2 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst @@ -5,20 +5,20 @@ Peru 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: - **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 - guidelines. The main elements included in this module are: Chart of account, taxes, - document types. + 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, + document types. -- **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 - documents, for more technical detail you can access the +- **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 + documents, for more technical detail you can access the `SUNAT EDI specifications `_, - that keeps track of new changes and updates. - The features of this module are based on the resolutions published on the + that keeps track of new changes and updates. + The features of this module are based on the resolutions published on the `SUNAT Legislation `_. Configuration @@ -27,24 +27,24 @@ Configuration 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 automatically within EDI. .. image:: peru/peru-modules.png :align: center - :alt: The "Module" filter is set on "Peru" + :alt: The "Module" filter is set on "Peru" .. 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. - + Configure your company ~~~~~~~~~~~~~~~~~~~~~~ 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 -the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor +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 Registration): .. image:: peru/peru-company.png @@ -53,18 +53,18 @@ Registration): .. tip:: - 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. - + 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. + .. note:: The NIF should be set following the RUC format. - + Chart of Account ~~~~~~~~~~~~~~~~ -The chart of accounts is installed by default as part of the set of data included in the -localization module, the accounts are mapped automatically in: +The 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: - Taxes - Default Account Payable. @@ -77,20 +77,20 @@ accounting. Accounting Settings ------------------- -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 +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 --> Settings --> Peruvian Localization`. 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. -- **OSE**: Electronic Service Operator, `OSE SUNAT's definition +- **OSE**: Electronic Service Operator, `OSE SUNAT's definition `_. -- **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 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 -part of the service. +part of the service. .. image:: peru/peru-IAP.png :align: center :alt: IAP option as signature providers - + What is the IAP? ^^^^^^^^^^^^^^^^ @@ -146,34 +146,34 @@ Package. | 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:: - 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 + 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 before sending your document to the OSE. 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. -- 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 - `OSE Affiliation guide + `OSE Affiliation guide `_. - Register Digiflow as the authorized PSE, please check - `PSE Affiliation guide + `PSE Affiliation guide `_. 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: -- 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 +- 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 `_. - Sign a service agreement directly with `Digiflow `_. - Provide your SOL credentials. @@ -185,14 +185,14 @@ document validation directly to Digiflow. In this case you need to consider: 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: - Get the SUNAT Certification process accepted. -- 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 +- 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 `_. - + - Provide you SOL credentials. .. important:: @@ -202,14 +202,14 @@ in your configuration. In this case you need to consider: 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. .. tip:: - By default the databases are set to work on production, make sure to enable the testing mode - if needed. + By default the databases are set to work on production, make sure to enable the testing mode + if needed. Certificate ~~~~~~~~~~~ @@ -221,17 +221,17 @@ password. .. image:: peru/peru-Certificate.png :align: center :alt: EDI Certificate wizard - + 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. .. image:: peru/peru-multicurrency.png :align: center :alt: Bank of Peru is displayed in Multicurrency Service option - + Please refer to the next section in our documentation for more information about :doc:`multicurrency <../../others/multicurrencies/how_it_works>`. @@ -242,7 +242,7 @@ Configure Master data 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. .. image:: peru/peru-taxes.png @@ -252,9 +252,9 @@ financial account and electronic invoice configuration. EDI Configuration ***************** -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 -sure you fill in the fields: +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 +sure you fill in the fields: .. image:: peru/peru-taxes-edi.png :align: center @@ -273,15 +273,15 @@ There are two main fiscal positions included by default when you install the Per Document Types ~~~~~~~~~~~~~~ -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 -this case by the SUNAT. +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 +this case by the SUNAT. -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 +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 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: .. image:: peru/peru-document-type.png @@ -289,7 +289,7 @@ to fill anything on this view: :alt: Document Type list .. 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. Journals @@ -298,17 +298,17 @@ Journals When creating Sales Journals, the following information must be filled, in addition to the standard 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 -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. +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 +document types available in Peru. By default, all the sales journals created use documents. 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”. .. image:: peru/peru-journal-edi.png @@ -324,8 +324,8 @@ Partner Identification Type and VAT *************************** -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 +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 the sender company and in the customer, make sure you fill in this information in your records. .. 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 ~~~~~~~ -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. +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. .. image:: peru/peru-unspc-code.png :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 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: -- **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**: The default value is “Factura Electronica” but you can manually change the + document type if needed and select Boleta for example. .. image:: peru/peru-invoice-document-type.png :align: center :alt: Invoice document type field on invoices -- **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, - for example Export of Goods. +- **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, + for example Export of Goods. .. image:: peru/peru-operation-type.png :align: center :alt: Invoice operation type field on invoices -- **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. - All the taxes loaded by default are associated with a default EDI affection reason, if needed +- **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. + 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. .. 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 -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: .. image:: peru/peru-posted-invoice.png :align: center :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 ************************* -**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 +**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 immediately by clicking on the button “Sent now”. .. image:: peru/peru-sent-manual.png :align: center :alt: Send EDI manually -**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 -correct Government validation. +**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 +correct Government validation. .. image:: peru/peru-invoice-sent.png :align: center :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 -corrections can be made and the invoice can be sent again. +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. .. warning:: - 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 + 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 total. Common Errors ~~~~~~~~~~~~~ -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 -cases a hint to fix the issue. +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 +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 - apply the change on the record (example customer identification type) and once it is done click - on the Retry button. -- 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 - changes, and then send the invoice again to the SUNAT for another validation. + apply the change on the record (example customer identification type) and once it is done click + on the Retry button. +- 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 + changes, and then send the invoice again to the SUNAT for another validation. .. image:: peru/peru-errors.png :align: center :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 `_. 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. .. 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 ~~~~~~~~~~~ -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. +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. -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 -the message. +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 +the message. .. image:: peru/peru-credits-IAP.png :align: center :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. Special Use cases @@ -479,30 +479,30 @@ Special Use cases Cancellation process ******************** -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 +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 clicking on the button Request Cancellation: .. image:: peru/peru-cancellation.png :align: center :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 ^^^^^^^^^^^^^^^^^^^^^^^^^ -**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 -immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is +**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 +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: .. image:: peru/peru-cancellation-cdr.png :align: center :alt: Cancellation CDR sent by the SUNAT - -**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 + +**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 chatter indicating the correct Government validation. .. image:: peru/peru-cancelled.png @@ -511,14 +511,14 @@ chatter indicating the correct Government validation. .. warning:: One credit is consumed on each cancellation request. - + Cancellation process ******************** When creating exportation invoices, take into account the next considerations: -- The Identification type on your customer must be Foreign ID. -- Operation type in your invoice must be an Exportation one. +- The Identification type on your customer must be Foreign ID. +- Operation type in your invoice must be an Exportation one. - The taxes included in the invoice lines should be EXP taxes. .. image:: peru/peru-exp-invoice.png @@ -528,24 +528,24 @@ When creating exportation invoices, take into account the next considerations: Advance Payments **************** -#. Create the advance payment Invoice and apply its related payment. -#. Create the final invoice without considering the advance payment. -#. Create a credit note for the Final invoice with the advance payment amount. -#. Reconcile the Credit note with the final invoice. -#. The remaining balance on the final invoice should be paid with a regular payment transaction. +#. Create the advance payment Invoice and apply its related payment. +#. Create the final invoice without considering the advance payment. +#. Create a credit note for the Final invoice with the advance payment amount. +#. Reconcile the Credit note with the final invoice. +#. 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 :align: center :alt: Detraction fields on products - + #. Operation type in your invoice must be ``1001`` .. 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 ------------ -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 +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 to prove a Credit Reason selecting one of the options in the list. .. 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 .. tip:: - When creating your first credit Note, select the Credit Method: Partial Refund, this allows you - to define the credit note sequence. - + When creating your first credit Note, select the Credit Method: Partial Refund, this allows you + to define the credit note sequence. + By default the Credit Note is set in the document type: .. 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>`. .. 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 ------------ -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”. By default the Debit Note is set in the document type. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst index 5cdded240..e0ef31f8e 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst @@ -9,12 +9,12 @@ In Odoo, there are several Spanish Chart of Accounts that are available by defau - PGCE PYMEs 2008 - PGCE Completo 2008 -- PGCE Entitades +- PGCE Entitades 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:: 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: -- Balance Sheet +- Balance Sheet - Tax Report (Modelo 111) - Tax Report (Modelo 115) -- Tax Report (Modelo 303) +- Tax Report (Modelo 303) diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst index 16d3be4a5..e24675029 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst @@ -12,7 +12,7 @@ called *Print ISR*. .. image:: switzerland/switzerland00.png :align: center -.. tip:: +.. tip:: The button *Print ISR* only appears there is well a bank account defined on the invoice. You can use CH6309000000250097798 as bank account number and 010391391 as CHF ISR reference. @@ -142,4 +142,4 @@ odoo.com/help. .. tip:: 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 - have to update your fiscal positions accordingly. + have to update your fiscal positions accordingly. diff --git a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst index 5c34c137f..00245e5d8 100644 --- a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst +++ b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst @@ -17,7 +17,7 @@ From Vendor Bill to Payment 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, 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 products without taxes as Odoo will compute the tax for you. -.. note:: - 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, - 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). - However if your vendor has a different tax amount on their bill, you can change the +.. note:: + 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, + 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). + 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. Validate The Vendor Bill @@ -91,8 +91,8 @@ if set it correctly). .. note:: - You can also register a payment to a vendor directly without applying it to a vendor bill. - To do that, :menuselection:`Purchases --> Payments`. Then, + You can also register a payment to a vendor directly without applying it to a vendor bill. + To do that, :menuselection:`Purchases --> Payments`. Then, from the vendor bill you will be able to reconcile this payment with directly. Printing vendor Checks diff --git a/content/applications/finance/accounting/others/adviser/budget.rst b/content/applications/finance/accounting/others/adviser/budget.rst index fee9f7470..c29341d84 100644 --- a/content/applications/finance/accounting/others/adviser/budget.rst +++ b/content/applications/finance/accounting/others/adviser/budget.rst @@ -7,9 +7,9 @@ Overview 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 -to organize and prioritize their work to meet financial goals. They allows -you to plan your desired financial outcome and then measure your actual -performance against the plan. Odoo manages budgets using both General and Analytic +to organize and prioritize their work to meet financial goals. They allows +you to plan your desired financial outcome and then measure your actual +performance against the plan. Odoo manages budgets using both General and Analytic Accounts. 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 want to spend more than 700. -Configuration +Configuration ============= 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 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 -information. +information. The budgetary positions act as a type of restriction on what can be recorded in the 'practical amount' column in a budget. -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. +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. -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 -in the budgetary position for that same budget line, it will not appear within the +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 +in the budgetary position for that same budget line, it will not appear within the 'practical amount' column of that budget line. Some budgetary positions might be already installed with your chart of diff --git a/content/applications/finance/accounting/others/analytic/timesheets.rst b/content/applications/finance/accounting/others/analytic/timesheets.rst index 094fae568..048540c0a 100644 --- a/content/applications/finance/accounting/others/analytic/timesheets.rst +++ b/content/applications/finance/accounting/others/analytic/timesheets.rst @@ -19,7 +19,7 @@ First, install the three applications necessary to use this functionality, namely **Accounting**, **Sales** and **Timesheet**. Enter the apps module name and install them. -.. image:: timesheets/timesheets14.png +.. image:: timesheets/timesheets14.png :align: center .. 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 :align: center -.. note:: +.. note:: If you want the employee to be able to enter timesheets he needs to be related to a User. Repeat the operation to create the Cedric Digory employee. Don't forget 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 @@ -121,7 +121,7 @@ Without filters 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 -to this analytical account. Enter the *Accounting* app, select +to this analytical account. Enter the *Accounting* app, select :menuselection:`Adviser --> Analytic Accounts --> Open Charts`. Note : you can specify a period for **Analysis**. If you want to open the diff --git a/content/applications/finance/accounting/others/multicurrencies/exchange.rst b/content/applications/finance/accounting/others/multicurrencies/exchange.rst index 800deafe2..4013c6854 100644 --- a/content/applications/finance/accounting/others/multicurrencies/exchange.rst +++ b/content/applications/finance/accounting/others/multicurrencies/exchange.rst @@ -18,7 +18,7 @@ Configuration 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**. .. image:: exchange/exchange_rate03.png @@ -36,9 +36,9 @@ in **Dollars**. .. image:: exchange/exchange_rate08.png :align: center -.. tip:: +.. tip:: 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`. Configure your journal @@ -61,7 +61,7 @@ that you can register payments only in this 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 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 -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. .. image:: exchange/exchange_rate07.png diff --git a/content/applications/finance/accounting/others/multicurrencies/how_it_works.rst b/content/applications/finance/accounting/others/multicurrencies/how_it_works.rst index 68ed86606..b2d58b4eb 100644 --- a/content/applications/finance/accounting/others/multicurrencies/how_it_works.rst +++ b/content/applications/finance/accounting/others/multicurrencies/how_it_works.rst @@ -63,7 +63,7 @@ Live Currency Rate By default, the currencies need to be updated manually. But you can synchronize it with `Yahoo `__ or -the `European Central Bank `__. In +the `European Central Bank `__. In :menuselection:`Configuration --> Settings`, go to the **Live Currency Rate** section. Choose the interval : Manually, Daily, Weekly or Monthly. You can always diff --git a/content/applications/finance/accounting/payables/pay/sepa.rst b/content/applications/finance/accounting/payables/pay/sepa.rst index 55804469a..4319da4f2 100644 --- a/content/applications/finance/accounting/payables/pay/sepa.rst +++ b/content/applications/finance/accounting/payables/pay/sepa.rst @@ -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 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 -bank. +bank. By default,the file follows the SEPA Credit Transfer **'pain.001.001.03'** 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 and **'pain.001.003.03'** for Germany. diff --git a/content/applications/finance/accounting/payables/supplier_bills/ocr.rst b/content/applications/finance/accounting/payables/supplier_bills/ocr.rst index 50875da10..5d3a569ab 100644 --- a/content/applications/finance/accounting/payables/supplier_bills/ocr.rst +++ b/content/applications/finance/accounting/payables/supplier_bills/ocr.rst @@ -7,7 +7,7 @@ them and automatically import the data into your database reduces errors and sav .. important:: `Try it out `_! Upload one of your Bills or try one of our samples. - + Set up the feature ================== diff --git a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst index fe1e73b49..d467c822f 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst @@ -3,11 +3,11 @@ Cash rounding ============= **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. -For example, some countries require their companies to round up or -down the total amount of an invoice to the nearest five cents, when +For example, some countries require their companies to round up or +down the total amount of an invoice to the nearest five cents, when the payment is made in cash. Configuration @@ -19,22 +19,22 @@ and enable *Cash Rounding*, then click on *Save*. .. image:: cash_rounding/cash_rounding01.png :align: center -Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`, +Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`, and click on *Create*. -Define here your *Rounding Precision*, *Rounding Strategy*, and +Define here your *Rounding Precision*, *Rounding Strategy*, and *Rounding Method*. 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. - + 2. **Modify tax amount**: the rounding is applied in the taxes section. Apply roundings =============== 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*. diff --git a/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst b/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst index 27f8ea7fb..7a5495533 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst @@ -1,8 +1,8 @@ ======================== Credit notes and refunds ======================== -A **credit note**, or **credit memo**, is a document issued -to a customer that notifies them that they have been credited +A **credit note**, or **credit memo**, is a document issued +to a customer that notifies them that they have been credited a certain amount. 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 .. note:: - Issuing a credit note is the only legal way to cancel, - refund or modify a validated invoice. Don’t forget to + Issuing a credit note is the only legal way to cancel, + refund or modify a validated invoice. Don’t forget to *register the payment* afterward if you need to send money back to your customer. Issue a Credit Note =================== -You can create a credit note from scratch by going to -:menuselection:`Accounting --> Customers --> Credit Notes`, -and by clicking on *Create*. Filling the Credit Note’s form +You can create a credit note from scratch by going to +:menuselection:`Accounting --> Customers --> Credit Notes`, +and by clicking on *Create*. Filling the Credit Note’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. 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 .. note:: - Credit Notes’ numbers start with “R” and are followed by the - number of the document they are related to (e.g., RINV/2019/0004). + Credit Notes’ numbers start with “R” and are followed by the + number of the document they are related to (e.g., RINV/2019/0004). 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. -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. .. note:: @@ -53,19 +53,19 @@ want to modify any detail on the credit note. 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. .. image:: credit_notes/credit_notes02.png :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. Full refund and new draft invoice --------------------------------- -Odoo creates a credit note, automatically validates it, reconciles -the original invoice with it, and open a new draft invoice +Odoo creates a credit note, automatically validates it, reconciles +the original invoice with it, and open a new draft invoice prefilled with the same details from the original 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: -You can either create a credit note from scratch by going -to :menuselection:`Accounting --> Vendors --> Refund`, and -by clicking on *Create*, or by opening the validated *Vendor Bill*, +You can either create a credit note from scratch by going +to :menuselection:`Accounting --> Vendors --> Refund`, and +by clicking on *Create*, or by opening the validated *Vendor Bill*, and clicking on *Add Credit Note*. - + Journal Entries =============== -Issuing a credit note from an invoice creates a **reverse entry** -that zeroes out the journal items generated by the original invoice. +Issuing a credit note from an invoice creates a **reverse entry** +that zeroes out the journal items generated by the original invoice. Here is an example of an invoice’s journal entry: .. image:: credit_notes/credit_notes03.png :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: .. image:: credit_notes/credit_notes04.png diff --git a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst index 32e7c3202..156ef44d2 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst @@ -42,7 +42,7 @@ Configuration --> Chart of Accounts`, click on *Create*, and fill out the form. .. note:: This account's type must be either *Current Liabilities* or *Non-current Liabilities* - + Post an income to the right account ----------------------------------- @@ -64,7 +64,7 @@ save. .. image:: deferred_revenues/deferred_revenues03.png :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:: 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 :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 :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 ========================= @@ -107,8 +107,8 @@ recognize your revenue, and at which date. .. image:: deferred_revenues/deferred_revenues06.png :align: center - :alt: Revenue Board in Odoo Accounting - + :alt: Revenue Board in Odoo Accounting + 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**. -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. Make sure that it is posted in the right account (see: `Change the account of a posted journal item`_). diff --git a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst index 70d05fe5e..980ecf327 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst @@ -1,36 +1,36 @@ ============================ Add EPC QR Codes to invoices ============================ -European Payments Council Quick Response Code, -or **EPC QR Code**, are two-dimensional barcodes -that customers can scan with their **mobile banking +European Payments Council Quick Response Code, +or **EPC QR Code**, are two-dimensional barcodes +that customers can scan with their **mobile banking applications** to initiate a **SEPA Credit Transfer (SCT)**, and pay their invoices instantly. -In addition to bringing ease of use and speed, -it greatly reduces typing errors that would potentially -make for payment issues. +In addition to bringing ease of use and speed, +it greatly reduces typing errors that would potentially +make for payment issues. .. note:: - This feature is only available in several European - countries such as Austria, Belgium, Finland, Germany, + This feature is only available in several European + countries such as Austria, Belgium, Finland, Germany, and The Netherlands. - + Configuration ============= -Go to :menuselection:`Accounting --> Configuration --> Settings` +Go to :menuselection:`Accounting --> Configuration --> Settings` and activate the **SEPA QR Code** feature. .. image:: epc_qr_code/epc_qr_code01.png :align: center - + 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. -To do so, go to :menuselection:`Accounting --> Configuration ---> Journals`, open your *bank journal*, then fill out the +To do so, go to :menuselection:`Accounting --> Configuration +--> Journals`, open your *bank journal*, then fill out the *Bank Account* and *Bank* under the *Bank Account* tab. .. 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 ================================ -EPC QR Codes are added automatically to your invoices, as -long as you issue them to customers that are located in a +EPC QR Codes are added automatically to your invoices, as +long as you issue them to customers that are located in a country where this feature is available. -Go to :menuselection:`Accounting --> Customers --> Invoices`, -and create a new invoice. +Go to :menuselection:`Accounting --> Customers --> Invoices`, +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. -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 +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 the EPC QR Code. .. image:: epc_qr_code/epc_qr_code03.png :align: center - + .. tip:: - If you want to issue an invoice without an EPC QR Code, - remove the IBAN indicated in the *Bank Account* field, + If you want to issue an invoice without an EPC QR Code, + remove the IBAN indicated in the *Bank Account* field, under the *Other Info* tab of the invoice. .. seealso:: diff --git a/content/applications/finance/accounting/receivables/customer_invoices/overview.rst b/content/applications/finance/accounting/receivables/customer_invoices/overview.rst index 43f9bb981..dd15b8bf6 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/overview.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/overview.rst @@ -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. #. It does not work if the sequence leads to a duplicate. #. 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. diff --git a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst index 4961b1c4d..29f44beae 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst @@ -72,7 +72,7 @@ their SEPA Direct Debit mandate. .. todo:: 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, @@ -95,7 +95,7 @@ included in the next SDD XML file. 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. diff --git a/content/applications/finance/accounting/receivables/customer_payments/check.rst b/content/applications/finance/accounting/receivables/customer_payments/check.rst index 7c7a72207..beafef4c4 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/check.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/check.rst @@ -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 habits. -1. **Undeposited Funds:** +1. **Undeposited Funds:** once you receive the check, you record a payment by check on the invoice. (using a Check journal and posted on the Undeposited Fund account) Then, once the check arrives in your bank account, move money from Undeposited Funds to your bank account. -2. **One journal entry only:** +2. **One journal entry only:** once your receive the check, you record a payment on your bank, paid by check, without going through the **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 users). -.. Note:: +.. Note:: You may have a look at the *Deposit Ticket feature* if you deposit 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 (accessible, for example, from the general ledger). -.. Note:: +.. Note:: 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, this one is cleaner because those checks have not been reported yet on @@ -135,7 +135,7 @@ books: | Bank | | 100.00 | | +----------------------+-------------------+----------+----------+ -.. tip:: +.. tip:: You may also record the payment directly without going on the 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 diff --git a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst index deec2effc..89351ec90 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst @@ -20,7 +20,7 @@ Make sure your :ref:`Payment Acquirers are correctly configured `" is the only Payment Acquirer activated, but you still have to fill out the payment details. -To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration --> +To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*. Customer Portal diff --git a/content/applications/finance/accounting/reporting/overview/customize.rst b/content/applications/finance/accounting/reporting/overview/customize.rst index 171b6ebf6..42b85652b 100644 --- a/content/applications/finance/accounting/reporting/overview/customize.rst +++ b/content/applications/finance/accounting/reporting/overview/customize.rst @@ -46,7 +46,7 @@ Add lines in your custom reports ================================= 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). .. image:: customize/customize04.png diff --git a/content/applications/finance/accounting/reporting/overview/main_reports.rst b/content/applications/finance/accounting/reporting/overview/main_reports.rst index 6b9325ed3..9565a0650 100644 --- a/content/applications/finance/accounting/reporting/overview/main_reports.rst +++ b/content/applications/finance/accounting/reporting/overview/main_reports.rst @@ -31,7 +31,7 @@ Balance Sheet The **Balance Sheet** shows a snapshot of the assets, liabilities and equity of your organisation as at a particular date. -.. image:: main_reports/main_reports09.png +.. image:: main_reports/main_reports09.png :align: center 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 report period. -.. image:: main_reports/main_reports10.png +.. image:: main_reports/main_reports10.png :align: center Executive Summary @@ -58,36 +58,36 @@ reporting : The contribution each individual sale made by your business less any direct costs needed to make those sales (things like labour, materials, etc). - - **Net profit margin:** + - **Net profit margin:** The contribution each individual sale made by your business less any direct costs needed to make those sales, as well as any fixed overheads your company has (things like rent, electricity, taxes you need to pay as a result of those sales). - - **Return on investment (p.a.):** + - **Return on investment (p.a.):** The ratio of net profit made, to the amount of assets the company used to make those profits. - **Position:** - - **Average debtor days:** + - **Average debtor days:** The average number of days it takes your customers to pay you (fully), across all your customer invoices. - **Average creditor days:** The average number of days it takes you to 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 your organisation in the next month i.e. balance of your **Sales account** for the month less the balance of your **Purchases account** for the month. - - **Current assets to liabilities:** - Also referred to as **current ratio**, this is the ratio + - **Current assets to liabilities:** + Also referred to as **current ratio**, this is the ratio of current assets (assets that could be turned into cash within a year) to the current liabilities (liabilities which will be due in the next year). This is typically used as as a measure of a company's ability to service its debt. -.. image:: main_reports/main_reports01.png +.. image:: main_reports/main_reports01.png :align: center 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 occurred during a certain period of time. -.. image:: main_reports/main_reports05.png +.. image:: main_reports/main_reports05.png :align: center 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 have gone unpaid. -.. image:: main_reports/main_reports02.png +.. image:: main_reports/main_reports02.png :align: center Aged Receivable @@ -118,7 +118,7 @@ Aged Receivable The **Aged Receivables** report shows the sales invoices that were awaiting payment during a selected month and several months prior. -.. image:: main_reports/main_reports07.png +.. image:: main_reports/main_reports07.png :align: center 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 operating, investing and financing activities. -.. image:: main_reports/main_reports03.png +.. image:: main_reports/main_reports03.png :align: center Tax Report @@ -137,11 +137,11 @@ Tax Report This report allows you to see the **net** and **tax amounts** for all the taxes grouped by type (sale/purchase). -.. image:: main_reports/main_reports04.png +.. image:: main_reports/main_reports04.png :align: center Bank Reconciliation ------------------- -.. image:: main_reports/main_reports06.png +.. image:: main_reports/main_reports06.png :align: center diff --git a/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst b/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst index ea8245f0f..d9429b0c7 100644 --- a/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst +++ b/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst @@ -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 than 12 months. -.. seealso:: +.. seealso:: * :doc:`close_fiscal_year` diff --git a/content/applications/finance/accounting/taxation/taxes.rst b/content/applications/finance/accounting/taxation/taxes.rst index b1b117615..465ef2092 100644 --- a/content/applications/finance/accounting/taxation/taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes.rst @@ -11,7 +11,7 @@ Taxes taxes/default_taxes taxes/fiscal_positions taxes/eu_distance_selling - taxes/avatax + taxes/avatax taxes/taxcloud taxes/retention taxes/B2B_B2C diff --git a/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst b/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst index 5474c964c..4790f5904 100644 --- a/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst +++ b/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst @@ -98,19 +98,19 @@ Setting your products Your company must be configured with tax excluded by default. This is 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. .. image:: B2B_B2C/price_B2C_B2B01.png :align: center Once done, you can create a **B2C** pricelist. You can activate the -pricelist feature per customer from the menu: -:menuselection:`Configuration --> Settings` of the Sale application. +pricelist feature per customer from the menu: +:menuselection:`Configuration --> Settings` of the Sale application. Choose the option **different prices per customer segment**. -Once done, create a B2C pricelist from the menu -:menuselection:`Configuration --> Pricelists`. +Once done, create a B2C pricelist from the menu +:menuselection:`Configuration --> Pricelists`. 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 @@ -125,8 +125,8 @@ Setting the B2C fiscal position ------------------------------- From the accounting application, create a B2C fiscal position from this -menu: :menuselection:`Configuration --> Fiscal Positions`. -This fiscal position should map the VAT 21% (tax excluded of price) +menu: :menuselection:`Configuration --> Fiscal Positions`. +This fiscal position should map the VAT 21% (tax excluded of price) with a VAT 21% (tax included in price) .. image:: B2B_B2C/price_B2C_B2B03.png @@ -135,8 +135,8 @@ with a VAT 21% (tax included in price) Test by creating a quotation ============================ -Create a quotation from the Sale application, using the -:menuselection:`Sales --> Quotations` menu. You should have the +Create a quotation from the Sale application, using the +:menuselection:`Sales --> Quotations` menu. You should have the following result: 8.26€ + 1.73€ = 9.99€. .. image:: B2B_B2C/price_B2C_B2B04.png diff --git a/content/applications/finance/accounting/taxation/taxes/cash_basis_taxes.rst b/content/applications/finance/accounting/taxation/taxes/cash_basis_taxes.rst index 0123576b6..a91fc198e 100644 --- a/content/applications/finance/accounting/taxation/taxes/cash_basis_taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes/cash_basis_taxes.rst @@ -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 for the 2nd quarter. -How to configure cash basis taxes ? +How to configure cash basis taxes ? ------------------------------------ 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 :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 @@ -89,7 +89,7 @@ When you reconcile the invoice and the payment, this entry is generated: +--------------------------+----------------------------+ .. 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. We advise to use a default revenue account. The balance of this account will then always be at zero. diff --git a/content/applications/finance/accounting/taxation/taxes/retention.rst b/content/applications/finance/accounting/taxation/taxes/retention.rst index a1a8dc5ff..aff03866d 100644 --- a/content/applications/finance/accounting/taxation/taxes/retention.rst +++ b/content/applications/finance/accounting/taxation/taxes/retention.rst @@ -40,8 +40,8 @@ Once the tax is defined, you can use it in your products, sales order or invoices. .. tip:: - 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 + 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 (normal tax and retention). Applying retention taxes on invoices @@ -55,9 +55,9 @@ invoice line. :align: center .. note:: - When you see the customer invoice on the screen, you get only a - **Taxes line** summarizing all the taxes (normal taxes & retentions). - But when you print or send the invoice, Odoo does the correct + When you see the customer invoice on the screen, you get only a + **Taxes line** summarizing all the taxes (normal taxes & retentions). + But when you print or send the invoice, Odoo does the correct grouping amongst all the taxes. The printed invoice will show the different amounts in each tax group. diff --git a/content/applications/finance/expenses.rst b/content/applications/finance/expenses.rst index e64b792af..3ec32cca7 100644 --- a/content/applications/finance/expenses.rst +++ b/content/applications/finance/expenses.rst @@ -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) -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. 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 -Don't forget to set an expense tax on each expense type -(and an account if you use Odoo Accounting). -It's usually a good practice to use a tax that is configured +Don't forget to set an expense tax on each expense type +(and an account if you use Odoo Accounting). +It's usually a good practice to use a tax that is configured with :ref:`Tax Included in Price `. -That way, employees report expenses with +That way, employees report expenses with prices including taxes, which is usually the expected behaviour. -.. tip:: - The *Sales* app allows you to specify units of measure for your - expense types (units, miles, nights, etc.). +.. tip:: + The *Sales* app allows you to specify units of measure for your + expense types (units, miles, nights, etc.). Go to :menuselection:`Sales --> Configuration --> Settings` and check *Some products may be sold/purchased in different units of measure (advanced)*. @@ -57,20 +57,20 @@ How to record expenses 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`. .. image:: expenses/submit_01.png :align: center -1. Select the related product and enter either the total amount - you paid (with Quantity = 1) or the unit price if Quantity is +1. Select the related product and enter either the total amount + you paid (with Quantity = 1) or the unit price if Quantity is countable (e.g. number of hotel nights). 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). -4. Set the bill reference, add some notes if requested and attach a - photo/scan of the receipt from the discussion thread. +4. Set the bill reference, add some notes if requested and attach a + photo/scan of the receipt from the discussion thread. That will help the manager and the accountant validate it. .. image:: expenses/submit_02.png @@ -79,56 +79,56 @@ expenses from :menuselection:`My Expenses --> Expenses to Submit`. 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! -The only thing to do is setting up an email alias in -:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com). -For security purposes, only authenticated employee emails +The only thing to do is setting up an email alias in +:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com). +For security purposes, only authenticated employee emails (cfr. *Work Email* in employee detail form) are accepted. .. 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. 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 ================================== -When you are ready to submit your expenses to your manager -(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 +When you are ready to submit your expenses to your manager +(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 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. .. image:: expenses/submit_03.png :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. -All your submitted expense reports can be found in +All your submitted expense reports can be found in :menuselection:`Expenses --> My Expenses --> Expense Reports`. How to approve expenses ======================= -HR and team managers get an overview of all expense reports to -validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`. +HR and team managers get an overview of all expense reports to +validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`. Such users must have at least *Officers* access rights for *Expenses*. .. image:: expenses/approval_01.png :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. .. image:: expenses/approval_02.png :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. .. 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 ================================== -Once expense reports approved by managers, the accounting department -goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check -accounts, products and taxes. They can click *Post Journal Entries* -to post related journal entries into your books. +Once expense reports approved by managers, the accounting department +goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check +accounts, products and taxes. They can click *Post Journal Entries* +to post related journal entries into your books. To do so, the user must have following access rights: * Accounting: Accountant or Adviser * Expenses: Manager .. note:: - 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, - go to *Personal Information* tab and select/create the contact of your employee - in the address book. + 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, + go to *Personal Information* tab and select/create the contact of your employee + in the address book. A contact has been automatically created if this person is using Odoo. How to reimburse employees ========================== -You can now see all the expense reports to reimburse in -:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`. +You can now see all the expense reports to reimburse in +:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`. To record the payment or pay by check, click *Register a Payment*. See how you can easily manage the payment process in Odoo: @@ -223,7 +223,7 @@ Submit, validate and post 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` to Invoice. The expenses have been added automatically in the order 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 :align: center -e (i.e. to invoice). +e (i.e. to invoice). diff --git a/content/applications/finance/payment_acquirers/paypal.rst b/content/applications/finance/payment_acquirers/paypal.rst index db7e5368b..e16c99925 100644 --- a/content/applications/finance/payment_acquirers/paypal.rst +++ b/content/applications/finance/payment_acquirers/paypal.rst @@ -111,7 +111,7 @@ Your Paypal account is ready! .. tip:: If you want your customers to pay without creating a Paypal account, *Paypal Account Optional* needs to be turned on. - + .. image:: paypal/paypal_account_optional.png .. 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. .. image:: paypal/paypal11.png - :align: center + :align: center .. image:: paypal/paypal12.png :align: Center diff --git a/content/applications/finance/payment_acquirers/wire_transfer.rst b/content/applications/finance/payment_acquirers/wire_transfer.rst index 906ae0a3b..5f31cd409 100644 --- a/content/applications/finance/payment_acquirers/wire_transfer.rst +++ b/content/applications/finance/payment_acquirers/wire_transfer.rst @@ -2,10 +2,10 @@ How to get paid with wire transfers ======================================= -**Wire Transfer** is the default payment method available. -The aim is providing your customers with your bank details +**Wire Transfer** is the default payment method available. +The aim is providing your customers with your bank details so they can pay on their own. -This is very easy to start with but slow and inefficient process-wise. +This is very easy to start with but slow and inefficient process-wise. 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 ======================================== -Whenever a customer pays by wire transfer, the order stays in an -intermediary stage **Quotation Sent** (i.e. unpaid order). +Whenever a customer pays by wire transfer, the order stays in an +intermediary stage **Quotation Sent** (i.e. unpaid order). When you get paid, 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 ========================================== -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. To do so, just rename *Wire Transfer* or duplicate it. diff --git a/content/applications/general.rst b/content/applications/general.rst index de402376f..33007a7b6 100644 --- a/content/applications/general.rst +++ b/content/applications/general.rst @@ -13,4 +13,3 @@ Miscellaneous general/calendars general/in_app_purchase general/developer_mode - diff --git a/content/applications/general/auth/google.rst b/content/applications/general/auth/google.rst index 2bbfdf9e7..414ed0a67 100644 --- a/content/applications/general/auth/google.rst +++ b/content/applications/general/auth/google.rst @@ -70,7 +70,7 @@ Credentials #. Select **Web Application** as the Application type. Now configure the allowed pages on which you will be redirected. - + In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain immediately followed by ``/auth_oauth/signin``. For example: ``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*. @@ -106,7 +106,7 @@ Odoo activation .. note:: You may have to log in again after this step. - + #. 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 *Save*. diff --git a/content/applications/general/email_communication/email_domain.rst b/content/applications/general/email_communication/email_domain.rst index 2521c6028..5b655bb21 100644 --- a/content/applications/general/email_communication/email_domain.rst +++ b/content/applications/general/email_communication/email_domain.rst @@ -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 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 emails sent per day for databases with an Enterprise subscription. This limit can be increased under certain conditions. See our :doc:`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 -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 +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 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. 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. See the :ref:`documentation on incoming emails `. -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 +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 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 @@ -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 `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 `_. .. _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.`` .. 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.`. 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. -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 `_. If a selector is asked, enter `odoo`. 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 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. .. 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 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. 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 Odoo server cannot relay emails from this partner to your users. -You need to :ref:`handle user notifications in Odoo `, or replace the +You need to :ref:`handle user notifications in Odoo `, or replace the email address of the partner with a default email address. .. _email_communication/SPFDKIM_common_providers: -SPF, DKIM & DMARC documentation of common providers +SPF, DKIM & DMARC documentation of common providers =================================================== - `OVH DNS `_ @@ -145,8 +145,8 @@ SPF, DKIM & DMARC documentation of common providers - `Google Domains `_ - `Azure DNS `_ -To fully test your configuration, the tool `Mail-Tester `_ will give -you a full overview of the content and configuration you have in one email sent! Mail-Tester can +To fully test your configuration, the tool `Mail-Tester `_ will give +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. Use a default email address diff --git a/content/applications/general/email_communication/email_template.rst b/content/applications/general/email_communication/email_template.rst index 87268c279..4256521ad 100644 --- a/content/applications/general/email_communication/email_template.rst +++ b/content/applications/general/email_communication/email_template.rst @@ -36,15 +36,15 @@ the example below, the template would be sent to job applicants. Writing content including placeholder expressions ------------------------------------------------- -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 +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 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. -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 +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 Placeholder Generator tab. .. _email_communication/dynamic_placeholder_generator: @@ -66,27 +66,27 @@ Placeholder Generator tab. .. image:: email_template/preview.png :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 -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``. 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. -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. .. image:: email_template/apply-to-model.png :align: center :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. .. 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 generator, as described :ref:`previously `. -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. .. image:: email_template/field-and-rendering.png :align: center :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 -example, we add the creation date, *create_date* field to the body of the template ‘Portal: new user’ +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’ along with the ``format_date`` function so that the user knows when he was invited. .. image:: email_template/format-date-functions-example.png :align: center :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 -parameter the field create_date available on the current object, this gives the following line +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 of code ``${format_date(object.create_date)}``. .. warning:: - 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 - in existing templates unless you have prior knowledge. We highly recommend duplicating the + 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 + in existing templates unless you have prior knowledge. We highly recommend duplicating the 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. .. image:: email_template/rendering-format-date-function.png :align: center :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 -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. +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. +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 `. -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')}`` +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')}`` here dd is the day, MM the month and YYYY the year. Here is the result once the function is adapted in the template. .. image:: email_template/adapted-rendering-format-date-function.png :align: center - :alt: Adapted rendering of the format_date + :alt: Adapted rendering of the format_date .. _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. .. note:: - **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 `_ - documentation, last but not least, modifications on the templates are considered as + **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 `_ + documentation, last but not least, modifications on the templates are considered as customization and isn’t covered by our support. 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. -These settings can only be accessed when the :ref:`developer mode ` is enabled. +These settings can only be accessed when the :ref:`developer mode ` is enabled. 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. - **format_date()** - formats the date (without the time). Can be found on the template `Purchase Order: Send PO`: - + .. image:: email_template/po-template-format-date.png :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 :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 European Time (CET). @@ -188,20 +188,20 @@ the language. .. image:: email_template/event-reg-template-format-datetime.png :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 :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. -- **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 ` must be - activated to see this feature) :menuselection:`Accounting --> Configuration --> Currencies` +- **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 ` must be + activated to see this feature) :menuselection:`Accounting --> Configuration --> Currencies` (before or after the amount depending on the convention). .. image:: email_template/so-template-format-amount.png @@ -217,10 +217,10 @@ the language. 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 -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 -and click on the action button. If you have an option to send an email, you will see a mail +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 +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 composer with possible values to define: .. image:: email_template/composer-mass-mailing-quotations.png @@ -233,12 +233,12 @@ You can also define them by default on the template: :align: center :alt: Reply-to field on template. -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 +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 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 `. -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 @@ -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 parameters. More information about this :ref:`parameter `. -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. -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 +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 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. -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 +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 websites, the URL generated in the email template will use the domain defined on the corresponding website of the company. .. caution:: - 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 - the same (the web.base.url key value), whatever the company it's shared from, this is a known + 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 + the same (the web.base.url key value), whatever the company it's shared from, this is a known limitation! -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 +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 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 `. 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. 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 :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 your changes. diff --git a/content/applications/general/email_communication/faq.rst b/content/applications/general/email_communication/faq.rst index a1a572295..2f84aff58 100644 --- a/content/applications/general/email_communication/faq.rst +++ b/content/applications/general/email_communication/faq.rst @@ -1,10 +1,10 @@ === -FAQ +FAQ === 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). Outgoing emails @@ -27,15 +27,15 @@ Common error messages .. _email_communication/daily_limit_mail: -You reached your daily limit: +You reached your daily limit: ***************************** .. image:: faq/email-limit.png :align: center :alt: Warning in Odoo upon email limit reached -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 +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 our e-mail servers from being blacklisted. 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: -- 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): - - How many users in your database, + - How many users in your database, - 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 `_. -- 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 `), -- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode ` +- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode ` must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails` .. 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, 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 ` -instead of by emails. +You can mitigate this by receiving your :ref:`notifications in Odoo ` +instead of by emails. SMTP Error ********** -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 -and transmit it over the Internet, and the error messages generated by email services are helpful +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 +and transmit it over the Internet, and the error messages generated by email services are helpful tools to diagnose and troubleshoot email problems. No Error ******** -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 +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 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 `_ for help in finding a reason. -Note: in such case, one of the most common reasons is related to :ref:`SPF ` +Note: in such case, one of the most common reasons is related to :ref:`SPF ` and/or :ref:`DKIM ` configuration. 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 -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 -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. +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 +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 avoid cluttering the mail servers and prioritize the communication. -The emails considered urgent (communication from one person to another one such as -Sales Orders, Invoices, Purchase Orders, etc.) are sent directly. +The emails considered urgent (communication from one person to another one such as +Sales Orders, Invoices, Purchase Orders, etc.) are sent directly. .. image:: faq/email-scheduled-later.png :align: center :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. Incoming emails =============== -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 +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 time 550: mailbox unavailable). 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 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 - 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 +- 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 + 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 :file:`odoo.log.1`. For the following, they are named with their dates and compressed. - See the Odoo.sh documentation about :ref:`logs `. Use the command ``grep`` and + See the Odoo.sh documentation about :ref:`logs `. Use the command ``grep`` and ``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 Support `_ , if you have a recurring issue + `Odoo Support `_ , if you have a recurring issue with the same client or domain. 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: - The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the diff --git a/content/applications/general/export_import_data/database_import_test.sql b/content/applications/general/export_import_data/database_import_test.sql index 1319cce39..4890c0682 100644 --- a/content/applications/general/export_import_data/database_import_test.sql +++ b/content/applications/general/export_import_data/database_import_test.sql @@ -16,7 +16,7 @@ SET default_tablespace = ''; 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 ( @@ -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 ( @@ -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 diff --git a/content/applications/general/in_app_purchase.rst b/content/applications/general/in_app_purchase.rst index 4bb478452..8249e150d 100644 --- a/content/applications/general/in_app_purchase.rst +++ b/content/applications/general/in_app_purchase.rst @@ -29,7 +29,7 @@ Settings --> IAP Account`. .. image:: in_app_purchase/image2.png :align: center - + 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 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 diff --git a/content/applications/general/voip/asterisk.rst b/content/applications/general/voip/asterisk.rst index 218287271..7ecbb1f9b 100644 --- a/content/applications/general/voip/asterisk.rst +++ b/content/applications/general/voip/asterisk.rst @@ -26,7 +26,7 @@ In order to install libsrtp, follow the instructions below: .. code-block:: console 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 cd /usr/local/src/srtp ./configure CFLAGS=-fPIC --prefix=/usr/local/lib @@ -67,7 +67,7 @@ You also need to install PJSIP, you can download the source `here /usr/lib/libpjsua.so @@ -90,7 +90,7 @@ Asterisk - Extract Asterisk: .. code-block:: console - + tar zxvf asterisk* - Enter the Asterisk directory: @@ -99,7 +99,7 @@ Asterisk cd ./asterisk* -- Run the Asterisk configure script: +- Run the Asterisk configure script: .. code-block:: console @@ -207,14 +207,14 @@ In Odoo, the configuration should be done in the user's preferences. .. image:: asterisk/voip_config01.png :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 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 :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst index 463285d88..abc57695e 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst @@ -18,12 +18,12 @@ warehouse. 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 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. -- 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 fraction of the price you'll be able to charge, so using a more 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. 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 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 the product you're selling is available upstream. If you don't have that information, inform your customers that you don't hold diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst index d99778abe..1b22c5694 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst @@ -38,7 +38,7 @@ goods in output and then deliver (3 steps)* for *Outgoing Shipments*. :align: center 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. Create a Sales Order diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst index b7f3b3850..d59cf5325 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst @@ -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. 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*. .. image:: two_steps/two_steps_01.png @@ -28,7 +28,7 @@ activate *Storage Locations*. 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 delivery in 2 steps. You can then select the option *Send goods in output and then deliver (2 steps)* for Outgoing Shipments. diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst b/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst index 6bc1531b5..37f2f24f7 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst @@ -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 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:: - 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 product(s). diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst index c8a056a9b..8866bd080 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst @@ -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. 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. -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 +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 that match the QC requirements are moved to stock 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. -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. .. image:: three_steps/three_steps_01.png @@ -34,22 +34,22 @@ activate the option. Configure warehouse for receipt in 3-steps ========================================== -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 +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 *Receive goods in input, then quality and then stock (3 steps)* for *Incoming Shipments*. .. image:: three_steps/three_steps_02.png :align: center :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 the one you want to rename. 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 Order* as the source document: @@ -68,25 +68,25 @@ Order* as the source document: 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*. -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*. .. image:: three_steps/three_steps_04.png :align: center :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. .. image:: three_steps/three_steps_05.png :align: center :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 -are chained to each other, products previously received are automatically reserved on the +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 transfer. Then, the transfer can be directly validated. .. image:: three_steps/three_steps_06.png @@ -97,7 +97,7 @@ transfer. Then, the transfer can be directly validated. :align: center :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. .. image:: three_steps/three_steps_08.png diff --git a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst index 35a58260a..371f2b7cd 100644 --- a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst +++ b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst @@ -40,7 +40,7 @@ After that, the different transfers that needed to be included in the batch tran to the batch transfer 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. .. image:: batch_transfers/batch_transfers_05.png @@ -77,12 +77,12 @@ too. :align: center :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. .. image:: batch_transfers/batch_transfers_09.png :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 .. image:: batch_transfers/batch_transfers_10.png diff --git a/content/applications/inventory_and_mrp/inventory/management/products/strategies.rst b/content/applications/inventory_and_mrp/inventory/management/products/strategies.rst index a82bd4ee2..90afb8a01 100644 --- a/content/applications/inventory_and_mrp/inventory/management/products/strategies.rst +++ b/content/applications/inventory_and_mrp/inventory/management/products/strategies.rst @@ -9,7 +9,7 @@ delivery strategies. Terminology =========== -Minimum stock rule +Minimum stock rule ------------------- 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 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 diff --git a/content/applications/inventory_and_mrp/inventory/management/products/usage.rst b/content/applications/inventory_and_mrp/inventory/management/products/usage.rst index a022c7f7a..340b33930 100644 --- a/content/applications/inventory_and_mrp/inventory/management/products/usage.rst +++ b/content/applications/inventory_and_mrp/inventory/management/products/usage.rst @@ -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 package. -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 +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 PACK", do this for each package. .. image:: usage/usage_05.png diff --git a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst index 26e816e16..15dff5805 100644 --- a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst +++ b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst @@ -25,7 +25,7 @@ options available. Each of them is explained in detail below. .. rst-class:: alternatives doc-aside -Standard Price +Standard Price .. rst-class:: values-table .. list-table:: @@ -110,7 +110,7 @@ Average Price - +2*€6 - €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 cost of the product is recomputed as each receipt. @@ -157,14 +157,14 @@ FIFO - €44 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. - - 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 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. 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 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 -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. 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 value, go in :menuselection:`Inventory --> Reporting --> Inventory Valuation`. -This is the default configuration in Odoo and it works -out-of-the-box. Check following operations and find out how +This is the default configuration in Odoo and it works +out-of-the-box. Check following operations and find out how Odoo is managing the accounting postings. Continental Accounting @@ -248,11 +248,11 @@ Manufacturing Orders
-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. -Create a journal entry to move the stock variation value from your -Profit&Loss section to your assets. +Create a journal entry to move the stock variation value from your +Profit&Loss section to your assets. .. h:div:: doc-aside @@ -261,13 +261,13 @@ Profit&Loss section to your assets. ===================================== ===== ====== \ Debit Credit ===================================== ===== ====== - Assets: Inventory X - Expenses: Inventory Variations X + Assets: Inventory X + Expenses: Inventory Variations X ===================================== ===== ====== If the stock value decreased, the **Inventory** account is credited and the **Inventory Variations** debited. - + .. raw:: html
@@ -289,7 +289,7 @@ Vendor Bill ============================= ===== ====== 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) * Deferred Tax Assets: defined on the tax used on the purchase order line * Accounts Payable: defined on the vendor related to the bill @@ -307,7 +307,7 @@ Customer Invoice ===================================== ===== ====== 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) * Deferred Tax Liabilities: defined on the tax used on the invoice line * Accounts Receivable: defined on the customer (Receivable Account) @@ -322,11 +322,11 @@ Manufacturing Orders .. raw:: html
- -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. -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: 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 ===================================== ===== ====== - Assets: Inventory (closing value) X + Assets: Inventory (closing value) X Expenses: Cost of Good Sold X Expenses: Purchased Goods X - Assets: Inventory (starting value) X + Assets: Inventory (starting value) X ===================================== ===== ====== Automated Inventory Valuation @@ -370,19 +370,19 @@ Continental Accounting
.. h:div:: doc-aside - + **Configuration:** - Accounts Receivable/Payable: defined on the partner (Accounting tab) - 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. - - 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 - + - Inventory: to set as Stock Valuation Account in product's internal category Anglo-Saxon Accounting @@ -402,7 +402,7 @@ Anglo-Saxon Accounting - 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 - 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 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 - - 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 - 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 diff --git a/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst b/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst index a34f78224..16ce69452 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst @@ -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 ========================================== -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 :align: center diff --git a/content/applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst b/content/applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst index 1ecb822b8..96a65c0dc 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/concepts/use-routes.rst @@ -24,8 +24,8 @@ through all these locations, which also trigger all the route's rules. :align: center :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. -Operators then scan the products in the receiving area. Some of these products are sent to a +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 quality control area (those devoted to being used during the manufacturing process, for example), while others are directly stored in their respective locations. @@ -70,7 +70,7 @@ Area* is created. .. note:: 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. Push Rules @@ -150,7 +150,7 @@ Configuration --> Routes` to see the routes Odoo generated for you. :align: center :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 *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 :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 rules, but also the source and destination location of each action. As 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 -: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. .. image:: use-routes/add-new-rules.png @@ -267,8 +267,8 @@ all of them: those products to the destination location. - **Pull & Push**: this rule allows generating pickings in the two situations explained above. This means that when products are - 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 + 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 it. Once the second need is fulfilled, the products are pushed to the destination location and all the needs are fulfilled. - **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 one of the chain's pickings is rescheduled. In case you decide to **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 *next activity*. diff --git a/content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst b/content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst index 6cc73b049..6ea82de76 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst @@ -18,7 +18,7 @@ In the *Inventory* app, go to :menuselection:`Configuration --> Settings` and ac 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*. diff --git a/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst b/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst index fb26cbd20..92036e4ff 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst @@ -2,36 +2,36 @@ What is a Removal Strategy (FIFO, LIFO, and FEFO)? ================================================== -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 +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 with the closest expiration date. -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 +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 *Product Category* or on the *Location*. What happens inside the warehouse? ================================== -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, +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, such as removal strategies, can have an effect on which products are taken for the pickings. .. image:: removal/empty-dock.png :align: center :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 -receiving area, with the receiving date and, if the product has an expiration date, the expiration +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 date. After that, products are stored in their respective locations. .. image:: removal/entering-stocks.png :align: center :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 -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 +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 +with the closest date first. Depending on the removal strategy you chose, Odoo generates a transfer with the products fitting your settings the best. .. image:: removal/packing-products.png @@ -47,62 +47,62 @@ How does it work? 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. -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 -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 -five boxes of 00001 and one of the boxes in 00002 because 00001 has entered your stock before the +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 +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 +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. -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. 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 -date they entered the stock. Here, a demand for some products triggers a removal rule that requests a +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 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 -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 -7 boxes on the 8th of June. With the *LIFO* strategy selected, a transfer is requested for seven +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 +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 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. .. 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. 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. -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: -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 -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. -The transfer for all the boxes of the lot 20002 is because they have the closest expiration date. +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: +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 +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. +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. -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. Use Removal Strategies ====================== -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 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*, *Multi-Steps Routes*, and *Lots & Serial Numbers*. .. image:: removal/enabled-features.png @@ -112,7 +112,7 @@ To do so, go to :menuselection:`Configuration --> Settings`. Then, activate *Sto .. note:: 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`. .. 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) -------------------------- -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 +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 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, -where we put *FIFO* as the removal strategy. In our stock location (WH/Stock), we now find the +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 three lots available. .. image:: removal/inventory-valuation.png :align: center :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 -seen above, 000001 has entered the stock first. Let’s create a sale order of six white shirts +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 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. .. image:: removal/reserved-lots-FIFO.png @@ -148,18 +148,18 @@ reserved thanks to the *FIFO* strategy. 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. -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 +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 --> Configuration --> Product Categories` and change the removal strategy to *LIFO*. .. image:: removal/last-in-first-out.png :align: center :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. .. 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) ------------------------------ -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. .. 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>`. -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 --> +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 --> Master Data --> Lots/Serial Numbers`. .. image:: removal/removal-date.png :align: center :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. .. 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! -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*. .. 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 | +-----------------------+---------------+-----------------------+ -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 +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 0000003. .. image:: removal/reserved-hand-cream.png diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst index e70d17492..981a3d002 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst @@ -14,7 +14,7 @@ the destination. 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 @@ -36,7 +36,7 @@ You will now see that the shipment has been cancelled. 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 diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst index ab03ef327..3a3ded4ff 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst @@ -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 measurement system. -How to print shipping labels ? +How to print shipping labels ? =============================== The delivery order created from the sale order will take the shipping diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst index 48d877738..7b7a5868a 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst @@ -13,7 +13,7 @@ Configuration ============= 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 packages used on packing: pallets, boxes,...** diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst index 55a81613f..5e58a269e 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst @@ -1,5 +1,5 @@ =============================== -How to setup a delivery method? +How to setup a delivery method? =============================== Overview @@ -33,7 +33,7 @@ order to see it : 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`. 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 :align: center -.. note:: +.. note:: 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` Delivery process diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst index 200a0bd6c..bb05b967e 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst @@ -16,7 +16,7 @@ Configuration 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 integrate : @@ -26,7 +26,7 @@ integrate : Then click on **Apply**. .. 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. Configure the delivery method diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst index c02ae2bb6..956d41ad5 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst @@ -16,15 +16,15 @@ the UPS Developer Kit API Development and Production servers. Create a UPS Account ===================== -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 +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 Service in order to to open an account. -You can read additional information about opening a UPS account on the -their website, on the page, -`How to Open a UPS Account Online `_ +You can read additional information about opening a UPS account on the +their website, on the page, +`How to Open a UPS Account Online `_ -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: 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 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 `_) 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** 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 United States.q diff --git a/content/applications/inventory_and_mrp/manufacturing/management/bill_configuration.rst b/content/applications/inventory_and_mrp/manufacturing/management/bill_configuration.rst index 9c0b6f7fc..c1b6c7137 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/bill_configuration.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/bill_configuration.rst @@ -35,7 +35,7 @@ type, which is *Manufacture this Product*. .. warning:: 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 --------------------------------------- diff --git a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst index a0852a170..4065c4675 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst @@ -18,7 +18,7 @@ produced out of raw materials “A” and “B”. .. image:: subcontracting/subcontracting_01.png :align: center - :alt: + :alt: 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 :align: center - :alt: + :alt: To define if a product must be subcontracted, use a *Bill of Materials (BoM)* of type *Subcontracting*. @@ -46,7 +46,7 @@ several subcontractors. .. image:: subcontracting/subcontracting_03.png :align: center - :alt: + :alt: Basic Subcontracting Flow ========================= @@ -58,7 +58,7 @@ a subcontractor on the *BoM*. .. image:: subcontracting/subcontracting_04.png :align: center - :alt: + :alt: Once the *PO* is validated (1), a pending receipt is created. When the 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 :align: center - :alt: + :alt: 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: .. image:: subcontracting/subcontracting_06.png :align: center - :alt: + :alt: Automate Replenishment of Subcontractors ======================================== @@ -172,7 +172,7 @@ components to the subcontractor. .. image:: subcontracting/subcontracting_07.png :align: center - :alt: + :alt: The second approach is to use a “pull” flow. Here, the demand in the finished product (real demand or forecasted one through the Master @@ -182,7 +182,7 @@ wanted components. .. image:: subcontracting/subcontracting_08.png :align: center - :alt: + :alt: Replenishment from another supplier ----------------------------------- @@ -198,7 +198,7 @@ subcontractor for the shipping. .. image:: subcontracting/subcontracting_09.png :align: center - :alt: + :alt: 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 @@ -206,7 +206,7 @@ the subcontractor. .. image:: subcontracting/subcontracting_10.png :align: center - :alt: + :alt: Quality Control --------------- @@ -219,14 +219,14 @@ reception. .. image:: subcontracting/subcontracting_11.png :align: center - :alt: + :alt: To create a quality check at the receipt, open the *Quality* app and create a new *Control Point* on the reception. .. image:: subcontracting/subcontracting_12.png :align: center - :alt: + :alt: By doing so, a quality check is automatically created each time a finished product is received. diff --git a/content/applications/productivity/iot/config/flash_sdcard.rst b/content/applications/productivity/iot/config/flash_sdcard.rst index 4728d2216..cef0d4493 100644 --- a/content/applications/productivity/iot/config/flash_sdcard.rst +++ b/content/applications/productivity/iot/config/flash_sdcard.rst @@ -16,7 +16,7 @@ will be saved. .. note:: 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 :align: center diff --git a/content/applications/productivity/iot/config/pos.rst b/content/applications/productivity/iot/config/pos.rst index c86b3ce63..1d58960e3 100644 --- a/content/applications/productivity/iot/config/pos.rst +++ b/content/applications/productivity/iot/config/pos.rst @@ -26,7 +26,7 @@ Before starting, make sure you have the following: The list of supported hardware can be found on the `POS Hardware page `__ -Set Up +Set Up ~~~~~~~ To connect hardware to the PoS, the first step is to connect an IoT Box diff --git a/content/applications/productivity/iot/devices/screen.rst b/content/applications/productivity/iot/devices/screen.rst index a6583c14c..99ef72652 100644 --- a/content/applications/productivity/iot/devices/screen.rst +++ b/content/applications/productivity/iot/devices/screen.rst @@ -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 :align: center :alt: An example of a PoS (point of sale) order on a screen display. - + .. note:: 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. @@ -47,21 +47,21 @@ screen. :align: center :alt: The default "POS Client Display" screen that appears when a screen display is successfully connected to an IoT Box. - + The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of Things)` Box homepage. .. image:: screen/screen-screen-name-example.png :align: center :alt: An example of a screen display name shown on the IoT Box homepage. - + .. note:: If no screen is detected, a default display named :guilabel:`Distant Display` will be used instead. .. image:: screen/screen-no-screen.png :align: center :alt: The "Distant Display" screen name will be used if no screen is detected. - + 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 :align: center :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 in the top bar to inform the connection status with the screen. diff --git a/content/applications/sales/crm/acquire_leads/convert.rst b/content/applications/sales/crm/acquire_leads/convert.rst index 14ea5541a..ac2eb1af7 100644 --- a/content/applications/sales/crm/acquire_leads/convert.rst +++ b/content/applications/sales/crm/acquire_leads/convert.rst @@ -4,7 +4,7 @@ Convert leads into opportunities The system can generate leads instead of opportunities, in order to add 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 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 the same email address. When merging opportunities, Odoo merges the 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 chatter and the information fields for easy access. diff --git a/content/applications/sales/crm/acquire_leads/lead_mining.rst b/content/applications/sales/crm/acquire_leads/lead_mining.rst index f42d0d09d..3a4728226 100644 --- a/content/applications/sales/crm/acquire_leads/lead_mining.rst +++ b/content/applications/sales/crm/acquire_leads/lead_mining.rst @@ -8,7 +8,7 @@ Configuration ============== For this feature to work, go to :menuselection:`CRM --> Configuration --> Settings` and activate the **Lead Mining** feature. - + .. image:: lead_mining/LM1.png :align: center @@ -31,16 +31,16 @@ From there, click on the **Generate Leads** button, a window where you will be a :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 -`Odoo GDPR `__, +`Odoo GDPR `__, 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 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. .. tip:: @@ -50,7 +50,7 @@ Pricing ================== 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. -Here is the pricing for this `feature `__, +Here is the pricing for this `feature `__, 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`. @@ -70,4 +70,3 @@ Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Ser .. seealso:: * :doc:`In-App Purchases (IAP) ` - diff --git a/content/applications/sales/crm/performance.rst b/content/applications/sales/crm/performance.rst index 8f679f807..e1a628499 100644 --- a/content/applications/sales/crm/performance.rst +++ b/content/applications/sales/crm/performance.rst @@ -1,7 +1,7 @@ :nosearch: =================== -Analyze performance +Analyze performance =================== .. toctree:: diff --git a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst index 192454906..aff4a704b 100644 --- a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst +++ b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst @@ -16,15 +16,15 @@ convenient. Set up Pricelists ================= -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 +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 --> Point of Sale` and enable *Pricelist* for the *PoS*. .. image:: pricelists/pricelists_01.png :align: center -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 +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 and the discount. .. image:: pricelists/pricelists_02.png diff --git a/content/applications/sales/point_of_sale/overview/getting_started.rst b/content/applications/sales/point_of_sale/overview/getting_started.rst index fc4d59796..892e6179f 100644 --- a/content/applications/sales/point_of_sale/overview/getting_started.rst +++ b/content/applications/sales/point_of_sale/overview/getting_started.rst @@ -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 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 real-time statistics and consolidations across all shops. @@ -84,10 +84,10 @@ payment. 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. -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. .. image:: getting_started/getting_started_06.png @@ -104,7 +104,7 @@ process the payment and validate it. 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. .. 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:: 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. -Then, click on a line to see all orders that were paid during your PoS session. +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. If everything is correct, validate the session and post the closing entries. .. image:: getting_started/getting_started_09.png diff --git a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst index f6339ff47..0aa009376 100644 --- a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst +++ b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst @@ -10,7 +10,7 @@ takes away. 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 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 ================================ -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 +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 --> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one. .. image:: fiscal_position/fiscal_position_03.png diff --git a/content/applications/sales/point_of_sale/restaurant/restaurant.rst b/content/applications/sales/point_of_sale/restaurant/restaurant.rst index 6a20254d5..b955ab048 100644 --- a/content/applications/sales/point_of_sale/restaurant/restaurant.rst +++ b/content/applications/sales/point_of_sale/restaurant/restaurant.rst @@ -96,7 +96,7 @@ customer. .. image:: restaurant/restaurant_09.png :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 Register an additional order diff --git a/content/applications/sales/point_of_sale/shop/cash_rounding.rst b/content/applications/sales/point_of_sale/shop/cash_rounding.rst index fa59062e1..ecf8c1e0e 100644 --- a/content/applications/sales/point_of_sale/shop/cash_rounding.rst +++ b/content/applications/sales/point_of_sale/shop/cash_rounding.rst @@ -2,12 +2,12 @@ Cash Rounding ============= -**Cash rounding** is required when the lowest physical denomination -of currency, or the smallest coin, is higher than the minimum unit +**Cash rounding** is required when the lowest physical denomination +of currency, or the smallest coin, is higher than the minimum unit of account. -For example, some countries require their companies to round up or -down the total amount of an invoice to the nearest five cents, when +For example, some countries require their companies to round up or +down the total amount of an invoice to the nearest five cents, when the payment is made in cash. 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 ============= -Go to :menuselection:`Point of Sale --> Configuration --> Settings` +Go to :menuselection:`Point of Sale --> Configuration --> Settings` and enable *Cash Rounding*, then click on *Save*. .. image:: cash_rounding/cash_rounding01.png :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 *Cash Rounding* option. To define the **Rounding Method**, open the drop-down list and click 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 of Sale settings. @@ -43,5 +43,5 @@ rounding according to your settings. :align: center .. 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. diff --git a/content/applications/sales/sales/amazon_connector/manage.rst b/content/applications/sales/sales/amazon_connector/manage.rst index fe9971694..bca8df5e6 100644 --- a/content/applications/sales/sales/amazon_connector/manage.rst +++ b/content/applications/sales/sales/amazon_connector/manage.rst @@ -39,7 +39,7 @@ turn, notify the customer that the order (or a part of it) is on its way. .. important:: Starting from July 2021, Amazon requires that deliveries be provided with a tracking reference. This concerns all marketplaces. - + If this is not already done, you need to :ref:`install ` the **Delivery Costs** module in order to provide the tracking reference. There is unfortunately no workaround to comply with this new Amazon policy. diff --git a/content/applications/sales/sales/products_prices/prices/pricing.rst b/content/applications/sales/sales/products_prices/prices/pricing.rst index bee2e53e3..306e835a0 100644 --- a/content/applications/sales/sales/products_prices/prices/pricing.rst +++ b/content/applications/sales/sales/products_prices/prices/pricing.rst @@ -19,14 +19,14 @@ Choose your pricing strategy from :menuselection:`Sales --> Settings`. * *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. -Several prices per product +Several prices per product ========================== To apply several prices per product, select *Different prices per customer segment* in :menuselection:`Sales --> Settings`. Then open the *Sales* tab 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. @@ -88,10 +88,10 @@ Each pricelist item can be associated to either all products, to a product inter .. 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. - + There are 3 modes of computation: fix price, discount & formula. .. 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. -.. 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 ======================================== diff --git a/content/applications/sales/sales/products_prices/products/import.rst b/content/applications/sales/sales/products_prices/products/import.rst index 1682a7fdf..ca9a44719 100644 --- a/content/applications/sales/sales/products_prices/products/import.rst +++ b/content/applications/sales/sales/products_prices/products/import.rst @@ -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 (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.). How to customize the file diff --git a/content/applications/sales/sales/send_quotations/terms_and_conditions.rst b/content/applications/sales/sales/send_quotations/terms_and_conditions.rst index 4ee7627e9..9cb44753f 100644 --- a/content/applications/sales/sales/send_quotations/terms_and_conditions.rst +++ b/content/applications/sales/sales/send_quotations/terms_and_conditions.rst @@ -22,7 +22,7 @@ Go to :menuselection:`Accounting --> Configuration --> Settings` and activate :align: center :class: img-thumbnail :alt: How to enable Default Terms & Conditions on Odoo Sales? - + .. note:: 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 @@ -55,7 +55,7 @@ templates. This is interesting if you have different terms and conditions within .. important:: Be sure to check out our documentation about quotation templates: :doc:`quote_template`, to master each step of this amazing feature. - + General Terms & Conditions ========================== diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index 703accfec..efafc8ab0 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -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. .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online 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``. diff --git a/content/applications/websites/ecommerce/getting_started/catalog.rst b/content/applications/websites/ecommerce/getting_started/catalog.rst index da5619e51..30da338b0 100644 --- a/content/applications/websites/ecommerce/getting_started/catalog.rst +++ b/content/applications/websites/ecommerce/getting_started/catalog.rst @@ -1,5 +1,5 @@ ================================== -How to customize my catalog page +How to customize my catalog page ================================== Product Catalog diff --git a/content/applications/websites/ecommerce/managing_products/multi_images.rst b/content/applications/websites/ecommerce/managing_products/multi_images.rst index 8a096947e..10f36abf5 100644 --- a/content/applications/websites/ecommerce/managing_products/multi_images.rst +++ b/content/applications/websites/ecommerce/managing_products/multi_images.rst @@ -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 :align: center -.. note:: +.. note:: Such extra image are common to all the product variants (if any). diff --git a/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst b/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst index 39064f5f9..8a6b6623c 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst @@ -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 -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, * Optional products on a new *Add to Cart* screen (not installed by default). diff --git a/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst b/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst index 729f6f172..2f74c5c40 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst @@ -46,7 +46,7 @@ You can easily moderate by using the chatter, either in the product detail form or on the web page. 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 :align: center diff --git a/content/applications/websites/ecommerce/shopper_experience/portal.rst b/content/applications/websites/ecommerce/shopper_experience/portal.rst index 66e334d05..00b7b15ce 100644 --- a/content/applications/websites/ecommerce/shopper_experience/portal.rst +++ b/content/applications/websites/ecommerce/shopper_experience/portal.rst @@ -2,10 +2,10 @@ How customers can access their customer account ================================================= -It has never been so easy for your customers to access their -customer account. Forget endless signup forms, -Odoo makes it as easy as ABC. -They are suggested to sign up (name, email, password) when the order +It has never been so easy for your customers to access their +customer account. Forget endless signup forms, +Odoo makes it as easy as ABC. +They are suggested to sign up (name, email, password) when the order is placed, and not before. Indeed, nothing is more annoying than going through a signup process before buying something. diff --git a/content/applications/websites/website.rst b/content/applications/websites/website.rst index 8e0afd1aa..aefeedecc 100644 --- a/content/applications/websites/website.rst +++ b/content/applications/websites/website.rst @@ -11,7 +11,7 @@ Discover the best **Open-Source Website Builder** and learn how to build beautif convert visitors into leads or revenues. .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online 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``. diff --git a/content/applications/websites/website/optimize/google_analytics.rst b/content/applications/websites/website/optimize/google_analytics.rst index 0e68a4330..e18e627a3 100644 --- a/content/applications/websites/website/optimize/google_analytics.rst +++ b/content/applications/websites/website/optimize/google_analytics.rst @@ -18,10 +18,10 @@ How to track your website's traffic in Google Analytics To follow your website's traffic with Google Analytics: -- `Create a Google Analytics account `__ if +- `Create a Google Analytics account `__ if 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 :align: center diff --git a/content/applications/websites/website/optimize/google_analytics_dashboard.rst b/content/applications/websites/website/optimize/google_analytics_dashboard.rst index 2f87d3fe9..a18d3e75e 100644 --- a/content/applications/websites/website/optimize/google_analytics_dashboard.rst +++ b/content/applications/websites/website/optimize/google_analytics_dashboard.rst @@ -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 2023 `_. -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. -- 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`). -- Go to `Google APIs platform `__ - to generate Analytics API credentials. Log in with your Google account. +- Go to `Google APIs platform `__ + to generate Analytics API credentials. Log in with your Google account. - Select Analytics API. @@ -50,25 +50,25 @@ Dashboard thanks to Google Analytics. .. image:: google_analytics_dashboard/google_analytics_create_credentials.png :align: center -- Select *Web browser (Javascript)* +- Select *Web browser (Javascript)* as calling source and *User data* as kind of data. .. image:: google_analytics_dashboard/google_analytics_get_credentials.png :align: center - Then you can create a Client ID. - 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 - Odoo's instance URL. The *Authorized redirect URI* is your Odoo's instance + 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 + Odoo's instance URL. The *Authorized redirect URI* is your Odoo's instance URL followed by '/google_account/authentication'. .. image:: google_analytics_dashboard/google_analytics_authorization.png :align: center -- Go through the Consent Screen step by entering a product name - (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 +- Go through the Consent Screen step by entering a product name + (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 the Client ID in Odoo for the first time. - Finally you are provided with your Client ID. Copy and paste it in Odoo. diff --git a/content/applications/websites/website/optimize/seo.rst b/content/applications/websites/website/optimize/seo.rst index b7a9732fc..2251c7989 100644 --- a/content/applications/websites/website/optimize/seo.rst +++ b/content/applications/websites/website/optimize/seo.rst @@ -29,7 +29,7 @@ Title, Description Every web page should define the ```` and ``<description>`` meta data. These information elements are used by search engines to promote your website. 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. .. image:: seo/seo01.png @@ -40,15 +40,15 @@ Keywords In order to write quality content and boost your traffic, Odoo provides 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 -(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. .. image:: seo/seo02.png :align: center -.. note:: +.. note:: 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. Content is King @@ -80,8 +80,8 @@ modules to help you build your website content: Use Social Networks =================== -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, +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, and links are a huge factor for SEO ranking. 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 :align: center - + Social Share ------------ @@ -106,17 +106,17 @@ wall. :align: center 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. .. image:: seo/seo05.png :align: center - + Facebook Page ------------- -Drop the building block *Facebook Page* to display a widget of your Facebook -business page and encourage visitors to follow it. +Drop the building block *Facebook Page* to display a widget of your Facebook +business page and encourage visitors to follow it. You can display the timeline, the next events and the messages. Twitter Scroller @@ -179,7 +179,7 @@ an example, the following URLs all do a 301 redirect to the above URL: product name) 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 @@ -191,7 +191,7 @@ In the above example: 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 -by search engines. Example: +by search engines. Example: - https://www.odoo.com/blog/page/3 @@ -222,7 +222,7 @@ maintaining the SEO link juice. 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 based on HTTPS. If the visitor accesses your website through a non HTTPS 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 ------------------------ -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. 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. 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. 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! ================================= ============================================= - **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 { - .text-muted { color: #666; - color: #777; background: yellow - background: yellow; } + /\* From bootstrap.css \*/ .text-muted { + .text-muted { color: #666; + color: #777; background: yellow + background: yellow; } } - /\* From my-theme.css \*/ - .text-muted { - color: #666; - } + /\* From my-theme.css \*/ + .text-muted { + color: #666; + } ================================= ============================================= 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 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 - 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. **Minified:** After being pre-processed and concatenated, the resulting CSS is minified to reduce its size. ============================ ============================== - **Before minification** **After minification** + **Before minification** **After minification** ============================ ============================== - /\* some comments \*/ .text-muted {color: #666} - .text-muted { - color: #666; - } + /\* some comments \*/ .text-muted {color: #666} + .text-muted { + color: #666; + } ============================ ============================== The final result is then compressed, before being delivered to the browser. 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 visit). diff --git a/content/applications/websites/website/publish/multi_website.rst b/content/applications/websites/website/publish/multi_website.rst index ba98d7268..2afc3e19a 100644 --- a/content/applications/websites/website/publish/multi_website.rst +++ b/content/applications/websites/website/publish/multi_website.rst @@ -185,7 +185,7 @@ Publish a page in all websites ------------------------------ 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. 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. The original page still being linked to all websites. -.. tip:: +.. tip:: By grouping pages by URL in the page manager, you quickly find the original page behind each edited page. diff --git a/content/contributing/development/coding_guidelines.rst b/content/contributing/development/coding_guidelines.rst index 4e5f5247b..cd56030c2 100644 --- a/content/contributing/development/coding_guidelines.rst +++ b/content/contributing/development/coding_guidelines.rst @@ -976,7 +976,7 @@ The convention is to organize the code according to the following structure: - *static/src/js* - *static/src/js/tours*: end user tour files (tutorials, not tests) - + - *static/src/scss*: scss files - *static/src/xml*: all qweb templates that will be rendered in JS diff --git a/content/developer/howtos/profilecode.rst b/content/developer/howtos/profilecode.rst index aa1c7a6c4..3dc9ed8f2 100644 --- a/content/developer/howtos/profilecode.rst +++ b/content/developer/howtos/profilecode.rst @@ -33,9 +33,9 @@ A tool called *gprof2dot* will produce a graph with this result: A tool called *xdot* will display the resulting graph: .. code:: bash - + xdot /temp/prof.xdot - + Log a method ============ diff --git a/content/developer/howtos/rdtraining/13_inheritance.rst b/content/developer/howtos/rdtraining/13_inheritance.rst index 3021e7950..1ee6a1fc9 100644 --- a/content/developer/howtos/rdtraining/13_inheritance.rst +++ b/content/developer/howtos/rdtraining/13_inheritance.rst @@ -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. 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 the corresponding documentation for more info! diff --git a/content/developer/howtos/rdtraining/14_other_module.rst b/content/developer/howtos/rdtraining/14_other_module.rst index f1bce1fe8..688ee4e02 100644 --- a/content/developer/howtos/rdtraining/14_other_module.rst +++ b/content/developer/howtos/rdtraining/14_other_module.rst @@ -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 :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 -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): self.env["test.model"].create( diff --git a/content/developer/reference/addons/reports.rst b/content/developer/reference/addons/reports.rst index e382ad235..2b7f71de2 100644 --- a/content/developer/reference/addons/reports.rst +++ b/content/developer/reference/addons/reports.rst @@ -277,7 +277,7 @@ the template, such as data from additional models: 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. Example:: diff --git a/content/developer/reference/javascript/mobile.rst b/content/developer/reference/javascript/mobile.rst index 54217e309..ab14ff432 100644 --- a/content/developer/reference/javascript/mobile.rst +++ b/content/developer/reference/javascript/mobile.rst @@ -9,7 +9,7 @@ Introduction ============ In Odoo 10.0 we released a mobile app which allows you to access all **Odoo apps** -(even your customized modules). +(even your customized modules). The application is a combination of **Odoo Web** and **Native Mobile components**. In other words it is a Odoo Web instance loaded inside a native, mobile, WebView container. @@ -21,7 +21,7 @@ access all available mobile features. .. warning:: These features work with **Odoo Enterprise 10.0+** only -How does it work? +How does it work? ================= Internal workings of the mobile application: @@ -53,7 +53,7 @@ Just like the Odoo Web Framework, the Mobile API can be used anywhere by getting .. image:: mobile/odoo_mobile_api.png The mobile RPC object provides a list of methods that are available (this only works with the mobile -app). +app). Check if the method is available and then execute it. @@ -136,7 +136,7 @@ area and the notification drawer are system-controlled areas that the user can view at any time. .. code-block:: javascript - + mobile.showNotification({'title': 'Simple Notification', 'message': 'This is a test for a simple notification'}) .. image:: mobile/mobile_notification.png @@ -152,7 +152,7 @@ Create contact in device Create a new device contact with the given contact details. .. code-block:: javascript - + var contact = { 'name': 'Michel Fletcher', 'mobile': '9999999999', @@ -205,7 +205,7 @@ Switching account in device Use switchAccount to switch from one account to another on the device. .. code-block:: javascript - + mobile.methods.switchAccount(); .. image:: mobile/mobile_switch_account.png diff --git a/redirects/MANUAL.md b/redirects/MANUAL.md index ff46331a9..c8580bd7b 100644 --- a/redirects/MANUAL.md +++ b/redirects/MANUAL.md @@ -27,7 +27,7 @@ information. a block of redirect rules that start with `applications/sales/sales` if you are adding a redirect rule for a page in the Sales app. If the block does not exist yet, create it. Ideally, there should be one block per app or scope and redirect rules should be sorted alphabetically. -3. Add a new line for your redirect rule at the end of the block. The line should follow this +3. Add a new line for your redirect rule at the end of the block. The line should follow this pattern: `path/to/old/file.rst path/to/new/file.rst # optional comment`