msgid "Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go in both directions). This integration helps organize schedules, so a meeting is never missed."
msgid "Create a new Google API project and enable the Google Calendar API. First, go to the `Google API Console <https://console.developers.google.com>`_ and log into the Google account."
msgid "If this is the first time visiting this page, Google will prompt the user to enter a country and agree to the Terms of Service. Select a country from the drop-down list and agree to the :abbr:`ToS (Terms of Service)`."
msgid "Next, click :guilabel:`Select a project` and select (or create) an API project to configure OAuth in, and store credentials. Click :guilabel:`New Project`."
msgid "Now, click on :guilabel:`Enabled APIs and Services` in the left menu. Select :guilabel:`Enabled APIs and Services` again if the :guilabel:`Search bar` doesn't appear."
msgid "After that, search for `Google Calendar API` using the search bar and select :guilabel:`Google Calendar API` from the search results. Click :guilabel:`Enable`."
msgid "Now that the API project has been created, OAuth should be configured. To do that, click on :guilabel:`OAuth consent` in the left menu and then select the :guilabel:`User Type`."
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 "In the second step, :guilabel:`OAuth Consent Screen`, type `Odoo` in the :guilabel:`App name` field, select the email address for the :guilabel:`User support email` field, and type the email address for the :guilabel:`Developer contact information` section. Then, click :guilabel:`Save and Continue`."
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 "The *Client ID* and the *Client Secret* are both needed to connect Google Calendar to Odoo. This is the last step in the Google console. Begin by clicking :guilabel:`Credentials` in the left menu. Then, click :guilabel:`Create Credentials`, and select :guilabel:`OAuth client ID`, Google will open a guide to create credentials."
msgid "Under :menuselection:`Create OAuth Client ID`, select :guilabel:`Website application` for the :guilabel:`Application Type` field, and type `My Odoo Database` for the :guilabel:`Name`."
msgid "Under the :guilabel:`Authorized JavaScript Origins` section, click :guilabel:`+ Add URI` and type the company's Odoo full :abbr:`URL (Uniform Resource Locator)` address."
msgid "Under the :guilabel:`Authorized redirect URIs` section, click :guilabel:`+ Add URI` and type the company's Odoo :abbr:`URL (Uniform Resource Locator)` address followed by `/google_account/authentication`. Finally, click :guilabel:`Create`."
msgid "Once the *Client ID* and the *Client Secret* are located, open the Odoo database and go to :menuselection:`Settings --> General Settings --> Integrations --> Google Calendar`. Check the box next to :guilabel:`Google Calendar`."
msgid "Next, copy and paste the *Client ID* and the *Client Secret* from the Google Calendar API credentials page into their respective fields below the :guilabel:`Google Calendar` checkbox. Then, click :guilabel:`Save`."
msgid "When syncing Google Calendar with Odoo for the first time, the page will redirect to the Google Account. From there, select the :guilabel:`Email Account` that should have access, then select :guilabel:`Continue` (should the app be unverifed), and finally select :guilabel:`Continue` (to give permission for the transfer of data)`."
msgid "Odoo highly recommends testing the Google calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Google Calendar with the user's production database."
msgid "Events can be created in Google Calendar without sending a notification by selecting :guilabel:`Don't Send` when prompted to send invitation emails."
msgid "To sync the Outlook Calendar with Odoo's Calendar, a Microsoft Azure account is needed. Creating an account is free for users who have never tried or paid for Azure. For more information, `click here <https://azure.microsoft.com/en-us/free/?WT.mc_id=A261C142F>`_."
msgid "Refer to `Microsoft's documentation <https://docs.microsoft.com/en-us/azure/active-directory/ develop/quickstart-create-new-tenant>`_ on how to set up an Microsoft Entra ID (formally called *Microsoft Azure Active Directory (Azure AD)*), which is a representation of an organization to manage and register apps."
msgid "Then, `Register an Application <https://docs.microsoft.com/en-us/azure/active-directory/develop/ quickstart-register-app>`_, choosing the appropriate :guilabel:`Supported account type`. Users who wish to connect their Outlook calendar to Odoo should select the :guilabel:`Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)` option for :guilabel:`Supported account types`."
msgid "When configuring the :guilabel:`Redirect URI`, choose :guilabel:`Web` and copy the Odoo database URI (URL) followed by `/microsoft_account/authentication`."
msgid "For more information on the restrictions and limitations of URIs, `check this page <https://docs. microsoft.com/en-us/azure/active-directory/develop/reply-url>`_."
msgid "Regarding the application credentials, the user *must* add a client secret, which allows Odoo to authenticate itself, requiring no interaction from the user's side. :guilabel:`Certificates` are optional."
msgid "To do add a client secret, click :guilabel:`Add a certificate or secret` and then click :guilabel:`New client secret`. Next, type a :guilabel:`Description` and select when the client secret :guilabel:`Expires`."
msgid "Since resetting the synchronization can be tricky, Odoo recommends setting the maximum allowed expiration date for the client secret (24 months), so there is no need to re-synchronize soon. Finally, click :guilabel:`Add` to generate the client secret (:guilabel:`Secret ID`)."
msgid "In the Odoo database, go to :menuselection:`Settings --> General Settings --> Integrations` and activate the :guilabel:`Outlook Calendar` setting."
msgid "From the Microsoft Azure portal, under the :guilabel:`Overview` section of the application, copy the :guilabel:`Application (Client) ID`, and paste it into the :guilabel:`Client ID` field in Odoo."
msgid "In the Microsoft Azure portal, under the :guilabel:`Certificates & secrets` section, copy the :guilabel:`Client Secret Value` and paste it into the :guilabel:`Client Secret` field in Odoo."
msgid "Odoo highly recommends testing the Outlook calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Outlook Calendar with the user's production database."
msgid "If the user has any past, present, or future events on their Odoo calendar before syncing their Outlook calendar, Outlook will treat the events pulled from Odoo's calendar during the sync as new events, causing an email notification to be sent from Outlook to all the event attendees."
msgid "To avoid unwanted emails being sent to all past, present, and future event attendees, the user must add the events from the Odoo calendar to the Outlook calendar before the first ever sync, delete the events from Odoo, and then start the sync."
msgid "Even after synchronizing the Odoo Calendar with the Outlook calendar, Outlook will still send a notification to all event participants every time an event is edited (created, deleted, unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be fixed from Odoo's side."
msgid "In the Odoo database, go to the :guilabel:`Calendar` module and click the :guilabel:`Outlook` sync button. The page will redirect to a Microsoft login page, and the user is asked to log in to their account, if they are not already, and grant the required permissions."
msgid "All users that want to use the synchronization simply need to :ref:`sync their calendar with Outlook <outlook/sync>`. The configuration of Microsoft's Azure account is only done once, as Microsoft Entra ID tenants' Client IDs and Client Secrets are unique, and represent an organization that helps the user to manage a specific instance of Microsoft cloud services for their internal and external users."
msgid "Odoo Discuss uses WebRTC API and peer-to-peer connections for voice and video calls. If one of the call attendees is behind a symmetric NAT, you need to configure an ICE server to establish a connection to the call attendee. To set up an ICE server, first, create a Twilio account for video calls, and then, connect that Twilio account to Odoo."
msgid "First, go to `Twilio <https://www.twilio.com>`_ and click :guilabel:`Sign up` to create a new Twilio account. Next, enter your name and email address, create a password, and accept Twilio's terms of service. Then, click :guilabel:`Start your free trial`. Verify your email address with Twilio, as per their instructions."
msgid "Next, enter your phone number into Twilio. Then, Twilio will send you an SMS text message containing a verification code. Enter the verification code into Twilio to verify your phone number."
msgid "To locate the Account SID and Auth Token, go to the Twilio account dashboard. Then, click :guilabel:`Develop` on the sidebar. In the :guilabel:`Account Info` section, locate the :guilabel:`Account SID` and the :guilabel:`Auth Token`. Both of these are needed to connect Twilio to Odoo."
msgid "Open the Odoo database and go to :menuselection:`Settings --> General Settings --> Discuss`. Check the box next to :guilabel:`Use Twilio ICE servers` and enter the Twilio account's :guilabel:`Account SID` and :guilabel:`Auth Token`. Finally, click :guilabel:`Save` to apply these changes."
msgid "This step is not required for the Twilio configuration. However, if Twilio is not configured or is not working at any given moment, Odoo will fall back on the custom ICE servers list. The user must define the list of custom ICE servers."
msgid "In :menuselection:`Settings --> General Settings --> Discuss`, click the :guilabel:`ICE Servers` button under :guilabel:`Custom ICE server list`."
msgid "For on-premise instances of Odoo, the package `python3-gevent` is necessary for the Discuss module to run calls/video calls on Ubuntu (Linux) servers."
msgid "Odoo *Discuss* is an internal communication app that allows users to connect through messages, notes, and file sharing, either through a persistent chat window that works across applications, or through the dedicated *Discuss* dashboard."
msgid "By default, the :guilabel:`Notification` field is set as :guilabel:`Handle by Emails`. With this setting enabled, a notification email will be sent by Odoo every time a message is sent from the chatter, a note is sent with an `@` mention (from chatter), or a notification is sent for a record that the user follows. Something that triggers a notification is changing of the stage (if an email\\ is configured to be sent, for example if the task is set to :guilabel:`Done`)."
msgid "By choosing :guilabel:`Handle in Odoo`, the above notifications are shown in the *Discuss* app's *inbox*. Messages can have the following actions taken on them: respond with an emoji by clicking :guilabel:`Add a Reaction`, or reply to the message by clicking on :guilabel:`Reply`. Additional actions may include starring the message by clicking :guilabel:`Marked as Todo`, or pinning the message by selecting :guilabel:`Pin` or even mark the message as unread by selecting :guilabel:`Marked as unread`."
msgid "Clicking :guilabel:`Mark as Todo` on a message causes it to appear on the :guilabel:`Starred` page, while clicking :guilabel:`Mark as Read` moves the message to :guilabel:`History`."
msgid "The first time a user logs in to their account, OdooBot sends a message asking for permission to send desktop notifications for chats. If accepted, the user will receive push notifications on their desktop for the messages they receive, regardless of where the user is in Odoo."
msgid "To start a chat, go to the :menuselection:`Discuss` app and click on the :guilabel:`+ (plus)` icon next to :guilabel:`Direct Messages` or :guilabel:`Channels` in the left menu of the dashboard."
msgid "To mention a user within a chat or the chatter, type `@user-name`; to refer to a channel, type `#channel-name`. The user mentioned will be notified in their *inbox* or through an email, depending on their communication settings."
msgid "When a user is mentioned, the search list (list of names) suggests values first based on the task's followers, and secondly on employees. If the record being searched does not match with either a follower or employee, the scope of the search becomes all partners."
msgid "It is helpful to see what colleagues are up to and how quickly they can respond to messages by checking their *status*. The status is shown on the left side of a contact's name on the :guilabel:`Discuss` sidebar, on the *messaging menu* and when listed in the *chatter*."
msgid "*Activities* are follow-up tasks tied to a record in an Odoo database. Activities can be scheduled on any page of the database that contains a chatter thread, kanban view, list view, or activities view of an application."
msgid "One way that activities are created is by clicking the :guilabel:`Schedule Activity` button, located at the top of the *chatter* on any record. On the pop-up window that appears, select an :guilabel:`Activity Type` from the drop-down menu."
msgid "Individual applications have a list of *Activity Types* dedicated to that application. For example, to view and edit the activities available for the *CRM* application, go to :menuselection:`CRM app --> Configuration --> Activity Types`."
msgid "To assign the activity to a different user, select a name from the :guilabel:`Assigned to` drop-down menu. Otherwise, the user creating the activity is automatically assigned."
msgid "The :guilabel:`Due Date` field on the :guilabel:`Schedule Activity` pop-up window auto-populates based on the configuration settings for the selected :guilabel:`Activity Type`. However, this date can be changed by selecting a day on the calendar in the :guilabel:`Due Date` field."
msgid ":guilabel:`Mark as Done`: adds the details of the activity to the chatter under :guilabel:`Today`. The activity is not scheduled, it is automatically marked as completed."
msgid "Depending on the activity type, the :guilabel:`Schedule` button may be replaced by a :guilabel:`Save` button, or an :guilabel:`Open Calendar` button."
msgid "Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon, then :guilabel:`Schedule An Activity`, and proceed to fill out the pop-up form."
msgid "Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon, then :guilabel:`Schedule An Activity`. If the record already has an activity scheduled, the clock icon may be replaced by a :guilabel:`📞 (phone)` or an :guilabel:`✉️ (envelope)` icon."
msgid "To open the activity view for an application, select the :guilabel:`🕘 (clock)` icon from the menu bar anywhere in the database. Select any application from the drop-down menu, and click the :guilabel:`🕘 (clock)` icon for the desired app."
msgid "Select a record on which to schedule an activity. Move across the row to find the desired activity type, then click the :guilabel:`+ (plus sign)`."
msgid "For example, if an activity is created for a phone call, and the due date passes, the activity appears with a red phone in list view, and a red clock on the kanban view."
msgid "To view scheduled activities, open either the :menuselection:`Sales app` or :menuselection:`CRM app` and click the :guilabel:`🕘 (clock)` icon, located to the far-right side of the other view options."
msgid "Doing so opens the activities menu, showcasing all the scheduled activities for the user, by default. To show all activities for every user, remove the :guilabel:`My Pipeline` filter from the :guilabel:`Search...` bar."
msgid "To view a consolidated list of activities separated by the application where they were created, and by deadline, click the :guilabel:`🕘 (clock)` icon on the header menu to see the activities for that specific application in a drop-down menu."
msgid "The possibility to :guilabel:`Add new note` and :guilabel:`Request a Document` appear at the bottom of this drop-down menu, when the :guilabel:`🕘 (clock)` icon on the header menu is clicked."
msgid "To edit an existing activity type, select it from the list, then click :guilabel:`Edit`. To create a new activity type, click :guilabel:`Create`."
msgid "If either :guilabel:`Phonecall` or :guilabel:`Meeting` are selected, users have the option to open their calendar to schedule a time for this activity."
msgid "If :guilabel:`Request Signature` is selected, a link is added to the planned activity in the chatter that opens a signature request pop-up window."
msgid "To automatically assign this activity to a specific user when this activity type is scheduled, choose a name from the :guilabel:`Default User` drop-down menu. If this field is left blank, the activity is assigned to the user who creates the activity."
msgid "The information in the :guilabel:`Default User` and :guilabel:`Default Summary` fields are included when an activity is created. However, they can be altered before the activity is scheduled or saved."
msgid "In the :guilabel:`Chaining Type` field, select :guilabel:`Suggest Next Activity`. Upon doing so, the field underneath changes to: :guilabel:`Suggest`. Click the :guilabel:`Suggest` field drop-down menu to select any activities to recommend as follow-up tasks to this activity type."
msgid "In the :guilabel:`Schedule` field, choose a default deadline for these activities. To do so, configure a desired number of :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`. Then, decide if it should occur :guilabel:`after completion date` or :guilabel:`after previous activity deadline`."
msgid "If an activity has the :guilabel:`Chaining Type` set to :guilabel:`Suggest Next Activity`, and has activities listed in the :guilabel:`Suggest` field, users are presented with recommendations for activities as next steps."
msgid "Setting the :guilabel:`Chaining Type` to :guilabel:`Trigger Next Activity` immediately launches the next activity once the previous one is completed."
msgid "If :guilabel:`Trigger Next Activity` is selected in the :guilabel:`Chaining Type` field, the field beneath changes to: :guilabel:`Trigger`. From the :guilabel:`Trigger` field drop-down menu, select the activity that should be launched once this activity is completed."
msgid "When an activity has the :guilabel:`Chaining Type` set to :guilabel:`Trigger Next Activity`, marking the activity as `Done` immediately launches the next activity listed in the :guilabel:`Trigger` field."
msgid "Use channels in the Odoo *Discuss* app to organize discussions between individual teams, departments, projects, or any other group that requires regular communication. With channels, employees can communicate inside dedicated spaces within the Odoo database around specific topics, updates, and latest developments having to do with the organization."
msgid "A *Public* channel can be seen by everyone, while a *Private* one is only visible to users invited to it. To create a new channel, navigate to the :menuselection:`Discuss` app, and then click on the :guilabel:`➕ (plus)` icon next to the :guilabel:`Channels` heading in the left-side menu. After typing the name of the channel, two selectable options will appear: The first is a channel with a hashtag (`#`) to indicate that it is a public channel; the second option is a channel with a lock icon (`🔒`) next to it, to indicate that it is a private channel. Select the channel type that best fits the communication needs."
msgid "A public channel is best used when many employees need to access information (such as company announcements), whereas a private channel could be used whenever information should be limited to specific groups (such as a specific department)."
msgid "The channel's :guilabel:`Group Name`, :guilabel:`Description`, and :guilabel:`Privacy` settings can be modified by clicking on the channel's settings, represented by a :guilabel:`⚙️ (gear)` icon in the left sidebar menu, next to the channel's name."
msgid "When choosing :guilabel:`Invited people only`, specify in the :guilabel:`Members` tab which members should be invited. Inviting members can also be done from the *Discuss* app's main dashboard, by selecting the channel, clicking the *add user* icon in the top-right corner of the dashboard, and finally clicking :guilabel:`Invite to Channel` once all the users have been added."
msgid "When the :guilabel:`Selected group of users` option is selected, it reveals the ability to add an :guilabel:`Authorized Group`, along with the options to :guilabel:`Auto Subscribe Groups` and :guilabel:`Auto Subscribe Departments`."
msgid "The option to :guilabel:`Auto Subscribe Groups` automatically adds users of that particular user group as followers. In other words, while :guilabel:`Authorized Groups` limits which users can access the channel, :guilabel:`Auto Subscribe Groups` automatically adds users as members as long as they are part of a specific user group. The same is true for :guilabel:`Auto Subscribe Departments`."
msgid "Once at least 20 channels, direct messages, or live chat conversations (if *Live Chat* module is installed on the database) are pinned in the sidebar, a :guilabel:`Quick search…` bar is displayed. This feature is a convenient way to filter conversations and quickly find relevant communications."
msgid "Click on the settings :guilabel:`⚙️ (gear)` icon, located in the left sidebar, to the right of the :guilabel:`CHANNELS` collapsible menu item. Doing so will lead to a mosaic view containing all the public channels available. Users can join or leave channels on this screen by clicking the :guilabel:`JOIN` or :guilabel:`LEAVE` buttons that appear in the channel boxes."
msgid "There is also the ability to apply filtering criteria and save them for later use. The :guilabel:`Search...` function accepts wildcards by using the underscore character [ `_` ], and specific searches can be saved by using the :menuselection:`Favorites --> Save Current Search` drop-down menu."
msgid "Channels can be linked in the chatter (log note) of a record in Odoo. To do so, simply type: `#` and the channel name. Click or press enter on the *channel* name. Upon logging the note a link to the channel will appear. After clicking on the link a chat window with the channel conversation will pop up in the lower right corner of the screen."
msgid "The Open Platform Communications (OPC) Unified Architecture (UA) protocol is now supported by the :abbr:`IoT (Internet of Things)` box. :abbr:`OPC (Open Platform Communications)` :abbr:`UA (United Architecture)` is an open standard that specifies information exchange for industrial communication on devices, between machines and between systems. This includes communication between information technology and operational technology. :abbr:`OPC (Open Platform Communications)` :abbr:`UA (United Architecture)` can be used with any software platform, on a wide variety of devices, and deployed securely. The :abbr:`IoT (Internet of Things)` box has entered the world of the Industry 4.0 standard and can be utilized in a wide variety of industries, and for things like building automation, packaging, utilities, etc."
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 :doc:`flashed <flash_sdcard>` 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 "In some circumstances, the :abbr:`IoT (Internet of Things)` box's micro SD Card may need to be re-flashed to benefit from Odoo's latest :abbr:`IoT (Internet of Things)` image update. This means that the Odoo :abbr:`IoT (Internet of Things)` box software may need to be updated."
msgid "Go to the :abbr:`IoT (Internet of Things)` box homepage 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 will appear at the bottom of the page. Click this button to upgrade the unit and the :abbr:`IoT (Internet of Things)` box will then flash itself to the new version. All of the previous configurations will be 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 that the :abbr:`IoT (Internet of Things)` box will need to be re-flashed with a new image. See :ref:`flash_sdcard/etcher`."
msgid "Navigate to Balena's website and download `Etcher <https://www.balena.io/>`_. It's a free and open-source utility used for burning image files onto drives. Click to `download <https://www.balena.io/etcher#download-etcher>`_. Install and launch the program on the computer."
msgid "The following are image versions on the `nightly <http://nightly.odoo.com/master/iotbox/>`_ website with their corresponding Odoo database version:"
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 image just downloaded and extracted. Next, select the drive the image should be burned to. Lastly, click on :guilabel:`Flash` and wait for the process to finish."
msgid "An alternative software for flashing the micro SD card is *Raspberry Pi Imager*. Download the *Raspberry Pi* software `here <https://www.raspberrypi.com/software/>`_."
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:`/applications/productivity/iot/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 "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's 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 will need to be re-flashed to update the image (see :doc:`Flashing the SD Card <flash_sdcard>`)."
msgid "If none of the cases listed above correct the issue, then make sure that 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 doesn't 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 doesn't show up 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's 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` dropdown, click on :guilabel:`Modify Printer`. Follow the steps and select the *make* and *model* corresponding to the printer."
msgid "Epson and Star receipt printers and Zebra label printers do not need a driver to work. Make sure that no driver is selected for those printers."
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 admin 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, don't 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 will need 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 will print the receipt, but it will be 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 "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 "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 "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 Enterprise or 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 shouldn't be installed inside any of the Window's User's directories. Doing so won't 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 your 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 "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's 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`. 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 "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 :abbr:`IoT (Internet of Things)` box supports printers connected through :abbr:`USB (Universal Serial Bus)`, 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 new quality checks, navigate to :menuselection:`Quality app --> Quality Control --> Quality Checks --> New`."
msgid "To link a printer to an action, it first needs to be configured on a work center. To do that, navigate to :menuselection:`Manufacturing app --> Configuration --> Work Centers`. From here, select the desired work center in which the printer will be used. Next, add the device in the :guilabel:`IoT Triggers` tab, under the :guilabel:`Device` column, by selecting :guilabel:`Add a Line`."
msgid "Then, the printer can be linked to either of the following options in the :guilabel:`Actions` drop-down menu: :guilabel:`Print Labels`, :guilabel:`Print Operation`, or :guilabel:`Print Delivery Slip`. A key can also be added to trigger the action."
msgid "It's also possible to link a type of report to a certain printer. In the *IoT app*, go to the :guilabel:`Devices` menu, and select the desired printer that needs to be configured."
msgid "From here, click :guilabel:`Edit`, go to the :guilabel:`Printer Reports` tab, and select :guilabel:`Add a line`. In the window that appears, check all the types of :guilabel:`Reports` that should be linked to this printer."
msgid "Now, each time :guilabel:`Print` is selected in the control panel, instead of downloading a PDF, Odoo sends the report to the selected printer, and automatically prints it."
msgid "Reports can also be configured in the :guilabel:`Technical Menu` while in :ref:`debug mode <developer-mode>`. To do that, navigate to :menuselection:`Settings App --> Technical Menu --> Actions --> Reports`. From here, the individual report can be found in this list, where the :guilabel:`IoT Device` can be set on the report."
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 "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 "**Odoo Knowledge** is a multipurpose productivity app that allows internal users to enrich their business knowledge base and provide individually or collaboratively gathered information."
msgid "The pages on which they gather content are called *articles*. They are mainly composed of a title and a body. The latter is an HTML field containing text, images, links to other articles, records from other models, templates, etc."
msgid "To start adding content, click anywhere on the page. Your cursor is automatically set to write the article's first-level header. Once you are done writing the title, press **enter** on your keyboard to move to the next line."
msgid "Click :guilabel:`Untitled` on the left side of the top bar to automatically match your h1 :dfn:`(First-level header)` title and the article's name. To change the name of your article later, you must do it manually. To do so, click the name on the top bar and proceed to the modification."
msgid "Change the style by clicking :guilabel:`Normal`. Doing so opens a dropdown menu with multiple styles to choose from (:guilabel:`Normal, Code, Header 1 → Header 6, Quote`);"
msgid "Format the text. Click :guilabel:`B` to put it in bold, :guilabel:`I` to put it in italic, :guilabel:`U` to underline, and :guilabel:`S` to strikethrough;"
msgid "You can customize your article by adding a cover picture and an icon. Hover above the h1 title and click :guilabel:`Add Cover`. A pop-up window opens to set a cover picture."
msgid "If your database and your Unsplash account are associated, the cover picture is automatically selected based on the article's name. To modify it, hover over the picture to make the buttons appear, click :guilabel:`Change Cover`, and select another image."
msgid "The articles are responsive, and so are the cover pictures. As a result, the images cannot be repositioned manually to fit a particular screen, as they automatically resize depending on the device."
msgid "To add an icon, hover above the h1 title and click :guilabel:`Add Icon`. Doing this sets a random emoji automatically. To change it, click it and select one from the emoji window. To remove it, proceed equally and click the red-circled :guilabel:`x`."
msgid "To use a command, type `/` and open the **powerbox**. Type the command's name or select from multiple features to insert blocks, images, files, etc. Some of them, such as `/Image` or `/Article` are common to all the apps, but others are inherent to the knowledge app and cannot be found or used in any other application."
msgid "Knowledge allows to retrieve content views from other applications. To do so, go to the targeted app and create the desired view. Then, click :menuselection:`Favorite --> Insert view in article` and select an article. The view is inserted at the bottom of the selected article."
msgid "To retrieve the view below, we created it by going to :menuselection:`Sales --> Graph icon --> Pie Chart icon` and inserted it by clicking :menuselection:`Favorite --> Insert view in article` and selecting the *Sales Playbook* article."
msgid "Users who do **not** have access to the view will **not** be able to access it in **Knowledge** even though they have access to the article containing the view."
msgid "Managing articles effectively is key to maximizing the value of your knowledge resources, whether working on a research project, studying for an exam, or building a knowledge database for your business. Knowledge allows you to fully manage your articles, from :ref:`creation <management/create>` to :ref:`removal <management/remove>`, through :ref:`sharing <management/share>` and :ref:`structure <management/structure>`."
msgid "You can find most tools to manage articles by clicking the vertical ellipsis button (:guilabel:`⋮`) at the right side of the top bar. From there, you can move, lock, delete, or duplicate an article."
msgid "To create articles, click the :guilabel:`+ New` button on the right side of the top bar or the :guilabel:`+` button next to a category or another article."
msgid "You can share articles with internal or external users. To do so, open the share menu by clicking :guilabel:`Share` in the top-right menu of articles."
msgid "To share articles with specific users (internal or external, such as a partner or a customer), click :guilabel:`Invite`. This opens a pop-up window in which you can choose the :guilabel:`Permission` :ref:`(i.e, access rights) <management/categories>` and enter the :guilabel:`Recipients`' name or email."
msgid "Additionally, the share menu displays the default permission for internal members along with all the users who have been granted specific permission."
msgid "To delete an article, open it and click the vertical ellipsis button :menuselection:`(⋮) --> Delete`. The article is moved to the trash for 30 days before being permanently deleted. To restore it, click :guilabel:`Open the Trash`, select the article, and click :guilabel:`Restore`."
msgid "To archive articles, click :guilabel:`Search`, select the article(s), and click :menuselection:`Action --> Archive --> Archive`. Archived articles are hidden from the search menu. To retrieve an archived article, add a custom filter to display them (:menuselection:`Search --> Filters --> Add Custom Filter`, and set :guilabel:`Active` as :guilabel:`is No`). Then, select the article(s) and go to :menuselection:`Action --> Unarchive`."
msgid "Articles are organized into a hierarchical structure wherein the article on top is a parent article, and those underneath are called nested articles. This structure allows the grouping of related articles."
msgid "To establish this hierarchy, create new articles by clicking the :guilabel:`+` button next to the parent-to-be article, or move existing articles by either dragging and dropping them under the parent-to-be or by clicking the vertical ellipsis button (:guilabel:`⋮`), clicking :guilabel:`Move To` on the toolbox and selecting the article to use as a parent."
msgid "Additionally, articles are divided into four categories that can be found on the left sidebar. These categories give articles default **access rights**."
msgid ":guilabel:`Favorites`: You can set any article you can access as a favorite. To do so, click the star-shaped icon (:guilabel:`★`) in the top-right menu of articles. Marking articles as **favorites** is user-specific and does not affect other users."
msgid ":guilabel:`Workspace`: Articles displayed in that category are available to all internal users. These users have the right to read, modify or share these articles."
msgid "Properties are fields containing data and that can be added to articles by any user with **write** access. These fields are shared between all the child articles and article items under the same parent."
msgid "Hover above the first-level header to make the buttons appear. Click :menuselection:`⚙ Add Properties --> Field Type`, select the type and add a default value if needed. To make the fields appear in **kanban views**, check :guilabel:`View in Kanban` as well. To validate and close the property creation window, click anywhere."
msgid "To set it up, click :guilabel:`Add a Value` next to the :guilabel:`Values` field. Enter predetermined values and press **enter** to validate; you can enter as many values as needed. Click anywhere to close the property creation window."
msgid "To set it up, enter your `new_tag` in the :guilabel:`Tags` field, and press **enter** or click :guilabel:`Create \"new_tag\"`. Click anywhere to close the window. Then, add the tags into the property field. To do so, click the property field and choose from the created tags; enter the tags' name and press **enter**; enter a new tag's name and create a new one on the spot."
msgid "To set it up, click :guilabel:`Search a Model` in the :guilabel:`Model` field, select the model. Match all records by clicking :guilabel:`## Record(s)`, or filter the results by clicking :guilabel:`+ Add Filter` and show the records by clicking :guilabel:`## Record(s)`."
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:`../general/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 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 "Automated actions are used to trigger automatic changes based on user actions (e.g., apply a modification when a field is set to a specific value) or on time conditions (e.g., archive a record 7 days after its last update)."
msgid "For every automated action you create, the following elements should be defined: the :ref:`studio/automated-actions/model`, the :ref:`studio/automated-actions/trigger`, the :ref:`studio/automated-actions/apply-on`, and the :ref:`studio/automated-actions/action`."
msgid "To detect when a record changes from one state to another, define a :guilabel:`Before Update Domain` filter, which checks if the condition is satisfied before the record is updated. Then set an :ref:`studio/automated-actions/apply-on` filter, which checks if the condition is met after the record is updated."
msgid "If you want the automated action to happen when an email address is set on a contact, define the :guilabel:`Before Update Domain` to `Email is not set`, and the :guilabel:`Apply on` domain to `Email is set`."
msgid "The action is triggered when any change is done to a trigger field's value on the :ref:`Form view <studio/views/general/form>`, even before saving the record. This trigger only works on the user interface when a modification is made by a user. If the field is changed through another action and not by the user, the action will not run."
msgid "This trigger can only be used with the :ref:`Execute Python Code action <studio/automated-actions/action/python-code>`, so development is required."
msgid "To trigger the action after the :guilabel:`Trigger Date`, add a number of minutes, hours, days, or months under :guilabel:`Delay after trigger date`. To trigger the action before, add a negative number instead."
msgid "If you want to send a reminder email 30 minutes before the start of a calendar event, select the :guilabel:`Start (Calendar Event)` under :guilabel:`Trigger Date` and set the :guilabel:`Delay after trigger date` to **-30** :guilabel:`Minutes`."
msgid "The action is used to execute Python code. The available variables are described on the :guilabel:`Python Code` tab, which is also used to write your code, or on the :guilabel:`Help` tab."
msgid "To link the record that triggered the creation of the new record, select a field under :guilabel:`Link Field`. For example, you could create a contact automatically when a lead is turned into an opportunity."
msgid ":guilabel:`Data to Write` tab: the tab is used to specify the new record's values. After selecting a :guilabel:`Field`, select its :guilabel:`Evaluation Type`:"
msgid ":guilabel:`Reference`: used to select the record under the :guilabel:`Record` column and let Studio add the internal ID in the :guilabel:`Value` column."
msgid "If an automated action creates a new task in a project, you can assign it to a specific user by setting the :guilabel:`Field` to :guilabel:`Responsible User (Project)`, the :guilabel:`Evaluation Type` to :guilabel:`Reference`, and the :guilabel:`Record` to a specific user."
msgid ":guilabel:`Python expression`: used to dynamically define the newly created record’s value for a field using Python code in the :guilabel:`Value` column."
msgid "The action is used to trigger multiple actions at the same time. To do so, click on :guilabel:`Add a line` under the :guilabel:`Actions` tab. In the :guilabel:`Child Actions` pop-up, click on :guilabel:`Create` and configure the action."
msgid "The action is used to schedule a new activity linked to the record. Use the :guilabel:`Activity` tab to set it up as usual, but instead of the :guilabel:`Assigned to` field, select an :guilabel:`Activity User Type`. Select :guilabel:`Specific User` and add the user under :guilabel:`Responsible` if the activity should always be assigned to the same user. To dynamically target a user linked to the record, select :guilabel:`Generic User From Record` instead and change the :guilabel:`User field name` if necessary."
msgid "After a lead is turned into an opportunity, you want your automated action to set up a call for the user responsible for the lead. To do so, set the :guilabel:`Activity` to :guilabel:`Call` and set the :guilabel:`Activity User Type` to :guilabel:`Generic User From Record`."
msgid "Fields structure the models of a database. If you picture a model as a table or spreadsheet, fields are the columns where data is stored in the records (i.e., the rows). Fields also define the type of data that is stored within them. How the data is presented and formatted on the :abbr:`UI (User Interface)` is defined by their widget."
msgid "From a technical point of view, there are 15 field types in Odoo. However, you can choose from 20 fields in Studio, as some field types are available more than once with a different default widget."
msgid ":guilabel:`New Fields` can only be added to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views. On other views, you can only add :guilabel:`Existing Fields` :dfn:`(fields already on the model)`."
msgid ":guilabel:`Badge`: displays the value inside a rounded shape, similar to a tag. The value cannot be edited on the UI, but a default value can be set."
msgid "This works differently than selecting the :ref:`Image field <studio/fields/simple-fields/image>` directly, as the image is not stored in Odoo when using a :guilabel:`Text` field with the :guilabel:`Image` widget. For example, it can be useful if you want to save disk space."
msgid "The :guilabel:`Multiline Text` field is used for longer text containing any type of character. Two text lines are displayed on the UI when filling out the field."
msgid ":guilabel:`Percentage Pie`: displays the value inside a percentage circle, usually for a computed value. The value cannot be edited on the UI, but a default value can be set."
msgid ":guilabel:`Progress Bar`: displays the value next to a percentage bar, usually for a computed value. The field cannot be edited manually, but a default value can be set."
msgid ":guilabel:`Monetary`: it is similar to using the :ref:`Monetary field <studio/fields/simple-fields/monetary>`. It is recommended to use the later as it offers more functionalities."
msgid ":guilabel:`Percentage Pie`: displays the value inside a percentage circle, usually for a computed value. The field cannot be edited manually, but a default value can be set."
msgid "When you first add a :guilabel:`Monetary` field, you are prompted to add a :guilabel:`Currency` field if none exists already on the model. Odoo offers to add the :guilabel:`Currency` field for you. Once it is added, add the :guilabel:`Monetary` field again."
msgid "The :guilabel:`Date & Time` field is used to select a date on a calendar and a time on a clock. The user's current time is automatically used if no time is set."
msgid ":guilabel:`Remaining days`: displays the remaining number of days before the selected date (e.g., *In 5 days*), based on the current date and time."
msgid ":guilabel:`Priority`: displays star symbols instead of values, which can be used to indicate an importance or satisfaction level, for example. This has the same effect as selecting the :ref:`Priority field <studio/fields/simple-fields/priority>`, although, for the latter, four priority values are already predefined."
msgid "The :guilabel:`Priority` field is used to display a three-star rating system, which can be used to indicate importance or satisfaction level. This field type is a :ref:`Selection field <studio/fields/simple-fields/selection>` with the :guilabel:`Priority` widget selected by default and four priority values predefined. Consequently, the :guilabel:`Badge`, :guilabel:`Badges`, :guilabel:`Radio`, and :guilabel:`Selection` widgets have the same effects as described under :ref:`Selection <studio/fields/simple-fields/selection>`."
msgid "To change the number of available stars by adding or removing values, click :guilabel:`Edit Values`. Note that the first value is equal to 0 stars (i.e., when no selection is made), so having four values results in a three-star rating system, for example."
msgid ":guilabel:`Image`: users can upload an image file, which is then displayed in :ref:`Form view <studio/views/general/form>`. This has the same effect as using the :ref:`Image field <studio/fields/simple-fields/image>`."
msgid ":guilabel:`Sign`: users can electronically sign the form. This has the same effect as selecting the :ref:`Sign field <studio/fields/simple-fields/sign>`."
msgid "The :guilabel:`Image` field is used to upload an image and display it in :ref:`Form view <studio/views/general/form>`. This field type is a :ref:`File field <studio/fields/simple-fields/file>` with the :guilabel:`Image` widget selected by default. Consequently, the :guilabel:`File`, :guilabel:`PDF Viewer`, and :guilabel:`Sign` widgets have the same effects as described under :ref:`File <studio/fields/simple-fields/file>`."
msgid "To change the display size of uploaded images, select :guilabel:`Small`, :guilabel:`Medium`, or :guilabel:`Large` under the :guilabel:`Size` option."
msgid "The :guilabel:`Sign` field is used to sign the form electronically. This field type is a :ref:`File field <studio/fields/simple-fields/file>` with the :guilabel:`Sign` widget selected by default. Consequently, the :guilabel:`File`, :guilabel:`Image`, and :guilabel:`PDF Viewer` widgets have the same effects as described under :ref:`File <studio/fields/simple-fields/file>`."
msgid "To give users the :guilabel:`Auto` option when having to draw their signature, select one of the available :guilabel:`Auto-complete with` fields (:ref:`Text <studio/fields/simple-fields/text>`, :ref:`Many2One <studio/fields/relational-fields/many2one>`, and :ref:`Related Field <studio/fields/relational-fields/related-field>` on the model only). The signature is automatically generated using the data from the selected field."
msgid "The :guilabel:`Many2One` field is used to link another record (from another model) to the record being edited. The record's name from the other model is then displayed on the record being edited."
msgid "On the *Sales Order* model, the :guilabel:`Customer` field is a :guilabel:`Many2One` field pointing at the *Contact* model. This allows **many** sales orders to be linked to **one** contact (customer)."
msgid "The :guilabel:`One2Many` field is used to display the existing relations between a record on the current model and multiple records from another model."
msgid "To use a :guilabel:`One2Many` field, the two models must have been linked already using a :ref:`Many2One field <studio/fields/relational-fields/many2one>`. One2Many relations do not exist independently: a reverse-search of existing Many2One relations is performed."
msgid "To modify the columns, click on the :guilabel:`Lines` field and then :guilabel:`Edit List View`. To edit the form that pops up when a user clicks on :guilabel:`Add a line`, click on :guilabel:`Edit Form View` instead."
msgid "The :guilabel:`Many2Many` field is used to link multiple records from another model to multiple records on the current model. Many2Many fields can use :guilabel:`Disable creation`, :guilabel:`Disable opening`, :guilabel:`Domain`, just like :ref:`Many2One fields <studio/fields/relational-fields/many2one>`."
msgid "On the *Task* model, the :guilabel:`Assignees` field is a :guilabel:`Many2Many` field pointing at the *Contact* model. This allows a single user to be assigned to **many** tasks and **many** users to be assigned to a single task."
msgid ":guilabel:`Tags`: users can select several values appearing in rounded shapes, also known as *tags*. This has the same effect as selecting the :ref:`Tags field <studio/fields/relational-fields/tags>`."
msgid "The :guilabel:`Tags` field is used to display several values from another model appearing in rounded shapes, also known as *tags*. This field type is a :ref:`Many2Many field <studio/fields/relational-fields/many2many>` with the :guilabel:`Tags` widget selected by default. Consequently, the :guilabel:`Checkboxes` and :guilabel:`Many2Many` widgets have the same effects as described under :ref:`Many2Many <studio/fields/relational-fields/many2many>`."
msgid "A :guilabel:`Related Field` is not a relational field per se; no relationship is created between models. It uses an existing relationship to fetch and display information from another record."
msgid "To display the email address of a customer on the *Sales Order* model, use the :guilabel:`Related Field` `partner_id.email` by selecting :guilabel:`Customer` and then :guilabel:`Email`."
msgid ":guilabel:`Invisible`: When it is not necessary for users to view a field on the UI, tick :guilabel:`Invisible`. It helps clear the UI by only showing the essential fields depending on a specific situation."
msgid "On the *Form* view of the *Contact* model, the :guilabel:`Title` field only appears when :guilabel:`Individual` is selected, as that field would not be helpful for a :guilabel:`Company` contact."
msgid "The :guilabel:`Invisible` attribute also applies to Studio. To view hidden fields inside Studio, click on a view's :guilabel:`View` tab and tick :guilabel:`Show Invisible Elements`."
msgid "This is not the same name as used in the PostgreSQL database. To view and change the latter, activate the :ref:`Developer mode <developer-mode>`, and edit the :guilabel:`Technical Name`."
msgid ":guilabel:`Help Tooltip`: To explain the purpose of a field, write a description under :guilabel:`Help Tooltip`. It is displayed inside a tooltip box when hovering with your mouse over the field's label."
msgid ":guilabel:`Placeholder`: To provide an example of how a field should be completed, write it under :guilabel:`Placeholder`. It is displayed in light gray in lieu of the field's value."
msgid "Models determine the logical structure of a database and how data is stored, organized, and manipulated. In other words, a model is a table of information that can be linked with other tables. A model usually represents a business concept, such as a *sales order*, *contact*, or *product*."
msgid "All apps are modules. Larger, standalone modules are typically referred to as apps, whereas other modules usually serve as add-ons to said apps."
msgid "When you create a new model or app with Studio, you can choose to add up to 14 features to speed up the creation process. These features bundle fields, default settings, and views that are usually used together to provide some standard functionality. Most of these features can be added later on, but adding them from the start makes the model creation process much easier. Furthermore, these features interact together in some cases to increase their usefulness."
msgid "Creating a model with the :ref:`studio/models-modules-apps/suggested-features/picture` and :ref:`studio/models-modules-apps/suggested-features/pipeline-stages` features enabled adds the image in the card layout of the :ref:`Kanban view <studio/views/multiple-records/kanban>`."
msgid "Selecting :guilabel:`Contact details` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model and two of its :ref:`Related Fields <studio/fields/relational-fields/related-field>`: :guilabel:`Phone` and :guilabel:`Email`. The :guilabel:`Contact` field is also added to the :ref:`List view <studio/views/multiple-records/list>`, and the :ref:`Map view <studio/views/multiple-records/map>` is activated."
msgid "Selecting :guilabel:`User assignment` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model, with the following :guilabel:`Domain`: `Share User is not set` to only allow the selection of *Internal Users*. In addition, the :guilabel:`many2one_avatar_user` widget is used to display the user's avatar. The :guilabel:`Responsible` field is also added to the :ref:`List view <studio/views/multiple-records/list>`."
msgid "Selecting :guilabel:`Date & Calendar` adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Date field <studio/fields/simple-fields/date>` and activates the :ref:`Calendar view <studio/views/timeline/calendar>`."
msgid "Selecting :guilabel:`Date range & Gantt` adds to the :ref:`Form view <studio/views/general/form>` two :ref:`Date fields <studio/fields/simple-fields/date>` next to each other: one to set a start date, the other to set an end date, using the :guilabel:`daterange` widget, and activates the :ref:`Gantt view <studio/views/timeline/gantt>`."
msgid "Selecting :guilabel:`Pipeline stages` activates the :ref:`Kanban view <studio/views/multiple-records/kanban>`, adds several fields such as :ref:`Priority <studio/fields/simple-fields/priority>` and :guilabel:`Kanban State`, and three stages: :guilabel:`New`, :guilabel:`In Progress`, and :guilabel:`Done`. The :guilabel:`Pipeline status bar` and the :guilabel:`Kanban State` field are added to the :ref:`Form view <studio/views/general/form>`. The :guilabel:`Color` field is added to the :ref:`List view <studio/views/multiple-records/list>`."
msgid "Selecting :guilabel:`Tags` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Tags field <studio/fields/relational-fields/tags>`, creating a *Tag* model with preconfigured access rights in the process."
msgid "Selecting :guilabel:`Picture` adds to the top-right of the :ref:`Form view <studio/views/general/form>` an :ref:`Image field <studio/fields/simple-fields/image>`."
msgid "Selecting :guilabel:`Lines`: adds to the :ref:`Form view <studio/views/general/form>` a :ref:`Lines field <studio/fields/relational-fields/lines>` inside a :guilabel:`Tab` component."
msgid "Selecting :guilabel:`Notes` adds to the :ref:`Form view <studio/views/general/form>` an :ref:`Html field <studio/fields/simple-fields/html>` using the full width of the form."
msgid "Selecting :guilabel:`Monetary value` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Monetary field <studio/fields/simple-fields/monetary>`. The :ref:`studio/views/reporting/graph` and :ref:`studio/views/reporting/pivot` views are also activated."
msgid "Selecting :guilabel:`Company` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views a :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Company* model."
msgid "Selecting :guilabel:`Custom Sorting` adds to the :ref:`List view <studio/views/multiple-records/list>` a drag handle icon to manually reorder records."
msgid "Selecting :guilabel:`Archiving` adds to the :ref:`studio/views/general/form` and :ref:`studio/views/multiple-records/list` views the :guilabel:`Archive` action and hides archived records from searches and views by default."
msgid "To export these customizations, go to :menuselection:`Main dashboard --> Studio --> Customizations --> Export` to download a ZIP file containing all customizations."
msgid "To import and install these customizations in another database, connect to the destination database and go to :menuselection:`Main dashboard --> Studio --> Customizations --> Import`, then upload the exported ZIP file before clicking on the :guilabel:`Import` button."
msgid "Before importing, make sure the destination database contains the same apps and modules as the source database. Studio does not add the underlying modules as dependencies of the exported module."
msgid "To edit a standard PDF report, it is strongly recommended to **duplicate** it and make changes to the duplicated version, as changes made to standard reports will be overwritten after an Odoo upgrade. To duplicate a report, go to :menuselection:`Studio --> Reports`. Hover the mouse pointer on the top right corner of the report, click the vertical ellipsis icon (:guilabel:`⋮`), and then select :guilabel:`Duplicate`."
msgid "The default layout of reports is managed outside Studio. Go to :menuselection:`Settings --> Companies: Document Layout --> Configure Document Layout`. Layout settings apply to all reports but only to the current company."
msgid "This adds the logo to the company’s record on the *Company* model, which you can access by going to :menuselection:`General Settings --> Companies --> Update Info`."
msgid "Change the primary and secondary colors used throughout reports to highlight important elements. The default colors are automatically generated based on the colors of the logo."
msgid "The :guilabel:`Company Tagline` is displayed on the header of :ref:`External reports <studio/pdf-reports/header-footer/external>`. You can add multiple lines of text."
msgid "The :guilabel:`Company Details` are displayed on the header of :ref:`External reports <studio/pdf-reports/header-footer/external>`. You can add multiple lines of text."
msgid "Use the :guilabel:`Footer` field to put any text in the :ref:`External reports' <studio/pdf-reports/header-footer/external>` footers. You can add multiple lines of text."
msgid "Use the :guilabel:`Paper format` field to change the paper size of reports. You can either select :guilabel:`A4` (21 cm x 29.7 cm) or :guilabel:`US Letter` (21.59 cm x 27.54 cm)."
msgid "You can change the :guilabel:`Paper format` on individual reports. Open the app containing the report, then go to :menuselection:`Studio --> Reports --> Select or Create a report --> Report --> Select a Paper format`."
msgid "When creating a new report in Studio, you must choose between one of three styles of reports first. This is solely used to determine what is displayed on the header and footer. To do so, go to the app on which you want to add a new report, click the **Toggle Studio** button, then click :guilabel:`Reports`. Click :guilabel:`New` and select :ref:`studio/pdf-reports/header-footer/external`, :ref:`studio/pdf-reports/header-footer/internal`, or :ref:`studio/pdf-reports/header-footer/blank`."
msgid "The header displays the company :ref:`studio/pdf-reports/default-layout/logo` and several values set on the *Company* model: the :guilabel:`Company Name`, :guilabel:`Phone`, :guilabel:`Email`, and :guilabel:`Website`."
msgid "The footer displays the values set on the :ref:`studio/pdf-reports/default-layout/footer`, :ref:`studio/pdf-reports/default-layout/details`, and :ref:`studio/pdf-reports/default-layout/tagline` fields, as well as the page number."
msgid "After opening an existing report or creating a new one, go to the :guilabel:`Add` tab to add or edit elements. The elements are organized into four categories: :ref:`studio/pdf-reports/elements/block`, :ref:`studio/pdf-reports/elements/inline`, :ref:`studio/pdf-reports/elements/table`, and :ref:`studio/pdf-reports/elements/column`."
msgid ":guilabel:`Image`: add an image. You can either upload one from your device, add one from an URL, or select one already existing on your database."
msgid ":guilabel:`Address Block`: to dynamically add the values, if any, of a contact's (`res.partner` model): *Name*, *Address*, *Phone*, *Mobile*, and *Email*."
msgid ":guilabel:`Data table`: create a table and dynamically add a first column displaying the *Name* values of a :ref:`Many2Many <studio/fields/relational-fields/many2many>` or :ref:`One2Many <studio/fields/relational-fields/one2many>` field on your model."
msgid ":guilabel:`Field Column`: add a new column to the table displaying the values of a :ref:`Related Field <studio/fields/relational-fields/related-field>` to the one used to create the :guilabel:`Data table`."
msgid ":guilabel:`Field in Cell`: add, within an existing table cell, the values of a :ref:`Related Field <studio/fields/relational-fields/related-field>` to the one used to create the :guilabel:`Data table`."
msgid ":guilabel:`Subtotal & Total`: add an existing :guilabel:`Total` field's value. If a :guilabel:`Taxes` field exists, the untaxed and taxes amounts are added before the total amount."
msgid ":guilabel:`Name`: change the report name. The new name is applied everywhere (in Studio, under the :guilabel:`Print` button, and for the PDF file name)."
msgid ":guilabel:`Limit visibility to groups`: limit the availability of the PDF report to specific :doc:`user groups <../../general/users/access_rights>`."
msgid "Views are the interface that allows displaying the data contained in a model. One model can have several views, which are simply different ways to show the same data. In Studio, views are organized into four categories: :ref:`general <studio/views/general>`, :ref:`multiple records <studio/views/multiple-records>`, :ref:`timeline <studio/views/timeline>`, and :ref:`reporting <studio/views/reporting>`."
msgid "You can modify views by using the built-in XML editor. To do so, activate :ref:`Developer mode <developer-mode>`, go to the view you want to edit, select the :guilabel:`View` tab and then click on :guilabel:`</> XML`."
msgid "If you are editing a view using the XML editor, avoid making changes directly to standard views and inherited views, as those would be reset and would not be kept in case of an update or module upgrade. Always make sure you select the right Studio inherited views. Indeed, when you modify a view in Studio by drag-and-dropping a new field, a specific Studio inherited view and its XPath, the latter which defines which part of the view is modified, are automatically generated."
msgid "To add custom :guilabel:`Filters` and structure them using :guilabel:`Separators`, go to the :guilabel:`+ Add` tab and drag and drop them under :guilabel:`Filters`."
msgid "To add an existing field under the search dropdown menu, go to the :guilabel:`+ Add` tab and drag-and-drop it under :guilabel:`Autocompletion Fields`."
msgid "The :guilabel:`Kanban` view is often used to support business flows by moving records across stages or as an alternative way to display records inside *cards*."
msgid "If the :guilabel:`Kanban` view exists, it is used by default to display data on mobile devices instead of the :ref:`List view <studio/views/multiple-records/list>`."
msgid "To create and edit records directly within the view, select either :guilabel:`New record on top` or :guilabel:`New record at the bottom` under :guilabel:`Editable`."
msgid "To add a drag handle icon to reorder records manually, add an :ref:`Integer field <studio/fields/simple-fields/integer>` with the :guilabel:`Handle` widget."
msgid "The :guilabel:`Map` view is used to display records on a map. For example, it is used in the Field Service app to plan an itinerary between different tasks."
msgid "A :ref:`Many2One field <studio/fields/relational-fields/many2one>` linked to the *Contact* model is required to activate the view, as the contact address is used to position records on the map."
msgid "To have a route suggested between the different records, tick :guilabel:`Enable Routing` and select which field should be used to sort records for the routing."
msgid "When you first activate one of the timeline views, you need to select which :ref:`Date <studio/fields/simple-fields/date>` or :ref:`Date & Time <studio/fields/simple-fields/date-time>` fields on your model should be used to define when the records start and stop in order to display them on the view. You can modify the :guilabel:`Start Date Field` and :guilabel:`Stop Date Field` after activating the view."
msgid "To create records directly within the view instead of opening the :ref:`Form view <studio/views/general/form>`, enable :guilabel:`Quick Create`."
msgid "This only works on specific models that can be *quick-created* using only a *name*. However, most models do not support quick creation and open the :guilabel:`Form` view to fill in the required fields."
msgid "To color records on the calendar, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color."
msgid "To display events lasting the whole day at the top of the calendar, select a :ref:`Checkbox field <studio/fields/simple-fields/checkbox>` that specifies if the event lasts the whole day."
msgid "To choose the default time scale used to display events, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Display Mode`."
msgid "You can also use :guilabel:`Delay Field` to display the duration of the event in hours by selecting a :ref:`Decimal <studio/fields/simple-fields/decimal>` or :ref:`Integer <studio/fields/simple-fields/integer>` field on the model which specifies the duration of the event. However, if you set an :guilabel:`End Date Field`, the :guilabel:`Delay Field` will not be taken into account."
msgid "The :guilabel:`Cohort` view is used to examine the life cycle of records over a time period. For example, it is used in the Subscriptions app to view the subscriptions' retention rate."
msgid "To choose which time interval is used by default to group results, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Interval`."
msgid "To change the cohort :guilabel:`Mode`, select either :guilabel:`Retention` :dfn:`the percentage of records staying over a period of time, it starts at 100% and decreases with time` or :guilabel:`Churn` :dfn:`the percentage of records moving out over a period of time - it starts at 0% and increases with time`."
msgid "To change the way the :guilabel:`Timeline` (i.e., the columns) progresses, select either :guilabel:`Forward` (from 0 to +15) or :guilabel:`Backward` (from -15 to 0). For most purposes, the :guilabel:`Forward` timeline is used."
msgid "The :guilabel:`Gantt` view is used to forecast and examine the overall progress of records. Records are represented by a bar under a time scale."
msgid "To fill cells in gray whenever a record should not be created there (e.g., on weekends for employees), tick :guilabel:`Display Unavailability`."
msgid "The underlying model must support this feature, and support for it cannot be added using Studio. It is supported for the Project, Time Off, Planning, and Manufacturing apps."
msgid "To define a default time scale to view records, select :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` under :guilabel:`Default Scale`."
msgid "To color records on the view, select a field under :guilabel:`Color`. All the records sharing the same value for that field are displayed using the same color."
msgid "To specify with which degree of precision each time scale should be divided by, select :guilabel:`Quarter Hour`, :guilabel:`Half Hour`, or :guilabel:`Hour` under :guilabel:`Day Precision`, :guilabel:`Half Day` or :guilabel:`Day` under :guilabel:`Week Precision`, and :guilabel:`Month Precision`."
msgid "The :guilabel:`Pivot` view is used to explore and analyze the data contained in records in an interactive manner. It is especially useful to aggregate numeric data, create categories, and drill down the data by expanding and collapsing different levels of data."
msgid "To divide the data into different categories, select field(s) under :guilabel:`Column grouping`, :guilabel:`Row grouping - First level`, or :guilabel:`Row grouping - Second level`."
msgid "To choose a default data dimension (category), select a field under :guilabel:`First dimension` and, if needed, another under :guilabel:`Second dimension`."
msgid "*For Bar and Line charts only*: To sort the different data categories by their value, select :guilabel:`Ascending` (from lowest to highest value) or :guilabel:`Descending` (from highest to lowest) under :guilabel:`Sorting`."
msgid "*For Bar and Pie charts only*: To access all records whose data is aggregated under a data category on the chart, tick :guilabel:`Access records from graph`."
msgid "*For Bar charts only*: When using two data dimensions (categories), display the two columns on top of each other by default by ticking :guilabel:`Stacked graph`."
msgid "The :guilabel:`Dashboard` view is used to display multiple reporting views and key performance indicators. Which elements are displayed on the view depends on the configuration of the other reporting views."
msgid "To create a to-do, click :guilabel:`New` or the plus button (:guilabel:`➕`) next to a stage name. Add a title to your to-do, then click :guilabel:`Add` to save it or :guilabel:`Edit` to access more options."
msgid "If you choose to :guilabel:`Edit` a to-do, you have the option to add :guilabel:`Tags`, :guilabel:`Assignees`, or more information using the Odoo Editor."
msgid "If you use the :doc:`Project app <../services/project>`, you can convert to-dos into project tasks. To do so, open a to-do and click the gear button (:guilabel:`⚙`), then :guilabel:`Convert to Task`."
msgid "Next, select the :guilabel:`Project`, :guilabel:`Assignees`, and :guilabel:`Tags`, then click :guilabel:`Convert to Task`. The to-do is now a project task and appears in the selected project."
msgid "**WhatsApp** is an instant messaging and voice-over-IP app that allows users to send messages, make calls, and share content. Businesses can use `WhatsApp Business <https://developers.facebook.com/products/whatsapp/>`_ to communicate with their customers by text, send documents and provide support."
msgid "WhatsApp is a messaging service operated by Meta, which is the parent company of Facebook. WhatsApp is commonly used as a communication tool in many countries and by many businesses. This documentation will cover the integration of a WhatsApp Business Account with Odoo. The company's Meta account is configured in Odoo via an :abbr:`API (Application Programming Interface)` connection."
msgid "The WhatsApp connector supports two flows: company initiated, and customer initiated. A company can initiate a discussion by sending a template to one or more people. Once the template is sent, the recipient can answer in order to trigger a discussion between the sender and the receiver (a *Discuss* chat window will pop up if the customer answers within 15 days)."
msgid "If the discussion is initiated by the client (e.g. by sending to the company's public WhatsApp number), then Odoo will open a group chat with all operators responsible for this WhatsApp channel."
msgid "It is recommended to set up multiple WhatsApp accounts for different departments. For example, the help desk team and sales teams can chat on different channels."
msgid "A WhatsApp integration with Odoo uses a standard :abbr:`API (Application Programming Interface)` connection, and is configured on Meta in the following steps:"
msgid "Once connected, messages are then sent and received through Odoo's *Discuss* application using the WhatsApp :abbr:`API (Application Programming Interface)`."
msgid "To create a Business account with Meta (owner of Facebook) navigate to: `Facebook Business Manager <https://business.facebook.com/overview>`_. Begin by clicking :guilabel:`Create account` and then enter the business name, the administrator's name, and a work email address. Then click :guilabel:`Next`, and a pop-up window will appear prompting to confirm the email address. After confirming, click :guilabel:`Done` to close the window."
msgid "If the business account is linked to a personal Facebook account then the administrator must toggle between the personal account to the business account for the remainder of the configuration."
msgid "To toggle to the business account navigate to the `Facebook Developer Console <https://developers.facebook.com>`_ and click on the *account name* in the upper right corner. Under the :guilabel:`Business Accounts` heading, click on the desired business that the WhatsApp configuration should take place in. This will be the account for which Odoo will send and receive WhatsApp messages."
msgid "In order to create a Meta business account, the user must already have a personal Facebook account that has existed for a minimum of one hour prior to setting up the Facebook Business account. Trying to create the business account prior to this time will result in an error."
msgid "On the `Meta for Developers <https://developers.facebook.com>`_ dashboard, sign in with the Meta developer account. If no account is configured yet, link a Facebook account to create a Meta developer account."
msgid "A Facebook *developer* account is different than a Facebook *business* account. While developer accounts are made up of personal Facebook accounts, business accounts are **not** as they represent a business and manage all of the business's assets in Meta, such as apps."
msgid "Click on :guilabel:`My Apps` in the top right corner after successfully signing in to the Meta developer account. This will redirect the administrator to all the apps the developer has configured in this specific developer account. Click on :guilabel:`Create App` to begin the process of configuring a new Meta application."
msgid "On the :menuselection:`Create an app` page, select :guilabel:`Other` under the section labeled, :guilabel:`Looking for something else?`, and then click :guilabel:`Next` to be directed to another page in order to select the app type. Then, click on the first option listed under the :guilabel:`Select an app type` label, titled :guilabel:`Business`. This selection allows for the creation and management of the WhatsApp :abbr:`API (Application Programming Interface)`."
msgid "Now, click :guilabel:`Next` to configure the app, as desired. When the app *type* has been configured, the administrator will move onto the app *details* section."
msgid "On the :guilabel:`Details` section of the :guilabel:`Create an app` process, enter `Odoo` in the field under the :guilabel:`Add an app name` label."
msgid "Trademarks and branded elements may not be used in this text section. These include the Meta group of companies. Do not include the word: `WhatsApp` or the system will flag this in error."
msgid "Lastly, set the :guilabel:`Business Account - Optional` field to the Meta business account profile, using the drop-down menu. To finish, click :guilabel:`Create app`. This action will create the app and prompts the *Meta Platform Terms* and *Developer Policies* agreements."
msgid "To accept the agreements, enter the Facebook password for security purposes, and click :guilabel:`Submit` to finalize the app creation. The browser will then direct to the :guilabel:`Meta for Developers` dashboard."
msgid "If the Meta business account is prohibited from advertising, claiming an app won't be allowed. To resolve this issue navigate to `<https://business.facebook.com/business>`_ for assistance."
msgid "Now that the basic structure of the app has been created, a product will need to be added to the app. Begin by accessing the Meta app dashboard by navigating to `<https://developers.facebook.com/apps>`_, and clicking on the app that is being configured."
msgid "On the next page: since WhatsApp will be used, click :guilabel:`Set up` next to the box containing WhatsApp, located towards the bottom of the page."
msgid "The page then directs to the configuration page for the :guilabel:`WhatsApp Business Platform API`. Use the drop-down menu to select the Meta business to be configured for the :guilabel:`Select a Meta Business Account` option, and then click :guilabel:`Continue` to confirm the selection."
msgid "After finishing the previous WhatsApp product wizard, and clicking :guilabel:`Continue`, the browser should have directed to the WhatsApp :guilabel:`Quickstart` page; this :guilabel:`Quickstart` page is where to begin configuring the WhatsApp API by adding a phone number and then sending an initial test message."
msgid "If the browser isn't on the :guilabel:`Quickstart` page for WhatsApp, navigate to `<https://developers.facebook.com/apps>`_ and click on the app that is being configured, (the app name is `Odoo` if the instructions above were followed)."
msgid "Then, in the menu on the left-hand side of the page, click the :guilabel:`v (menu toggle)` icon next to the :guilabel:`WhatsApp` section heading. A small menu will open, containing the following options:"
msgid "After clicking on :guilabel:`Start using the API`, the page navigates to the :guilabel:`API Setup`. Now that the test number has been created, a test message can be sent to confirm that WhatsApp is working properly. To begin, navigate to the section on the page labeled :guilabel:`Send and receive messages` and click the drop-down menu next to :guilabel:`To`, under :guilabel:`Step 1 Select phone numbers`."
msgid "Now, select the only option available: :guilabel:`Manage phone number list`. Follow the steps and add up to five numbers to send the free test messages to. After entering the appropriate country code and phone number, click on :guilabel:`Next`."
msgid "Adding a phone number to send to in this step will allow for a successful test to be sent by the terminal. This is critical to ensure the WhatsApp :abbr:`API (Application Programming Interface)` is working."
msgid "A verification code from WhatsApp Business is then sent to the phone number, which needs to be input on the next screen to verify ownership of the number. Enter the verification code and click :guilabel:`Next` to verify the number."
msgid "Next, send a test message via the terminal. Under the section labeled :guilabel:`Step 2 Send messages with the API`, click :guilabel:`Send Message`. A test message will then be sent to the phone number that was set in the previous section."
msgid "The next steps configured in this section are all within the Odoo database. A few different values for a token, phone number, and account IDs all need to be configured in Odoo; these values are necessary in order to create a :guilabel:`Callback URL` and :guilabel:`Webhook Verify Token`, which are then used to configure the webhooks (in order to receive messages back into the database)."
msgid "In Odoo, navigate to :menuselection:`WhatsApp app --> Configuration --> WhatsApp Business Accounts`. Then click :guilabel:`New` to configure the WhatsApp business account in Odoo."
msgid "In another browser tab, navigate to :menuselection:`https://developers.facebook.com --> My Apps --> WhatsApp --> API Configuration`, and then copy the following values from the Meta developer console into the corresponding fields in Odoo:"
msgid "To retrieve the :guilabel:`App Secret`, navigate to the Meta developer console, `<https://developers.facebook.com/apps>`_ and select the app that Odoo is being configured in. Then in the left-side menu, under :guilabel:`App settings`, select :guilabel:`Basic`."
msgid "Next, click :guilabel:`Show` next to the field :guilabel:`App secret`, and enter the account password to verify ownership. Copy the :guilabel:`App secret` and then paste that copied value into the :guilabel:`App Secret` field on the Odoo :guilabel:`WhatsApp Business Account` configuration dashboard."
msgid "To complete the setup of the WhatsApp business account in Odoo, click :guilabel:`Test Connection`. A successful message in green will populate in the upper-right corner of the dashboard if the configuration is set correctly."
msgid "To configure the webhooks for WhatsApp in Odoo, navigate to `<https://developers.facebook.com/apps>`_ and select the app that Odoo is being configured in. Next under the :guilabel:`WhatsApp` menu heading on the left side of the screen, click on the :guilabel:`API Setup` menu item. Finally go to the section marked :guilabel:`Step 3: Configure webhooks to receive messages` and click on :guilabel:`Configure webhooks`."
msgid "Another way to configure *Webhooks* is to navigate to `<https://developers.facebook.com/apps>`_ and select the app that Odoo is being configured in. Then select :guilabel:`Webhooks` in the left hand menu."
msgid "On the :menuselection:`Webhook configuration` page, click on :guilabel:`Edit`, where both the :guilabel:`Callback URL` and :guilabel:`Webhook Verify Token` values from the Odoo will be added."
msgid "Both the :guilabel:`Callback URL` and :guilabel:`Webhook Verify Token` values were automatically populated after clicking on :guilabel:`Test Connection` in the previous step."
msgid "In a separate browser window, retrieve the necessary values in Odoo by navigating to :menuselection:`WhatsApp app --> Configuration --> WhatsApp Business Accounts` and select the account that is being configured. Locate the values under the section labeled :guilabel:`Receiving Messages`."
msgid "Copy and paste the :guilabel:`Callback URL` from Odoo into the :guilabel:`Callback URL` field in Meta. Similarly, copy and paste the :guilabel:`Webhook Verify Token` into the :guilabel:`Verify Token` field on the Meta developer console, as well."
msgid "Now input individual webhook fields into Meta's developer console, under the :guilabel:`Webhook fields` section. Click :guilabel:`Manage` and when the pop-up window appears, check the boxes in the :guilabel:`Subscribe` column for the following *field names*:"
msgid "The :guilabel:`Webhook fields` will only appear once the subscription is confirmed using the :guilabel:`Callback URL` and :guilabel:`Webhook Verify Token`."
msgid "To configure the phone number to use for WhatsApp in Odoo, navigate back to the Meta developer console (`<https://developers.facebook.com/apps>`_) and again select the app that Odoo is being configured in. Under the :guilabel:`WhatsApp` menu heading on the left side of the screen, click on the :guilabel:`API Setup` menu item. From there, go to the section marked: :guilabel:`Step 5: Add a phone number`, and click on :guilabel:`Add phone number`."
msgid "Complete filling out the business information by next selecting the country that the company does business in from the drop-down menu in the :guilabel:`Country` section. Add an address if desired, however, this information is optional. After adding the location, click :guilabel:`Next` to continue."
msgid "Once these sections are complete, click :guilabel:`Next`. The page refreshes and then prompts the administrator to :guilabel:`Add a phone number for WhatsApp` in the respective field. Here, enter the phone number to configure in WhatsApp."
msgid "`Migrate an Existing WhatsApp Number to a Business Account <https://developers.facebook.com/docs/whatsapp/cloud-api/get-started/migrate-existing-whatsapp- number-to-a-business-account>`_."
msgid "Next, choose a verification method for the phone number. Select either :guilabel:`Text message` or :guilabel:`Phone call`, and then click :guilabel:`Next` proceed."
msgid "The phone number entered will receive either a text or a phone call by WhatsApp with a code, depending on the verification method chosen. Enter that verification code into the :guilabel:`Verification code` field and click :guilabel:`Next` to finish."
msgid "If a payment method hasn't been added this will be necessary to proceed. `Visit Meta's documentation on how to add a payment method in Meta's Business Manager <https://www.facebook.com/business/help/915454841921082?id=180505742745347>`_. This is part of Meta's fraud detection system, in order to ensure that the account/company are real a payment method is required to proceed."
msgid "`Meta for Developers: System User Access Tokens <https://developers.facebook.com/docs/whatsapp/business-management-api/get-started#system-user- access-tokens>`_."
msgid "Begin by navigating to `<https://business.facebook.com/>`_ and then go to :menuselection:`Business settings --> User --> System Users`. Select an existing system user or create a new system user by clicking on :guilabel:`Add`."
msgid "Click on :guilabel:`Add assets`, and when the pop-up window appears select :guilabel:`Apps` under the :guilabel:`Select asset type`. Then, select the Odoo app and toggle the permissions to *On* under the :guilabel:`Full control` option. Set this new permission setting by clicking :guilabel:`Save Changes`, to which a confirmation window will appear, acknowledging the addition of the asset to the system user. Finish by clicking :guilabel:`Done`."
msgid "Next, the permanent token will be generated. Click on :guilabel:`Generate new token`, and a pop-up window will appear asking which app this token should be generated for. Select the :guilabel:`App` that this token is for. Then determine the expiration date of either :guilabel:`60 days` or :guilabel:`Never`."
msgid "With that token value, update the :guilabel:`Access Token` field in the WhatsApp business account in Odoo by navigating to :menuselection:`WhatsApp app --> Configuration --> WhatsApp Business Accounts`."
msgid "Finally, to launch the app, the Meta app must be set to :guilabel:`Live` in the Meta developer console. Navigate to `<https://developers.facebook.com/apps>`_ and click on the app that is being configured. In the top menu, toggle the :guilabel:`App Mode` field from :guilabel:`Development` to :guilabel:`Live`."
msgid "A privacy policy URL must be set in order for the app to be set to live. Go to the Meta developer console, `<https://developers.facebook.com/apps>`_ and select the app that Odoo is being configured in. Then, using the menu on the left side of the screen, go to :menuselection:`App Settings --> Basic`. Then, enter the privacy policy hyperlink address under the :guilabel:`Privacy Policy URL` field of the form. Click :guilabel:`Save changes` to apply the privacy policy to the app."
msgid "WhatsApp templates are saved messages that are used repeatedly to send messages 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 "WhatsApp templates can be created on both the Odoo and Meta consoles. The following process will overview the process for creating templates in Odoo and then afterward in Meta."
msgid "At the bottom of an individual template's form, there are three tabs: :guilabel:`Body`, :guilabel:`Buttons`, and :guilabel:`Variables`; these three tabs combined create the WhatsApp template."
msgid "The text is entered into the :guilabel:`Body` tab, and dynamic content that is called out in the :guilabel:`Body` tab is specified in the :guilabel:`Variables` tab. Every piece of dynamic content (e.g., placeholders) in the message (body) is specifically called out and specified in the :guilabel:`Variables` tab."
msgid "Templates are prefabricated layouts that allow users to send professional looking messages to customers. These templates are capable of containing dynamic data that will populate in the end message using variables that are set in the template configuration. For example, messages can contain the end user's name, call out specific products, or reference a sales order, to name a few convenient and impactful variables."
msgid "To create a WhatsApp template, go to the :menuselection:`WhatsApp app --> Templates` dashboard and click :guilabel:`New`. On the form, enter a :guilabel:`Name` for the template, and select a :guilabel:`Language`."
msgid "In order to complete this next task, administrator access rights are needed to edit the :guilabel:`Applies to` field. See this :doc:`access rights documentation <../general/users/access_rights>` for more information."
msgid "In the :guilabel:`Account` drop-down menu, select the *WhatsApp business account* in Odoo that this template should link to. Next, under the :guilabel:`Applies to` field select the *model* the server action will apply to for this template."
msgid "These models can also be accessed in :ref:`developer mode <developer-mode>`. On a contact form (or similar relevant form in Odoo), navigate to the model that will be referenced, and hover over any field name. A box of backend information will reveal itself with the specific Odoo :guilabel:`Model` name in the backend. Search (using the front-end name) for this model in the :guilabel:`Applies to` drop-down menu in the WhatsApp template."
msgid "Often when changing the model or :guilabel:`Applies to` field, the :guilabel:`Phone Field` may produce an error The :guilabel:`Phone Field` should always be set to the `Phone` or `Mobile` model."
msgid "To search available fields, type in the front-end name in the :guilabel:`Search...` box. This will find a result from all of the available fields for the model (:guilabel:`Applies to`) that the template is created for."
msgid "In order to find specific fields, multiple levels may need to be navigated in the search results box. Use the :guilabel:`> (right chevron)` and :guilabel:`⬅️ (left arrow)` icons to navigate between the menu levels."
msgid "Change the :guilabel:`Category` to fit either a :guilabel:`Marketing`, :guilabel:`Utility`, or :guilabel:`Authentication` category. In most instances the first two options will be used, unless the user would like to send a password reset or something security related. Set to :guilabel:`Marketing` should there be anything promotional being sent and set to :guilabel:`Utility` should there be general transactional messages being sent (i.e., sales order, event ticket, etc)."
msgid "Add any :guilabel:`Users` that are allowed to use this template. In the right-side column, a :guilabel:`Header type` can be configured along with a :guilabel:`Header message`, as well."
msgid "When all the necessary changes are made to the template, click on the :guilabel:`Submit for approval` button in the upper-left corner. This will cause the status of the template to change to :guilabel:`Pending`."
msgid "The status will remain in :guilabel:`Pending` until a decision has been made by Meta, whereby a confirmation email will then be sent indicating that the template has been approved (or rejected). The templates will then need to be synced from the Odoo database."
msgid "There are pre-configured demo data templates available in Odoo to use or modify. These templates can be used as-is or modified to suit a specific business need."
msgid "To use these templates, navigate to :menuselection:`WhatsApp app --> Templates` and select a pre-configured template. Click :guilabel:`Submit for Approval` to start the approval process. An email will be sent to the administrator of the Meta account when the template has been approved."
msgid "Buttons can be added into the message from the :guilabel:`Buttons` tab. Enter the :guilabel:`Type` (either :guilabel:`Visit Website`, :guilabel:`Call Number`, or :guilabel:`Quick Reply`), and then specify the :guilabel:`Button Text`, :guilabel:`Call Number` or :guilabel:`Website URL` (including :guilabel:`Url Type`), depending on the :guilabel:`Type` of button."
msgid "Buttons can also be added on the Meta business console. See Meta's WhatsApp template dashboard by navigating to `<https://business.facebook.com/wa/manage/home>`_. Then go to :menuselection:`Account tools --> Message templates`."
msgid "Dynamic variables reference certain fields within the Odoo database to produce unique data in the WhatsApp message when using a template. Dynamic variables are encoded to display fields from within the database, referencing fields from within a model."
msgid "Many companies like to customize their WhatsApp messages with a personalized piece of customer information to grab attention. This can be accomplished in Odoo by referencing a field within a model by setting a dynamic variable. For example, a customer's name can be referenced in the email from the :guilabel:`Customer` field on the :guilabel:`Sales Order` model."
msgid "Dynamic variables can be added in to the :guilabel:`Body` by adding :guilabel:`placeholders` in the *text*. To add a placeholder in the *message body* enter the following text `{{1}}`. For the second placeholder enter `{{2}}` and increase incrementally as more placeholders are added to the text."
msgid "These placeholders must be configured on the :guilabel:`Variables` tab of the template before submitting for approval from Meta. To edit the dynamic variables on a template, first change the :guilabel:`Type` to :guilabel:`Field of Model`. This allows Odoo to reference a field within a model to produce unique data in the message being sent."
msgid "Next, edit the :guilabel:`Field` of the dynamic variables. The :guilabel:`Applies to` field in the template should be edited prior to ensure the correct model and field are referenced."
msgid "To search the available fields, type in the front-end name of the field in the search box. This will find a result from all of the available fields for the model (:guilabel:`Applies to`) that the template is created for. There may be multiple levels that need to be configured."
msgid "For example, in the :guilabel:`Body` tab, if the following is typed, \"Hello {{1}},\", then `{{1}}` must be set in the :guilabel:`Variables` tab. For this specific case, the message should greet the customer by name, so the `{{1}}` should be configured to populate the `{{1}}` :guilabel:`Field` with the :guilabel:`Customer` name."
msgid "After updating the dynamic variables on the template, the template needs to be submitted to Meta for approval again. Click :guilabel:`Submit for Approval` to start the approval process. An email will be sent to the administrator of the Meta account when the template has been approved."
msgid "To see the status to Meta's WhatsApp template dashboard by navigating to `<https://business.facebook.com/wa/manage/home>`_. Then go to :menuselection:`Account tools --> Message templates`."
msgid "Templates must be synced on the Odoo database once they are approved by the Meta team. To do so, begin by navigating to :menuselection:`WhatsApp app --> Configuration --> WhatsApp Business Accounts` and select the configuration that should be synced. Under the section marked :menuselection:`Sending messages`, towards the bottom, click on :guilabel:`Sync Templates`. Meta will update the templates that are approved so that they can be utilized with various apps in the database."
msgid "Templates can also be synced individually from the template itself. Navigate to the :menuselection:`WhatsApp app --> Templates` dashboard and select the template to sync. Then, click on the :guilabel:`Sync Template` button located in the top menu of the template's form."
msgid "First, navigate to `Meta's WhatsApp template dashboard <https://business.facebook.com/wa/manage/home>`_, and then go to :menuselection:`Account tools --> Message templates`."
msgid "To create a WhatsApp template, click on the blue :guilabel:`Create template` button, and then select the :guilabel:`Category`. The options listed include: :guilabel:`Marketing`, :guilabel:`Utility`, and :guilabel:`Authentication`. In most instances the first two options will be used, unless the user would like to send a password reset or something security related."
msgid "After making the appropriate selections, click on :guilabel:`Continue` in the upper-right corner. The page redirects to the :guilabel:`Edit template` page. Here the :guilabel:`Header`, :guilabel:`Body`, :guilabel:`Footer` and :guilabel:`Buttons` are configured. To the right of the template is a preview of what the template will look like in production."
msgid "When all the necessary changes are made to the template, click on the :guilabel:`Submit` button in the upper-right corner. A confirmation window appears to confirm the language— click :guilabel:`Confirm` to approve and then another window appears stating that the template will be submitted to Meta for review and approval."
msgid "The :guilabel:`Status` of the template will remain in :guilabel:`In review` until a decision has been made by Meta. Once an email confirmation is received approving the template, the templates will need to be synced from within the Odoo database."
msgid "For more information on configuring templates on the Meta developer console visit `Meta's WhatsApp template documentation <https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/>`_."
msgid "Notifications in WhatsApp are handled similar to a message conversation in Odoo. A pop-up window appears with the received conversation from the customer. By default, notifications are set in the WhatsApp business account configuration in Odoo."
msgid "Notification settings can be adjusted by navigating to :menuselection:`WhatsApp app --> Configuration --> WhatsApp Business Accounts`. From there, select the account and scroll down to the :menuselection:`Control` section where notifications are handled. Under the :guilabel:`Notify users` heading, type in the field which user(s) should be notified for this particular WhatsApp channel."
msgid "Once a conversation is initiated between a user and a customer, notifications to all the users specified in the WhatsApp business account configuration won't occur. Only notifications to the user(s) in the conversation will occur. Should the user not respond within 15 days, the customer's reply after the 15 days will populate once again to all the users specified in the WhatsApp configuration."
msgid "Users can be added to a WhatsApp chat by expanding the WhatsApp pop-up window. WhatsApp conversations are located in the *Discuss* app. Click on the :guilabel:`👤+ (add user)` icon next to it, and a window appears to invite users to the conversation."
msgid "As of February 1, 2023, if the Meta app requires advanced level access to permissions, a complete business verification may need to be completed. This includes submitting office business documents to Meta. `See this documentation <https://developers.facebook.com/docs/development/release/business-verification>`_."
msgid "When syncing the templates there may be an instance when there are multiple templates with the same name on Meta's business manager and in Odoo. This causes a duplicate validation error. To correct this issue, rename the duplicate template name on Odoo and sync the templates once again by following the steps here: :ref:`productivity/whatsapp/sync`."
msgid "Should the temporary token not be replaced with a permanent token a user error will populate in Odoo when testing the connection after sending fails. To correct this issues see :ref:`productivity/whatsapp/token`."