[MOV] documentation structure reorganization
This commit aims to improve the documentation's navigability by redefining some categories' purposes and titles. There is a redirection rule for each documentation page moved. This ensures that users won't have a 404 error message. task-3217827 closes odoo/documentation#8064 Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
@@ -0,0 +1,11 @@
|
||||
===============
|
||||
Odoo essentials
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
||||
essentials/activities
|
||||
essentials/reporting
|
||||
essentials/search
|
||||
essentials/export_import_data
|
||||
essentials/in_app_purchase
|
||||
@@ -40,8 +40,7 @@ Lastly, click one of the following buttons:
|
||||
opens a new activity window.
|
||||
- :guilabel:`Discard`: discards any changes made on the pop-up window.
|
||||
|
||||
.. image:: plan_activities/schedule-pop-up.png
|
||||
:align: center
|
||||
.. image:: activities/schedule-pop-up.png
|
||||
:alt: View of CRM leads and the option to schedule an activity.
|
||||
|
||||
.. note::
|
||||
@@ -50,8 +49,7 @@ Lastly, click one of the following buttons:
|
||||
|
||||
Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`.
|
||||
|
||||
.. image:: plan_activities/chatter-activities.png
|
||||
:align: center
|
||||
.. image:: activities/chatter-activities.png
|
||||
:alt: View of CRM leads and the option to schedule an activity.
|
||||
|
||||
Activities can also be scheduled from the kanban, list, or activities view of an application.
|
||||
@@ -63,9 +61,8 @@ Activities can also be scheduled from the kanban, list, or activities view of an
|
||||
Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon,
|
||||
then :guilabel:`Schedule An Activity`, and proceed to fill out the pop-up form.
|
||||
|
||||
.. image:: plan_activities/schedule-kanban-activity.png
|
||||
:align: center
|
||||
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
|
||||
.. image:: activities/schedule-kanban-activity.png
|
||||
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
|
||||
|
||||
.. tab:: List view
|
||||
|
||||
@@ -73,9 +70,8 @@ Activities can also be scheduled from the kanban, list, or activities view of an
|
||||
then :guilabel:`Schedule An Activity`. If the record already has an activity scheduled, the
|
||||
clock icon may be replaced by a :guilabel:`📞 (phone)` or an :guilabel:`✉️ (envelope)` icon.
|
||||
|
||||
.. image:: plan_activities/schedule-list-activity.png
|
||||
:align: center
|
||||
:alt: List view of the CRM pipeline and the option to schedule an activity.
|
||||
.. image:: activities/schedule-list-activity.png
|
||||
:alt: List view of the CRM pipeline and the option to schedule an activity.
|
||||
|
||||
.. tab:: Activity view
|
||||
|
||||
@@ -83,16 +79,14 @@ Activities can also be scheduled from the kanban, list, or activities view of an
|
||||
menu bar anywhere in the database. Select any application from the drop-down menu, and click
|
||||
the :guilabel:`🕘 (clock)` icon for the desired app.
|
||||
|
||||
.. image:: plan_activities/schedule-activity-view-menu.png
|
||||
:align: center
|
||||
:alt: Activity menu drop down with focus on where to open activity view for CRM.
|
||||
.. image:: activities/schedule-activity-view-menu.png
|
||||
:alt: Activity menu drop down with focus on where to open activity view for CRM.
|
||||
|
||||
Select a record on which to schedule an activity. Move across the row to find the desired
|
||||
activity type, then click the :guilabel:`+ (plus sign)`.
|
||||
|
||||
.. image:: plan_activities/schedule-activity-view.png
|
||||
:align: center
|
||||
:alt: Activity view of the CRM pipeline and the option to schedule an activity.
|
||||
.. image:: activities/schedule-activity-view.png
|
||||
:alt: Activity view of the CRM pipeline and the option to schedule an activity.
|
||||
|
||||
.. note::
|
||||
Activity colors, and their relation to an activity's due date, is consistent throughout Odoo,
|
||||
@@ -122,8 +116,7 @@ specific application in a drop-down menu.
|
||||
The possibility to :guilabel:`Add new note` and :guilabel:`Request a Document` appear at the bottom
|
||||
of this drop-down menu, when the :guilabel:`🕘 (clock)` icon on the header menu is clicked.
|
||||
|
||||
.. image:: plan_activities/activities-menu.png
|
||||
:align: center
|
||||
.. image:: activities/activities-menu.png
|
||||
:alt: View of CRM leads page emphasizing the activities menu.
|
||||
|
||||
Configure activity types
|
||||
@@ -132,8 +125,7 @@ Configure activity types
|
||||
To configure the types of activities in the database, go to :menuselection:`Settings app --> Discuss
|
||||
--> Activities --> Activity Types`.
|
||||
|
||||
.. image:: plan_activities/settings-activities-types.png
|
||||
:align: center
|
||||
.. image:: activities/settings-activities-types.png
|
||||
:alt: View of the settings page emphasizing the menu activity types.
|
||||
|
||||
Doing so reveals the :guilabel:`Activity Types` page, where the existing activity types are found.
|
||||
@@ -144,8 +136,7 @@ new activity type, click :guilabel:`Create`.
|
||||
At the top of a blank activity type form, start by choosing a :guilabel:`Name` for the new activity
|
||||
type.
|
||||
|
||||
.. image:: plan_activities/new-activity-type.png
|
||||
:align: center
|
||||
.. image:: activities/new-activity-type.png
|
||||
:alt: New activity type form.
|
||||
|
||||
Activity settings
|
||||
@@ -208,8 +199,7 @@ This :guilabel:`Schedule` field information can be altered before the activity i
|
||||
|
||||
When all configurations are complete, click :guilabel:`Save`.
|
||||
|
||||
.. image:: plan_activities/schedule-recommended-activity.png
|
||||
:align: center
|
||||
.. image:: activities/schedule-recommended-activity.png
|
||||
:alt: Schedule activity popup with emphasis on recommended activities.
|
||||
|
||||
.. note::
|
||||
@@ -236,8 +226,7 @@ This :guilabel:`Schedule` field information can be altered before the activity i
|
||||
|
||||
When all configurations are complete, click :guilabel:`Save`.
|
||||
|
||||
.. image:: plan_activities/triggered-activities.png
|
||||
:align: center
|
||||
.. image:: activities/triggered-activities.png
|
||||
:alt: Schedule new activity popup with emphasis on Done and launch next button.
|
||||
|
||||
.. note::
|
||||
@@ -246,5 +235,5 @@ When all configurations are complete, click :guilabel:`Save`.
|
||||
:guilabel:`Trigger` field.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`get_started`
|
||||
- :doc:`team_communication`
|
||||
- :doc:`/applications/productivity/discuss`
|
||||
- :doc:`/applications/productivity/discuss/team_communication`
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -8,8 +8,5 @@ Finance
|
||||
|
||||
finance/accounting
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/spreadsheet
|
||||
finance/payment_providers
|
||||
finance/fiscal_localizations
|
||||
|
||||
@@ -39,7 +39,7 @@ After setting the necessary formatting options and mapping the file columns with
|
||||
fields, you can run a :guilabel:`Test` and :guilabel:`Import` your bank transactions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/general/export_import_data`
|
||||
:doc:`/applications/essentials/export_import_data`
|
||||
|
||||
.. _transactions/register:
|
||||
|
||||
|
||||
@@ -34,6 +34,6 @@ email, as usual, but the invoice is sent to the email of the address set as the
|
||||
|
||||
.. note::
|
||||
- Reports, such as the delivery slip and invoice report, can be :doc:`customized using Studio
|
||||
</applications/productivity/studio/pdf_reports>`.
|
||||
</applications/studio/pdf_reports>`.
|
||||
- If :doc:`Send by Post <snailmail>` is checked when you click :guilabel:`Send & Print`, the
|
||||
invoice will be mailed to the invoice address.
|
||||
|
||||
@@ -44,7 +44,7 @@ your customer’s address is set correctly, including the country, before sendin
|
||||
Pricing
|
||||
=======
|
||||
|
||||
Snailmail is an :doc:`/applications/general/in_app_purchase` service that requires prepaid stamps
|
||||
Snailmail is an :doc:`/applications/essentials/in_app_purchase` service that requires prepaid stamps
|
||||
(=credits) to work. Sending one document consumes one stamp.
|
||||
|
||||
To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer
|
||||
|
||||
@@ -90,6 +90,6 @@ select all the reports you would like to process, click on the :guilabel:`Action
|
||||
select :guilabel:`Process follow-ups`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../../general/in_app_purchase`
|
||||
- :doc:`../../../marketing/sms_marketing/pricing/pricing_and_faq`
|
||||
- :doc:`/applications/essentials/in_app_purchase`
|
||||
- :doc:`/applications/marketing/sms_marketing/pricing/pricing_and_faq`
|
||||
- :doc:`../customer_invoices/snailmail`
|
||||
|
||||
@@ -26,8 +26,8 @@ If you use Odoo on Odoo.com or Odoo.sh platform, your code is already up-to-date
|
||||
to the next step.
|
||||
|
||||
If you use Odoo with an on-premise setup or through a partner, you must update your installation as
|
||||
detailed in :doc:`this documentation page </administration/maintain/update>`, or by contacting your
|
||||
integrating partner.
|
||||
detailed in :doc:`this documentation page </administration/on_premise/update>`, or by contacting
|
||||
your integrating partner.
|
||||
|
||||
Update the list of available modules
|
||||
====================================
|
||||
|
||||
@@ -52,8 +52,9 @@ The email alias is now available in the :guilabel:`Advanced Settings` tab of the
|
||||
sent to this address will be converted automatically into new invoices or bills.
|
||||
|
||||
.. note::
|
||||
If you use the :doc:`Documents <../../documents>` app, you can automatically send your scanned
|
||||
invoices to the :guilabel:`Finance` workspace (e.g., `inbox-financial@example.odoo.com`).
|
||||
If you use the :doc:`Documents </applications/productivity/documents>` app, you can automatically
|
||||
send your scanned invoices to the :guilabel:`Finance` workspace (e.g.,
|
||||
`inbox-financial@example.odoo.com`).
|
||||
|
||||
The default email aliases `vendor-bills@` and `customer-invoices@` followed by the
|
||||
:guilabel:`Alias Domain` you set are automatically created for the :guilabel:`Vendor Bills` and
|
||||
@@ -96,4 +97,4 @@ and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo
|
||||
|
||||
.. seealso::
|
||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_
|
||||
- :doc:`/applications/general/in_app_purchase`
|
||||
- :doc:`/applications/essentials/in_app_purchase`
|
||||
|
||||
@@ -216,9 +216,9 @@ Configuration --> Settings`. Ensure :guilabel:`Incoming Emails` is enabled.
|
||||
.. note::
|
||||
If the domain alias needs to be set up, :guilabel:`Setup your domain alias` will appear beneath
|
||||
the incoming emails check box instead of the email address field. Refer to this documentation for
|
||||
setup instructions and more information: :doc:`/administration/maintain/domain_names`. Once the
|
||||
domain alias is configured, the email address field will be visible beneath the incoming emails
|
||||
section.
|
||||
setup instructions and more information:
|
||||
:doc:`/applications/websites/website/configuration/domain_names`. Once the domain alias is
|
||||
configured, the email address field will be visible beneath the incoming emails section.
|
||||
|
||||
Next, enter the email address to be used in the email field, and then click :guilabel:`Save`. Now
|
||||
that the email address has been entered, emails can be sent to that alias to create new expenses
|
||||
@@ -391,8 +391,8 @@ To see who has rights to approve, go to the main :menuselection:`Settings` app a
|
||||
the *Settings* app.
|
||||
- :guilabel:`Settings`: The user has access to the entire *Settings* app with no restrictions.
|
||||
|
||||
Please refer to :doc:`this document </applications/general/users/manage_users>` to learn more
|
||||
about managing users and their access rights.
|
||||
Please refer to :doc:`this document </applications/general/users>` to learn more about managing
|
||||
users and their access rights.
|
||||
|
||||
Click on an individual to view their card, which displays the :guilabel:`Access Rights` tab in the
|
||||
default view. Scroll down to the :guilabel:`Human Resources` section. Under :guilabel:`Expenses`,
|
||||
|
||||
@@ -474,7 +474,7 @@ The Odoo POS system is certified for the major versions of databases hosted on *
|
||||
- Not certified
|
||||
|
||||
.. seealso::
|
||||
:doc:`/administration/maintain/supported_versions`
|
||||
:doc:`/administration/supported_versions`
|
||||
|
||||
A `certified POS system <https://www.systemedecaisseenregistreuse.be/systemes-certifies>`_ must
|
||||
adhere to rigorous government regulations, which means it operates differently from a non-certified
|
||||
@@ -575,7 +575,7 @@ provide the following information:
|
||||
- your company's name, address, and legal structure; and
|
||||
- the Mac address of your IoT Box.
|
||||
|
||||
Once your IoT box is certified, :doc:`connect <../../productivity/iot/config/connect>` it to your
|
||||
Once your IoT box is certified, :doc:`connect <../../general/iot/config/connect>` it to your
|
||||
database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the
|
||||
:guilabel:`IOT Device` section, which should display the FDM.
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ to automatically compute taxes by taking into account the company, contact (cust
|
||||
transaction information to retrieve the correct tax to be used and process the e-invoice afterward
|
||||
with the government.
|
||||
|
||||
Using this integration requires :doc:`In-App-Purchases (IAPs) <../../general/in_app_purchase>` to
|
||||
Using this integration requires :doc:`In-App-Purchases (IAPs) <../../essentials/in_app_purchase>` to
|
||||
compute the taxes and to send the electronic invoices. Whenever you compute taxes, an |API| call is
|
||||
made using credits from your |IAP| credits balance.
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ Proxy. Copy the token and save it in a safe place for later use.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo: Download Odoo <https://www.odoo.com/page/download>`_
|
||||
- :doc:`../../../administration/install`
|
||||
- :doc:`../../../administration/on_premise`
|
||||
|
||||
.. _egypt/e-invoicing-usb-configuration:
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ of conformity testifying that your software complies with the anti-fraud
|
||||
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
|
||||
`here <https://www.odoo.com/my/contract/french-certification/>`_.
|
||||
If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise
|
||||
</administration/maintain/enterprise>` or contact your Odoo service provider.
|
||||
</administration/on_premise/community_to_enterprise>` or contact your Odoo service provider.
|
||||
|
||||
In case of non-conformity, your company risks a fine of €7,500.
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ agreement. On the next page, select the :guilabel:`type of install: Odoo IoT`. T
|
||||
:guilabel:`Next` and :guilabel:`Install`. Once completed, click :guilabel:`Next`. Check the
|
||||
:guilabel:`Start Odoo` box to be redirected to Odoo automatically, and then click :guilabel:`Finish`.
|
||||
|
||||
A new page opens, confirming your :doc:`IoT Box <../../productivity/iot/config/connect>` is up and
|
||||
A new page opens, confirming your :doc:`IoT Box <../../general/iot/config/connect>` is up and
|
||||
running. Connect your physical device **Tremol G03 Control Unit (type C)** to your laptop via USB.
|
||||
In the :guilabel:`IoT Device` section, check that your Tremol G03 Control Unit (type C) appears,
|
||||
confirming the connection between the device and your computer.
|
||||
@@ -87,7 +87,7 @@ confirming the connection between the device and your computer.
|
||||
in the top right corner.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Connect an IoT box to your database <../../productivity/iot/config/connect>`
|
||||
:doc:`Connect an IoT box to your database <../../general/iot/config/connect>`
|
||||
|
||||
Sending the data to KRA using the Tremol G03 Control Unit
|
||||
---------------------------------------------------------
|
||||
|
||||
@@ -253,7 +253,7 @@ Products
|
||||
To configure products, go to :menuselection:`Accounting --> Customers --> Products`, then select a
|
||||
product to configure, or :guilabel:`Create` a new one. In the :guilabel:`Accounting` tab, and in the
|
||||
:guilabel:`UNSPSC Product Category` field, select the category that represents the product. The
|
||||
process can be done manually, or through :doc:`a bulk import <../../general/export_import_data>`.
|
||||
process can be done manually, or through :doc:`a bulk import <../../essentials/export_import_data>`.
|
||||
|
||||
.. note::
|
||||
All products need to have an |SAT| code associated with them in order to prevent validation
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
=============
|
||||
Miscellaneous
|
||||
=============
|
||||
================
|
||||
General settings
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
|
||||
general/users
|
||||
general/auth
|
||||
general/apps_modules
|
||||
general/export_import_data
|
||||
general/search
|
||||
general/reporting
|
||||
general/users
|
||||
general/companies
|
||||
general/iot
|
||||
general/email_communication
|
||||
general/voip
|
||||
general/geolocation
|
||||
general/digest_emails
|
||||
general/in_app_purchase
|
||||
general/integrations
|
||||
general/developer_mode
|
||||
|
||||
@@ -45,8 +45,7 @@ Upgrade apps and modules
|
||||
========================
|
||||
|
||||
On some occasions, new improvements or app features are added to :doc:`supported versions of Odoo
|
||||
</administration/maintain/supported_versions>`. To be able to use them, you must **upgrade** your
|
||||
app.
|
||||
</administration/supported_versions>`. To be able to use them, you must **upgrade** your app.
|
||||
|
||||
Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to upgrade, then on
|
||||
*Upgrade*.
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
==============
|
||||
Authentication
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
auth/google
|
||||
auth/azure
|
||||
auth/ldap
|
||||
auth/2fa
|
||||
@@ -1,3 +1,5 @@
|
||||
:show-content:
|
||||
|
||||
=========
|
||||
Companies
|
||||
=========
|
||||
@@ -52,7 +54,7 @@ company only. To do so, on their forms, choose between:
|
||||
Employees' access
|
||||
=================
|
||||
|
||||
Once companies are created, manage your employees' :doc:`Access Rights <access_rights>`
|
||||
Once companies are created, manage your employees' :doc:`Access Rights <users/access_rights>`
|
||||
for *Multi Companies*.
|
||||
|
||||
.. image:: companies/access_rights_multi_companies.png
|
||||
@@ -86,12 +88,12 @@ Inter-Company Transactions
|
||||
|
||||
First, make sure each one of your companies is properly set in relation to:
|
||||
|
||||
- :doc:`Chart of Accounts <../../finance/accounting/get_started/chart_of_accounts>`
|
||||
- :doc:`Taxes <../../finance/accounting/taxes>`
|
||||
- :doc:`Fiscal Positions <../../finance/accounting/taxes/fiscal_positions>`
|
||||
- :doc:`Journals <../../finance/accounting/bank>`
|
||||
- :doc:`Fiscal Localizations <../../finance/fiscal_localizations>`
|
||||
- :doc:`Pricelists <../../sales/sales/products_prices/prices/pricing>`
|
||||
- :doc:`Chart of Accounts <../finance/accounting/get_started/chart_of_accounts>`
|
||||
- :doc:`Taxes <../finance/accounting/taxes>`
|
||||
- :doc:`Fiscal Positions <../finance/accounting/taxes/fiscal_positions>`
|
||||
- :doc:`Journals <../finance/accounting/bank>`
|
||||
- :doc:`Fiscal Localizations <../finance/fiscal_localizations>`
|
||||
- :doc:`Pricelists <../sales/sales/products_prices/prices/pricing>`
|
||||
|
||||
Now, activate the *Inter-Company Transactions* option under *Settings*. With the respective company
|
||||
*activated* and *selected*, choose if you would like operations between companies to be synchronized
|
||||
@@ -131,4 +133,10 @@ at an invoice/bills level or at a sales/purchase orders level.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Multi-company Guidelines </developer/howtos/company>`
|
||||
- :doc:`../../finance/accounting/get_started/multi_currency`
|
||||
- :doc:`../finance/accounting/get_started/multi_currency`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
companies/digest_emails
|
||||
companies/email_template
|
||||
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
@@ -255,7 +255,7 @@ parameter used to generate all the links.
|
||||
This is a known limitation.
|
||||
|
||||
For more information about how to configure domains, check out the :doc:`domain name documentation
|
||||
</administration/maintain/domain_names>`.
|
||||
</applications/websites/website/configuration/domain_names>`.
|
||||
|
||||
Updating translations within email templates
|
||||
--------------------------------------------
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
@@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===================
|
||||
Email Communication
|
||||
Email communication
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
@@ -9,5 +9,7 @@ Email Communication
|
||||
|
||||
email_communication/email_servers
|
||||
email_communication/email_domain
|
||||
email_communication/email_template
|
||||
email_communication/azure_oauth
|
||||
email_communication/google_oauth
|
||||
email_communication/mailjet_api
|
||||
email_communication/faq
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
=======================================================
|
||||
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
|
||||
=======================================================
|
||||
|
||||
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
|
||||
secure emails from a custom domain, all that is required is to configure a few settings on the
|
||||
Azure platform and on the back end of the Odoo database. This configuration works with either a
|
||||
personal email address or an address created by a custom domain.
|
||||
|
||||
.. seealso::
|
||||
`Microsoft Learn: Register an application with the Microsoft identity platform
|
||||
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/users/azure`
|
||||
- :doc:`/applications/productivity/calendar/outlook`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
Create a new application
|
||||
------------------------
|
||||
|
||||
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
|
||||
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
|
||||
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
|
||||
will need to connect and perform the following configuration. Next, navigate to the section
|
||||
labeled :guilabel:`Manage Microsoft Entra ID` (formally *Azure Active Directory*).
|
||||
|
||||
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
|
||||
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
|
||||
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
|
||||
:guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant)
|
||||
and personal Microsoft accounts (e.g. Skype, Xbox)`.
|
||||
|
||||
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
|
||||
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
|
||||
is the canonical domain at which your Odoo instance can be reached in the URL field.
|
||||
|
||||
.. example::
|
||||
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
|
||||
assuming it's hosted on Odoo.com
|
||||
|
||||
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
|
||||
|
||||
API permissions
|
||||
---------------
|
||||
|
||||
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
|
||||
able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the
|
||||
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
|
||||
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
|
||||
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
|
||||
|
||||
In the search bar, search for the following :guilabel:`Delegated permissions` and click
|
||||
:guilabel:`Add permissions` for each one:
|
||||
|
||||
- :guilabel:`SMTP.Send`
|
||||
- :guilabel:`IMAP.AccessAsUser.All`
|
||||
|
||||
.. note::
|
||||
The :guilabel:`User.Read` permission will be added by default.
|
||||
|
||||
.. image:: azure_oauth/permissions.png
|
||||
:align: center
|
||||
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
|
||||
|
||||
Assign users and groups
|
||||
=======================
|
||||
|
||||
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
|
||||
:guilabel:`Application` in the top of the left sidebar menu.
|
||||
|
||||
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
|
||||
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
|
||||
right-hand side of the table.
|
||||
|
||||
.. image:: azure_oauth/managed-application.png
|
||||
:align: center
|
||||
:alt: Add users/groups by clicking the Managed application in local directory link for the
|
||||
created application.
|
||||
|
||||
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
|
||||
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
|
||||
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
|
||||
added.
|
||||
|
||||
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
|
||||
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
|
||||
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
|
||||
application.
|
||||
|
||||
Create credentials
|
||||
------------------
|
||||
|
||||
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
|
||||
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
|
||||
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
|
||||
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
|
||||
in the :guilabel:`Essentials` overview of the app.
|
||||
|
||||
.. image:: azure_oauth/application-id.png
|
||||
:align: center
|
||||
:alt: Application/Client ID located in the Overview of the app.
|
||||
|
||||
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
|
||||
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
|
||||
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
|
||||
|
||||
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
|
||||
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
|
||||
:guilabel:`expiration date`.
|
||||
|
||||
.. important::
|
||||
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
|
||||
expires. In this event, there could be an interruption of service, so the expiration date should
|
||||
be noted and set to the furthest possible date.
|
||||
|
||||
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
|
||||
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
|
||||
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
|
||||
The :guilabel:`Secret ID` is not needed.
|
||||
|
||||
.. image:: azure_oauth/secretvalue.png
|
||||
:align: center
|
||||
:alt: Client Secret Value or Value in the app's credentials.
|
||||
|
||||
After these steps, the following items should be ready to be set up in Odoo:
|
||||
|
||||
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
|
||||
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
|
||||
|
||||
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
|
||||
|
||||
Setup in Odoo
|
||||
=============
|
||||
|
||||
Enter Microsoft Outlook credentials
|
||||
-----------------------------------
|
||||
|
||||
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
|
||||
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
|
||||
called :guilabel:`Microsoft Outlook`.
|
||||
|
||||
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
|
||||
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
|
||||
a new option for :guilabel:`Outlook Credentials`.
|
||||
|
||||
:guilabel:`Save` the progress.
|
||||
|
||||
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
|
||||
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
|
||||
|
||||
.. image:: azure_oauth/outlookcreds.png
|
||||
:align: center
|
||||
:alt: Outlook Credentials in Odoo General Settings.
|
||||
|
||||
Configure outgoing email server
|
||||
-------------------------------
|
||||
|
||||
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
|
||||
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
|
||||
|
||||
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
|
||||
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
|
||||
|
||||
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
|
||||
<email_communication/default>`.
|
||||
|
||||
Then, click on :guilabel:`Connect your Outlook account`.
|
||||
|
||||
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
|
||||
appropriate email address that is being configured in Odoo.
|
||||
|
||||
.. image:: azure_oauth/verify-outlook.png
|
||||
:align: center
|
||||
:alt: Permission page to grant access between newly created app and Odoo.
|
||||
|
||||
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
|
||||
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
|
||||
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
|
||||
:guilabel:`Outlook Token Valid` appears in green.
|
||||
|
||||
.. image:: azure_oauth/outlook-token.png
|
||||
:align: center
|
||||
:alt: Valid Outlook Token indicator.
|
||||
|
||||
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
|
||||
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
|
||||
|
||||
.. _azure_oauth/notifications:
|
||||
|
||||
Configuration with a single outgoing mail server
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Configuring a single outgoing server is the simplest configuration available for Microsoft Azure
|
||||
and it doesn't require extensive access rights for the users in the database.
|
||||
|
||||
A generic email address would be used to send emails for all users within the database. For example
|
||||
it could be structured with a `notifications` alias (`notifications@example.com`) or `contact` alias
|
||||
(`contact@example.com`). This address must be set as the :guilabel:`FROM Filtering` on the server.
|
||||
This address must also match the `{mail.default.from}@{mail.catchall.domain}` key combination in the
|
||||
system parameters.
|
||||
|
||||
.. seealso::
|
||||
For more information on the from filter visit: :ref:`email_communication/default`.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`System Parameters` can be accessed by activating :ref:`developer-mode` in the
|
||||
:menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
|
||||
|
||||
When using this configuration, every email that is sent from the database will use the address of
|
||||
the configured `notification` mailbox. However it should be noted that the name of the sender will
|
||||
appear but their email address will change:
|
||||
|
||||
.. image:: azure_oauth/from-name-remain.png
|
||||
:align: center
|
||||
:alt: Name from real sender with static email.
|
||||
|
||||
.. example::
|
||||
Single outgoing mail server configuration:
|
||||
|
||||
- Outgoing mail server **username** (login) = `notifications@example.com`
|
||||
- Outgoing mail server :guilabel:`FROM Filtering` = `notifications@example.com`
|
||||
- `mail.catchall.domain` in system parameters = `example.com`
|
||||
- `mail.default.from` in system parameters = `notifications`
|
||||
|
||||
User-specific (multiple user) configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
In addition to a generic email server, individual email servers can be set up for users in a
|
||||
database. These email addresses must be set as the :guilabel:`FROM Filtering` on each individual
|
||||
server for this configuration to work.
|
||||
|
||||
This configuration is the more difficult of the two Microsoft Azure configurations, in that it
|
||||
requires all users configured with email servers to have access rights to settings in order to
|
||||
establish a connection to the email server.
|
||||
|
||||
Setup
|
||||
*****
|
||||
|
||||
Each user should have a separate email server set up. The :guilabel:`FROM Filtering` should be set
|
||||
so that only the user's email is sent from that server. In other words, only a user with an email
|
||||
address that matches the set :guilabel:`FROM Filtering` is able to use this server.
|
||||
|
||||
.. seealso::
|
||||
For more information on the from filter visit: :ref:`email_communication/default`.
|
||||
|
||||
A :ref:`fallback server <azure_oauth/notifications>` must be setup to allow for the sending of
|
||||
:guilabel:`notifications`. The :guilabel:`FROM Filtering` for this server should have the value of
|
||||
the `{mail.default.from}@{mail.catchall.domain}`.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`System Parameters` can be accessed by activating :ref:`developer-mode` in the
|
||||
:menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
|
||||
|
||||
.. important::
|
||||
The configuration for this transactional email server can work alongside an outgoing mass-mailing
|
||||
email server. The :guilabel:`FROM Filtering` for the mass-mailing email server can remain empty,
|
||||
but it's require to be added in the settings of the *Email Marketing* application.
|
||||
|
||||
.. seealso::
|
||||
For more information on setting the mass-mailing email server visit
|
||||
:ref:`email_communication/mass_mails`.
|
||||
|
||||
.. example::
|
||||
Multiple user outgoing mail server configuration:
|
||||
|
||||
- User #1 mailbox
|
||||
- Outgoing mail server #1 **username** (login) = `john@example.com`
|
||||
- Outgoing mail server #1 :guilabel:`FROM Filtering` = `john@example.com`
|
||||
- User #2 mailbox
|
||||
- Outgoing mail server #2 **username** (login) = `jane@example.com`
|
||||
- Outgoing mail server #2 :guilabel:`FROM Filtering` = `jane@example.com`
|
||||
- Notifications mailbox
|
||||
- Outgoing mail server #3 **username** (login) = `notifications@example.com`
|
||||
- Outgoing mail server #3 :guilabel:`FROM Filtering` = `notifications@example.com`
|
||||
- System Parameters
|
||||
- `mail.catchall.domain` in system parameters = `example.com`
|
||||
- `mail.default.from` in system parameters = `notifications`
|
||||
|
||||
Configure incoming email server
|
||||
-------------------------------
|
||||
|
||||
The incoming account should be configured in a similar way to the outgoing email account. Navigate
|
||||
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
|
||||
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
|
||||
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
|
||||
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
|
||||
account. The account should be ready to receive email to the Odoo database.
|
||||
|
||||
.. seealso::
|
||||
:doc:`email_servers`
|
||||
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 38 KiB |