msgid "You can :ref:`install <general/install>`, :ref:`upgrade <general/upgrade>` and :ref:`uninstall <general/uninstall>` all apps and modules from the :menuselection:`Apps` dashboard."
msgid "Odoo is *not a smartphone*, and its apps shouldn't be installed or uninstalled carelessly. Apply caution when adding or removing apps and modules on your database since this may impact your subscription costs."
msgid "Installing some apps and features with dependencies may also install additional apps and modules that are technically required, even if you won't actively use them."
msgid "On some occasions, new improvements or app features are added to :doc:`supported versions of Odoo </administration/supported_versions>`. To be able to use them, you must **upgrade** your app."
msgid "Some apps have dependencies, meaning that one app requires another. Therefore, uninstalling one app may uninstall multiple apps and modules. Odoo warns you which dependent apps and modules are affected by it."
msgid "A centralized management environment allows an administrator to select multiple companies simultaneously, and set their specific warehouses, customers, equipment, and contacts. It provides the ability to generate reports of aggregated figures without switching interfaces, which facilitates daily tasks, and enhances the overall management process."
msgid "Utilizing a multi-company environment in an Odoo database warrants a subscription change from *Standard* (or *One App Free*) to a *Custom* plan. Should the administrator not migrate the subscription to a *Custom* plan after adding another company, the database risks being deactivated. For more information, consult the `Odoo Pricing page <https://www.odoo.com/pricing-plan>`_."
msgid "If they are on a *Yearly* or *Multi-year* contract, this creates an upsell order, with a 30-day limit (risking deactivation). If multi-company functionality is fully removed within that time period, the next time the database pings, the upsell order and limit are removed automatically."
msgid "If the customer is on a *Monthly* contract, once the next bill is created, and multi-company functionality is still detected while they are on a *Standard* plan, they are automatically switched, and billed on the *Custom* plan."
msgid "To create a new company, navigate to :menuselection:`Settings app --> Companies section`, and click :guilabel:`Manage Companies`. Then, click :guilabel:`New` to create a new company."
msgid "To archive a company, navigate to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then, tick the checkbox to the left of the company to be archived. If the :guilabel:`Companies` page is not in list view, click the :guilabel:`≣ (four bars)` icon, located in the top-right corner of the page."
msgid "After selecting the appropriate company, click the :guilabel:`⚙️ Actions` icon, and select :guilabel:`Archive` from the resulting drop-down menu."
msgid "Go to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then, either click :guilabel:`New`, and fill in the form with the company's information, or select a pre-existing company to edit it."
msgid "Activate the :ref:`developer mode <developer-mode>` to set social media accounts and company-specific email parameters. See this documentation on :doc:`../marketing/social_marketing` and :doc:`email_communication`."
msgid "Switch between (or select) multiple companies, by clicking on the company name, located in the far-right corner of the header menu, anywhere throughout the database. Tick the checkboxes next to the desired company name(s) to activate them. The highlighted company represents the current environment that is in use. To switch environments, click on the desired company name."
msgid "In the example below, the user has access to eight companies, two are activated, and the environment the database is in belongs to: *My Company (San Francisco)*."
msgid "Data (such as, products, contacts, and equipment) can be shared, or set to be shown for a specific company only. To do so, on their forms, choose between:"
msgid "Branches are available to add to a company. Branches can be added by navigating to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then, select the desired company from the list. From the company detail form, open the :guilabel:`Branches` tab. To add a branch, click :guilabel:`Add a line`, and fill out the :guilabel:`Create Branches` pop-up form that appears."
msgid "Activate the :ref:`developer mode <developer-mode>` to set social media accounts and company-specific email system parameters. See this documentation on :doc:`../marketing/social_marketing` and :doc:`email_communication`."
msgid "Branches also have a :guilabel:`Parent Company` set on the branch form in :ref:`developer mode <developer-mode>`. Accounting and fiscal localizations for the branch are set on the :guilabel:`Parent Company`. To do so, select the company from the *company selector* in the top menu, and go to :menuselection:`Settings app --> Accounting --> Fiscal Localization`."
msgid "If the database is on the standard *Paid* pricing plan, adding a branch to a company triggers an upsell. Since adding one or more branches turns the database into a multi-company setup, it will need to switch to the *Custom* pricing plan. This does not affect databases on the *One-app free* plan."
msgid "From the :guilabel:`Users` page, select a user from the list to modify. Then, either change the fields for :guilabel:`Allowed Companies` or :guilabel:`Default Company`."
msgid "If an administrator has multiple companies activated on the database, and is editing a record, the editing occurs on the record's related company."
msgid "If editing a sale order issued under `JS Store US`, while working on the `JS Store Belgium` environment, the changes are applied under `JS Store US` (the company from which the sale order was issued)."
msgid "To set document formats according to each company, *activate* and *select* the respective company, and, under the :menuselection:`Settings app --> Companies section`, click on :guilabel:`Configure Document Layout` and edit the information as needed."
msgid ":guilabel:`Company Details` can be edited on the document layout. By default, this field is populated from the company information listed, when navigating here: :menuselection:`Settings app --> Companies section --> Manage Companies`, and select a company from the list."
msgid "Next, navigate to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then, select the desired company from the list. On the company form, select the :guilabel:`Inter-Company Transactions` tab, on the individual company's detail form."
msgid ":guilabel:`Synchronize Sales Order`: generates a drafted sales order using the selected company warehouse, when a sales order is confirmed for the selected company. If, instead of a drafted sales order, it should be validated, enable :guilabel:`Automatic Validation`.\\*"
msgid ":guilabel:`Synchronize Purchase Order`: generates a drafted purchase order using the selected company warehouse, when a purchase order is confirmed for the selected company. If, instead of a drafted purchase order, it should be validated, enable :guilabel:`Automatic Validation`.\\*"
msgid ":guilabel:`Synchronize Sales and Purchase Order`: generates a drafted purchase/sales order using the selected company warehouse, when a sales/purchase order is confirmed for the selected company. If, instead of a drafted purchase/sales order, it should be validated, enable :guilabel:`Automatic Validation`.\\*"
msgid "Products **must** be configured as :guilabel:`Can be sold` and shared between the companies. See :doc:`../inventory_and_mrp/inventory/product_management/configure/type`."
msgid ":guilabel:`Synchronize invoice/bills`: an invoice posted on `JS Store Belgium`, for `JS Store US`, automatically creates a vendor bill, and generates a drafted purchase/sales order using the selected company warehouse, when a sales/purchase order is confirmed for the selected company. If, instead of a drafted purchase/sales order, it should be validated, enable :guilabel:`Automatic Validation`."
msgid ":guilabel:`Synchronize sales/purchase order`: when a sale order for `JS Store US` is confirmed on `JS Store Belgium`, a purchase order on `JS Store Belgium` is automatically created (and confirmed, if the :guilabel:`Automatic Validation` feature was enabled)."
msgid "*Digest Emails* are periodic snapshots sent via email to users in an organization that include high-level information about how the business is performing."
msgid "To start sending digest emails, begin by navigating to :menuselection:`Settings app --> Statistics section`, activate the :guilabel:`Digest Emails` feature, and click :guilabel:`Save`."
msgid "By default, the :guilabel:`Digest Email` feature is enabled. :guilabel:`Your Odoo Periodic Digest` serves as the primary template, which includes all :abbr:`KPI (key performance indicator)` measurements across the Odoo database, and is sent daily to administrators."
msgid "When creating duplicates of databases that have sending capabilities (not testing-mode), the digest emails continue to send from the duplicate database, unless deactivated."
msgid "To deactivate the digest email, navigate to :menuselection:`Settings --> Statistics section`. Then, deactivate the :guilabel:`Digest Emails` feature, by un-ticking the checkbox, and clicking :guilabel:`Save`. See the section on :ref:`digest-emails/deactivate`."
msgid "To customize the default digest email (*Your Odoo Periodic Digest*), go to :menuselection:`Settings app --> Statistics section --> Digest Email field`. Then, select :guilabel:`Your Odoo Periodic Digest`, and click on the :guilabel:`↗️ (External link)` icon, next to the drop-down menu selection."
msgid ":guilabel:`Periodicity`: control how often digest emails are sent (:guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Monthly`, or :guilabel:`Quarterly`)."
msgid ":guilabel:`KPIs` tab: check/uncheck each calculated :abbr:`KPI (key performance indicator)` that appears in digest emails. A ticked box indicates an active :abbr:`KPI (key performance indicator)` in the digest email. See the section on :ref:`digest-emails/kpis`."
msgid "The :abbr:`KPIs (key performance indicators)` can be customized using Odoo *Studio*. Additional costs to the database subscription are incurred should *Studio* need to be installed. See this section on :ref:`digest-emails/custom-kpi`."
msgid "To manually deactivate an individual digest email, first navigate to :menuselection:`Settings app --> Statistics section`, and click :guilabel:`Configure Digest Emails`. Then, select the desired digest email from the list that should be deactivated."
msgid "Next, click :guilabel:`DEACTIVATE FOR EVERYONE` to deactivate the digest email for everyone, or :guilabel:`UNSUBSCRIBE ME` to remove the logged in user from the mailing list. These buttons are located in the top menu, just above the :guilabel:`Digest Name`."
msgid "To manually send a digest email, first navigate to :menuselection:`Settings app --> Statistics section`, and click :guilabel:`Configure Digest Emails`. Then, select the desired digest email, and click :guilabel:`SEND NOW`. This button is located in the top menu, just above the :guilabel:`Digest Name`."
msgid "Pre-configured :abbr:`KPIs (key performance indicators)` can be added to the digest email from the :guilabel:`KPIs` tab of the digest email template form."
msgid "To add a :abbr:`KPI (key performance indicator)` to the digest email, tick the checkbox next to the desired :abbr:`KPI (key performance indicator)`. After all :abbr:`KPIs (key performance indicators)` are added (or deselected), click :guilabel:`Save`."
msgid "The following :abbr:`KPIs (key performance indicators)` are available in the :guilabel:`KPIs` tab on a digest email template form out-of-box in Odoo:"
msgid "To add a recipient, navigate to :menuselection:`Settings app --> Statistics section`, and click :guilabel:`Configure Digest Emails`. Then, select the desired digest email, and open the :guilabel:`Recipients` tab."
msgid "To add a recipient, click :guilabel:`Add a line`, and an :guilabel:`Add Recipients` pop-up window appears, with all available users to add as recipients."
msgid "To create a new digest email, navigate to :menuselection:`Settings app --> Statistics section`, and click :guilabel:`Configure Digest Emails`. Then, click :guilabel:`Create` to create a new digest email."
msgid "From there, give the digest email a :guilabel:`Digest Name`, specify :guilabel:`Periodicity`, choose the desired :abbr:`KPIs (key performance indicators)`, and add :guilabel:`Recipients`, as needed."
msgid "After clicking :guilabel:`Save`, the new custom digest email is available as a selection in the :guilabel:`Digest Email` field, located in the :menuselection:`Settings app --> Statistics section`."
msgid "The :abbr:`KPIs (key performance indicators)` on a digest email template form, in the :guilabel:`KPIs` tab, can be customized using Odoo *Studio*."
msgid "Here is the `source code <https://github.com/odoo/odoo/blob/15.0/addons/digest/models/digest.py>`_ for the `digest.py` file, which guides the programmer in the coding of the computed field."
msgid "Users can also click the :guilabel:`Recipients` tab, and then the vertical three-dot :guilabel:`(kebab)` menu to edit this view. Either click :guilabel:`EDIT LIST VIEW` or :guilabel:`EDIT FORM VIEW` to modify this tab."
msgid "Email templates are saved emails that are used repeatedly to send emails from the database. They allow users to send quality communications, without having to compose the same text repeatedly."
msgid "Creating different templates that are tailored to specific situations lets users choose the right message for the right audience. This increases the quality of the message and the overall engagement rate with the customer."
msgid "Email templates in Odoo use QWeb or XML, which allows for editing emails in their final rendering, making customizations more robust, without having to edit any code whatsoever. This means that Odoo can use a Graphical User Interface (GUI) to edit emails, which edits the backend code. When the received email is read by the end user's program, different formatting and graphics will appear in the final form of it."
msgid "The *powerbox* feature can be used when working with email templates. This feature provides the ability to directly edit the formatting and text in an email template, as well as the ability to add links, buttons, appointment options, or images."
msgid "Additionally, the XML/HTML code of the email template can be edited directly, via the :guilabel:`</>` icon. Dynamic placeholders (referencing fields within Odoo) are also available for use in the email template."
msgid "The *powerbox* feature is an enriched text editor with various formatting, layout, and text options. It can also be used to add XML/HTML features in an email template. The powerbox feature is activated by typing a forward slash `/` in the body of the email template."
msgid "To use any of these options, click on the desired feature from the powerbox drop-down menu. To format existing text with a text-related option (e.g. :guilabel:`Heading 1`, :guilabel:`Switch direction`, etc.), highlight the text, then type in the activator key (forward slash) `/`, and select the desired option from the drop-down menu."
msgid "To access the XML/HTML editor for an email template, first enter :ref:`developer mode <developer-mode>`. Then, click the :guilabel:`</>` icon in the upper-right corner of the template, and proceed to edit the XML/HTML. To return to the standard text editor, click the :guilabel:`</>` icon again."
msgid "The XML/HTML editor should be accessed with caution as this is the backend code of the template. Editing the code can cause the email template to break immediately or when upgrading the database."
msgid "Many companies like to customize their emails with a personalized piece of customer information to grab attention. This can be accomplished in Odoo by referencing a field within a model by inserting a dynamic placeholder. For example, a customer's name can be referenced in the email from the :guilabel:`Customer` field on the :guilabel:`Sales Order` model. The dynamic placeholder for this field is: `{{ object.partner_id }}`."
msgid "Dynamic placeholders are encoded to display fields from within the database. Dynamic placeholders can be used in the :guilabel:`Body` (:guilabel:`Content` Tab) of the email template. They can also be used in the fields present in the :guilabel:`Email Configuration` tab, the :guilabel:`Subject` of the email, and the :guilabel:`Language`."
msgid "To use the dynamic placeholders in the :guilabel:`Body` of an email open the **powerbox** feature by typing in `/` into the body of the email template under the :guilabel:`Content` tab. Scroll to the bottom of the options list, to :guilabel:`Marketing Tools`. Next, select :guilabel:`Dynamic Placeholder`. Then select the dynamic placeholder from a list of available options and follow the prompts to configure it with the desired corresponding Odoo field. Each dynamic placeholder will vary in configuration."
msgid "Each unique combination of :guilabel:`Fields`, :guilabel:`Sub-models` and :guilabel:`Sub-fields` creates a different dynamic placeholder. Imagine it as a combination to the field that is being created."
msgid "To search the available fields, simply type in the front-end name (on user-interface) of the field in the search. This will find a result from all of the available fields for the model that the email template is created for."
msgid "A rich text editor toolbar can be accessed by highlighting text in the email template. This can be used to change the heading, font size/style, color, add a list type, or a link."
msgid "Should the email template not work because the code has been altered it can be reset to restore it back to the out-of-box default template. Simply click on the :guilabel:`Reset Template` button in the upper left-hand of the screen and the template will be reset."
msgid "Under the :guilabel:`Email Configuration` tab on an email template, there is a :guilabel:`Reply To` field. In this field, add email addresses to which replies are redirected when sending emails en masse using this template."
msgid "The :guilabel:`Reply To` field is **only** used for mass mailing (sending emails in bulk). Bulk emails can be sent in almost every Odoo application that has a list view option."
msgid "To send mass mails, while in :guilabel:`list` view, check the boxes next to the desired records where the emails are to be sent, click the :guilabel:`Action` button (represented by a :guilabel:`⚙️ (gear)` icon), and select the desired email option from the :guilabel:`Action` drop-down menu. Email options can vary by the particular list view and application."
msgid "If it is possible to send an email, a mail composer pop-up window appears, with values that can be defined and customized. This option will be available on the :guilabel:`Action` button on pages where emails can be sent in bulk---for example, on the :guilabel:`Customers` page of the CRM app. This action occurs throughout the Odoo database."
msgid "In Odoo, multiple events can trigger the sending of automated emails. These emails are known as *transactional emails*, and sometimes contain links redirecting to the Odoo database."
msgid "By default, links generated by the database use the dynamic `web.base.url` key defined in the system parameters. For more information about this, see :ref:`system parameters <domain-name/web-base-url>`."
msgid "The `web.base.url` key can only have a single value, meaning that, in a multi-website or multi-company database environment, even if there is a specific domain name for each website, the links generated to share a document (or the links within a transactional email) may remain the same, regardless of which website/company is related to the sending of the email/document."
msgid "If the :guilabel:`Value` of the :guilabel:`web.base.url` system parameter is equal to `https://www.mycompany.com` and there are two separate companies in Odoo with different website URLs: `https://www.mycompany2.com` and `https://www.mycompany1.com`, the links created by Odoo to share a document, or send a transactional email, come from the domain: `https://www.mycompany.com`, regardless of which company sends the document or email."
msgid "This is not always the case, as some Odoo applications (*eCommerce*, for example) have a link established in the database with the *Website* application. In that case, if a specific domain is defined for the website, the URL generated in the email template uses the domain defined on the corresponding website of the company."
msgid "When a customer makes a purchase on an Odoo *eCommerce* website, the order has an established link with that website. As a result, the links in the confirmation email sent to the customer use the domain name for that specific website."
msgid "A document shared using the *Documents* application will **always** use the `web.base.url` key, as the document shared is not associated with any particular website. This means that the URL will always be the same (the `web.base.url` key value), no matter what company it's shared from. This is a known limitation."
msgid "For more information about how to configure domains, check out the :doc:`domain name documentation </applications/websites/website/configuration/domain_names>`."
msgid "In Odoo, email templates are automatically translated for all users in the database for all of the languages installed. Changing the translations shouldn't be necessary. However, if for a specific reason, some of the translations need to be changed, it can be done."
msgid "Like any modification in the code, if translation changes are not done correctly (for example, modifications leading to bad syntax), it can break the template, and as a result, the template will appear blank."
msgid "In order to edit translations, first enter :ref:`developer mode <developer-mode>`. Then, on the email template, click on the :guilabel:`Edit` button, and then click on the language button, represented by the initials of the language currently being used (e.g. :guilabel:`EN` for English)."
msgid "If there aren't multiple languages installed and activated in the database, or if the user does not have administration access rights, the language button will not appear."
msgid "A pop-up window with the different languages installed on the database appears. From this pop-up, editing of translations is possible. When the desired changes have been made, click the :guilabel:`Save` button to save the changes."
msgid "Proceed with caution, as some developer tools and technical settings are considered advanced and may have associated risks. Only use them if you understand the implications and are confident in your actions."
msgid "The developer mode is also available with :ref:`assets <frontend/framework/assets_debug_mode>`, which are used to debug JavaScript code, and with :ref:`tests assets <frontend/framework/tests_debug_mode>`, which are used to run test tours."
msgid "To activate it, open the :guilabel:`Settings` app, scroll down to the :guilabel:`Developer Tools` section, and click :guilabel:`Activate the developer mode`."
msgid "To activate the developer mode **from anywhere in the database**, add `?debug=1` at the end of the URL (e.g., `https://example.odoo.com/odoo?debug=1`). To deactivate it, use `?debug=0` instead."
msgid "Open the **command palette** by pressing `Ctrl + K` or `Cmd ⌘ + K`, then type `debug` to activate the developer mode with assets or deactivate it."
msgid "The `Odoo Debug <https://github.com/Droggol/OdooDebug>`_ browser extension adds an icon to toggle developer mode on or off from the browser's toolbar. It is available on the `Chrome Web Store <https://chromewebstore.google.com/detail/odoo-debug/hmdmhilocobgohohpdpolmibjklfgkbi>`_ and `Firefox Add-ons <https://addons.mozilla.org/firefox/addon/odoo-debug/>`_."
msgid "Once the developer mode is activated, the developer tools can be accessed by clicking the :icon:`fa-bug` :guilabel:`(bug)` icon. The menu contains tools useful for understanding or editing technical data, such as a view's field, filters, or actions. The options available depend on where the menu is accessed from."
msgid "Database administrators can access the technical menu from the :guilabel:`Settings` app. It contains advanced database settings, such as ones related to the database structure, security, actions, etc."
msgid "Communication in Odoo related to records such as CRM opportunities, sales orders, invoices, ... have a discussion thread called **chatter**, often displayed on the right side of the record."
msgid "On the chatter, you can send direct emails or Odoo notifications to the followers of a document (depending on their notification preferences), log internal notes, send WhatsApp messages or SMSes, and schedule activities."
msgid "If a follower replies to a message, the reply updates the chatter, and Odoo relays it to the followers as a notification. All emails - outgoing and incoming - appear in the same chatter."
msgid "On Odoo Online and Odoo.sh, outgoing and incoming emails work out of the box, **nothing needs to be done**. Everything is already configured on your subdomain."
msgid "By default, outgoing emails use the following :ref:`notification email address <email-outbound-notifications>` `notifications@company-name.odoo.com`."
msgid "If you prefer not to have outgoing emails sent from Odoo's subdomain `@company-name.odoo.com` but instead :ref:`from your own domain <email-outbound-custom-domain>`, **additional configuration will be necessary** on the domain and within Odoo. This introduces an extra layer of complexity and necessitates technical knowledge (mainly regarding DNS and mail protocols)."
msgid "By adding a domain and configuring the administration access rights, you can also access the :ref:`new domain alias <email-outbound-alias-domain>` page to configure the alias of your companies. If only one domain is configured, this domain will be shared by all companies on the database."
msgid "If :ref:`you want to use your own mail server <email-outbound-custom-domain-smtp-server>`, you will have to follow the mail server provider's specific documentation."
msgid "For incoming emails, after adding your own domain, :ref:`replies from customers will come back to your domain <email-inbound-custom-domain>`, and you will need to use one of the three possible ways to get the emails back into Odoo (using either :ref:`incoming mail server <email-inbound-custom-domain-incoming-server>`, :ref:`redirection/forwarding <email-inbound-custom-domain-redirections>` or :ref:`DNS MX record <email-inbound-custom-domain-mx>`). Everything is covered in the :doc:`Manage inbound messages documentation <email_communication/email_servers_inbound>`."
msgid "For incoming emails, set the frequency at which you fetch new emails low enough for responsiveness but high enough in order not to stress your system or provider. Due to this reason and the simplicity of this configuration, we usually advise on using incoming mail servers. To use an SMTP server, check out the :ref:`\"Use a custom domain for inbound messages\" documentation <email-inbound-custom-domain>`."
msgid "Odoo's documentation also covers several popular mail servers. As they require specific authorizations and configuration, they add a layer of complexity. For this reason, using Odoo's outgoing mail server is recommended."
msgid "Every provider has its own limitations. Research the desired provider *before* configuring it. For example, Outlook and Gmail might not be suitable for large marketing campaigns."
msgid ":ref:`Technical start of Odoo database with an outgoing mail server configured from the command-line interface <reference/cmdline/server/emails>`"
msgid "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."
msgid "`Microsoft Learn: Register an application with the Microsoft identity platform <https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_"
msgid "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*)."
msgid "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)`."
msgid "Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input `https://<web base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The `web.base.url` is subject to change depending on the URL used to log in to the database."
msgid "The documentation about the :ref:`web.base.url <domain-name/web-base-url>` explains how to freeze a unique URL. It is also possible to add different redirect URLs on the Microsoft app."
msgid "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."
msgid "After adding the API permissions, navigate back to the :guilabel:`Overview` of the :guilabel:`Application` in the top of the left sidebar menu."
msgid "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."
msgid "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."
msgid "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."
msgid "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."
msgid "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."
msgid "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`."
msgid "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."
msgid "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."
msgid "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`."
msgid "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`."
msgid "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."
msgid "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."
msgid "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`."
msgid "A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the appropriate email address that is being configured in Odoo."
msgid "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."
msgid "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."
msgid "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."
msgid "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."
msgid "The :guilabel:`System Parameters` can be accessed by activating :ref:`developer-mode` in the :menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu."
msgid "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:"
msgid "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."
msgid "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."
msgid "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."
msgid "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}`."
msgid "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."
msgid "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."
msgid "This documentation presents three complementary authentication protocols (SPF, DKIM, and DMARC) used to prove the legitimacy of an email sender. Not complying with these protocols will greatly reduce chances of your emails to reach their destination."
msgid "**Odoo Online** and **Odoo.sh** databases using the **default Odoo subdomain address** (e.g., `\\@company-name.odoo.com`) are pre-configured to **send authenticated emails** compliant with the SPF, DKIM, and DMARC protocols."
msgid "If choosing to use a **custom domain** instead, **configuring SPF and DKIM records correctly is essential** to prevent emails from being quarantined as spam or not being delivered to recipients."
msgid "If using :ref:`the default Odoo email server to send emails from a custom domain <email-outbound-custom-domain-odoo-server>`, the SPF and DKIM records must be configured as presented below. If using an outgoing email server, it is required to use the SPF and DKIM records specific to that email service and a custom domain."
msgid "Email service providers apply different rules to incoming emails. An email may be classified as spam even if it passes the SPF and DKIM checks."
msgid "The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which servers are allowed to send emails 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 sender's :abbr:`SPF (Sender Policy Framework)` record."
msgid "In Odoo, the **SPF test is performed on the bounce address** defined under the :guilabel:`Alias Domain` field found under the database's :guilabel:`General Settings`. If using a custom domain as :guilabel:`Alias Domain`, it is necessary to configure it to be SPF-compliant."
msgid "The SPF policy of a domain is set using a TXT record. The way to create or modify this record depends on the provider hosting the :abbr:`DNS (Domain Name System)` zone of the domain name."
msgid "If the domain name **already has an SPF record, the record must be updated**. Do not create a new one, as a domain must have only one SPF record."
msgid "If the TXT record is `v=spf1 include:_spf.google.com ~all`, edit it to add `include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all`"
msgid "Check the SPF record using a tool like `MXToolbox SPF Record Check <https://mxtoolbox.com/spf.aspx>`_. The process to create or modify an SPF record depends on the provider hosting the DNS zone of the domain name. The :ref:`most common providers <email-domain-providers-documentation>` and their documentation are listed below."
msgid "When sending an email, the Odoo email server includes a unique :abbr:`DKIM (DomainKeys Identified Mail)` signature in the headers. The recipient's server decrypts this signature using the DKIM record in the database's domain name. If the signature and the key contained in the record match, it proves the message is authentic and has not been altered during transport."
msgid "If the domain name is `company-name.com`, make sure to create a subdomain `odoo._domainkey.company-name.com` whose canonical name is `odoo._domainkey.odoo.com.`."
msgid "The way to create or modify a CNAME record depends on the provider hosting the DNS zone of the domain name. The :ref:`most common providers <email-domain-providers-documentation>` and their documentation are listed below."
msgid "Check if the DKIM record is valid using a tool like `MXToolbox DKIM Record Lookup <https://mxtoolbox.com/dkim.aspx>`_. Enter `example.com:odoo` in the DKIM lookup tool, specifying that the selector being tested is `odoo` for the custom domain `example.com`."
msgid "The :abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)` record is a protocol that unifies :abbr:`SPF (Sender Policy Framework)` and :abbr:`DKIM (DomainKeys Identified Mail)`. The instructions contained in the DMARC record of a domain name tell the destination server what to do with an incoming email that fails the SPF and/or DKIM check."
msgid "The aim of this documentation is to help **understand the impact DMARC has on the deliverability of emails**, rather than give precise instructions for creating a DMARC record. Refer to a resource like `DMARC.org <https://dmarc.org/>`_ to set the DMARC record."
msgid "**For the DMARC to pass, the DKIM or SPF check needs to pass** and the domains must be in alignment. If the hosting type is Odoo Online, DKIM configuration on the sending domain is required to pass the DMARC."
msgid "Passing DMARC generally means that the email will be successfully delivered. However, it's important to note that **other factors like spam filters can still reject or quarantine a message**."
msgid ":literal:`_dmarc IN TXT “v=DMARC1; p=none; rua=mailto:postmaster@example.com”` means that aggregate DMARC reports will be sent to `postmaster\\@example.com`."
msgid "`Squarespace DNS records <https://support.squarespace.com/hc/en-us/articles/360002101888-Adding-custom-DNS-records-to-your-Squarespace-managed-domain>`_"
msgid "To fully test the configuration, use the `Mail-Tester <https://www.mail-tester.com/>`_ tool, which gives a full overview of the content and configuration in one sent email. Mail-Tester can also be used to configure records for other, lesser-known providers."
msgid "An inbound message is an email delivered to an Odoo database. Anyone can send an email to an email alias created in the database or reply to an email that was previously sent from the database based on the *reply-to* header."
msgid "In the example displayed above, sending an email to `info@company-name.odoo.com` will create a new opportunity or a new lead automatically assigned to the corresponding sales team. If an email is sent from the chatter of an existing opportunity, the *reply-to* will be `info@company-name.odoo.com`. The reply will be posted in the right chatter, according to the *message-id* header."
msgid "If an application does not have an alias, a generic fallback alias is used: the catchall. An email sent from a chatter has a reply address set to this catchall alias. A reply sent to the catchall is posted to the right chatter thanks to the *message-id* header."
msgid "By default, the local-part *catchall* will be used. Enable :ref:`developer-mode` and go to :menuselection:`Settings --> Technical --> Emails: Alias Domains` to access the configuration."
msgid "An email to the catchall always needs to be a reply to a previous email sent from the database. If an email is sent directly to the catchall, the sender will receive the following message:"
msgid "The email address `info@company-name.com` displayed in the screenshot above is the email address set on the company. Upon entering the developer mode on a company profile, additional configuration options (such as catchall and bounce) become readable. It can be modified by clicking on the internal link of the Email Domain. It is generally not recommended to modify these options unless specific needs dictate, as it will affect all replies to previously sent emails."
msgid "An alias can be configured on a sales team in the CRM app. When a customer replies to an email coming from the CRM app, the *reply-to* is `info@company-name.odoo.com`."
msgid "When an email is sent from the Contact app, the reply address is `catchall@company-name.odoo.com` because there is no alias on the contact model."
msgid "It is advised to keep the local-part of the catchall and the bounce unchanged. If this value is modified, previous emails sent from the database will still have the previous local-part values. This could lead to replies not being correctly received in the database."
msgid "In the same way the catchall alias is used to build the reply address, the bounce alias is used to build the *return-path* of the email. The *return-path* is used when emails cannot be delivered to the recipient and an error is returned to the sender."
msgid "By default the name *bounce* will be used. Enable :ref:`developer-mode` and go to :menuselection:`Settings --> Technical --> Emails: Alias Domains` to access the configuration."
msgid "On Odoo Online, when using the default outgoing email server, the return-path address is forced to the value `bounce@company-name.odoo.com` independently of the value set as bounce alias."
msgid "When an error occurs, a notification is received and displayed in a red envelope in the chatter. In some cases, the red envelope can just contain a `no error` message, meaning there is an error that could not be handled by Odoo."
msgid "If the email address of the recipient is incorrect, by clicking on the red envelope in the chatter an error message containing the reason for the failure will be given."
msgid "On **Odoo Online** and **Odoo.sh**, the email alias, reply, and bounce addresses are pre-configured. These addresses use the alias domain automatically added to a standard database."
msgid "Assuming the database URL is `https://mydatabase.odoo.com`, the alias domain `mydatabase.odoo.com` is automatically created. Catchall and bounce can be used and their address is respectively `catchall@mydatabase.odoo.com`, and `bounce@mydatabase.odoo.com`."
msgid "If the CRM app is installed, and a sales team with the alias `info` is created, the `info@mydatabase.odoo.com` address can be used immediately. The same goes for any other alias created in other applications."
msgid "On **Odoo.sh**, it is possible to use several Odoo subdomains. In the settings of the branch, additional Odoo subdomains can be added as long as they are not used yet in another branch. These domains must then be added to the alias domains to be used by a company."
msgid "The :ref:`alias domain <email-outbound-alias-domain>` must be selected in the general settings. If you have multiple companies, each one must be configured."
msgid "All the aliases will use this custom domain. Replies on models for which an alias is configured are done to `[alias]@my-custom-domain.com`. Replies to other models are sent to the catchall through `catchall@my-custom-domain.com`."
msgid "If emails are sent using Odoo's email servers while using a custom domain, follow the :ref:`\"Using a custom domain with Odoo’s email server\" instructions <email-outbound-custom-domain-odoo-server>`."
msgid "Since this custom domain is used, all emails using an alias (replies, bounces and direct sends) are sent to an address of the domain. They are thus delivered to the email server linked to the domain (MX record). To display them in the chatter or to create new records, it is necessary to retrieve these incoming emails in the Odoo database."
msgid "For **on-premise databases**, the redirection and the MX record methods also require configuring the :doc:`mail gateway script <../../../../administration/on_premise/email_gateway>`. Going through this script requires **advanced technical and infrastructure knowledge**."
msgid "If the database is hosted on **Odoo Online** or **Odoo.sh**, using redirections is recommended. They allow messages to be received without delay in the database."
msgid "It is mandatory to redirect the catchall and bounce address to the Odoo subdomain of the database. Every other alias used must be redirected as well."
msgid "Some providers ask to validate the redirection by sending a link to the target email address. This procedure is an issue for catchall and bounce since they are not used to create records."
msgid "Modify the catchall value on the mail alias domain. :ref:`developer-mode` must be enabled to access this menu. For example, it can be changed from `catchall` to `temp-catchall`. This will allow to use `catchall` as the local-part of another alias."
msgid "Open an app that uses an alias. For example, CRM contains aliases for each sales team. Set `catchall` as the local-part of the alias of a sales team."
msgid "The validation email will create a record in the CRM app. The email sent will be visible in the chatter, allowing you to validate the redirection."
msgid "Do not forget to change back the alias of the sales team and the catchall value on the mail alias domain, just as they were before this procedure."
msgid "An alternative to redirections is **forwarding**. With forwarding, **the address forwarding the email will be identified as the sender**, while with redirections, the original sender will always remain."
msgid "As mentioned earlier, using redirections is the recommended method to receive emails in Odoo. However, it is also possible to set up incoming mail servers. Using this method means creating an incoming email server for each mailbox on your server, catchall, bounce, and every alias of the database, in order to fetch all incoming emails. Incoming mail servers are created by going to :menuselection:`Settings --> Technical --> Emails: Incoming Mail Servers`."
msgid "We recommend using the IMAP protocol over the POP protocol, as IMAP fetches all unread emails, while POP fetches all the emails' history and then tags them as deleted in your mailbox."
msgid "It is also possible to connect a mailbox through :doc:`Gmail with Google OAuth <google_oauth>` or :doc:`Outlook with Microsoft Azure OAuth <azure_oauth>`."
msgid "Additionally, using an incoming mail server in Odoo gives the opportunity to create new records in a specified model. Each incoming mail server can create records in a different model."
msgid "Emails received on `task@company-name.com` are fetched by the Odoo database. All fetched emails will create a new project task in the database."
msgid "A third option is to create a MX record in your DNS zone which specifies the mail server managing emails sent to your domain. **Advanced technical knowledge is required.**"
msgid "In some cases, infinite mailing loops can be created. Odoo provides some protection against such loops, ensuring the same sender cannot send too many emails **that would create records** to an alias in a specific time span."
msgid "By default, an email address can send up to 20 emails in 120 minutes. If more emails are sent, they are blocked and the sender receives the following message:"
msgid "To change the default behavior, enable :ref:`developer-mode`, then go to :menuselection:`Settings --> Technical --> Parameters: System Parameters` to add two parameters."
msgid "For the first parameter, enter `mail.gateway.loop.minutes` as the :guilabel:`Key` and choose a number of minutes as the :guilabel:`Value` (`120` is the default behavior)."
msgid "For the second parameter, enter `mail.gateway.loop.threshold` as the :guilabel:`Key` and choose a number of emails as the :guilabel:`Value` (`20` is the default behavior)."
msgid "Incoming aliases are set in the Odoo database to create records by receiving incoming emails. To view aliases set in the Odoo database, first activate the :ref:`developer mode <developer-mode>`. Then, go to :menuselection:`Settings app --> Technical --> Aliases`."
msgid "The following system parameter, `mail.catchall.domain.allowed`, set with allowed alias domain values, separated by commas, filters out correctly addressed emails to aliases. Setting the domains for which the alias can create a ticket, lead, opportunity, etc., eliminates false positives where email addresses with only the prefix alias, not the domain, are present."
msgid "In some instances, matches have been made in the Odoo database when an email is received with the same alias prefix and a different domain on the incoming email address. This is true in the sender, recipient, and :abbr:`CC (Carbon Copy)` email addresses of an incoming email."
msgid "When Odoo receives emails with the `commercial` prefix alias in the sender, recipient, or :abbr:`CC (Carbon Copy)` email addresses (e.g. commercial\\@example.com), the database falsely treats the email as the full `commercial` alias, with a different domain, and therefore, creates a ticket/lead/opportunity/etc."
msgid "To add the `mail.catchall.domain.allowed` system parameter, first, activate the :ref:`developer mode <developer-mode>`. Then, go to :menuselection:`Settings app --> Technical --> System Parameters`. Click :guilabel:`New`. Then, type in `mail.catchall.domain.allowed` for the :guilabel:`Key` field."
msgid "Next, for the :guilabel:`Value` field, add the domains separated by commas. Manually :icon:`fa-cloud-upload` :guilabel:`(Save)`, and the system parameter takes immediate effect."
msgid "When creating a new alias, there is an option to enable :guilabel:`Local-part based incoming detection`. If enabled, Odoo only requires the local-part to match for routing an incoming email. If this feature is turned off, Odoo requires the whole email address to match for routing an incoming email."
msgid "When a database is created, the subdomain `company-name.odoo.com` is used to send and receive emails. The deliverability is optimized for this subdomain as it uses Odoo’s DNS configuration."
msgid "If the database subdomain is `company-name.odoo.com` and all mailing configurations are the default ones, all emails will be sent from `notifications@company-name.odoo.com`."
msgid "Emails are sent with `catchall@company-name.odoo.com` as the *reply-to* address. In addition, delivery errors are sent to `bounce@company-name.odoo.com`."
msgid "The catchall, bounce, and notification addresses do not work like other aliases. They do not have the vocation to create records in a database. Emails sent to an alias are automatically routed and will reply to an existing and linked record or will create a new one in the database."
msgid "The database can be configured to use a custom domain, in which case all default email addresses are built using the custom domain. If the custom domain is `company-name.com`, the sender address will be `notifications@company-name.com`, the *reply-to* address `catchall@company-name.com`, and the *bounce* address `bounce@company-name.com`. The custom domain can be utilized when sending emails either with Odoo’s email servers or an external one."
msgid "This section assumes ownership of a custom domain. If not, a custom domain must be purchased from a domain registrar such as GoDaddy, Namecheap, or any alternative provider."
msgid "Most of the configuration will be done on the domain provider’s side, and it might require some configuration on the mail server itself. **Some technical knowledge is required.**"
msgid "Next, the custom domain must be set as the alias domain of a company. Select the company, open the :guilabel:`Settings`, and add the custom domain under the :guilabel:`Alias Domain` field."
msgid "After adding the alias domain, click the :icon:`oi-arrow-right` (:guilabel:`internal link`) icon to assign more companies to the custom domain if needed. Enable the :ref:`developer-mode` mode to modify the default aliases if desired:"
msgid ":guilabel:`Bounce Alias`: the mailbox used to catch delivery errors and populate the :ref:`red envelope <email-issues-outgoing-delivery-failure>` on the corresponding message."
msgid "At the creation of the first alias domain, all companies will use it. If you create a new company, the alias domain automatically set is the one with the lowest priority (ad displayed on the alias domain list in :ref:`developer-mode`)."
msgid "To receive emails in the Odoo database within the corresponding chatter (CRM, invoices, sales orders, etc.), one of these three methods must be used:"
msgid "Using a custom domain implies that specific :ref:`local-parts <email-outbound-custom-domain-smtp-server-local-part>` might be used by Odoo to send emails."
msgid "To add an external SMTP server in Odoo, open :guilabel:`Settings`, and enable the :guilabel:`Use Custom Email Servers` option found under the :guilabel:`Discuss` section."
msgid "Still under the :guilabel:`Discuss` section, click :guilabel:`Outgoing Email Servers`, then `New` to create an outgoing mail server record. Most fields are the common parameters used to set up a connection to an SMTP server; use the values provided by your email provider."
msgid "Once completed, click :guilabel:`Test Connection`. Note that a successful test connection does not confirm that the email will go out as some restriction might remain on the provider side, thus, it is recommended to consult your provider’s documentation."
msgid "Below are presented the different local-part values that can be used by Odoo to send emails. It might be required to whitelist them in your mail server:"
msgid "Transactional emails and mass mailings can be sent using separate email servers in Odoo. Doing so means day-to-day emails, quotations, or invoices sent to clients will be handled as *transactional emails*. *Mass mailing emails*, including the sending of batches of invoices or quotations, will be managed by the Marketing Automation or Email Marketing application."
msgid "You can use services like Gmail, Amazon SES, or Brevo for transactional emails, and services like Mailgun, Sendgrid, or Mailjet for mass mailings."
msgid "First, activate the :ref:`developer-mode` and go to :menuselection:`Settings --> Technical --> Email: Outgoing Mail Servers`. There, add two outgoing email server records, one for the transactional emails server and one for the mass mailings server. Enter a lower :guilabel:`Priority` value for the transactional server (e.g., `1`) over the mass mailings server (e.g., `2`) so transactional emails are given priority."
msgid "Now, go to :menuselection:`Email Marketing --> Configuration --> Settings`, enable :guilabel:`Dedicated Server`, and select the appropriate email server. Odoo uses the server with the lowest priority value for transactional emails, and the server selected here for mass mailings."
msgid "The :guilabel:`FROM Filtering` field allows for the use of a specific outgoing email server depending on the *From* email address or domain that Odoo is sending on behalf of. The **value must be a domain or a complete address** that matches the sender’s email address and is trusted on the outgoing mail server provider's side."
msgid "First, Odoo searches for a server that has the same FROM filtering value as the From value (i.e., email address) defined in the outgoing email. This configuration is ideal if all users of a company share the same domain but have different local-parts."
msgid "If the sender's email address is `test@example.com`, only an email server having a FROM filtering value equal to `test@example.com` or `example.com` can be used."
msgid "If no server is found based on the first criteria, Odoo looks for the first server without a FROM filtering value set. The email will be overridden with the notification address."
msgid "If no server is found based on the second criteria, Odoo uses the first server, and the email will be overridden with the notification address."
msgid "To determine which server is first, Odoo uses the priority value (the lower the value is, the higher the priority is). Failing to do so, the first server is determined by the servers' names, using alphabetical order."
msgid "On Odoo Online and Odoo.sh, databases are started with Odoo's SMTP server. If no outgoing mail server is set, the default Odoo's SMTP server will be used."
msgid "If an outgoing mail server is used simultaneously with Odoo’s default server (CLI), the FROM filter of the outgoing mail server must contain a custom domain, and the FROM filter of the CLI must contain Odoo’s subdomain. If there is no FROM filtering, the email will go out using the notification address."
msgid "On Odoo Online, the command line interface is equivalent to the default Odoo mail server, using the same limit as if there was no outgoing mail server in place."
msgid "On Odoo Online, the page also shows your daily email usage and your daily limit. On Odoo.sh, you need to check on the monitor page the number of outgoing emails that were sent."
msgid "Odoo’s mail server is meant for transactional emails and small-scale marketing campaigns. The :ref:`daily limit <email-issues-outgoing-delivery-failure-messages-limit>` depends on the database type and the applications used."
msgid "Similar to the :ref:`previous chapter <email-outbound-different-servers-external-odoo>`, proper configuration might be needed to ensure that the external email server is allowed to send emails using your custom domain. Refer to your provider’s documentation to properly set up the relevant records (SPF, DKIM, and DMARC). A list of the :ref:`most common providers is available <email-domain-providers-documentation>`."
msgid "DNS configuration is required when you use your own domain. If an external outgoing mail server is used, configuring the records as described in the :doc:`Odoo DNS configuration for our mail servers documentation <email_domain>` **will not have the desired effect**, as it is independent of Odoo when using a custom email server. Odoo does not allow the configuration of Odoo's subdomain."
msgid "The catchall domain is company-specific. By default, all companies share Odoo’s subdomain (e.g., `company-name.odoo.com`), but each company may have its own custom email domain."
msgid "When the :ref:`developer-mode` is activated, the alias domain options are available by going to :menuselection:`Settings --> Technical --> Email: Alias Domains`."
msgid "Any modification of the alias domain must be done very carefully. If one of the aliases (bounce, catchall, default from) is changed, all previous emails that are not properly redirected to the new aliases will be lost."
msgid "The :guilabel:`Default From Alias` field can be filled with a local-part of the email address (by default `notifications`) or a full email address. Configure it to determine the `FROM` header of your emails. If a full email address is used, all outgoing emails will be overwritten with this address."
msgid "When an email is sent from the chatter, customers can reply directly to it. If a customer replies directly to an email, the answer is logged in the same chatter, thus functioning as a message thread related to the record."
msgid "Upon receiving the reply, Odoo then uses the subscribed followers (based on the subscribed subtypes) to send them a notification by email, or in the Odoo inbox, depending on the user’s preferences."
msgid "If a customer with the email address `“Mary” <mary@customer.example.com>` makes a direct reply to an email coming from the Odoo database, Odoo's default behavior is to redistribute the email's content to all other followers within the thread."
msgid "As Mary’s domain does not belong to the alias domain, Odoo overrides the email address and uses the notification email address to notify the followers. This override depends on the configuration done in the database. By default, on Odoo Online and Odoo.sh, the email `FROM` address will be overridden with the value `notifications@company-name.odoo.com` instead of `mary@customer.example.com`."
msgid "The address is constructed using the name of the sender and `{alias domain, default from alias}`@`{alias domain, domain name}`, by default, `notifications@company-name.odoo.com`."
msgid "To force the email address from which emails are sent, activate the :ref:`developer-mode`, and go to :menuselection:`Settings --> Technical --> Email: Alias Domains`. On the :guilabel:`Default From Alias`, use the the local-part or a complete email address as the value."
msgid "While Odoo uses emails as a way to notify and communicate with users/customers, it is, by design, not a replacement for a dedicated email server. Therefore, it might not behave in the expected way when compared to a traditional email inbox."
msgid "By default, once a notification or transactional email (quote, invoice, direct message to a contact) is sent out successfully, the email object is deleted. The email message's content lives in the chatter of the related record. It prevents cluttering the database with multiple copies of the content of the same email (when sent to multiple recipients) if the content is already present in the chatter."
msgid "There is no concept of (blind) carbon copy ([B]CC). Odoo uses the concept of *followers* added to a chatter to automatically decide when and how :ref:`a contact is notified <email-outbound-notifications>` or receives a copy of an email."
msgid "Incoming emails are handled by checking if the *TO* email address is a valid email address in the Odoo database or, in case of a reply email, if there is a reference in the email header that matches a message sent from the Odoo database. All other emails will be bounced and **not** temporarily parked in a spam or quarantine folder. In other words, any email unrelated to an Odoo database is lost."
msgid "When an Odoo database is created, the main admin account is assigned a placeholder email address. It is recommended to **replace the admin email address** with a valid email address to prevent outgoing email issues."
msgid "To do so, on the admin account, click the user icon, click :guilabel:`My Profile` (or :guilabel:`Preferences`), and update the :guilabel:`Email` field found under the :guilabel:`Preferences` tab. Either use any other email address or use your Odoo subdomain (e.g., `company-name.odoo.com`) and `admin` for the local-part (e.g., `admin@company-name.odoo.com`)."
msgid "When a message is sent, an :icon:`fa-envelope-o` :guilabel:`(envelope)` icon is displayed in the chatter. The icon turns red when delivery has failed for at least one recipient."
msgid "Left-click the envelope to display information about the delivery, and, if possible, the relevant :ref:`error messages <email-issues-outgoing-delivery-failure-messages>`."
msgid "Click :guilabel:`See Error Details` to get extra information for the fail reason, **if** Odoo was able to process the original error or bounce email."
msgid "Click :guilabel:`Send & close` to retry sending the email to all **toggled-on** (:icon:`fa-toggle-on`) recipients under the :guilabel:`Try Again` column. All **toggled-off** (:icon:`fa-toggle-off`) recipients will be ignored."
msgid "Unsent emails also appear in the Odoo email queue. To access it, activate the :ref:`developer mode <developer-mode>` and go to :menuselection:`Settings --> Technical --> Email: Emails`."
msgid "Failed emails display the :guilabel:`Delivery Failed` status. Click :guilabel:`Retry` to put a failed email in the email queue again. It will then appear with the :guilabel:`Outgoing` status. The email will be sent again the next time the scheduled action for the email queue runs."
msgid "Optionally, queued emails can be sent immediately by clicking :guilabel:`Send Now`. Click :guilabel:`Cancel Email` to remove it from the email queue."
msgid "Sent emails are periodically cleaned from the queue. This is controlled by the *Auto-Vacuum* scheduled action that cleans redundant data on your Odoo database."
msgid "Odoo limits the number of emails that can be sent from an Odoo Online database. Most email service providers (e.g., Google, Yahoo, etc.) will blacklist Odoo's server IP if Odoo's email server is sending too many emails to addresses that do not exist or are no longer valid. It also applies to unsolicited spam emails sent through an Odoo database."
msgid "Bounce rate (the percentage of email addresses that did not receive emails because they were returned by an email server on their way to the final recipient)."
msgid "When using a custom domain, verify that :ref:`SPF <email-domain-spf>`, :ref:`DKIM <email-domain-dkim>`, and :ref:`DMARC <email-domain-dmarc>` are correctly configured so that :ref:`Odoo's email servers are allowed to send emails on your custom domain's behalf <email-outbound-custom-domain-odoo-server>`."
msgid "Wait until the next day, and retry sending the email. To do so, activate the :ref:`developer mode <developer-mode>`, go to :menuselection:`Settings --> Technical --> Email: Emails`, and click :guilabel:`Retry` next to the unsent email."
msgid "The daily email limit counts every email leaving your Odoo database, triggered either manually or automatically. By default, any internal message, notification, logged note, etc., counts as an email if it notifies someone via email. This can be mitigated by receiving :ref:`notifications in Odoo <discuss_app/notification_preferences>` instead of by email."
msgid "`Simple Mail Transport Protocol (SMTP) <https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol>`_ is a standard used to transmit emails between email servers and/or email clients."
msgid "If you use :ref:`an external STMP server to send emails <email-outbound-custom-domain-smtp-server>`, a standard set of `SMTP error codes exists <https://en.wikipedia.org/wiki/List_of_SMTP_server_return_codes#Common_status_codes>`_. While the code numbers are not specific to Odoo, the exact content of the error message might vary from email server to email server."
msgid "The error message indicates that you tried sending an email from an unverified email address. Investigating the outgoing email server configuration or the default *FROM* address of your database is a good starting point to troubleshoot the issue, and verify that you whitelisted the email address on the side of sendgrid.com."
msgid "Usually, inputting the error message content in a Google search can yield information on what the root cause might be and how to correct the issue."
msgid "Odoo is not always capable of providing information on the reason a delivery failed. The different email providers implement their own policy on bounced emails, and it is not always possible for Odoo to interpret it correctly."
msgid "One of the most common reasons for an email failing to be sent with no error message is related to the :ref:`SPF <email-domain-spf>` or :ref:`DKIM <email-domain-dkim>` configuration. Also, verify that the implemented email notification setup is adapted to your business needs. See the :doc:`Communication in Odoo by email documentation <../email_communication>` for more information."
msgid "The exact time of an email is sent is handled by a system utility *cron* (scheduled action) that can be used to schedule tasks to run automatically at predetermined intervals. Odoo uses this approach to send emails that are considered \"not urgent\" (i.e., newsletters formats such as mass mailing, marketing automation, and events). This avoids cluttering the mail servers and, instead, prioritizes individual communication."
msgid "A cron is an action that Odoo runs in the background to execute particular code to complete a task. Odoo also creates cron triggers in certain workflows that can trigger a scheduled action earlier than its scheduled date. Running a scheduled action manually or changing its frequency is generally not recommended, as it might create errors or break specific workflows."
msgid "By default, for the normal email queue, the :guilabel:`Mail: Email Queue Manager` cron runs every 60 minutes. The lowest running interval for a cron is 5 minutes. Odoo recommends an interval of 15 minutes to ensure proper operation. If the interval is too short, not all emails may be processed, which may cause the cron to timeout."
msgid "Emails that are considered urgent (from one person to another, such as sales orders, invoices, purchase orders, etc.) are sent immediately. They do not show up under :menuselection:`Settings --> Technical --> Email: Emails`, unless their delivery fails."
msgid "Email campaigns are sent as soon as possible (after clicking the :guilabel:`Send` button) or at a scheduled time (after clicking the :guilabel:`Schedule` button)."
msgid "For the email marketing queue, the :guilabel:`Mail Marketing: Process queue` cron runs once a day, but will be **automatically triggered early** if a campaign is scheduled outside of this default frequency. If a mailing list contains a large number of recipients, triggering the cron manually multiple times is **not recommended**, as it will not accelerate the processing time and might create errors."
msgid "To edit crons, enable the :ref:`developer mode <developer-mode>` and go to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions`."
msgid "For more information about crons when using Odoo.sh, check out :doc:`Odoo.sh frequent technical questions <../../../administration/odoo_sh/advanced/frequent_technical_questions>`."
msgid "If there are three campaigns: Campaign_1 (created 1st of January), Campaign_2 (created 2nd of January), and Campaign_3 (created 3rd of January), they are put in the queue by clicking :guilabel:`Send` on all three of them."
msgid "The cron will try to process Campaign_1, then Campaign_2, and finally Campaign_3. It will not start processing Campaign_2 until it finishes processing Campaign_1."
msgid "If an email campaign never leaves the queue, there might be an issue with the campaign at the top of the queue. To troubleshoot, we could remove Campaign_1 from the queue by clicking the :guilabel:`Cancel` button, and see if the two other campaigns are sent. Then we could try to fix Campaign_1 or contact :ref:`Odoo Support <email-issues-support>`."
msgid "When there is an issue with incoming emails, there might not be an indication, per se, in Odoo. It is the sending email client, who tries to contact a database, that will get a bounce message (most of the time a :guilabel:`550: mailbox unavailable` error message)."
msgid "You can use database logs to understand and fix issues. Logs are a stored collection of all the tasks completed in a database. They are a text-only representation, complete with timestamps of every action taken on the Odoo database. This can be helpful to track emails leaving the database. Sending failures can also be seen by logs when they indicate that the message tried to send repeatedly. Logs show every action to the email servers from the database."
msgid "Live logs are located in the :file:`~/logs/` folder (accessed by the command line or on the Odoo.sh dashboard). Log files are created everyday at 5:00 AM (UTC)."
msgid "Log files for older dates are named using their dates and are compressed. Use the commands :command:`grep` and :command:`zgrep` (for the compressed ones) to search through the files."
msgid "For more information on accessing logs via the command line, refer to the :ref:`developer logging documentation <reference/cmdline/server/logging>`."
msgid "An export of the full email from the inbox. These are usually in `.eml` or `.msg` file formats containing technical information required for an investigation. The exact process to download the file depends on your third-party email provider."
msgid "`Microsoft Support: View internet message headers in Outlook <https://support.microsoft.com/en-us/office/view-internet-message-headers-in-outlook-cd039382-dc6e-4264-ac74-c048563d212c#tab=Web>`_"
msgid "When using a local email software (e.g., Thunderbird, Apple Mail, Outlook, etc.) to synchronize emails, it is usually possible to export the local copies of emails as EML/MSG files. Refer to the documentation of the software used for more information."
msgid "For **incoming emails**: if possible contact the original email sender and request an EML/MSG copy of the original email. Sending a copy of the original email (forwarded) only contains partial information related to the troubleshooting."
msgid "For **outgoing emails**: either provide the EML/MSG of the email or specify what record in the database is affected (e.g., sales order number, contact name, invoice number) and the date/time when the email was sent (e.g., email sent on the 10th January 2024 11:45 AM Central European Time)."
msgid "Is it working as expected? In case the email is sent using Odoo, the bounce email should reach the Odoo database and display the :ref:`red envelope <email-issues-outgoing-delivery-failure>`."
msgid "Odoo is compatible with Google's OAuth for Gmail. In order to send secure emails from a custom domain, all that is required is to configure a few settings on Google's *Workspace* platform, as well as on the back end of the Odoo database. This configuration works by using either a personal email address or an address created by a custom domain."
msgid "To get started, go to the `Google API Console <https://console.developers.google.com>`_. Log in with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail account (this should match the email address you want to configure in Odoo)."
msgid "After that, click on :guilabel:`Create Project`, located on the far right of the :guilabel:`OAuth consent screen`. If a project has already been created in this account, then the :guilabel:`New Project` option will be located on the top right under the :guilabel:`Select a project` drop-down menu."
msgid "On the :menuselection:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace organization*. If you are using a personal Gmail account, then leave the :guilabel:`Location` as :guilabel:`No Organization`."
msgid "Under :guilabel:`User Type` options, select the appropriate :guilabel:`User Type`, and then click on :guilabel:`Create` again, which will finally navigate to the :menuselection:`Edit app registration` page."
msgid "*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account allows for **Internal** User Type to be used."
msgid "Note, as well, that while the API connection is in the *External* testing mode, then no approval is necessary from Google. User limits in this testing mode is set to 100 users."
msgid "On the :guilabel:`OAuth consent screen` step, under the :guilabel:`App information` section, enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the :guilabel:`User support` email field."
msgid "After that, under the :guilabel:`Developer contact information` section, enter the organization's email address. Google uses this email address to notify the organization about any changes to your project."
msgid "Next, click on the :guilabel:`Save and Continue` button. Then, skip the :menuselection:`Scopes` page by scrolling to the bottom and clicking on :guilabel:`Save and Continue`."
msgid "If continuing in testing mode (External), add the email addresses being configured under the :guilabel:`Test users` step, by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and Continue` button. A summary of the app registration appears."
msgid "Now that the project is set up, credentials should be created, which includes the *Client ID* and *Client Secret*. First, click on :guilabel:`Credentials` in the left sidebar menu."
msgid "Under the :guilabel:`Authorized redirect URIs` label, click the button :guilabel:`ADD URI`, and then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. Be sure to replace the *yourdbname* part of the URL with the actual Odoo database name."
msgid "Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then navigate to the Odoo database."
msgid "First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps` filter from the search bar and type in `Google`. Install the module called :guilabel:`Google Gmail`."
msgid "Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss` section, ensure that the checkbox for :guilabel:`Custom Email Servers` or :guilabel:`External Email Servers` is checked. This populates a new option for :guilabel:`Gmail Credentials` or :guilabel:`Use a Gmail Sever`. Then, copy and paste the respective values into the :guilabel:`Client ID` and :guilabel:`Client Secret` fields and :guilabel:`Save` the settings."
msgid "To configure the external Gmail account, return to the top of the :guilabel:`Custom Email Servers` setting and then click the :guilabel:`Outgoing Email Servers` link."
msgid "Then, click on :guilabel:`New` or :guilabel:`Create` to create a new email server, and fill in the :guilabel:`Name`, :guilabel:`Description`, and the email :guilabel:`Username` (if required)."
msgid "Next, click on :guilabel:`Gmail OAuth Authentication` or :guilabel:`Gmail` (under the :guilabel:`Authenticate with` or :guilabel:`Connection` section). Finally, click on :guilabel:`Connect your Gmail Account`."
msgid "A new window labeled :guilabel:`Google` opens to complete the authorization process. Select the appropriate email address that is being configured in Odoo."
msgid "If the email address is a personal account, then an extra step pops up, so click :guilabel:`Continue` to allow the verification and connect the Gmail account to Odoo."
msgid "Then, allow Odoo to access the Google account by clicking on :guilabel:`Continue` or :guilabel:`Allow`. After that, the page navigates back to the newly configured outgoing email server in Odoo. The configuration automatically loads the token in Odoo, and a tag stating :guilabel:`Gmail Token Valid` appears in green."
msgid "Finally, :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database can now send safe, secure emails through Google using OAuth authentication."
msgid "Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of :guilabel:`Testing`) will display the following warning message:"
msgid "To correct this warning, navigate to the `Google API Platform <https://console.cloud.google.com/apis/credentials/consent>`_. If the :guilabel:`Publishing status` is :guilabel:`In Production`, click :guilabel:`Back to Testing` to correct the issue."
msgid "To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring in Odoo."
msgid "To correct this error, go to the :menuselection:`Apps` module and clear out the search terms. Then, search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click on the three dots on the upper right of the module and select :guilabel:`Upgrade`."
msgid "When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears."
msgid "To correct this error, delete the credentials already created and create new credentials, selecting :guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type: `https://yourdbname.odoo.com/google_gmail/confirm` in the field, being sure to replace *yourdbname* in the URL with the Odoo database name."
msgid "Odoo is compatible with Mailjet's :abbr:`API (Application Programming Interface)` for mass mailing. Set up a dedicated mass mailing server through Mailjet by configuring settings in the Mailjet account and the Odoo database. In some circumstances, settings need to be configured on the custom domain's :abbr:`DNS (Domain Name System)` settings as well."
msgid "To get started, sign in to the `Mailjet Account Information <https://app.mailjet.com/account>`_ page. Next, navigate to the :guilabel:`Senders & Domains` section and click on :guilabel:`SMTP and SEND API Settings`."
msgid "Then, copy the :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings onto a notepad. They can be found under the :guilabel:`Configuration (SMTP only)` section. The :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings include the server address, the security option needed (Use :abbr:`SSL (Secure Sockets Layer)`/:abbr:`TLS (Transport Layer Security)`), and the port number. The settings are needed to configure Mailjet in Odoo, which is covered in the :ref:`last section <maintain/mailjet-api/odoo-setup>`."
msgid "Then, click on the eye icon to reveal the :guilabel:`API key`. Copy this key to a notepad, as this serves as the :guilabel:`Username` in the Odoo configuration. Next, click on the :guilabel:`Generate Secret Key` button to generate the :guilabel:`Secret Key`. Copy this key to a notepad, as this serves as the :guilabel:`Password` in the Odoo configuration."
msgid "The next step is to add a sender address or a domain to the Mailjet account settings so that the email address or domain is approved to send emails using Mailjet's servers. First, navigate to the `Mailjet Account Information <https://app.mailjet.com/account>`_ page. Next, click on the :guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section."
msgid "Determine if a sender's email address or the entire domain needs to be added to the Mailjet settings. It may be easier to configure the domain as a whole if :abbr:`DNS (Domain Name System)` access is available. Jump to the :ref:`Add a domain <maintain/mailjet-api/add-domain>` section for steps on adding the domain."
msgid "Either all email addresses of the Odoo database users who are sending emails using Mailjet's servers need to be configured or the domain(s) of the users' email addresses can be configured."
msgid "By default, the email address originally set up in the Mailjet account is added as a trusted sender. To add another email address, click on the button labeled :guilabel:`Add a sender address`. Then, add the email address that is configured to send from the custom domain."
msgid "Replace `yourdomain` with the custom domain for the Odoo database. If there isn't one, then use the :guilabel:`mail.catchall.domain` system parameter."
msgid "After that, fill out the :guilabel:`Email Information` form, making sure to select the appropriate email type: transactional email or mass emails. After completing the form, an activation email is sent to the email address and the trusted sender can be activated."
msgid "It is recommended to set up the :abbr:`SPF (Sender Policy Framework)`/:abbr:`DKIM (DomainKeys Identified Mail)`/:abbr:`DMARC (Domain-based Message Authentication, Reporting, and Conformance)` settings on the domain of the sender."
msgid "If the database is not using a custom domain, then in order to verify the sender's address, a temporary alias (of the three email addresses mentioned above) should be set up in Odoo CRM to create a lead. Then, the database is able to receive the verification email and verify the accounts."
msgid "By adding an entire domain to the Mailjet account, all the sender addresses related to that domain are automatically validated for sending emails using Mailjet servers. First, navigate to the `Mailjet Account Information <https://app.mailjet.com/account>`_ page. Next, click on :guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section. Then, click on :guilabel:`Add domain` to add the custom domain."
msgid "After adding the domain, a validation page will populate. Unless the Odoo database is on-premise (in which case, choose :guilabel:`Option 1`), choose :guilabel:`Option 2: Create a DNS Record`. Copy the TXT record information to a notepad and then navigate to the domain's :abbr:`DNS (Domain Name System)` provider to complete validation."
msgid "After getting the TXT record information from the Mailjet account, add a TXT record to the domain's :abbr:`DNS (Domain Name System)`. This process varies depending on the :abbr:`DNS (Domain Name System)` provider. Consult the provider for specific configuration processes. The TXT record information consists of the :guilabel:`Host` and :guilabel:`Value`. Paste these into the corresponding fields in the TXT record."
msgid "After adding the TXT record to the domain's :abbr:`DNS (Domain Name System)`, navigate back to the Mailjet account. Then, navigate to :menuselection:`Account Information --> Add a Sender Domain or Address`, click the gear icon next to :guilabel:`Domain`, and select :guilabel:`Validate`."
msgid "This action can also be done by going to the `Sender domains & addresses <https://app.mailjet.com/ account/sender>`_ page on the Mailjet account information and clicking on :guilabel:`Manage`."
msgid "Next, click :guilabel:`Check Now` to validate the TXT record that was added on the domain. A success screen will appear if the domain is configured correctly."
msgid "After successfully setting up the domain, there is an option to :guilabel:`Authenticate this domain (SPF/DKIM)`. This button populates :abbr:`SPF (Sender Policy Framework)` & :abbr:`DKIM (DomainKeys Identified Mail) records to input into the :abbr:`DNS (Domain Name System)` provider."
msgid "To complete the setup, navigate to the Odoo database and go to the :guilabel:`Settings`. With :ref:`developer-mode` turned on, go to the :menuselection:`Technical Menu --> Email --> Outgoing Mail Servers`. Then, create a new outgoing server configuration by clicking on the :guilabel:`Create` button."
msgid "Next, input the `SMTP server` (in-v3.mailjet.com), `port number` (587 or 465), and `Security (SSL/TLS)` that was copied earlier from the Mailjet account. They can also be found `here <https://app.mailjet.com/account/setup>`_. It is recommended to use :abbr:`SSL (Secure Sockets Layer)`/:abbr:`TLS (Transport Layer Security)` even though Mailjet may not require it."
msgid "For the :guilabel:`Username`, input the :guilabel:`API KEY`. For the :guilabel:`Password`, input the :guilabel:`SECRET KEY` that was copied from the Mailjet account to the notepad earlier. These settings can be found on :menuselection:`Mailjet --> Account Settings --> SMTP and SEND API Settings`."
msgid "Then, if the Mailjet server is used for mass emailing, set the :guilabel:`Priority` value higher than that of any transactional email server(s). Finally, save the settings and :guilabel:`Test the Connection`."
msgid "To use the feature, open the :guilabel:`Settings` app, and, under the :guilabel:`Integrations`, section, activate :guilabel:`Geo Localization`. Then, choose between using the OpenStreetMap or Google Places API."
msgid "OpenStreetMap might not always be accurate. You can `join the OpenStreetMap community <https://www.openstreetmap.org/fixthemap>`_ to fix any issues encountered."
msgid "The Google Places API map provides detailed info on places, businesses, and points of interest. It supports location-based features like search, navigation, and recommendations."
msgid "A majority of the setup for integrating *Google Translate* into Odoo is done with the *Google API console*. Once the following processes are complete, an *API key* is created to input in Odoo."
msgid "To get started, go to the `Google API Console <https://console.developers.google.com>`_. Then, log in with a *Google Workspace* account, if there is one. If not, log in with a personal Gmail account (this should match the email address that has billing attached to it)."
msgid "If the *Google API Console* has existing projects, click the drop-down menu next to the :guilabel:`Google Cloud` icon, and a pop-over window appears. Next, click :guilabel:`New Project` top-right of the pop-over window."
msgid "On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo Translate`, and browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace organization*. If a personal Gmail account is being used, leave the :guilabel:`Location` as :guilabel:`No Organization`."
msgid "Next, the *Cloud Translation API* needs to be installed on this newly-created project. To do that, click :menuselection:`Library` in the left menu. Then, search the term `Cloud Translation API`, and click into the result. This should be a *Google Enterprise API* labeled :guilabel:`Cloud Translation API`."
msgid "To do that, go to the *API restrictions* by clicking on :guilabel:`Edit API key` in the pop-over window, or by clicking on the listed API key on the :guilabel:`Credentials` page. From here, key restrictions can be set. This includes setting an application to restrict the use of the API key, and whether this API key can call any API."
msgid "It is recommended that the Odoo *Translate API* be restricted to **only** allow requests from the configured Odoo database and to the *Cloud Translation API*."
msgid "To add the website restriction, click :guilabel:`Websites`, under the :guilabel:`Set an application restriction`. Then, enter the address of the database *Google Translate* is being used in, by clicking on :guilabel:`Add`. Lastly, add the :abbr:`URL (Uniform Resource Locator)`, and click :guilabel:`Done`."
msgid "To restrict use of the key to a selected API, first, select :guilabel:`Restrict key`, under the :guilabel:`API restrictions` section. Then use the drop-down menu to choose the API being configured (*Cloud Translation API*)."
msgid "To access the integration in Odoo, navigate to the :menuselection:`Settings app --> Discuss section`. Enter the API key into the field labeled :guilabel:`Message Translation`. Then, :guilabel:`Save` the settings, and *Google Translate* can be used in any chatter throughout the database."
msgid "To translate a user's text from another language, click the :guilabel:`... (three dot)` icon menu to the right of the chatter. Then, select :guilabel:`Translate`. The content translates to the *language* set on the user's preferences."
msgid "Mail Plugins are connectors that bridge your mailbox with your Odoo database. With them, you can interact with your Odoo database directly from your mailbox by:"
msgid "Mail plugins allow you to test Lead Enrichment for free, whether you connect the plugins to a database or not. After a while, the plugins ask you to buy :doc:`../../essentials/in_app_purchase` credits if you would like to keep using this service."
msgid "The *Gmail Plugin* integrates an Odoo database with a Gmail inbox, so users can keep track of all their work between Gmail and Odoo, without losing any information."
msgid "From the Gmail inbox, click the plus sign icon on the right side panel to get add-ons. If the side panel is not visible, click on the arrow icon at the bottom right corner of the inbox to reveal it."
msgid "Or, go directly to the :guilabel:`Odoo Inbox Addin` page on the `Google Workspace Marketplace <https://workspace.google.com/marketplace/app/odoo_inbox_addin/873497133275>`_."
msgid "Next, select which Gmail account the user wishes to connect to Odoo. Then click :guilabel:`Allow` to let Odoo access the Google account. Google will then show a pop-up window confirming that the installation was successful."
msgid "The :guilabel:`Mail Plugin` feature must be enabled in the Odoo database in order to use the Gmail Plugin. To enable the feature, go to :menuselection:`Settings --> General Settings`. Under the :guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click :guilabel:`Save`."
msgid "In the Gmail inbox, a purple Odoo icon is now visible on the right side panel. Click on the Odoo icon to open up the Odoo plugin window. Then, click on any email in the inbox. Click :guilabel:`Authorize Access` in the plugin window to grant Odoo access to the Gmail inbox."
msgid "Next, click :guilabel:`Login`. Then, enter the URL of the Odoo database that the user wishes to connect to the Gmail inbox, and log in to the database."
msgid "Use the general URL for the database, not the URL of a specific page in the database. For example, use `https://mycompany.odoo.com`, not `https://mycompany.odoo.com/web#cids=1&action=menu`."
msgid "Finally, click :guilabel:`Allow` to let Gmail access the Odoo database. The browser will then show a :guilabel:`Success!` message. After that, close the window. The Gmail inbox and Odoo database are now connected."
msgid "As part of their security guidelines, Google requires add-on creators to provide a list of URLs that can be used in actions and redirections launched by the add-on. This protects users by ensuring, for example, that no add-on redirects users toward a malicious website. (Read more on `Google Apps Script <https://developers.google.com/apps-script/manifest/allowlist-url>`_.)"
msgid "Since Odoo can only list the `odoo.com` domain and not every on-premise customer's unique server domain, on-premise customers cannot install the Gmail Plugin from the Google Workspace Marketplace."
msgid "First, access the `GitHub repository <https://github.com/odoo/mail-client-extensions>`_ for the Odoo Mail Plugins. Next, click on the green :guilabel:`Code` button. Then, click :guilabel:`Download ZIP` to download the Mail Plugin files onto the user's computer."
msgid "Open the ZIP file on the computer. Then, go to :menuselection:`mail-client-extensions-master --> gmail --> src --> views`, and open the :file:`login.ts` file using any text editor software, such as Notepad (Windows), TextEdit (Mac), or Visual Studio Code."
msgid "Next, in the ZIP file, go to :menuselection:`mail-client-extensions-master --> gmail`, and open the file called :guilabel:`appsscript.json`. In the :guilabel:`urlFetchWhitelist` section, replace all the references to `odoo.com` with the Odoo customer's unique server domain."
msgid "Then, in the same :guilabel:`gmail` folder, open the file called :guilabel:`README.md`. Follow the instructions in the :guilabel:`README.md` file to push the Gmail Plugin files as a Google Project."
msgid "After that, share the Google Project with the Gmail account that the user wishes to connect to Odoo. Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click :guilabel:`Install the add-on` to install the Gmail Plugin."
msgid "Outlook allows for third-party applications to connect in order to execute database actions from emails. Odoo has a plugin for Outlook that allows for the creation of an opportunity from the email panel."
msgid "First, enable the *Mail Plugin* feature in the database. Go to :menuselection:`Settings --> General Settings --> Integrations`, enable :guilabel:`Mail Plugin`, and :guilabel:`Save` the configuration."
msgid "Download (:menuselection:`Save Page As --> Web Page XML only`) the following XML file to upload later: `https://download.odoocdn.com/plugins/outlook/manifest.xml <https://download.odoocdn.com/plugins/outlook/manifest.xml>`_."
msgid "Next, open the Outlook mailbox, and select any email. After completing this, click on the :guilabel:`More actions` button in the upper right-side and select :guilabel:`Get Add-ins`."
msgid "For locally installed versions of Microsoft Outlook, access the :guilabel:`Get Add-ins` menu item while in preview mode (**not** with a message open). First, click on the :guilabel:`... (ellipsis)` icon in the upper right of the previewed message, then scroll down, and click on :guilabel:`Get Add-ins`."
msgid "For the next step, attach the `manifest.xml` file downloaded above, and press :guilabel:`OK`. Next, read the warning and click on :guilabel:`Install`."
msgid "Now, Outlook will be connected to the Odoo database. First, open any email in the Outlook mailbox, click on the :guilabel:`More actions` button in the upper right-side, and select :guilabel:`Odoo for Outlook`."
msgid "Only a limited amount of **Company Insights** (*Lead Enrichment*) requests are available as a trial database. This feature requires :ref:`prepaid credits <mail_plugins/pricing>`."
msgid "If, after a short while, the panel is still empty, it is possible that the browser cookie settings prevented it from loading. Note that these settings also change if the browser is in \"Incognito\" mode."
msgid "For Google Chrome, change the browser cookie settings by following the guide at: `https://support.google.com/chrome/answer/95647 <https://support.google.com/chrome/answer/95647>`_ and adding `download.odoo.com` to the list of :guilabel:`Sites that can always use cookies`."
msgid "If the user isn't logged into the database, enter the credentials. Click on :guilabel:`Allow` to let the Outlook Plugin connect to the database."
msgid "By default, the Outlook Plugin can be opened from the *More actions* menu. However, to save time, it's possible to add it next to the other default actions."
msgid "Now that the plug-in is installed and operational, all that needs to be done to create a lead is to click on the `O` [Odoo icon] or navigate to :guilabel:`More actions` and click on :guilabel:`Odoo for Outlook`. The side panel will appear on the right-side, and under :guilabel:`Opportunities` click on :guilabel:`New`. A new window with the created opportunity in the Odoo database will populate."
msgid "In the pop-up window, enter your :guilabel:`Application Name`, starting with the prefix `Odoo:` (e.g., `Odoo: connection`), so Unsplash recognizes it as an Odoo instance. Then, add a :guilabel:`Description` and click :guilabel:`Create application`."
msgid "On the application details page, scroll down to the :guilabel:`Keys` section and copy the :guilabel:`Access Key` and :guilabel:`Application ID`."
msgid "In Odoo, go to :menuselection:`General Settings` and enable the :guilabel:`Unsplash Image Library` feature. Then, enter the Unsplash :guilabel:`Access Key` and :guilabel:`Application ID`."
msgid "An Internet of Things (IoT) box is a micro-computer device that allows for the connection of input and output devices to an Odoo database. An :abbr:`IoT (Internet of Things)` box subscription is required in order to use the :abbr:`IoT (Internet of Things)` box with a secured connection. A computer is also required to set up the :abbr:`IoT (Internet of Things)` box."
msgid "Begin the :abbr:`IoT (Internet of Things)` configuration process by :ref:`installing the IoT app <general/install>` on the Odoo database through the :menuselection:`Apps` application."
msgid "Next, after the *IoT app* is installed, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the :menuselection:`IoT Boxes` dashboard."
msgid "There are two recommended ways to connect the :abbr:`IoT (Internet of Things)` box to the database once the *IoT app* is installed. Follow the steps in either of the next two sections to connect the :abbr:`IoT (Internet of Things)` box via :ref:`wired ethernet connection <iot_connect/ethernet>` or via :ref:`WiFi <iot_connect/wifi>`."
msgid "The disk image that the :abbr:`IoT (Internet of Things)` box SD card is formatted with is unique to the version of the Odoo database that the :abbr:`IoT (Internet of Things)` box is running on. Ensure that the :abbr:`IoT (Internet of Things)` box is :ref:`flashed <iot/config/flash>` with the most up-to-date disk image."
msgid "The following is the process to connect the :abbr:`IoT (Internet of Things)` box via an ethernet cable to the Odoo database (by way of the ethernet port; RJ-45)."
msgid "First, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (ethernet, :abbr:`USB (Universal Serial Bus)` devices, etc.). At minimum, an HDMI screen should be connected. Then, plug the :abbr:`IoT (Internet of Things)` box into a power source."
msgid "Immediately after the unit powers on and boots up, read the *pairing code* from the screen or from the printout of a receipt printer connected to the :abbr:`IoT (Internet of Things)` box."
msgid "By default, the :abbr:`IoT (Internet of Things)` box will display the *pairing code* for a maximum of 5 minutes after the unit boots up. After 5 minutes, the *pairing code* will disappear for security purposes and the :abbr:`IoT (Internet of Things)` box will need to be rebooted manually by unplugging the unit from the power source for ten seconds and re-plugging it back in."
msgid "If no screen is attached to the :abbr:`IoT (Internet of Things)` box, then the *pairing code* can be accessed from the :abbr:`IoT (Internet of Things)` box homepage by clicking on the :guilabel:`POS Display` button. For instructions on how to access the :abbr:`IoT (Internet of Things)` box homepage visit :ref:`iot_connect/token`."
msgid "On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes` dashboard. Input the *pairing code* in the :guilabel:`Pairing Code` field and click on the :guilabel:`Pair` button. The database will now link to the :abbr:`IoT (Internet of Things)` box and it will appear on the :menuselection:`IoT Boxes` page."
msgid "First, ensure there is no ethernet cable plugged into the :abbr:`IoT (Internet of Things)` box. Then, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (:abbr:`USB (Universal Serial Bus)` devices, etc.)."
msgid "After connecting the devices, plug the :abbr:`IoT (Internet of Things)` box into to a power source. On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes` dashboard. Then copy the :guilabel:`Token` from the :guilabel:`WiFi connection` section as this will later be used to link the Odoo database to the :abbr:`IoT (Internet of Things)` box."
msgid "Back on the computer, navigate to the available WiFi networks and connect to the :abbr:`IoT (Internet of Things)` box WiFi network. The WiFi network dispersed by the :abbr:`IoT (Internet of Things)` box will start with `IoTBox-xxxxxxxxxx`."
msgid "Upon connecting to the :abbr:`IoT (Internet of Things)` box WiFi, a browser will automatically redirect to the :menuselection:`Configure Iot Box` wizard. Name the :abbr:`IoT (Internet of Things)` box, then paste the previously copied *token* into the :guilabel:`Server Token` field, and then click on :guilabel:`Next`."
msgid "If the :abbr:`IoT (Internet of Things)` box WiFi connection wizard doesn't start, then see the documentation on :ref:`connecting with a token <iot_connect/token>`."
msgid "Now, choose the WiFi network that the :abbr:`IoT (Internet of Things)` box will connect with (enter the password if there is one) and click on :guilabel:`Connect`. Wait a few seconds and the browser will redirect to the :abbr:`IoT (Internet of Things)` box homepage. The computer may need to be manually re-connected back to the original WiFi connection, if this does not happen automatically."
msgid "After completing each step, the :abbr:`IoT (Internet of Things)` box should appear when navigating to :menuselection:`IoT app --> IoT Boxes` on the Odoo database."
msgid "The :abbr:`IoT (Internet of Things)` box may need to be manually rebooted upon successfully connecting via WiFi for the box to appear in the *IoT app* on the Odoo database. To do so, simply unplug the device and plug it back into the power source after ten seconds."
msgid "A manual connection of the :abbr:`IoT (Internet of Things)` box to the :abbr:`IoT (Internet of Things)` app can be made using the *token*, from a computer. The *token* can be found by navigating to :menuselection:`IoT app --> IoT Boxes` and clicking on :guilabel:`Connect`."
msgid "Under the :guilabel:`WiFi Connection` section of the :guilabel:`Connect an IoT Box` page that appears, click :guilabel:`Copy` to the right of the :guilabel:`Token`. This token will be entered into the :abbr:`IoT (Internet of Things)` box homepage."
msgid "Access the :abbr:`IoT (Internet of Things)` box homepage by entering the :abbr:`IP (Internet Protocol)` address of the :abbr:`IoT (Internet of Things)` box into a browser window from a computer on the same network as the :abbr:`IoT (Internet of Things)` box (preferably by ethernet connection)."
msgid "The :abbr:`IP (Internet Protocol)` address can be accessed by the router admin console that the :abbr:`IoT (Internet of Things)` box is connected to, or by connecting a receipt printer to the :abbr:`IoT (Internet of Things)` box. A receipt will print out with the :abbr:`IoT (Internet of Things)` box's :abbr:`IP (Internet Protocol)` address on it."
msgid "On the :abbr:`IoT (Internet of Things)` box homepage, enter the *token* under the :guilabel:`Server` section by clicking on :guilabel:`Configure`. Then, paste the *token* into the :guilabel:`Server Token` field and click :guilabel:`Connect`. The :abbr:`IoT (Internet of Things)` box will then link to the Odoo database."
msgid "*Hypertext Transfer Protocol Secure* (HTTPS) is the secure version of *Hypertext Transfer Protocol* (HTTP), which is the primary protocol used to send data back and forth between a web browser and a website. :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is encrypted in order to increase the security of data transfer."
msgid ":abbr:`HTTPS (Hypertext Transfer Protocol Secure)` uses an encryption protocol to encrypt communications. The protocol is called *Transport Layer Security* (TLS), although formerly it was known as *Secure Sockets Layer* (SSL)."
msgid ":abbr:`HTTPS (Hypertext Transfer Protocol Secure)` occurs based upon the transmission of :abbr:`TLS (Transport Layer Security)`/:abbr:`SSL (Secure Sockets Layer)` certificates, which verify that a particular provider is who they say they are."
msgid "In this documentation and throughout Odoo the term \"HTTPS certificate\" will be used to define the fact that the :abbr:`SSL (Secure Sockets Layer)` certificate is valid and allows a :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` connection."
msgid "In order to communicate with certain network devices (in particular for payment terminals), the usage of :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is mandatory. If the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate isn't valid, some devices won't be able to interact with the :abbr:`IoT (Internet of Things)` Box."
msgid "The :abbr:`IoT (Internet of Things)` Box will send a specific request to `<https://www.odoo.com>`_ which will send back the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate if the :abbr:`IoT (Internet of Things)` box and database are eligible."
msgid "The database should be a **production** instance. The database instance should not be a copy, a duplicate, a staging, or a development environment."
msgid "If anything goes wrong during the process of the \"HTTPS certificate\" generation or reception, a specific error will code be given on the :abbr:`IoT (Internet of Things)` box home page."
msgid "Accessing the :abbr:`IoT (Internet of Things)` box homepage will check for the presence of the \"HTTPS certificate\" and will attempt its generation if it is missing. As such, if there is an error on the :abbr:`IoT (Internet of Things)` box home page, refresh the :abbr:`IoT (Internet of Things)` home page to see if the error disappears."
msgid "Ensure that both values are configured as intended. To modify them, go to the :abbr:`IoT (Internet of Things)` box home page, and navigate to :guilabel:`Credential`."
msgid "An unexpected error happened when the :abbr:`IoT (Internet of Things)` box tried to reach `<https://www.odoo.com>`_. The causes are likely due to the network infrastructure/configuration:"
msgid "The network does not allow the :abbr:`IoT (Internet of Things)` box to communicate with `<https://www.odoo.com>`_. This may be due to network devices preventing the communication (firewalls, etc.) or the network configuration (:abbr:`VPN (Virtual Private Network)`, etc.)."
msgid "More information regarding the error that occurred can be found in the full request exception details, which are in the :abbr:`IoT (Internet of Things)` box logs."
msgid "Consult with your system or network administrator should this issue arise. This error code depends on the network infrastructure and goes beyond Odoo support's service scope."
msgid "The IoT-box was able to reach `<https://www.odoo.com>`_ but received an unusual `HTTP response (status codes) <https://developer.mozilla.org/en-US/docs/Web/HTTP/Status>`_."
msgid "This error code will also give the HTTP response status codes. For example, if the error reads `ERR_IOT_HTTPS_LOAD_REQUEST_STATUS 404` it means that the page returned a 404 error, which is the \"Page Not Found\" code."
msgid "If `<https://www.odoo.com>`_ is not down due to maintenance, open a `support ticket <https://www.odoo.com/help>`_ on the matter. Ensure that the 3 digits status code next to the code error is included in the support ticket."
msgid "The :abbr:`IoT (Internet of Things)` box was able to reach `<https://www.odoo.com>`_ but it refused to deliver the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate."
msgid "Ensure that the :abbr:`IoT (Internet of Things)` box and database are eligible for a certificate: :ref:`Internet of Things (IoT) eligibility <iot/iot-eligibility>`."
msgid "If the certificate has been applied successfully, a new :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` :abbr:`URL (Uniform Resource Locator)` for the :abbr:`IoT (Internet of Things)` box ending with `.odoo-iot.com` will appear on the Odoo database, inside of the :menuselection:`IoT` application on that specific device's form."
msgid "When navigating to the :abbr:`URL (Uniform Resource Locator)` in a browser a secured :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` connection will be established."
msgid "The IoT-box homepage will now display an `OK` status next to `HTTPS certificate`. The drop-down menu icon, when clicked, will reveal information regarding the certificate."
msgid "If the :abbr:`IoT (Internet of Things)` box can be accessed from its :abbr:`IP (Intrernet Protocol)` address but not the Odoo assigned domain: `.odoo-iot.com`; then the :abbr:`IoT (Internet of Things)` box is likely running into a :abbr:`DNS (Domain Name System)` issue. On some browsers, it will give an error code mentioning :abbr:`DNS (Domain Name System)` (like `DNS_PROBE_FINISHED_NXDOMAIN`)."
msgid "Should the router allow the :abbr:`DNS (Domain Name System)` to be manually changed, change the DNS to use `Google DNS <https://developers.google.com/speed/public-dns>`_."
msgid "If your router doesn't allow for this, then a change will need to be made on the :abbr:`DNS (Domain Name System)` settings of each of the devices using `Google DNS <https://developers.google.com/speed/public-dns>`_. This will need to occur on **every** device that plans to interact with the :abbr:`IoT (Internet of Things)` box (e.g. computer, tablet or phone). The individual device configuration processes can be found on the website of the device's manufacturer."
msgid "Other :abbr:`IoT (Internet of Things)` devices such as payment terminals likely won't need their :abbr:`DNS (Domain Name System)` settings changed as they are already configured with custom :abbr:`DNS (Domain Name System)`."
msgid "Consult with your system or network administrator should this issue arise. This error code depends on the network infrastructure, and it goes beyond Odoo support's service scope."
msgid "Any of the supported hardware (receipt printer, barcode scanner, cash drawer, payment terminal, scale, customer display, etc.). The list of supported hardware can be found on the `POS Hardware page <https://www.odoo.com/page/point-of-sale-hardware>`_."
msgid "To connect hardware to the :abbr:`PoS (Point of Sale)`, the first step is to connect an :abbr:`IoT (Internet of Things)` box to the database. To do this, follow these instructions: :doc:`Connect an Internet of Things (IoT) box to the Odoo database <connect>`."
msgid "Connect a supported receipt printer to a :abbr:`USB (Universal Serial Bus)` port or to the network, and power it on. Refer to :doc:`/applications/sales/point_of_sale/restaurant/kitchen_printing`."
msgid "In order for the barcode scanner to be compatible it must end barcodes with an `ENTER` character (keycode 28). This is most likely the default configuration of the barcode scanner."
msgid "Connect a screen to the :abbr:`IoT (Internet of Things)` box to display the :abbr:`PoS (Point of Sale)` order. Refer to :doc:`../devices/screen`."
msgid "The connection process depends on the terminal. Refer to the :doc:`payment terminals documentation </applications/sales/point_of_sale/payment_methods>`."
msgid "Once this is completed, connect the :abbr:`IoT (Internet of Things)` box to the :menuselection:`PoS` application. To do this, go to :menuselection:`Point of Sale --> Configuration --> PoS`, tick the :guilabel:`IoT Box` option, and select the devices to be used in this :abbr:`PoS (Point of Sale)`. :guilabel:`Save` the the changes."
msgid "This feature should **only** be utilized with trusted parties, as it provides administrative access to the |iot| box, which can create security issues."
msgid "Managing an |SSH| connection is **not** covered under the standard scope of Odoo support. Visit the `Odoo Support <https://www.odoo.com/help>`_ page for additional information about what is covered."
msgid "After the password has been generated from the :guilabel:`Remote Debugging` pop-up window, the information **must** be recorded immediately. Once this window is closed, there is no current method for looking up this information."
msgid "The pairing code should be printed on receipt printers connected to the :abbr:`IoT (Internet of Things)` box and should also be displayed on connected monitors."
msgid "The code is only valid for 5 minutes after the :abbr:`IoT (Internet of Things)` box has started. It is automatically removed from connected displays when this time has expired."
msgid "The version of the :abbr:`IoT (Internet of Things)` box image is too old. If the :abbr:`IoT (Internet of Things)` box image is from an earlier version, then the SD card of the :abbr:`IoT (Internet of Things)` box needs to be re-flashed to update the image (see :ref:`Flashing the SD Card <iot/config/flash>`)."
msgid "If none of the cases listed above correct the issue, then make sure the :abbr:`IoT (Internet of Things)` box has correctly started, by checking that a fixed green LED is showing next to the power port."
msgid "When an :abbr:`IoT (Internet of Things)` box connects to a database, it may restart. If so, it can take up to five minutes before appearing in the database. If the :abbr:`IoT (Internet of Things)` box is still not showing after five minutes, make sure that the :abbr:`IoT (Internet of Things)` box can reach the database and that the server does not use a multi-database environment."
msgid "Make sure that the :abbr:`IoT (Internet of Things)` box and the computer running the browser are located on the same network, as the :abbr:`IoT (Internet of Things)` box cannot be reached from outside the local network."
msgid "In order to generate a :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate, an IoT box subscription is required for the :abbr:`IoT (Internet of Things)` box. Connecting the :abbr:`IoT (Internet of Things)` box prior to configuring an :abbr:`IoT (Internet of Things)` subscription for the database and :abbr:`IoT (Internet of Things)` box with the Account Manager will result in an unsecured connection."
msgid "In addition, a firewall can also prevent the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate from generating correctly. In this case, deactivate the firewall until the certificate is successfully generated. It should also be noted that certain devices, such as a router that has a built-in firewall, can prevent the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate from generating."
msgid "If a printer does not appear in the devices list, go to the :abbr:`IoT (Internet of Things)` box homepage and make sure that it is listed under :guilabel:`Printers`."
msgid "If the printer is not present on the :abbr:`IoT (Internet of Things)` box homepage, click :guilabel:`Printers Server`, go to the :guilabel:`Administration` tab and click on :guilabel:`Add Printer`. If the printer is not present in the list, it is likely not connected properly."
msgid "For most printers, the correct driver should be automatically detected and selected. However, in some cases, the automatic detection mechanism might not be enough, and if no driver is found, the printer might print random characters."
msgid "The solution is to manually select the corresponding driver. On the :abbr:`IoT (Internet of Things)` box homepage, click on :guilabel:`Printers Server`, go to the :guilabel:`Printers` tab and select the printer in the list. In the :guilabel:`Administration` drop-down menu, click on :guilabel:`Modify Printer`. Follow the steps and select the *make* and *model* corresponding to the printer."
msgid "If the printer is not recognized correctly by Odoo and the :abbr:`IoT (Internet of Things)` box, go to the form view of the device (:menuselection:`IoT App --> Devices -->Printer Device`) and change the subtype. The three options available are: :guilabel:`Receipt Printer`, :guilabel:`Label Printer`, and :guilabel:`Office Printer`."
msgid "Most Epson printers support printing receipts in Odoo :abbr:`POS (Point of Sale)` using the `GS v 0` command. However, the following Epson printer models do not support this command:"
msgid "If the printer is not compatible with the `ESC *` command then the following process is not possible. Should the printer be compatible to use the `ESC *` command to print, follow this process to configure the printer with the :abbr:`IoT (Internet of Things)` box."
msgid "To configure the :abbr:`IoT (Internet of Things)` box to use the `ESC *` command to print, go to the :abbr:`IoT (Internet of Things)` box homepage by navigating to :menuselection:`IoT app --> IoT Boxes`. Then click on the :guilabel:`IP address` and this will direct to the :abbr:`IoT (Internet of Things)` box homepage."
msgid "Now click on the :guilabel:`Printers server` button. This will redirect the browser to the *CUPS* page. Next, go to :menuselection:`Administration --> Printers --> Add Printer`, choose the printer that should be modified, and then click :guilabel:`Continue`."
msgid "`CUPS` will prompt the administrator for three pieces of information: the :guilabel:`Name`, :guilabel:`Description` and the :guilabel:`Location`. The last two pieces of information do not need to be specific, however, the :guilabel:`Name` should follow a particular convention to work with the `ESC *` command."
msgid "Visit `Epson's ESC * documentation <https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88>`_ and click on the printer model printer in the table above to see if the printer should set these parameters."
msgid "After setting the name of the printer with the appropriate naming convention, click :guilabel:`Continue`. Next, set the :guilabel:`Make` value to :guilabel:`Raw` and for the :guilabel:`Model` value, set this to :guilabel:`Raw Queue (en)`."
msgid "At this point the printer should have been created, now the :abbr:`IoT (Internet of Things)` box just needs to detect it and then sync to Odoo's server (this could take a few minutes)."
msgid "Once the printer is visible on the Odoo database, do not forget to choose it in the :abbr:`PoS (Point of Sale)`configuration as the :abbr:`IoT (Internet of Things)` printer. Navigate to :menuselection:`Pos App --> Settings --> Connected Devices --> IoT Box --> Receipt Printer --> Save`."
msgid "If the printer was set up incorrectly (it is still printing random text or the printed receipt is too big or small), then it cannot be modified via the printer name with *CUPS*. Instead, the above process can be repeated to set up another printer from scratch to create one with modified parameters."
msgid "The following is an example of the troubleshooting process for a TM-U220B printer model using the `ESC *` command. The receipt pictured below is an example of a receipt that is printing correctly due to proper formatting (in theory):"
msgid "Trying to print this receipt right-away prior to the proper formatting will not work as the TM-U220B printer model does not support `GS v 0`. Instead random characters will print:"
msgid "After consulting Epson's website for compatibility for both of the commands: `GS v 0 <https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=94>`_ and `ESC * <https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88>`_, it can be seen that indeed the TM-U220B is not compatible with `GS v 0`, but is compatible with `ESC *`."
msgid "In this case, the printer is connected via :abbr:`USB (Universal Serial Bus)` so it won' be part of the :guilabel:`Discovered Network Printers`. Instead it is likely part of the :guilabel:`Unknown` selection under :guilabel:`Local Printers`. By unplugging the printer's :abbr:`USB (Universal Serial Bus)` cable from the :abbr:`IoT (Internet of Things)` box and refreshing the page, the :guilabel:`Unknown` printer disappears. By plugging it back in, the printer reappears, so it can be said that this is the printer in question."
msgid "For the naming convention, since it needs to print using the `ESC *` command, it is imperative to add `__IMC`. Reference the printer model on `Epson's ESC * site <https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88>`_ to find out more about the *density* parameters."
msgid "For this particular model, TM-U220, `m` should be equal to 0 or 1. While referencing the :guilabel:`Description` below the pink box in the above picture, the `m` values could be 0, 1, 32 or 33. So in this printers case, the `m` value can NOT be 32 or 33 (otherwise there will be random characters printed)."
msgid "The table includes the numeric values: 32 and 33, they both occur if the :guilabel:`Number of bits for vertical data` is set to 24. This means that is a *High Vertical Density*. In the case of configuring the Epson TM-U220, the *Low Vertical Density* will need to be forced, as this printer model does not support *High Vertical Density* for this command `ESC *`."
msgid "Click :guilabel:`Continue` to proceed. Next, set the :guilabel:`Make` value to :guilabel:`Raw` and for the :guilabel:`Model` value, set this to :guilabel:`Raw Queue (en)`."
msgid "However, when trying to print with the naming convention: `EpsonTMU220B__IMC_LDV__`, it prints the receipt, but it is too big and outside the margin. To resolve this, add a new printer (and naming convention) with the `SCALE<X>` parameter to adapt to our receipt size."
msgid "The DYMO LabelWriter has a known issue in printing with the :abbr:`IoT (Internet of Things)` box. The OpenPrinting CUPS server installs the printer using :guilabel:`Local RAW Printer` drivers. In order to print anything, the correct :guilabel:`Make and Model` needs to be set, so the correct driver is referenced when using the device."
msgid "The DYMO LabelWriter 450 DUO printer is the recommended DYMO printer for use with Odoo and the :abbr:`IoT (Internet of Things)` box. It **must** already be connected to, and recognized on, the :abbr:`IoT (Internet of Things)` box."
msgid "The DYMO LabelWriter 450 DUO printer contains two printers in one: a label printer and a tape printer. Choosing the correct model (either DYMO LabelWriter 450 DUO Label (en) or DYMO LabelWriter 450 DUO Tape (en)) is crucial when configuring the following processes."
msgid "To keep things consistent, both of the following processes detail the configuration for the DYMO LabelWriter 450 DUO Label (en) model. Change the model when needed."
msgid "First, open the OpenPrinting CUPS console by clicking :menuselection:`Printers server` at the bottom of the :abbr:`IoT (Internet of Things)` box homepage. Next, click on :menuselection:`Printers` in the top menu. Click into the printer in question, and select :guilabel:`Maintenance` in the first drop-down menu. Then, select :guilabel:`Modify Printer` in the second drop-down menu."
msgid "On the following page, set the :guilabel:`Model` to :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used). Click on :guilabel:`Modify Printer` to complete setting the new driver, a confirmation page will appear."
msgid "After being redirected to a confirmation page, acknowledging a successful update, click on the :menuselection:`Printers` button in the top menu."
msgid "All the printers installed on the OpenPrinting CUPS server appear, including the newly updated: :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used). Click into the printer that was just updated."
msgid "To print a test label, click on the :guilabel:`Maintenance` drop-down menu to the left of the :guilabel:`Administration` drop-down menu, and select :guilabel:`Print Test Page`. The test label will print out with a ten-second delay if the driver update was successful."
msgid "To resolve the delay issue after modifying the driver, the printer **must** be reinstalled. To reinstall the printer, open the OpenPrinting CUPS administration page by clicking :menuselection:`Printers server`, at the bottom of the :abbr:`IoT (Internet of Things)` box homepage. Then, click on :menuselection:`Administration` in the top menu, then click :guilabel:`Add a Printer`."
msgid "If the DYMO LabelWriter 450 DUO printer is not printing at all, or is not recognizable (has a RAW driver type), then update the drivers on the device. See :ref:`troubleshooting/dymo/update_drivers`."
msgid "On the next screen, in the :guilabel:`Local Printers` section, select the :guilabel:`DYMO LabelWriter 450 DUO Label (DYMO LabelWriter 450 DUO Label)` (or whichever DYMO printer model is being used) pre-installed printer. Click :guilabel:`Continue`."
msgid "On the following screen, modify the :guilabel:`Name` to something recognizable, as the original printer will still be present. Click :guilabel:`Continue` to be taken to the next screen."
msgid "Next, choose the :guilabel:`Model`. Select :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used), and finally, click :guilabel:`Add Printer` to complete the installation."
msgid "After being redirected to a confirmation page, acknowledging a successful installation, click on the :menuselection:`Printers` button in the top menu."
msgid "All the printers installed on the OpenPrinting CUPS server appear, including the newly installed: :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used). Click into the printer that was just installed."
msgid "To print a test label, click on the :guilabel:`Maintenance` drop-down menu to the left of the :guilabel:`Administration` drop-down menu, and select :guilabel:`Print Test Page`. The test label should print out immediately (one-to-two seconds delay)."
msgid "Zebra printers are quite sensitive to the format of the Zebra Programming Language (ZPL) code that is printed. If nothing comes out of the printer or blank labels are printed, try changing the format of the report that is sent to the printer by accessing :menuselection:`Settings --> Technical --> User Interface --> Views` in :ref:`developer mode <developer-mode>` and look for the corresponding template."
msgid "By default, most barcode scanners are configured in the US QWERTY format. If the barcode scanner uses a different layout, go to the form view of the device (:menuselection:`IoT App --> Devices --> Barcode Device`) and select the correct format."
msgid "Make sure that the correct device is selected in the :menuselection:`Point of Sale` configuration and that the barcode is configured to send an `ENTER` character (keycode 28) at the end of every barcode. To do so, navigate to :menuselection:`PoS app --> 3-Dot Menu on the PoS --> IoT Box section --> Edit`."
msgid "Some barcode scanners do not advertise themselves as barcode scanners but as a USB keyboard instead, and will not be recognized by the :abbr:`IoT (Internet of Things)` box."
msgid "The device type can be manually changed by going to its form view (:menuselection:`IoT App --> Devices --> Barcode Device`) and activating the :guilabel:`Is scanner` option."
msgid "When accessing the mobile version of Odoo from a mobile device, or tablet, paired with a barcode scanner, via the :abbr:`IoT (Internet of Things)` box, the scanner may process each barcode character as an individual scan. In this case, the *Keyboard Layout* option **must** be filled out with the appropriate language of the barcode scanner on the *Barcode Scanner* form page."
msgid "The :guilabel:`Keyboard Layout` is language based, and the options available vary, depending on the device and the language of the database. For example: :guilabel:`English (UK)`, :guilabel:`English (US)`, etc."
msgid "The cash drawer should be connected to the printer and the :guilabel:`Cash drawer` checkbox should be ticked in the :abbr:`PoS (Point of Sale)` configuration. To do so, navigate to :menuselection:`POS app --> 3-Dot Menu on the POS --> IoT Box section --> Edit --> Receipt Printer --> Cashdrawer checkbox`."
msgid "Odoo has determined that a specific setting in Ariva S series scales (manufactured by Mettler-Toledo, LLC.) needs modification, and a dedicated Mettler :abbr:`USB (Universal Serial Bus)`-to-proprietary RJ45 cable is required for the scale to function with Odoo's :abbr:`IoT (Internet of Things)` box."
msgid "To correctly configure the scale for recognition by the :abbr:`IoT (Internet of Things)` box, follow this setup process for the Ariva S series scales."
msgid "The Mettler part number is 72256236 - :abbr:`USB (Universal Serial Bus)`-to-:abbr:`POS (Point of Sale)` cable. Contact Mettler, or a partner, to purchase an authentic cable. Note that **no other** cable outside of this Mettler cable works for this configuration. Using a serial-only cable attached to a serial-to-:abbr:`USB (Universal Serial Bus)` adapter is **not** effective."
msgid "Refer to Mettler's Setup Guide for Ariva S series scales during the following configuration: `Ariva Checkout Scale User's Guide <https://www.mt.com/dam/RET_DOCS/Ariv.pdf>`_."
msgid "Follow the instructions, along with the following process, to set the scale to setup mode. First, hold the **>T<** button for eight seconds, or until :guilabel:`CONF` appears."
msgid "Under :guilabel:`3.1`, ensure the setting is set to :guilabel:`1` (USB Virtual COM ports). Press **>T<** to cycle through the options under group 3.1."
msgid "Once :guilabel:`3.1` is set to :guilabel:`1`, press **>0<** to confirm the selection. Continue to press **>0<** until :guilabel:`GRP 4` appears."
msgid "Finally, restart the :abbr:`IoT (Internet of Things)` box to recognize the changes made on the scale's configuration. After restarting, the scale appears as `Toledo 8217`, as opposed to the previous display, where it appeared as `Adam Equipment Serial`."
msgid "Due to the complexity of the :abbr:`IoT (Internet of Things)` box, and virtual Windows :abbr:`IoT (Internet of Things)` box, the term 'updating' can mean several different things."
msgid "The actual drivers can be updated, the core code on the :abbr:`IoT (Internet of Things)` box can be updated, or a new image can be flashed (using a physical :abbr:`IoT (Internet of Things)` box)."
msgid "This document explores the various ways to update :abbr:`IoT (Internet of Things)` boxes to ensure smooth operation of :abbr:`IoT (Internet of Things)` box processes and devices."
msgid "To update the Windows :abbr:`IoT (Internet of Things)`, first, uninstall the previous version of the Odoo Windows program, and then reinstall it using the most up-to-date installation package."
msgid "To begin the installation, navigate to the Odoo 16 (or higher) installation package for Enterprise or Community - Windows edition, at `Odoo's download page <https://odoo.com/download>`_."
msgid "In some circumstances, the :abbr:`IoT (Internet of Things)` box's micro SD Card may need to be re-flashed with *Etcher* software to benefit from Odoo's latest :abbr:`IoT (Internet of Things)` image update. This means the Odoo :abbr:`IoT (Internet of Things)` box software may need to be updated in instances of a new :abbr:`IoT (Internet of Things)` box, or when a handler's update, or an update from the :abbr:`IoT (Internet of Things)` box home page, does not resolve issues."
msgid "First, begin by downloading `Etcher <https://www.balena.io/etcher#download-etcher>`_. It is a free, open-source utility, used for burning image files onto drives. After the download completes, install and launch the program on the computer."
msgid "Then, download the latest :abbr:`IoT (Internet of Things)` image from `nightly <http://nightly.odoo.com/master/iotbox>`_, which will be labeled as `iotbox-latest.zip`. This particular image is compatible with *all* supported versions of Odoo."
msgid "After this step is complete, insert the :abbr:`IoT (Internet of Things)` box's micro SD card into the computer or reader. Open *Etcher*, and select :guilabel:`Flash from file`, then find and select the `iotbox-latest.zip` image and extract it. Next, select the drive the image should be burned to."
msgid "Balena's *Etcher* software also allows for the administrator to flash the :abbr:`SD (Secure Digital)` card from a :abbr:`URL (Uniform Resource Locator)`. To flash from a :abbr:`URL (Uniform Resource Locator)`, simply click :guilabel:`Flash from URL`, instead of :guilabel:`Flash from file`."
msgid "The following processes cover the :ref:`uninstallation <iot/config/uninstall-windows-iot>` and :ref:`re-installation <iot/config/re-install-windows-iot>` of the Windows virtual :abbr:`IoT (Internet of Things)` box."
msgid "Before uninstalling a previous version of the Windows virtual :abbr:`IoT (Internet of Things)` box, ensure that there is a newer version of Windows virtual :abbr:`IoT (Internet of Things)` box available, compared to the version currently installed. To do so, navigate to the `Odoo Nightly builds <https://nightly.odoo.com/>`_ page."
msgid "On the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds (stable version) --> windows/` to view the date next to the :file:`odoo_(version).latest.exe` file; where *(version)* is equal to the version of Odoo (e.g. 16.0, 17.0). The latest version of the Windows virtual :abbr:`IoT (Internet of Things)` box can be downloaded by selecting this file, or it is always available at the `Odoo Download <https://odoo.com/download/>`_ page."
msgid "On any version of Windows, search for `program` to open the :menuselection:`Programs --> Programs and Features` section of the :guilabel:`Control Panel`. Then, select :guilabel:`Uninstall or change a program`. Next, search for `Odoo`, and click the :guilabel:`... (three dot)` menu on the :guilabel:`Odoo.exe` program to uninstall."
msgid "The latest version of the Windows virtual :abbr:`IoT (Internet of Things)` box can be downloaded from the `Odoo Nightly builds <https://nightly.odoo.com/>`_ page or it is always available at the `Odoo Download <https://odoo.com/download/>`_ page."
msgid "To download from the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds (stable version) --> windows/` to and select the :file:`odoo_(version).latest.exe` file; where *(version)* is equal to the version of Odoo (e.g. 16.0, 17.0)."
msgid "To download from the :guilabel:`Odoo Download` page, find the section for the version of Odoo (e.g. 16.0, 17.0), and select the :guilabel:`Download` button for :guilabel:`Windows`."
msgid "Next, install and setup the downloaded Odoo :file:`.exe` file. After the instructions screen, click :guilabel:`Next` to start the installation, and agree to the :abbr:`TOS (Terms of Service)`."
msgid "Choosing `C:\\\\odoo` as the install location allows for the *Nginx* server to start. Odoo's Windows virtual :abbr:`IoT (Internet of Things)` box software should **not** be installed inside any of the Windows user's directories. Doing so does **not** allow for *Nginx* to initialize."
msgid "Then, ensure that the :guilabel:`Start Odoo` box is checked, and click :guilabel:`Finish`. After installation, the Odoo server runs, and automatically opens `http://localhost:8069` on a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage."
msgid "In the background, the :abbr:`IoT (Internet of Things)` box uses a version of Odoo code to run and connect to the Odoo database. This code may need to be updated in order for the :abbr:`IoT (Internet of Things)` box to operate effectively. This operation should be completed on a routine basis, to ensure the :abbr:`IoT (Internet of Things)` system, and its processes, stay up-to-date."
msgid "Go to the :abbr:`IoT (Internet of Things)` box home page by navigating to :menuselection:`IoT app --> IoT Boxes`, and clicking on the :guilabel:`IP address` of the :abbr:`IoT (Internet of Things)` box. Then, click on :guilabel:`Update` (next to the version number)."
msgid "If a new version of the :abbr:`IoT (Internet of Things)` box image is available, an :guilabel:`Upgrade to _xx.xx_` button appears at the bottom of the page. Click this button to upgrade the unit, at which point the :abbr:`IoT (Internet of Things)` box flashes itself to the newer version. All of the previous configurations are then saved."
msgid "This process can take more than 30 minutes. Do **not** turn off, or unplug, the :abbr:`IoT (Internet of Things)` box, as it would leave it in an inconsistent state. This means the :abbr:`IoT (Internet of Things)` box needs to be :ref:`re-flashed <iot/config/flash>` with a new image."
msgid "There may be some instances where drivers or interfaces need to be updated for individual devices (e.g. scales, measurement tools, etc.). The IoT handler's (drivers and interfaces) code can be modified by syncing them with the configured server handler's code."
msgid "This can be helpful in instances where :abbr:`IoT (Internet of Things)` devices (e.g. scales, measurement tools, etc.) are not working properly with the :abbr:`IoT (Internet of Things)` box."
msgid "For both the Windows :abbr:`IoT (Internet of Things)` (Odoo 16 and higher) and physical :abbr:`IoT (Internet of Things)` box, this process can be performed manually from the :abbr:`IoT (Internet of Things)` box home page. Go to the :abbr:`IoT (Internet of Things)` box home page by navigating to :menuselection:`IoT app --> IoT Boxes`, and clicking on the :guilabel:`IP address` of the :abbr:`IoT (Internet of Things)` box."
msgid "A handler update is also performed automatically each time the :abbr:`IoT (Internet of Things)` box is restarted. The only exception to this process is if the *Automatic drivers update* is unchecked in the form view of the :abbr:`IoT (Internet of Things)` box on the Odoo server. This setting can be reached by going to :menuselection:`IoT App --> Select the IoT box --> Automatic drivers update`."
msgid "A Virtual IoT box is a computer program that needs to be downloaded and installed on a Windows computer. This requires a Windows operating system with an Odoo 16 or later database."
msgid "The Windows virtual :abbr:`IoT (Internet of Things)` box works the same way as a physical :abbr:`IoT (Internet of Things)` box, with the ability to run most of the same devices. All :abbr:`POS (Point of Sale)` devices work with it, such as a scale or printer. Payment terminals will also work, but it should be noted that :abbr:`MRP (Material Requirement Planning)` devices are not compatible. *These include cameras or measurement tools.*"
msgid "Odoo recommends using an updated, recent version of Windows (Windows 10/11) as some older operating systems can cause the Windows virtual :abbr:`IoT (Internet of Things)` to not work."
msgid "The Windows virtual IoT box is simple to setup in just a few easy steps. Follow this process when installing the Windows virtual IoT software for the first time."
msgid "To begin the installation, navigate to the Odoo 16 or higher installation package for Community - Windows edition at `Odoo's download page <https://odoo.com/download>`_. Next, install and setup the Odoo :file:`.exe` file. After the instructions screen, click :guilabel:`Next` to start the installation and agree to the :abbr:`TOS (Terms of Service)`."
msgid "Choosing ``C:\\odoo`` as the install location will allow for the Nginx server to start. If the folder doesn't exist, then create it. Otherwise the installation files will be spread throughout the hard drive."
msgid "Odoo's Windows virtual IoT software should not be installed inside any of the Window's User's directories. Doing so will not allow for Nginx to initialize."
msgid "Ensure that the :guilabel:`Start Odoo` box is checked and click :guilabel:`Finish`. After installation, the Odoo server will run and automatically open `http://localhost:8069` on a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage."
msgid "Next, connect the :abbr:`IoT (Internet of Things)` devices to the Windows computer. Windows should automatically detect the device because the driver is pre-installed on the computer. If not, search for and install the Windows driver for the device."
msgid "Most devices connect to the Windows Machine for Windows IoT automatically through Windows Plug-N-Play (PnP). However, if Windows does not automatically recognize the device after connecting, then the administrator may need to install the corresponding drivers manually."
msgid "Measurement devices (although some configuration of the measurement device settings is required) See this documentation: :doc:`../devices/measurement_tool`"
msgid "Reference the manufacturer's website for the equipment in question. Then, download the drivers and install them on the Windows machine. Reconnect the device in question and Windows will find the device."
msgid "Following connecting devices to the computer, refresh the :abbr:`IoT (Internet of Things)` box homepage and verify the device is seen. If not, reload the handlers through the :abbr:`IoT (Internet of Things)` box homepage."
msgid "In some instances a manual restart of the physical :abbr:`IoT (Internet of Things)` box can resolve the issue of an :abbr:`IoT (Internet of Things)` box not showing up on the database. For the Windows virtual :abbr:`IoT (Internet of Things)` box a manual restart of the Odoo server can resolve database connection issues."
msgid "Firewalls keep devices safe and secure. Sometimes they can block connections that should be made though. The Windows virtual :abbr:`IoT (Internet of Things)` box software may not be reachable to the :abbr:`LAN (Local Area Network)` due to a firewall preventing the connection. Consult your local IT support team to make exceptions (network discovery) in the :abbr:`OS (Operating System)` or firewall program. Windows has their own firewall as do other virus protection programs."
msgid "A client might encounter a time when they are able to reach the homepage of the :abbr:`IoT (Internet of Things)` box, yet they cannot access it from another computer/mobile device/tablet on the same network."
msgid "It is possible to allow other devices to access the Windows virtual :abbr:`IoT (Internet of Things)` box while keeping the firewall on. This is done by creating a rule on *Windows Defender* and allowing communication through port `8069`. The following process describes the steps to take in order to make this exception."
msgid "First, open the *Windows Firewall* by navigating to the :menuselection:`Start Menu` and typing in `Firewall`. Then, open the :menuselection:`Windows Defender Firewall` program. In the left-hand menu, navigate to :guilabel:`Advanced Settings`."
msgid "Once :guilabel:`Advanced Settings` have been selected, click :guilabel:`Inbound Rules` in the left-hand menu. Then, in the right-hand menu column (under :guilabel:`Inbound Rules`), click on :guilabel:`New Rule` to create a new rule."
msgid "On the :menuselection:`Rule Type` screen, select :guilabel:`Port`. Then click :guilabel:`Next`. From the :menuselection:`Protocol and Ports` page leave the rule application to :guilabel:`TCP`. Then, select :guilabel:`Specific Local Ports` for the :guilabel:`ports` option. In the text box, type in `8069, 443`. Finally, click :guilabel:`Next` to continue to the next step."
msgid "On the :menuselection:`Actions` page, select :guilabel:`Allow the connection` and click :guilabel:`Next`. The following page on the :menuselection:`Rule Configuration` wizard is the :guilabel:`Profile` page. On this page, select whichever connection type applies to the network the Windows machine is operating on. Ideally, select :guilabel:`Private` only connections. The *Private* connection type is the most secure connection while allowing the selected port to communicate. Click :guilabel:`Next` to continue."
msgid "Finally, assign a new, unique name to the rule. For example, this name can be `Odoo`. Optionally, add a brief description in the :guilabel:`Description` field. Click :guilabel:`Finish` to complete the :guilabel:`Rule Configuration` wizard. Now, the new rule is active and devices can connect to the Windows virtual :abbr:`IoT (Internet of Things)` box."
msgid "*Worldline* is a payment terminal that can be connected to Odoo's *PoS* (point of sale) system. It allows for a comprehensive and fluid payment experience for customers. Worldline is available in Belgium, the Netherlands, and Luxembourg."
msgid "When using the Windows IoT server to connect the Worldline payment terminal, it is necessary to create an exception in the Windows firewall so that a connection can be made between the Odoo database/:abbr:`IoT (Internet of Things)` box and Worldline."
msgid "To create the exception, first, open the *Windows Defender Firewall* app on the Windows machine. This can be accomplished by typing `windows defender` in the :guilabel:`Search` bar."
msgid "Then, for the :guilabel:`Rule Type`, select the radio button for :guilabel:`Port`. Click :guilabel:`Next` to continue to the rest of the configuration."
msgid "On the :guilabel:`Protocols and Ports` page, choose the radio button for :guilabel:`TCP`, under :guilabel:`Does this rule apply to TCP or UDP?`."
msgid "Next, under :guilabel:`Does this rule apply to all local ports or specific ports?`, select the radio button for :guilabel:`Specific local ports`. Then, enter `9050`, and click :guilabel:`Next` to continue."
msgid "The next screen is the :guilabel:`Action` page. Under :guilabel:`What action should be taken when a connection matches the specified conditions?`, choose the radio button for :guilabel:`Allow the connection`. Then, click :guilabel:`Next` to continue."
msgid "A :guilabel:`Profile` page appears. Under :guilabel:`When does this rule apply?`, leave the three boxes checked for: :guilabel:`Domain`, :guilabel:`Private`, and :guilabel:`Public`. Click :guilabel:`Next` to continue to the naming convention page."
msgid "On the :guilabel:`Name` page, enter `Odoo Worldline`, under the :guilabel:`Name` field. Enter a :guilabel:`Description (optional)`. Finally, once ready, click :guilabel:`Finish`."
msgid "Uninstalling the Windows virtual :abbr:`IoT (Internet of Things)` box is done through the Windows program manager. Using any Windows version, search for `program`. Then, select :guilabel:`Add or Remove Programs` located in the control panel. Search for `Odoo` and click the :guilabel:`three dot menu` to uninstall."
msgid "A camera can be connected to an :abbr:`IoT (Internet of Things)` box with an Odoo database in just a few steps. Once a camera is connected to an :abbr:`IoT (Internet of Things)` box, it can be used in a manufacturing process, or it can be linked to a quality control point/quality check. Doing so allows for the taking of pictures when a chosen quality control point/check has been reached, or when a specific key is pressed during manufacturing."
msgid "To connect a camera to an :abbr:`IoT (Internet of Things)` box, simply connect the two via cable. This is usually done with a :abbr:`USB (Universal Serial Bus)` cable of some sort."
msgid "If the camera is `supported <https://www.odoo.com/page/iot-hardware>`_, there is no need to set up anything, as it'll be detected as soon as it's connected."
msgid "In the :menuselection:`Quality app`, a device can be set up on a :guilabel:`Quality Control Point`. To do that, navigate to the :menuselection:`Quality app --> Quality Control --> Control Points` and open the desired :guilabel:`Control Point` that'll be linked to the camera."
msgid "On the control point form, edit the control point by selecting the :guilabel:`Type` field, and clicking on :guilabel:`Take a Picture` from the drop-down menu. Doing so reveals a field called :guilabel:`Device`, wherein the attached *device* can be selected. :guilabel:`Save` the changes, if required."
msgid "The camera is now useable with the selected quality control point. When the quality control point is reached during the manufacturing process, the database prompts the operator to take a picture."
msgid "Quality control points can also be accessed by navigating to :menuselection:`IoT App --> Devices`. From here, select the device. There is a :guilabel:`Quality Control Points` tab, where they can be added with the device."
msgid "On a quality check form, the :guilabel:`Type` of check can also be specified to :guilabel:`Take a Picture`. Navigate to :menuselection:`Quality app --> Quality Control --> Quality Checks --> New` to create a new quality check from the :guilabel:`Quality Checks` page."
msgid "To link a camera to an action, it first needs to be configured on a work center. Navigate to :menuselection:`Manufacturing app --> Configuration --> Work Centers`. Next, go to the desired :guilabel:`Work Center` in which a camera will be used to reveal that specific work center's detail form. From here, add the device in the :guilabel:`IoT Triggers` tab, in the :guilabel:`Device` column, by clicking :guilabel:`Add a Line`."
msgid "Now, the camera device can be linked to the :guilabel:`Action` column drop-down option labeled :guilabel:`Take a Picture`. A key can also be added to trigger the action."
msgid "When working in a manufacturing environment, it's always better for an operator to have both hands available at all times. Odoo's :abbr:`IoT (Internet of Things)` box makes this possible when using a footswitch."
msgid "In fact, with a footswitch, the operator is able to go from one screen to another, and perform actions using their foot. This can be configured in just a few steps on the work center in the *Manufacturing* app."
msgid "To connect a footswitch to the :abbr:`IoT (Internet of Things)` box, connect the two devices via cable. More often than not, this is done with a :abbr:`USB (Universal Serial Bus)` cable."
msgid "If the footswitch is a `supported device <https://www.odoo.com/page/iot-hardware>`_, there is no need to take further action, since it'll be automatically detected when connected."
msgid "To link a footswitch to an action, it first needs to be configured on a work center. Navigate to :menuselection:`Manufacturing app --> Configuration --> Work Centers`. From here, go to the desired :guilabel:`Work Center` in which the footswitch will be used, and add the device in the :guilabel:`IoT Triggers` tab, under the :guilabel:`Device` column, by selecting :guilabel:`Add a Line`. Doing so means the footswitch can be linked to an option in the :guilabel:`Action` column drop-down, and optionally, a key can be added to trigger it. An example of an :guilabel:`Action` in the *Manufacturing app* could be the :guilabel:`Validate` or :guilabel:`Mark as Done` buttons on a manufacturing work order."
msgid "It should be noted that the first listed trigger is chosen first. So, the order matters, and these triggers can be dragged into any order. In the picture above, using the footswitch automatically skips the part of the process that's currently being worked on."
msgid "With Odoo's :abbr:`IoT (Internet of Things)` box, it is possible to connect measurement tools to the Odoo database for use in the *Quality app* on a quality control point/quality check, or for use in a work center during the manufacturing process."
msgid "To add a device connected by :abbr:`USB (Universal Serial Bus)`, plug the :abbr:`USB (Universal Serial Bus)` cable into the :abbr:`IoT (Internet of Things)` box, and the device appears in the Odoo database."
msgid "Activate the Bluetooth functionality on the device (see the device manual for further explanation), and the :abbr:`IoT (Internet of Things)` box automatically connects to the device."
msgid "In the *Quality app*, a device can be set up on a quality control point. To do that, navigate to :menuselection:`Quality app --> Quality Control --> Control Points`, and open the desired control point to which the measurement tool should be linked."
msgid "From here, edit the control point, by selecting the :guilabel:`Type` field, and clicking :guilabel:`Measure` from the drop-down menu. Doing so reveals a field called :guilabel:`Device`, where the attached device can be selected."
msgid "At this point, the measurement tool is linked to the chosen quality control point. The value, which usually needs to be changed manually, is automatically updated while the tool is being used."
msgid "Quality control points can also be accessed by navigating to :menuselection:`IoT App --> Devices`, then select the device. There is a :guilabel:`Quality Control Points` tab, where they can be added with the device."
msgid "On a quality check detail form, the :guilabel:`Type` of check can also be specified to :guilabel:`Measure`. Access a new quality check detail page, by navigating to :menuselection:`Quality app --> Quality Control --> Quality Checks --> New`."
msgid "To link a measurement tool to an action, it first needs to be configured on a work center. To do that, navigate to :menuselection:`Manufacturing app --> Configuration --> Work Centers`. Then, select the desired work center in which the measurement tool will be used."
msgid "On the work center page, add the device in the :guilabel:`IoT Triggers` tab, under the :guilabel:`Device` column, by selecting :guilabel:`Add a Line`. Then, the measurement tool can be linked to the :guilabel:`Action` drop-down menu option labeled :guilabel:`Take Measure`. A key can be added to trigger the action."
msgid "Printer installation can be done in a few easy steps. The printer can be used to print receipts, labels, orders, or even reports from the different Odoo apps. In addition, printer actions can be assigned as an *action on a trigger* during the manufacturing process, or added onto a quality control point or a quality check."
msgid "The |iot| box supports printers connected through |usb|, network connection, or Bluetooth. `Supported printers <https://www.odoo.com/page/iot-hardware>`__ are detected automatically, and appear in the :guilabel:`Devices` list of the *IoT* app."
msgid "In the *Quality app*, a device can be set up on a quality control point. To do that, go to the :menuselection:`Quality app --> Quality Control --> Control Points`, and open the desired control point to which the printer will be linked."
msgid "A *Manufacturing Operation* and *Work Order Operation* need to be attached to a quality control point before the :guilabel:`Type` field allows for the :guilabel:`Print Label` option to be selected."
msgid "From here, edit the control point, by selecting the :guilabel:`Type` field, and selecting :guilabel:`Print Label` from the drop-down menu of options. Doing so reveals a field called :guilabel:`Device`, where the attached *device* can be selected. :guilabel:`Save` the changes, if required."
msgid "The printer can now be used with the selected quality control point. When the quality control point is reached during the manufacturing process, the database presents the option to print labels for a specific product."
msgid "On a quality check detail form, the :guilabel:`Type` of check can also be specified to :guilabel:`Print Label`. To create :doc:`new quality checks <../../../inventory_and_mrp/quality/quality_management/quality_checks>`, navigate to :menuselection:`Quality app --> Quality Control --> Quality Checks --> New`."
msgid "It is possible to link report types to a specific printer. In the *IoT* app, go to the :guilabel:`Devices` menu, and select the desired printer to be configured."
msgid "From here, go to the :guilabel:`Printer Reports` tab, and click :guilabel:`Add a line`. In the window that appears, check all the types of :guilabel:`Reports` that should be linked to this printer."
msgid "Reports can also be configured in the *Technical* menu of the *Settings* app, while in :ref:`debug mode <developer-mode>`. To do that, navigate to :menuselection:`Settings App --> Technical --> Actions: Reports`. From here, select the desired report from the list. Then, an :guilabel:`IoT Device` can be set on the report."
msgid "The first time a linked report is selected to print, a :guilabel:`Select Printers` pop-up window appears. Tick the checkbox next to the correct printer for the report, and click :guilabel:`Print`. At that point, the report is linked to the printer."
msgid "After a printer is linked to print a report, the setting is saved in a browser's cache. This means a user can have different devices saved in their cache for different reports, based on the device they use to access Odoo. It also means different users can have a report automatically printed from different printers, based on their preferences."
msgid "To unlink a report from a printer, navigate to :menuselection:`IoT app --> Clear Selected Devices`. This generates a list of reports that are linked to a printer on the current device. Click the :guilabel:`Unlink` button next to each report to remove the link."
msgid "This step **only** prevents the report from automatically printing to the listed printer from the current browser. The report is still :ref:`linked <iot/link-printer>` on the device, under the :guilabel:`Printer Reports` tab."
msgid "A scale can be connected to the :abbr:`IoT (Internet of Things)` box on an Odoo database in a few easy steps. After setup, the *Point of Sale* app can be used to weigh products, which is helpful if their prices are calculated based on weight."
msgid "In EU member states, `certification is legally required <https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv%3AOJ.L_.2014.096.01.0107.01.ENG>`_ to use a scale as an integrated device."
msgid "Odoo is not certified in several countries, including France, Germany, and Switzerland. If you reside in one of these countries, you can still use a scale but without integration to your Odoo database."
msgid "Alternatively, you have the option to acquire a *non-integrated* certified scale that prints certified labels, which can then be scanned into your Odoo database."
msgid "`Directive 2014/31/EU of the European Parliament <https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv%3AOJ.L_.2014.096.01.0107.01.ENG>`_"
msgid "If the scale is `compatible with Odoo IoT Box <https://www.odoo.com/page/iot-hardware>`_, there is no need to set up anything because it will be automatically detected as soon as it is connected."
msgid "The :abbr:`IoT (Internet of Things)` box may need to be restarted and the scale's drivers may need to be downloaded to the box in some cases. To update the drivers, go to the :abbr:`IoT (Internet of Things)` box homepage and click on :guilabel:`Drivers List`. Then, click on :guilabel:`Load Drivers`."
msgid "If loading the drivers still doesn't allow for the scale to function, it may be that the scale is not compatible with the Odoo :abbr:`IoT (Internet of Things)` box. In this case, a different scale will need to be used."
msgid "To use the scale in the *Point of Sale app*, go to :menuselection:`PoS app --> 3-Dot Menu on the PoS --> Settings`, then enable the :abbr:`IoT (Internet of Things)` box feature. After this is complete, the scale device can be set."
msgid "The scale is now available in all the :abbr:`PoS (Point of Sale)` sessions. Now, if a product has a price per weight set, clicking on it on the :guilabel:`PoS` screen opens the scale screen, where the cashier can weigh the product and add the correct price to the cart."
msgid "In Odoo, an :abbr:`IoT (Internet of Things)` box can be connected to a screen display. After being configured, the screen can be used to display a Point of Sale (PoS) order to a client."
msgid "Access the customer display by going to the :abbr:`IoT (Internet of Things)` box homepage and clicking on the :guilabel:`PoS Display` button. To get to the :abbr:`IoT (Internet of Things)` box homepage, navigate to :menuselection:`IoT app --> IoT Boxes` and click on the :abbr:`IoT (Internet of Things)` box homepage link."
msgid "Connect up to two screens with micro-HDMI cables on the side of the :abbr:`IoT (Internet of Things)` box. If two screens are connected, they can display distinct content (see :ref:`Screen Usage <iot/usage_screen>`)."
msgid "Screen(s) should be connected before the :abbr:`IoT (Internet of Things)` box is switched on. If it is already on, connect the screen(s), and then restart the :abbr:`IoT (Internet of Things)` box by unplugging it for ten seconds and plugging it back into its power source."
msgid "The usage of HDMI/micro-HDMI adapters may cause issues which will result in a blank, black screen on the screen display. Using the specific cable for the display connection is recommended."
msgid "The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of Things)` box homepage. Alternatively, the display can be seen by accessing :menuselection:`IoT app --> Devices`."
msgid "If no screen is detected, a default display named :guilabel:`Distant Display` will be displayed instead. This indicates that there is no hardware screen connected."
msgid "To use the screen in the *Point of Sale app*, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, select a :abbr:`PoS (Point of Sale)`, click :guilabel:`Edit` if necessary, and enable the :guilabel:`IoT Box` feature."
msgid "The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A screen icon will appear in the menu at the top of the screen to indicate the screen's connection status."
msgid "Open the screen form view by accessing :menuselection:`IoT app --> Devices --> Customer Display`. This allows the user to choose a particular website URL to display on the screen using the :guilabel:`Display URL` field."
msgid "In Odoo, multiple companies can exist within a single database. This allows for some data to be shared among companies, while still maintaining some level of separation between entities."
msgid "The list of :ref:`companies an employee has access to <general/employee-access>` in a |mcd| can be found at the top-right of the main Odoo menu bar, where the active company is listed. Click on the company name to reveal a list of all allowed companies. To switch to a different company, click on the company name in the drop-down menu. To enable multiple companies at once, tick the checkbox next to each desired company name."
msgid "An example of a user with access to multiple companies. The current company is My Company (San Francisco), while My Company (Chicago) is also active."
msgid "If more than one company is active at a time, one company is highlighted in purple, and is listed on the menu bar. This is the considered the *current* company."
msgid "Mitchell Admin has multiple companies enabled, but the current company is `My Company (Chicago)`. When he creates a new product record, the :guilabel:`Company` field is left blank by default."
msgid "In an |mcd|, new products are created with the :ref:`Company field <general/active-companies>` blank, by default. If the *Company* field remains blank, the product is shared across all companies."
msgid "Similar to products, contact records are shared across companies, by default. To limit access to a single company, click the :ref:`Company field <general/active-companies>` on a contact form, and select a company to assign the contact to."
msgid "The :ref:`Inter-Company Transactions <general/inter-company>` feature allows for one company in the database to sell or purchase goods and services from another company within the same database. Counterpart documents for orders and invoices can be automatically generated and synchronized, depending on the configuration settings."
msgid "To ensure inter-company transactions are handled appropriately, certain configurations, such as fiscal positions and localizations, need to be accurately assigned. See :ref:`Inter-Company Transactions <general/inter-company>` for additional information."
msgid "Additionally, because both countries have different tax laws and regulations, it is in the best interest of the customer to utilize the multi-company feature."
msgid "This allows for inter-company transactions they need to manage inventory moves across international borders, while making it simple to sell to customers in both countries in their own currency."
msgid "A small furniture company is developing a new line of products that require a separate procurement, inventory, and manufacturing process. The new products are drastically different from the existing catalog. The company is considering utilizing the multi-company feature to treat this new line as a different entity."
msgid "To keep their database from becoming overly complex, the furniture company does not need to add an entirely new company. Instead, they can take advantage of existing features, such as :doc:`analytic accounting <../finance/accounting/reporting/analytic_accounting>`, and multiple warehouses, to manage the new product line, without having to overly complicate transactions."
msgid "A user's access rights are configured on a database level. If a user has access to more than one company in a |mcd|, their access rights are the same across every company."
msgid "Some customizations, specifically for PDF reports, apply to all companies. It is not always possible to separate reports for individual companies."
msgid "Odoo defines a *user* as someone who has access to a database. An administrator can add as many users as the company needs and, in order to restrict the type of information each user can access, rules can be applied to each user. Users and access rights can be added and changed at any point."
msgid "Fill in the form with all the required information. Under the :doc:`Access Rights <users/access_rights>` tab, choose the group within each application the user can have access to."
msgid "After filling out all the necessary fields on the page, manually :guilabel:`Save`. An invitation email is automatically sent to the user, using the email in the :guilabel:`Email Address` field. The user must click on the link included in the email to accept the invitation, and to create a database login."
msgid "If the company is on a monthly subscription plan, the database automatically updates to reflect the added users. If the company is on a yearly or multi-year plan, an expiration banner appears in the database. An upsell quotation can be created by clicking the banner to update the subscription. Alternatively, `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue."
msgid ":guilabel:`User Type` can be selected from the :guilabel:`Access Rights` tab of the user form, accessible via :menuselection:`Settings app --> Users section --> Manage Users`."
msgid "Users are considered internal database users. Portal users are external users, who only have access to the database portal to view records. See the documentation on :doc:`users/portal`."
msgid "The :guilabel:`Portal` and :guilabel:`Public` user options do **not** allow the administrator to choose access rights. These users have specific access rights pre-set (such as, record rules and restricted menus), and usually do not belong to the usual Odoo groups."
msgid "To deactivate (i.e. archive) a user, navigate to :menuselection:`Settings app --> Users section --> Manage Users`. Then, tick the checkbox to the left of the user(s) to be deactivated."
msgid "After selecting the appropriate user to be archived, click the :guilabel:`⚙️ Actions` icon, and select :guilabel:`Archive` from the resulting drop-down menu. Then, click :guilabel:`OK` from the :guilabel:`Confirmation` pop-up window that appears."
msgid "**Never** deactivate the main/administrator user (admin). Making changes to admin users can have a detrimental impact on the database. This includes *impotent admin*, which means that no user in the database can make changes to the access rights. For this reason, Odoo recommends contacting an Odoo Business Analyst, or our Support Team, before making changes."
msgid "Add more users to the subscription by clicking the :guilabel:`Upgrade your subscription` link displayed in the message to validate the upsell quotation, and pay for the extra users."
msgid "If the company is on a monthly subscription plan, the database automatically updates to reflect the added users. If the company is on a yearly or multi-year plan, an expiration banner appears in the database. An upsell quotation can be created by clicking the banner to update the subscription. Alternatively, users can `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue."
msgid "Once the database has the correct number of users, the expiration message disappears automatically after a few days, when the next verification occurs."
msgid "Password management is an important part of granting users autonomous access to the database at all times. Odoo offers a few different methods to reset a user's password."
msgid "Odoo has a setting to specify the length needed for a password. This setting can be accessed by navigating to :menuselection:`Settings app --> Permissions` section, and entering the desired password length in the :guilabel:`Minimum Password Length` field. By default the value is `8`."
msgid "Sometimes, users might wish to reset their personal password for added security, so they are the only ones with access to the password. Odoo offers two different reset options: one initiated by the user to reset the password, and another where the administrator triggers a reset."
msgid "It is possible to enable/disable password resets directly from the login page. This action is completed by the individual user, and this setting is enabled by default."
msgid "To change this setting, go to :menuselection:`Settings app --> Permissions` section, activate :guilabel:`Password Reset`, and then click :guilabel:`Save`."
msgid "Go to :menuselection:`Settings app --> Users & Companies --> Users`, select the user from the list, and click on :guilabel:`Send Password Reset Instructions` on the user form. An email is automatically sent to them with password reset instructions."
msgid "The :guilabel:`Send Password Reset Instructions` button **only** appears if the Odoo invitation email has already been confirmed by the user. Otherwise, a :guilabel:`Re-send Invitation Email` button appears."
msgid "Go to :menuselection:`Settings app --> Users & Companies --> Users`, and select a user to access its form. Click on the :guilabel:`⚙️ Actions` icon, and select :guilabel:`Change Password` from, the resulting drop-down menu. Enter a new password in the :guilabel:`New Password` column of the :guilabel:`Change Password` pop-up window that appears, and confirm the change by clicking :guilabel:`Change Password`."
msgid "If the odoo.com password needs to be changed, use the :ref:`send the password reset instructions <users/reset-password-email>`. Odoo.com passwords grant access to the *My Databases* page, and other portal features."
msgid "After clicking :guilabel:`Change Password`, the page is redirected to an Odoo login page where the database can be re-accessed using the new password."
msgid "The :guilabel:`Multi Companies` field on a user form allows an administrator to provide access to multiple companies for users. To configure a multi-company environment for a user, navigate to the desired user by going to: :menuselection:`Settings app --> Users section --> Manage users`. Then, select the user to open their user form, and configure with multi-company access."
msgid "Under :guilabel:`Multi Companies` in the :guilabel:`Access Rights` tab, set the fields labeled :guilabel:`Allowed Companies` and :guilabel:`Default Company`."
msgid "The :guilabel:`Allowed Companies` field can contain multiple companies. These are the companies the user can access and edit, according to the set access rights. The :guilabel:`Default Company` is the company the user defaults to, upon logging in each time. This field can contain only **one** company."
msgid "If multi-company access is not configured correctly, it could lead to inconsistent multi-company behaviors. Because of this, only experienced Odoo users should make access rights changes to users for databases with a multi-company configuration. For technical explanations, refer to the developer documentation on :doc:`../../../developer/howtos/company`."
msgid "Practically, |2fa| means storing a secret inside an *authenticator*, usually on a mobile phone, and exchanging a code from the authenticator when trying to log in."
msgid "This means an unauthorized user would need to guess the account password *and* have access to the authenticator, which is a more difficult proposition."
msgid "The remainder of this document uses Google Authenticator as an example, as it is one of the most commonly used. This is **not** an endorsement of the product."
msgid "After selecting an authenticator, log in to Odoo, then click the profile avatar in the upper-right corner, and select :guilabel:`My Profile` from the resulting drop-down menu."
msgid "This generates a :guilabel:`Security Control` pop-up window that requires password confirmation to continue. Enter the appropriate password, then click :guilabel:`Confirm Password`. Next, a :guilabel:`Two-Factor Authentication Activation` pop-up window appears, with a |QR|."
msgid "If scanning the screen is not possible (e.g. the setup is being completed on the *same* device as the authenticator application), clicking the provided :guilabel:`Cannot scan it?` link, or copying the secret to manually set up the authenticator, is an alternative."
msgid "On the login page, input the username and password, then click :guilabel:`Log in`. On the :guilabel:`Two-factor Authentication` page, input the code provided by the chosen authenticator in the :guilabel:`Authentication Code` field, then click :guilabel:`Log in`."
msgid "To enforce the use of |2fa| for all users, first navigate to :menuselection:`Main Odoo Dashboard --> Apps`. Remove the :guilabel:`Apps` filter from the :guilabel:`Search...` bar, then search for `2FA by mail`."
msgid "After installation is complete, go to :guilabel:`Settings app: Permissions`. Tick the checkbox labeled, :guilabel:`Enforce two-factor authentication`. Then, use the radio buttons to choose whether to apply this setting to :guilabel:`Employees only`, or :guilabel:`All users`."
msgid "*Access rights* are permissions that determine the content and applications users can access and edit. In Odoo, these permissions can be set for individual users or for groups of users. Limiting permissions to only those who need them ensures that users do not modify or delete anything they should not have access to."
msgid "Making changes to access rights can have a detrimental impact on the database. This includes *impotent admin*, which means that no user in the database can make changes to the access rights. For this reason, Odoo recommends contacting an Odoo Business Analyst, or our Support Team, before making changes."
msgid "A user **must** have the specific *Administration* access rights set on their user profile, in order to make changes on another user's settings for access rights."
msgid "Once at the setting, an already existing administrator **must** change the setting in the :guilabel:`Administration` field to :guilabel:`Access Rights`."
msgid "The access rights for :ref:`individual users <users/add-individual>` are set when the user is added to the database, but they can be adjusted at any point in the user's profile."
msgid "For each app, use the drop-down menu to select what level of permission this user should have. The options vary for each section, yet the most common are: :guilabel:`Blank/None`, :guilabel:`User: Own Documents`, :guilabel:`User: All Documents`, or :guilabel:`Administrator`."
msgid "The :guilabel:`Administration` field in the :guilabel:`Access Rights` tab has the following options: :guilabel:`Settings` or :guilabel:`Access Rights`."
msgid "*Groups* are app-specific sets of permissions that are used to manage common access rights for a large amount of users. Administrators can modify the existing groups in Odoo, or create new ones to define rules for models within an application."
msgid "To create a new group from the :guilabel:`Groups` page, click :guilabel:`Create`. Then, from the blank group form, select an :guilabel:`Application`, and complete the group form (detailed below)."
msgid "To modify existing groups, click on an existing group from the list displayed on the :guilabel:`Groups` page, and edit the contents of the form."
msgid "Enter a :guilabel:`Name` for the group and tick the checkbox next to :guilabel:`Share Group`, if this group was created to set access rights for sharing data with some users."
msgid "The group form contains multiple tabs for managing all elements of the group. In each tab, click :guilabel:`Add a line` to add a new row for users or rules, and click the :guilabel:`❌ (remove)` icon to remove a row."
msgid ":guilabel:`Users` tab: lists the current users in the group. Users listed in black have administrative rights. Users without administrative access appear in blue. Click :guilabel:`Add a line` to add users to this group."
msgid ":guilabel:`Inherited` tab: inherited means that users added to this group are automatically added to the groups listed on this tab. Click :guilabel:`Add a line` to add inherited groups."
msgid "For example, if the group *Sales/Administrator* lists the group *Website/Restricted Editor* in its :guilabel:`Inherited` tab, then any users added to the *Sales/Administrator* group automatically receive access to the *Website/Restricted Editor* group, as well."
msgid ":guilabel:`Access Rights` tab: lists the first level of rights (models) that this group has access rights to. Click :guilabel:`Add a line` to link access rights to this group. In this tab, the :guilabel:`Model` column represents the common name of the menu/model, and the :guilabel:`Name` column represents the technical name given to the model. For each model, enable the following options as appropriate:"
msgid "First try searching for the common name of the model in the drop-down menu of the :guilabel:`Model` column. The :guilabel:`Model` technical name can be found by expanding the model common name, which can be done by clicking the :guilabel:`(external link)` icon."
msgid "On a form, navigate to any field, and hover over the field name. A box of backend information reveals itself with the specific Odoo :guilabel:`Model` name in the backend. This is the technical name of the model that should be added."
msgid ":guilabel:`Record Rules`: lists the second layer of editing and visibility rights. :guilabel:`Record Rules` overwrite, or refine, the group's access rights. Click :guilabel:`Add a line` to add a record rule to this group. For each rule, choose values for the following options:"
msgid "Odoo has a library of preconfigured record rules for ease of use. Users without knowledge of domains (and domain expressions) should consult an Odoo Business Analyst, or the Odoo Support Team, before making changes."
msgid "*Superuser mode* allows the user to bypass record rules and access rights. To activate *Superuser mode*, first, activate :ref:`developer mode <developer-mode>`. Then, navigate to the *debug* menu, represented by a :guilabel:`🪲 (bug)` icon, located in the top banner."
msgid "Only users with *Settings* access for the *Administration* section of the *Access Rights* (in their user profile) are allowed to log in to *Superuser mode*."
msgid "Upon exiting *Superuser mode*, users may be locked out of the database, due to changes that were made. This can cause *impotent admin*, or an administrator without the ability to change access rights/settings."
msgid "In this case contact Odoo Support here: `new help ticket <https://www.odoo.com/help>`_. The support team is able to restore access using a support login."
msgid "To leave *Superuser mode*, log out of the account, by navigating to the upper-right corner, and clicking on the :guilabel:`OdooBot` username. Then, select the :guilabel:`Log out` option."
msgid "An alternative way to activate *Superuser mode* is to login as a superuser. To do that, navigate to the login screen, and enter the appropriate :guilabel:`Email` and :guilabel:`Password`."
msgid "The Microsoft Azure OAuth sign-in authentication is a useful function that allows Odoo users to sign in to their database with their Microsoft Azure account."
msgid "This is particularly helpful if the organization uses Azure Workspace, and wants employees within the organization to connect to Odoo using their Microsoft Accounts."
msgid "Databases hosted on Odoo.com should not use OAuth login for the owner or administrator of the database as it would unlink the database from their Odoo.com account. If OAuth is set up for that user, the database will no longer be able to be duplicated, renamed, or otherwise managed from the Odoo.com portal."
msgid "Click :guilabel:`Create` and on the new/blank form that appears, add the following system parameter `auth_oauth.authorization_header` to the :guilabel:`Key` field, and set the :guilabel:`Value` to `1`. Then click :guilabel:`Save` to finish."
msgid "Now that the system parameters in Odoo have been set up, it's time to create a corresponding application inside of Microsoft Azure. To get started creating the new application, 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 a personal :guilabel:`Microsoft account`."
msgid "Next, navigate to the section labeled :guilabel:`Manage Microsoft Entra ID` (formally *Azure Active Directory*). The location of this link is usually in the center of the page."
msgid "Now, click on the :guilabel:`Add (+)` icon, located in the top menu, and then select :guilabel:`App registration` from the drop-down menu. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` field to `Odoo Login OAuth` or a similarly recognizable title. Under the :guilabel:`Supported account types` section select the option for :guilabel:`Accounts in this organizational directory only (Default Directory only - Single tenant)`."
msgid "The :guilabel:`Supported account types` can vary by Microsoft account type and end use of the OAuth. For example: Is the login meant for internal users within one organization or is it meant for customer portal access? The above configuration is used for internal users in an organization."
msgid "Choose :guilabel:`Personal Microsoft accounts only` if the target audience is meant for portal users. Choose :guilabel:`Accounts in this organizational directory only (Default Directory only - Single tenant)` if the target audience is company users."
msgid "Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input `https://<odoo base url>/auth_oauth/signin` in the :guilabel:`URL` field. The Odoo base :abbr:`URL (Uniform Resource Locator)` is the canonical domain at which your Odoo instance can be reached (e.g. *mydatabase.odoo.com* if you are hosted on Odoo.com) in the :guilabel:`URL` field. Then, click :guilabel:`Register`, and the application is created."
msgid "Edit the new app's authentication by clicking on the :guilabel:`Authentication` menu item in the left menu after being redirected to the application's settings from the previous step."
msgid "Next, the type of *tokens* needed for the OAuth authentication will be chosen. These are not currency tokens but rather authentication tokens that are passed between Microsoft and Odoo. Therefore, there is no cost for these tokens; they are used merely for authentication purposes between two :abbr:`APIs (application programming interfaces)`. Select the tokens that should be issued by the authorization endpoint by scrolling down the screen and check the boxes labeled: :guilabel:`Access tokens (used for implicit flows)` and :guilabel:`ID tokens (used for implicit and hybrid flows)`."
msgid "With the application created and authenticated in the Microsoft Azure console, credentials will be gathered next. To do so, click on the :guilabel:`Overview` menu item in the left-hand column. Select and copy the :guilabel:`Application (client) ID` in the window that appears. Paste this credential to a clipboard / notepad, as this credential will be used in the Odoo configuration later."
msgid "After finishing this step, click on :guilabel:`Endpoints` on the top menu and click the *copy icon* next to :guilabel:`OAuth 2.0 authorization endpoint (v2)` field. Paste this value in the clipboard / notepad."
msgid "Finally, the last step in the Microsoft Azure OAuth configuration is to configure some settings in Odoo. Navigate to :menuselection:`Settings --> Integrations --> OAuth Authentication` and check the box to activate the OAuth login feature. Click :guilabel:`Save` to ensure the progress is saved. Then, sign in to the database once the login screen loads."
msgid "Once again, navigate to :menuselection:`Settings --> Integrations --> OAuth Authentication` and click on :guilabel:`OAuth Providers`. Now, select :guilabel:`New` in the upper-left corner and name the provider `Azure`."
msgid "Paste the :guilabel:`Application (client) ID` from the previous section into the :guilabel:`Client ID` field. After completing this, paste the new :guilabel:`OAuth 2.0 authorization endpoint (v2)` value into the :guilabel:`Authorization URL` field."
msgid "For the :guilabel:`UserInfo URL` field, paste the following :abbr:`URL (Uniform Resource Locator)`: `https://graph.microsoft.com/oidc/userinfo`"
msgid "In the :guilabel:`Scope` field, paste the following value: `openid profile email`. Next, the Windows logo can be used as the CSS class on the login screen by entering the following value: `fa fa-fw fa-windows`, in the :guilabel:`CSS class` field."
msgid "Check the box next to the :guilabel:`Allowed` field to enable the OAuth provider. Finally, add `Microsoft Azure` to the :guilabel:`Login button label` field. This text will appear next to the Windows logo on the login page."
msgid "For a user to log in to Odoo using Microsoft Azure, the user must be on the :menuselection:`Odoo password reset page`. This is the only way that Odoo is able to link the Microsoft Azure account and allow the user to log in."
msgid "Existing users must :ref:`reset their password <users/reset-password>` to access the :menuselection:`Odoo password reset page`. New Odoo users must click the new user invitation link that was sent via email, then click on :guilabel:`Microsoft Azure`. Users should not set a new password."
msgid "To sign in to Odoo for the first time using the Microsoft Azure OAuth provider, navigate to the :menuselection:`Odoo password reset page` (using the new user invitation link). A password reset page should appear. Then, click on the option labeled :guilabel:`Microsoft Azure`. The page will redirect to the Microsoft login page."
msgid "Enter the :guilabel:`Microsoft Email Address` and click :guilabel:`Next`. Follow the process to sign in to the account. Should :abbr:`2FA (Two Factor Authentication)` be turned on, then an extra step may be required."
msgid "Finally, after logging in to the account, the page will redirect to a permissions page where the user will be prompted to :guilabel:`Accept` the conditions that the Odoo application will access their Microsoft information."
msgid "Databases housed on Odoo.com should **not** use OAuth login for the owner or administrator of the database, as it would unlink the database from their Odoo.com account. If OAuth is setup for that user, the database can no longer be duplicated, renamed, or otherwise managed from the Odoo.com portal."
msgid "Go to `Meta for Developers <https://developers.facebook.com/>`_ and log in. Click :guilabel:`My Apps`. On the :guilabel:`Apps` page, click :guilabel:`Create App`."
msgid "On the :guilabel:`Use cases` page, select :guilabel:`Authenticate and request data from users with Facebook Login`, then click :guilabel:`Next`."
msgid "The :guilabel:`App contact email` automatically defaults to the email address associated with the Meta account. If this email address is not regularly monitored, it may be wise to use another email address."
msgid "After the new app is created, the :guilabel:`Dashboard` page appears, with a list of steps to be completed before the app can be published. From here, click :guilabel:`Customize adding a Facebook Login button`."
msgid "In the :guilabel:`Valid OAuth Redirect URIs` field, enter `https://<odoo base url>/auth_oauth/signin`, replacing `<odoo base url>` with the URL of the applicable database."
msgid "If a database has the URL `https://example.odoo.com`, the URL `https://example.odoo.com/auth_oauth/signin` would be entered in the :guilabel:`Valid OAuth Redirect URIs` field."
msgid "At the far left of the page, click :menuselection:`App settings --> Basic`. This page contains additional settings that are required before the app can be submitted for approval."
msgid "After the app is created, and approved, select and copy the :guilabel:`App ID`. Paste this information on a clipboard or notepad file, as it is needed in a later step to complete the setup."
msgid "On the left side of the page, click :guilabel:`Publish`. Depending on the status of the connected Facebook account, additional verification and testing steps may be required, and are listed on this page."
msgid "Additional information regarding Meta App Development, including further details on building, testing, and use cases, can be found in the `Meta for developers documentation <https://developers.facebook.com/docs/development>`_."
msgid "Navigate to the :menuselection:`Settings app`, and scroll down to the :guilabel:`Integrations` section. There, tick the checkbox labeled, :guilabel:`OAuth Authentication`. Click :guilabel:`Save`."
msgid "In the :guilabel:`Client ID` field, enter the :ref:`App ID <users/app-id>` from the previous section, then tick the :guilabel:`Allowed` checkbox."
msgid "This is particularly helpful if the organization uses Google Workspace, and wants employees within the organization to connect to Odoo using their Google Accounts."
msgid "Databases hosted on Odoo.com should not use Oauth login for the owner or administrator of the database as it would unlink the database from their Odoo.com account. If Oauth is set up for that user, the database will no longer be able to be duplicated, renamed or otherwise managed from the Odoo.com portal."
msgid "Make sure the right project is opened. If there isn't a project yet, click on :guilabel:`Create Project`, fill out the project name and other details of the company, and click on :guilabel:`Create`."
msgid "Next, if continuing in testing mode (*External*), add the email addresses being configured under the :guilabel:`Test users` step by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and Continue` button. A summary of the app registration appears."
msgid "In order to achieve this, in the :guilabel:`Authorized redirect URIs` field, enter the database's domain immediately followed by `/auth_oauth/signin`. For example: `https://mydomain.odoo.com/auth_oauth/signin`, then click on :guilabel:`Create`."
msgid "Now that the *OAuth client* has been created, a screen will appear with the :guilabel:`Client ID` and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID` for later, as it will be necessary for the configuration in Odoo, which will be covered in the following steps."
msgid "Once the previous steps are complete, two keys are generated on the Google API Dashboard: :guilabel:`Client ID` and :guilabel:`Client Secret`. Copy the :guilabel:`Client ID`."
msgid "Go back to :menuselection:`General Settings --> Integrations --> OAuth Authentication`, activate the selection and :guilabel:`Save`. Next, return to :menuselection:`General Settings --> Integrations --> Google Authentication` and activate the selection. Then fill out the :guilabel:`Client ID` with the key from the Google API Dashboard, and :guilabel:`Save`."
msgid "Google OAuth2 configuration can also be accessed by clicking on :guilabel:`OAuth Providers` under the :guilabel:`OAuth Authentication` heading in :menuselection:`Integrations`."
msgid "Existing users must :ref:`reset their password <users/reset-password>` to access the :menuselection:`Reset Password` page, while new users can directly click on :guilabel:`Log in with Google`, instead of choosing a new password."
msgid "You select the language of your database upon its creation. However, you can :ref:`add <language/add>` and :ref:`install <language/install>` additional languages to allow users to manage the database in another language or to :doc:`translate <../../websites/website/configuration/translate>` your website."
msgid "either click the profile icon in the upper-right corner, select :menuselection:`My profile`, and click the :icon:`fa-globe` (:guilabel:`globe`) icon next to the :guilabel:`Language` field;"
msgid "To select their preferred language, users can click the profile icon in the upper-right corner, go to :menuselection:`My profile`, and select a :guilabel:`Language` in the dropdown list."
msgid "Go to the :guilabel:`Preferences` tab and select a previously :ref:`installed language <language/add>` from the :guilabel:`Language` dropdown menu."
msgid "In the :guilabel:`Server information` section, enter the server's IP address and port in the :guilabel:`LDAP server address` and :guilabel:`LDAP Server port` fields, respectively."
msgid "In the :guilabel:`Login information` section, enter the ID and password of the account used to query the server in the :guilabel:`LDAP binddn` and :guilabel:`LDAP password` fields, respectively. If the fields are left empty, the server will perform the query anonymously."
msgid "Select the :guilabel:`User template` to be used to create the new user profiles. If no template is selected, the administrator's profile is used."
msgid "When using Microsoft Active Directory (AD) for LDAP authentication, if users experience login issues despite using valid credentials, create a new system parameter to disable referral chasing in the LDAP client:"
msgid "From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not yet created in the database, click on the :guilabel:`Create` button, enter the details of the contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on the :guilabel:`Action` drop-down menu located at the top-center of the interface."
msgid "To grant portal access, first enter the contact's :guilabel:`Email` they will use to log into the portal. Then, check the box under the :guilabel:`In Portal` column. Optionally, add text to the invitation message the contact will receive. Then click :guilabel:`Apply` to finish."
msgid "To grant portal access to multiple users at once, navigate to a company contact, then click :menuselection:`Action --> Grant portal access` to view a list of all of the company's related contacts. Check the box under the :guilabel:`In Portal` column for all the contacts that need portal access, then click :guilabel:`Apply`."
msgid "At any time, portal access can be revoked by navigating to the contact, clicking :menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the :guilabel:`In Portal` column and clicking :guilabel:`Apply`."
msgid "There may be times when a portal user wants to change their user login. This can be done by any user in the database with administrator access rights. The following process outlines the necessary steps to change the portal user login."
msgid "First, navigate to :menuselection:`Settings app --> Users`. Then, under :guilabel:`Filters`, select :guilabel:`Portal Users`, or select :guilabel:`Add Custom Filter` and set the following configuration :guilabel:`Groups` > :guilabel:`contains` > `portal`. After making this selection, search for (and open) the portal user that needs to be edited."
msgid "Next, click :guilabel:`Edit` (if necessary), click into the :guilabel:`Email Address` field, and proceed to make any necessary changes to this field. The :guilabel:`Email Address` field is used to log into the Odoo portal."
msgid "In order to change the contact email, this change needs to take place on the contact template in the *Contacts* app. Alternatively, the customer can change their email directly from the portal, but the login **cannot** be changed. :ref:`See change customer info <portal/custinfo>`."
msgid "There may be times when the customer would like to make changes to their contact information, password/security, or payment information attached to the portal account. This can be performed by the customer from their portal. The following process is how a customer can change their contact information."
msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in. Portal documents from the various installed Odoo applications will appear with the number count of each."
msgid "Next, navigate to the upper-right corner of the portal, and click the :guilabel:`Edit` button, next to the :guilabel:`Details` section. Then, change the pertinent information, and click :guilabel:`Confirm`."
msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in."
msgid "If the customer would like to change their password for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section. Then, make the necessary changes, by typing in the current :guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on :guilabel:`Change Password` to complete the password change."
msgid "If a customer would like to change the login, as documented above, contact the Odoo database point-of-contact. :ref:`See above documentation on changing the portal username <portal/login>`."
msgid "If the customer would like to turn on two-factor authentication (2FA) for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section."
msgid "Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor authentication)`. Confirm the current portal password in the :guilabel:`Password` field. Then, click on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentication)` in a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the :guilabel:`QR code` or entering a :guilabel:`Verification Code`."
msgid "If the customer would like to manage payment options, navigate to the :guilabel:`Manage payment methods` in the menu on the right. Then, add the new payment information, and select :guilabel:`Add new card`."