[I18N] *: re-export pot files

As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)
This commit is contained in:
Tiffany Chang (tic)
2025-12-11 11:26:59 +01:00
parent 7cfcecf5c2
commit e93500f38e
11 changed files with 6377 additions and 4530 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-19 09:34+0100\n"
"POT-Creation-Date: 2025-12-11 10:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2372,121 +2372,129 @@ msgstr ""
msgid "If the database is hosted on **Odoo Online** or **Odoo.sh**, using redirections is recommended. They allow messages to be received without delay in the database."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:204
msgid "It is mandatory to redirect the catchall and bounce address to the Odoo subdomain of the database. Every other alias used must be redirected as well."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:208
msgid "With one sales team, the following redirections are required:"
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:205
msgid "When configuring email redirections with Microsoft 365 (Exchange Online), be aware that certain technical limitations may affect your setup. Some users have reported that Microsoft 365 does not support true redirection and only allows forwarding, which may not behave as needed for Odoo's email routing."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:210
msgid "For more information on Microsoft Exchange configuration, visit `Microsoft Learn <https://learn.microsoft.com/en-us/exchange/exchange-online>`_."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:213
msgid "It is mandatory to redirect the catchall and bounce address to the Odoo subdomain of the database. Every other alias used must be redirected as well."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:217
msgid "With one sales team, the following redirections are required:"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:219
msgid "`catchall@company-name.com` → `catchall@company-name.odoo.com`"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:211
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:220
msgid "`bounce@company-name.com` → `bounce@company-name.odoo.com`"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:212
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:221
msgid "`info@company-name.com` → `info@company-name.odoo.com`"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:215
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:224
msgid "Some providers ask to validate the redirection by sending a link to the target email address. This procedure is an issue for catchall and bounce since they are not used to create records."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:218
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:227
msgid "Modify the catchall value on the mail alias domain. :ref:`developer-mode` must be enabled to access this menu. For example, it can be changed from `catchall` to `temp-catchall`. This will allow to use `catchall` as the local-part of another alias."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:221
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:230
msgid "Open an app that uses an alias. For example, CRM contains aliases for each sales team. Set `catchall` as the local-part of the alias of a sales team."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:223
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:232
msgid "The validation email will create a record in the CRM app. The email sent will be visible in the chatter, allowing you to validate the redirection."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:225
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:234
msgid "Do not forget to change back the alias of the sales team and the catchall value on the mail alias domain, just as they were before this procedure."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:229
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:238
msgid "An alternative to redirections is **forwarding**. With forwarding, **the address forwarding the email will be identified as the sender**, while with redirections, the original sender will always remain."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:236
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:245
msgid "Incoming mail servers"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:238
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:247
msgid "As mentioned earlier, using redirections is the recommended method to receive emails in Odoo. However, it is also possible to set up incoming mail servers. Using this method means creating an incoming email server for each mailbox on your server, catchall, bounce, and every alias of the database, in order to fetch all incoming emails."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:244
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:253
msgid "Odoo's *Incoming Mail Servers* feature is designed for shared inboxes (e.g., `sales@yourcompany.com` or `support@yourcompany.com`) to route messages to team pipelines, tickets, or documents."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:248
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:257
msgid "Using personal email addresses (e.g., `mitchell.admin@yourcompany.com`) as incoming mail servers is **not** recommended. Doing so can lead to increased security risks, unintended message routing, privacy issues, and difficulties syncing replies correctly."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:252
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:261
msgid "Incoming mail servers are created by going to :menuselection:`Settings --> Technical --> Emails: Incoming Mail Servers`."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:256
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:265
msgid "We recommend using the IMAP protocol over the POP protocol, as IMAP fetches all unread emails, while POP fetches all the emails' history and then tags them as deleted in your mailbox."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:260
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:269
msgid "It is also possible to connect a mailbox through :doc:`Gmail with Google OAuth <google_oauth>` or :doc:`Outlook with Microsoft Azure OAuth <azure_oauth>`."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:263
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:272
msgid "Regardless of the protocol chosen, emails are fetched using the *Mail: Fetchmail Service* scheduled action."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:266
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:275
msgid "Additionally, using an incoming mail server in Odoo gives the opportunity to create new records in a specified model. Each incoming mail server can create records in a different model."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:270
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:279
msgid "Emails received on `task@company-name.com` are fetched by the Odoo database. All fetched emails will create a new project task in the database."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:279
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:288
msgid "MX record"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:281
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:290
msgid "A third option is to create a MX record in your DNS zone which specifies the mail server managing emails sent to your domain. **Advanced technical knowledge is required.**"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:285
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:294
msgid "This configuration only works with a subdomain on the Odoo Online or Odoo.sh infrastructure (e.g., `@mail.mydomain.com`)"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:288
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:297
msgid "Below are presented some specifications depending on the hosting type:"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:292
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:301
#: ../../content/applications/general/email_communication/faq.rst:296
msgid "Odoo Online"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:294
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:303
msgid "The custom subdomain must be added to your :doc:`Odoo Portal <../../websites/website/configuration/domain_names>`."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:297
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:306
#: ../../content/applications/general/email_communication/faq.rst:301
msgid "Odoo.sh"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:299
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:308
msgid "The custom subdomain must be added to the :doc:`settings of the project <../../../administration/odoo_sh/getting_started/settings>`:"
msgstr ""
@@ -2494,15 +2502,15 @@ msgstr ""
msgid "Adding a custom subdomain for mail to Odoo.sh project settings."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:308
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:317
msgid "Infinite email loops"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:310
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:319
msgid "In some cases, infinite mailing loops can be created. Odoo provides some protection against such loops, ensuring the same sender cannot send too many emails **that would create records** to an alias in a specific time span."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:314
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:323
msgid "By default, an email address can send up to 20 emails in 120 minutes. If more emails are sent, they are blocked and the sender receives the following message:"
msgstr ""
@@ -2510,43 +2518,43 @@ msgstr ""
msgid "Bounce email received after attempting contact too many times an alias."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:320
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:329
msgid "To change the default behavior, enable :ref:`developer-mode`, then go to :menuselection:`Settings --> Technical --> Parameters: System Parameters` to add two parameters."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:323
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:332
msgid "For the first parameter, enter `mail.gateway.loop.minutes` as the :guilabel:`Key` and choose a number of minutes as the :guilabel:`Value` (`120` is the default behavior)."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:325
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:334
msgid "For the second parameter, enter `mail.gateway.loop.threshold` as the :guilabel:`Key` and choose a number of emails as the :guilabel:`Value` (`20` is the default behavior)."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:329
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:338
msgid "Allow alias domain system parameter"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:331
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:340
msgid "Incoming aliases are set in the Odoo database to create records by receiving incoming emails. To view aliases set in the Odoo database, first activate the :ref:`developer mode <developer-mode>`. Then, go to :menuselection:`Settings app --> Technical --> Aliases`."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:335
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:344
msgid "The following system parameter, `mail.catchall.domain.allowed`, set with allowed alias domain values, separated by commas, filters out correctly addressed emails to aliases. Setting the domains for which the alias can create a ticket, lead, opportunity, etc., eliminates false positives where email addresses with only the prefix alias, not the domain, are present."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:340
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:349
msgid "In some instances, matches have been made in the Odoo database when an email is received with the same alias prefix and a different domain on the incoming email address. This is true in the sender, recipient, and :abbr:`CC (Carbon Copy)` email addresses of an incoming email."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:345
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:354
msgid "When Odoo receives emails with the `commercial` prefix alias in the sender, recipient, or :abbr:`CC (Carbon Copy)` email addresses (e.g. commercial\\@example.com), the database falsely treats the email as the full `commercial` alias, with a different domain, and therefore, creates a ticket/lead/opportunity/etc."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:350
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:359
msgid "To add the `mail.catchall.domain.allowed` system parameter, first, activate the :ref:`developer mode <developer-mode>`. Then, go to :menuselection:`Settings app --> Technical --> System Parameters`. Click :guilabel:`New`. Then, type in `mail.catchall.domain.allowed` for the :guilabel:`Key` field."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:354
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:363
msgid "Next, for the :guilabel:`Value` field, add the domains separated by commas. Manually :icon:`fa-cloud-upload` :guilabel:`(Save)`, and the system parameter takes immediate effect."
msgstr ""
@@ -2554,11 +2562,11 @@ msgstr ""
msgid "mail.catchall.domain.allowed system parameter set."
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:361
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:370
msgid "Local-part based incoming detection"
msgstr ""
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:363
#: ../../content/applications/general/email_communication/email_servers_inbound.rst:372
msgid "When creating a new alias, there is an option to enable :guilabel:`Local-part based incoming detection`. If enabled, Odoo only requires the local-part to match for routing an incoming email. If this feature is turned off, Odoo requires the whole email address to match for routing an incoming email."
msgstr ""
@@ -4630,7 +4638,7 @@ msgid "Enable Mail Plugin"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:19
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 "First, enable the *Mail Plugin* module in the database. Go to :menuselection:`Settings --> General Settings --> Integrations`, enable :guilabel:`Mail Plugin`, and :guilabel:`Save` the configuration."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:25
@@ -4642,18 +4650,14 @@ msgid "Download (:menuselection:`Save Page As --> Web Page XML only`) the follow
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:31
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 "Next, open the Outlook mailbox, and select any email. After completing this, click on the :guilabel:`Apps` button in the upper right-side, then click :guilabel:`Get add-ins`."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
msgid "More actions button in Outlook"
msgid "Apps button in Outlook"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:39
msgid "For locally installed versions of Microsoft Outlook, access the :guilabel:`Get Add-ins` menu item while in preview mode (**not** with a message open). First, click on the :guilabel:`... (ellipsis)` icon in the upper right of the previewed message, then scroll down, and click on :guilabel:`Get Add-ins`."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:44
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:37
msgid "Following this step, select the :guilabel:`My add-ins` tab on the left-side."
msgstr ""
@@ -4661,15 +4665,15 @@ msgstr ""
msgid "My add-ins in Outlook"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:50
msgid "Under :guilabel:`Custom add-ins` towards the bottom, click on :guilabel:`+ Add a custom add-in`, and then on :guilabel:`Add from file...`"
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:42
msgid "Under :guilabel:`Custom Addins` towards the bottom, click on :guilabel:`+ Add a custom add-in`, then select :guilabel:`Add from file...`"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
msgid "Custom add-ins in Outlook"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:57
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:48
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`."
msgstr ""
@@ -4677,19 +4681,19 @@ msgstr ""
msgid "Custom add-in installation warning in Outlook"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:67
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:57
msgid "Connect the database"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:69
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`."
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:59
msgid "Now, Outlook will be connected to the Odoo database. First, open any email in the Outlook mailbox, click on the :guilabel:`Apps` button in the upper right-side, and select :guilabel:`Odoo Inbox Addin`."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
msgid "Odoo for Outlook add-in button"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:77
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:66
msgid "The right-side panel can now display **Company Insights**. At the bottom, click on :guilabel:`Login`."
msgstr ""
@@ -4697,27 +4701,27 @@ msgstr ""
msgid "Logging in the Odoo database"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:85
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:73
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>`."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:89
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."
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:77
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."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:93
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:81
msgid "To fix this issue, configure the browser to always allow cookies on Odoo's plugin page."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:95
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:83
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`."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:100
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:88
msgid "Once this is complete, the Outlook panel needs to be opened again."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:102
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:90
msgid "Now, enter the Odoo database URL and click on :guilabel:`Login`."
msgstr ""
@@ -4725,7 +4729,7 @@ msgstr ""
msgid "Entering the Odoo database URL"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:108
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:95
msgid "Next, click on :guilabel:`Allow` to open the pop-up window."
msgstr ""
@@ -4733,7 +4737,7 @@ msgstr ""
msgid "New window pop-up warning"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:114
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:100
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."
msgstr ""
@@ -4741,41 +4745,52 @@ msgstr ""
msgid "Allowing the Outlook Plugin to connect to a database"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:124
msgid "Add a shortcut to the plugin"
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:109
msgid "Using the inbox plugin"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:126
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."
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:111
msgid "To use the plugin, open any email in the Outlook mailbox, click on the :guilabel:`Apps` button in the upper right-side, and select :guilabel:`Odoo Inbox Addin` to open the panel."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:115
msgid "The options available in the panel will vary based on the applications installed in the database."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:118
msgid "Create a contact"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:120
msgid "To create a contact record in Odoo from an email, click the :icon:`fa-plus-circle` :guilabel:`(circle plus)` icon."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:124
msgid "A contact record **must** be created before a lead/opportunity can be created."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:127
msgid "Create an opportunity"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:129
msgid "In the Outlook mailbox, click on :guilabel:`Settings`, then on :guilabel:`View all Outlook settings`."
msgid "To create an opportunity from an email, click the :icon:`fa-plus` :guilabel:`(plus)` icon next to :guilabel:`Opportunities`. Doing so opens a new opportunity record in Odoo in a new tab. The subject of the email is used as the opportunity title, and the content of the email is added to the :guilabel:`Notes` tab of the opportunity."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
msgid "Viewing all Outlook settings"
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:135
msgid "Create a task"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:136
msgid "Now, select :guilabel:`Customize actions` under :guilabel:`Mail`, click on :guilabel:`Odoo for Outlook`, and then :guilabel:`Save`."
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:137
msgid "To create a task from an email, click the :icon:`fa-plus` :guilabel:`(plus)` icon next to :guilabel:`Tasks`. Then, enter the title of the project where the task should be created in the resulting field, and select the appropriate project from the resulting list. This opens a new task record in Odoo in a new tab. The subject of the email is used as the task title, and the content of the email is added to the :guilabel:`Description` tab."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:-1
msgid "Odoo for Outlook customized action"
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:144
msgid "Create a ticket"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:143
msgid "Following this step, open any email; the shortcut should be displayed."
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:150
msgid "Using the plugin"
msgstr ""
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:152
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."
#: ../../content/applications/general/integrations/mail_plugins/outlook.rst:146
msgid "To create a task from an email, click the :icon:`fa-plus` :guilabel:`(plus)` icon next to :guilabel:`Tickets`. Doing so opens a new ticket record in Odoo in a new tab. The subject of the email is used as the ticket title, and the content of the email is added to the :guilabel:`Description` tab of the ticket."
msgstr ""
#: ../../content/applications/general/integrations/unsplash.rst:3
@@ -5985,7 +6000,7 @@ msgid "In EU member states, `certification is legally required <https://eur-lex.
msgstr ""
#: ../../content/applications/general/iot/devices/scale.rst:10
msgid "To connect a scale to the IoT system, use a USB cable. In some cases, you may need a serial-to-US adapter to complete the connection. If the scale is `compatible with an IoT system <https://www.odoo.com/page/iot-hardware>`_, no additional setup is required; the scale is automatically detected as soon as it is connected. If the scale is not detected, reboot the IoT box or :ref:`restart the Windows virtual IoT service <iot/windows_iot/restart>` and :ref:`update the scale's drivers <iot_updating_iot/handlers>`."
msgid "To connect a scale to the IoT system, use a USB cable. In some cases, you may need a serial-to-USB adapter to complete the connection. If the scale is `compatible with an IoT system <https://www.odoo.com/page/iot-hardware>`_, no additional setup is required; the scale is automatically detected as soon as it is connected. If the scale is not detected, reboot the IoT box or :ref:`restart the Windows virtual IoT service <iot/windows_iot/restart>` and :ref:`update the scale's drivers <iot_updating_iot/handlers>`."
msgstr ""
#: ../../content/applications/general/iot/devices/scale.rst:18
@@ -8253,58 +8268,42 @@ msgid "Portal access is given to users who need the ability to view certain docu
msgstr ""
#: ../../content/applications/general/users/portal.rst:10
msgid "Some common use cases for providing portal access include allowing customers to read/view any or all of the following in Odoo:"
msgid "Some common use cases for providing portal access include allowing customers to make partial payment on an invoice, to add funds to their eWallet, and to read/view any or all of the following in Odoo:"
msgstr ""
#: ../../content/applications/general/users/portal.rst:13
msgid "leads/opportunities"
msgid "Following, viewing and paying orders"
msgstr ""
#: ../../content/applications/general/users/portal.rst:14
msgid "quotations/sales orders"
msgid "Following, downloading or paying invoices"
msgstr ""
#: ../../content/applications/general/users/portal.rst:15
msgid "purchase orders"
msgid "Managing payment methods"
msgstr ""
#: ../../content/applications/general/users/portal.rst:16
msgid "invoices & bills"
msgid "Managing subscriptions"
msgstr ""
#: ../../content/applications/general/users/portal.rst:17
msgid "projects"
msgid "Adding, removing or modifying addresses"
msgstr ""
#: ../../content/applications/general/users/portal.rst:18
msgid "tasks"
msgstr ""
#: ../../content/applications/general/users/portal.rst:19
msgid "timesheets"
msgstr ""
#: ../../content/applications/general/users/portal.rst:20
msgid "tickets"
msgid "Configuring connection parameters"
msgstr ""
#: ../../content/applications/general/users/portal.rst:21
msgid "signatures"
msgid "Portal users only have read/view access, and will **not** be able to edit any documents in the database."
msgstr ""
#: ../../content/applications/general/users/portal.rst:22
msgid "subscriptions"
msgstr ""
#: ../../content/applications/general/users/portal.rst:25
msgid "Portal users only have read/view access, and will not be able to edit any documents in the database."
msgstr ""
#: ../../content/applications/general/users/portal.rst:31
#: ../../content/applications/general/users/portal.rst:27
msgid "Provide portal access to customers"
msgstr ""
#: ../../content/applications/general/users/portal.rst:33
#: ../../content/applications/general/users/portal.rst:29
msgid "From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not yet created in the database, click on the :guilabel:`Create` button, enter the details of the contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on the :guilabel:`Action` drop-down menu located at the top-center of the interface."
msgstr ""
@@ -8312,137 +8311,147 @@ msgstr ""
msgid "Use the Contacts application to give portal access to users."
msgstr ""
#: ../../content/applications/general/users/portal.rst:42
#: ../../content/applications/general/users/portal.rst:37
msgid "Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:"
msgstr ""
#: ../../content/applications/general/users/portal.rst:44
#: ../../content/applications/general/users/portal.rst:39
msgid ":guilabel:`Contact`: the recorded name of the contact in the Odoo database"
msgstr ""
#: ../../content/applications/general/users/portal.rst:45
msgid ":guilabel:`Email`: the contact's email address that they will use to log into the portal"
#: ../../content/applications/general/users/portal.rst:40
msgid ":guilabel:`Email`: the contact's email address used to log into the portal"
msgstr ""
#: ../../content/applications/general/users/portal.rst:41
msgid ":guilabel:`Latest Authentication`: the last time the user accessed the portal"
msgstr ""
#: ../../content/applications/general/users/portal.rst:43
msgid "To grant portal access, first enter the contact's :guilabel:`Email` used to log into the portal if it has not been automatically entered by the system. Then click :guilabel:`Grant Access` to finish."
msgstr ""
#: ../../content/applications/general/users/portal.rst:46
msgid ":guilabel:`In Portal`: whether or not the user has portal access"
msgid "To grant portal access to multiple users for a company at once, navigate to the company contact, then click :menuselection:`Action --> Grant portal access` to view a list of the company's related contacts. Click :guilabel:`Grant Access` for each contact to grant portal access to."
msgstr ""
#: ../../content/applications/general/users/portal.rst:48
msgid "To grant portal access, first enter the contact's :guilabel:`Email` they will use to log into the portal. Then, check the box under the :guilabel:`In Portal` column. Optionally, add text to the invitation message the contact will receive. Then click :guilabel:`Apply` to finish."
#: ../../content/applications/general/users/portal.rst:50
msgid "An email is sent to the specified email address, indicating that the contact is now a portal user for that Odoo database."
msgstr ""
#: ../../content/applications/general/users/portal.rst:-1
msgid "An email address and corresponding checkbox for the contact need to be filled in before\n"
"sending a portal invitation."
#: ../../content/applications/general/users/portal.rst:54
msgid "Revoking portal access"
msgstr ""
#: ../../content/applications/general/users/portal.rst:57
msgid "An email will be sent to the specified email address, indicating that the contact is now a portal user for that Odoo database."
#: ../../content/applications/general/users/portal.rst:56
msgid "At any time, portal access can be revoked by navigating to a contact, clicking :menuselection:`Action --> Grant portal access`, and then clicking :guilabel:`Revoke Access`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:61
msgid "To grant portal access to multiple users at once, navigate to a company contact, then click :menuselection:`Action --> Grant portal access` to view a list of all of the company's related contacts. Check the box under the :guilabel:`In Portal` column for all the contacts that need portal access, then click :guilabel:`Apply`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:67
msgid "At any time, portal access can be revoked by navigating to the contact, clicking :menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the :guilabel:`In Portal` column and clicking :guilabel:`Apply`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:74
#: ../../content/applications/general/users/portal.rst:62
msgid "Change portal username"
msgstr ""
#: ../../content/applications/general/users/portal.rst:76
#: ../../content/applications/general/users/portal.rst:64
msgid "There may be times when a portal user wants to change their user login. This can be done by any user in the database with administrator access rights. The following process outlines the necessary steps to change the portal user login."
msgstr ""
#: ../../content/applications/general/users/portal.rst:81
msgid ":doc:`See the documentation on setting access rights </applications/general/users/access_rights>`."
#: ../../content/applications/general/users/portal.rst:69
msgid ":doc:`Access rights </applications/general/users/access_rights>`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:84
#: ../../content/applications/general/users/portal.rst:71
msgid "First, navigate to :menuselection:`Settings app --> Users`. Then, under :guilabel:`Filters`, select :guilabel:`Portal Users`, or select :guilabel:`Add Custom Filter` and set the following configuration :guilabel:`Groups` > :guilabel:`contains` > `portal`. After making this selection, search for (and open) the portal user that needs to be edited."
msgstr ""
#: ../../content/applications/general/users/portal.rst:89
#: ../../content/applications/general/users/portal.rst:76
msgid "Next, click :guilabel:`Edit` (if necessary), click into the :guilabel:`Email Address` field, and proceed to make any necessary changes to this field. The :guilabel:`Email Address` field is used to log into the Odoo portal."
msgstr ""
#: ../../content/applications/general/users/portal.rst:94
#: ../../content/applications/general/users/portal.rst:81
msgid "Changing the :guilabel:`Email Address` (or login) only changes the *username* on the customer's portal login."
msgstr ""
#: ../../content/applications/general/users/portal.rst:97
#: ../../content/applications/general/users/portal.rst:84
msgid "In order to change the contact email, this change needs to take place on the contact template in the *Contacts* app. Alternatively, the customer can change their email directly from the portal, but the login **cannot** be changed. :ref:`See change customer info <portal/custinfo>`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:102
#: ../../content/applications/general/users/portal.rst:89
msgid "Customer portal changes"
msgstr ""
#: ../../content/applications/general/users/portal.rst:104
msgid "There may be times when the customer would like to make changes to their contact information, password/security, or payment information attached to the portal account. This can be performed by the customer from their portal. The following process is how a customer can change their contact information."
#: ../../content/applications/general/users/portal.rst:91
msgid "There may be times when the customer would like to make changes to their contact, security, or payment information attached to the portal account. This can be performed by the customer from their portal. The following process is how a customer can change their contact information."
msgstr ""
#: ../../content/applications/general/users/portal.rst:112
#: ../../content/applications/general/users/portal.rst:98
msgid "Change customer info"
msgstr ""
#: ../../content/applications/general/users/portal.rst:114
#: ../../content/applications/general/users/portal.rst:100
msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in. Portal documents from the various installed Odoo applications will appear with the number count of each."
msgstr ""
#: ../../content/applications/general/users/portal.rst:119
#: ../../content/applications/general/users/portal.rst:105
msgid ":ref:`Portal access documentation <portal/main>`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:121
#: ../../content/applications/general/users/portal.rst:107
msgid "Next, navigate to the upper-right corner of the portal, and click the :guilabel:`Edit` button, next to the :guilabel:`Details` section. Then, change the pertinent information, and click :guilabel:`Confirm`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:126
#: ../../content/applications/general/users/portal.rst:112
msgid "Change password"
msgstr ""
#: ../../content/applications/general/users/portal.rst:128
#: ../../content/applications/general/users/portal.rst:147
#: ../../content/applications/general/users/portal.rst:166
#: ../../content/applications/general/users/portal.rst:114
#: ../../content/applications/general/users/portal.rst:133
msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in."
msgstr ""
#: ../../content/applications/general/users/portal.rst:131
#: ../../content/applications/general/users/portal.rst:117
msgid "If the customer would like to change their password for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section. Then, make the necessary changes, by typing in the current :guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on :guilabel:`Change Password` to complete the password change."
msgstr ""
#: ../../content/applications/general/users/portal.rst:137
#: ../../content/applications/general/users/portal.rst:123
msgid "If a customer would like to change the login, as documented above, contact the Odoo database point-of-contact. :ref:`See above documentation on changing the portal username <portal/login>`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:141
#: ../../content/applications/general/users/portal.rst:127
msgid "Passwords for portal users and Odoo.com users remain separate, even if the same email address is used."
msgstr ""
#: ../../content/applications/general/users/portal.rst:145
#: ../../content/applications/general/users/portal.rst:131
msgid "Add two-factor authentication"
msgstr ""
#: ../../content/applications/general/users/portal.rst:150
#: ../../content/applications/general/users/portal.rst:136
msgid "If the customer would like to turn on two-factor authentication (2FA) for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section."
msgstr ""
#: ../../content/applications/general/users/portal.rst:153
#: ../../content/applications/general/users/portal.rst:139
msgid "Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor authentication)`. Confirm the current portal password in the :guilabel:`Password` field. Then, click on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentication)` in a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the :guilabel:`QR code` or entering a :guilabel:`Verification Code`."
msgstr ""
#: ../../content/applications/general/users/portal.rst:159
#: ../../content/applications/general/users/portal.rst:145
msgid "Finally, click :guilabel:`Enable two-factor authentication` to complete the setup."
msgstr ""
#: ../../content/applications/general/users/portal.rst:164
#: ../../content/applications/general/users/portal.rst:150
msgid "Change payment info"
msgstr ""
#: ../../content/applications/general/users/portal.rst:169
msgid "If the customer would like to manage payment options, navigate to the :guilabel:`Manage payment methods` in the menu on the right. Then, add the new payment information, and select :guilabel:`Add new card`."
#: ../../content/applications/general/users/portal.rst:152
msgid "If the customer needs to manage payment options, they click the :guilabel:`Payment methods` button."
msgstr ""
#: ../../content/applications/general/users/portal.rst:154
msgid "To add a new payment option, choose from the available payment methods, enter the new payment information, and click :guilabel:`Save` to save the details."
msgstr ""
#: ../../content/applications/general/users/portal.rst:156
msgid "To erase a payment option, click the :icon:`fa-trash` :guilabel:`(Trash)` icon, then click the :guilabel:`Confirm Deletion` button."
msgstr ""
#: ../../content/applications/general/users/portal.rst:159
msgid "Payment details **cannot** be edited. Customers must delete and re-enter information to update their details."
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-19 09:34+0100\n"
"POT-Creation-Date: 2025-12-11 10:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -201,7 +201,7 @@ msgid "Rules or constraints for the agent to follow when assigned this topic"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:48
msgid "Step-by-step workflows for how to complete a specfic action"
msgid "Step-by-step workflows for how to complete a specific action"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:49
@@ -217,130 +217,130 @@ msgid "Topics"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:59
msgid "*Topics* are a collection of instructions and :ref:`tools <ai/tools>` that define how an agent behaves within a specific context. Essentially, the topics define what an agent can do within the database."
msgid "*Topics* are a collection of instructions and :ref:`tools <ai/tools>` that define how an agent behaves within a specific context. Essentially, the topics define what an agent can do within the database. Topics guide conversations, telling the agent what it can do, how it can do it, and when it should do it."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:64
#: ../../content/applications/productivity/ai/agents.rst:65
msgid "If an agent is not assigned any Topics, it is only able to provide information, not complete tasks or make changes to the database."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:67
msgid "Topics guide conversations, telling the agent what it can do, how it can do it, and when it should do it. Within each topic includes a detailed prompt, which provides the agent with more in-depth instructions on how to perform the"
#: ../../content/applications/productivity/ai/agents.rst:68
msgid "Within each topic includes a detailed prompt, which provides the agent with more in-depth instructions on how to perform the tasks associated with that topic, define the boundaries of its behavior, and determine how it should interpret user intent. These prompts ensure that the agent follows a consistent reasoning pattern and uses the appropriate tools to generate accurate, context-aware responses."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:71
#: ../../content/applications/productivity/ai/agents.rst:74
msgid "The following topics are preconfigured in the **AI** app:"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:73
#: ../../content/applications/productivity/ai/agents.rst:76
msgid ":guilabel:`Natural Language Search`: supports the interpretation of a user query to open the appropriate Odoo view with a set of tools necessary to perform the search."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:75
#: ../../content/applications/productivity/ai/agents.rst:78
msgid ":guilabel:`Information retrieval`: a collection of tools to retrieve information about the models."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:76
#: ../../content/applications/productivity/ai/agents.rst:79
msgid ":guilabel:`Create Leads`: a collection of tools to support automated lead creation. This topic is **only** available if the **CRM** app is installed."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:79
#: ../../content/applications/productivity/ai/agents.rst:82
msgid "Within each topic is a set of :guilabel:`Instructions`, which act as a prompt and provide guidance for the structure of the interaction, and one or more :ref:`AI Tools <ai/tools>`, which indicate the functions the agent can perform."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:86
#: ../../content/applications/productivity/ai/agents.rst:89
msgid "Tools"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:88
#: ../../content/applications/productivity/ai/agents.rst:91
msgid "*Tools* are the functions the agent can perform in Odoo. These include actions like creating a lead or opening a view. Tools extend the purpose of the agent beyond conversations, they enable real actions. The available tools in a database vary based on the applications installed. Multiple :guilabel:`AI Tools` can be assigned to a single topic."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:94
#: ../../content/applications/productivity/ai/agents.rst:97
msgid "Sources"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:96
#: ../../content/applications/productivity/ai/agents.rst:99
msgid "Sources are the data the agent can refer to when generating responses or completing tasks. Sources are indexed so the agent can retrieve relevant information when a user asks a question."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:100
#: ../../content/applications/productivity/ai/agents.rst:103
msgid "An agent designed to answer customer support questions has **Knowledge** articles included as sources, which include frequently asked questions."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:103
#: ../../content/applications/productivity/ai/agents.rst:106
msgid "Sources can be in the following formats:"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:105
#: ../../content/applications/productivity/ai/agents.rst:108
msgid "PDFs"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:106
#: ../../content/applications/productivity/ai/agents.rst:109
msgid "Weblinks"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:107
#: ../../content/applications/productivity/ai/agents.rst:110
msgid "Documents (uploaded in the **Documents** application)"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:108
#: ../../content/applications/productivity/ai/agents.rst:111
msgid "**Knowledge** app articles"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:111
#: ../../content/applications/productivity/ai/agents.rst:114
msgid "If the :guilabel:`Restrict to Sources` option is enabled on an agent, the agent can **only** utilize information from the uploaded and active sources."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:115
#: ../../content/applications/productivity/ai/agents.rst:118
msgid "Create a new agent"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:117
#: ../../content/applications/productivity/ai/agents.rst:120
msgid "To create a new AI agent, navigate to the :menuselection:`AI app --> New`. Enter an :guilabel:`Agent Name`, then add a short description, if desired."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:121
#: ../../content/applications/productivity/ai/agents.rst:124
msgid "Before creating a new agent, it is recommended to have a clear use case in mind. This helps when writing out the :guilabel:`System Prompt`, and assigning the :guilabel:`Topics` and :guilabel:`AI Tools`."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:125
#: ../../content/applications/productivity/ai/agents.rst:128
msgid "Select an :guilabel:`LLM Model` from the drop-down menu."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:128
#: ../../content/applications/productivity/ai/agents.rst:131
msgid "Odoo supports multiple versions of both ChatGPT and Gemini."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:130
#: ../../content/applications/productivity/ai/agents.rst:133
msgid "Next, select a :guilabel:`Response Style`. This manages the overall tone the agent uses when responding to an inquiry. Choose from one of the following options:"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:133
#: ../../content/applications/productivity/ai/agents.rst:136
msgid ":guilabel:`Analytical`: more mathematical, this option is more likely to give the same answer to the same question. This option is recommended for situations where accuracy is more important than diplomacy."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:136
#: ../../content/applications/productivity/ai/agents.rst:139
msgid ":guilabel:`Balanced`: a mix of both *Analytical* and *Creative*. This is an excellent option for situations with outside customers who would benefit from **both** accuracy and diplomacy."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:138
#: ../../content/applications/productivity/ai/agents.rst:141
msgid ":guilabel:`Creative`: approaches questions in a more human way, changes answers every time to react to the conversation. This option works best for times when the solutions often vary based on the situation."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:142
#: ../../content/applications/productivity/ai/agents.rst:145
msgid "Tick the :guilabel:`Restrict to Sources` checkbox to limit the agent to **only** respond based on the provided resources."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:145
#: ../../content/applications/productivity/ai/agents.rst:148
msgid "Next, select one or more :guilabel:`Topics` for the agent. As explained above, :ref:`Topics <ai/topics>` include both instructions and tools that guide the agent in helping users complete a task."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:149
#: ../../content/applications/productivity/ai/agents.rst:152
msgid "Enter a :guilabel:`System Prompt` with detailed instructions for the agent as to their role and responsibilities."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:153
#: ../../content/applications/productivity/ai/agents.rst:156
msgid "The specificity and length of the :guilabel:`System Prompt` can vary, depending on the use case for the agent. Use the preconfigured agents as an example of the possible information."
msgstr ""
@@ -348,31 +348,31 @@ msgstr ""
msgid "A new agent form with the required information."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:159
#: ../../content/applications/productivity/ai/agents.rst:162
msgid "If *Sources* are needed for the agent, scroll to the :guilabel:`Sources` tab, then click :guilabel:`Add a source`."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:162
#: ../../content/applications/productivity/ai/agents.rst:165
msgid "Select a format:"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:164
#: ../../content/applications/productivity/ai/agents.rst:167
msgid "PDFs: Select the appropriate file from the explorer window, and click :guilabel:`Open`"
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:165
#: ../../content/applications/productivity/ai/agents.rst:168
msgid "Weblinks: paste the URL. Multiple links can be added at once, paste one link per line. Click :guilabel:`Save`."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:167
#: ../../content/applications/productivity/ai/agents.rst:170
msgid "Documents (uploaded in the **Documents** application): Tick the checkbox next to one or more documents, then click :guilabel:`Select`."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:169
#: ../../content/applications/productivity/ai/agents.rst:172
msgid "**Knowledge** app articles: Tick the checkbox next to one or more articles, then click :guilabel:`Select`."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:172
#: ../../content/applications/productivity/ai/agents.rst:175
msgid "Once a source is added, the :guilabel:`Status` field updates to reflect its current status. The source is ready when the status changes from *Processing* to *Indexed*. Slide the :guilabel:`Active` toggle to activate the source."
msgstr ""
@@ -380,11 +380,11 @@ msgstr ""
msgid "A list of sources for an agent, each denoted with their format."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:180
#: ../../content/applications/productivity/ai/agents.rst:183
msgid "If a source fails to upload, it could be the result of a conflict with the selected LLM model."
msgstr ""
#: ../../content/applications/productivity/ai/agents.rst:182
#: ../../content/applications/productivity/ai/agents.rst:185
msgid "Click the :guilabel:`Test` button to open a conversation window and test the new agent."
msgstr ""
@@ -621,11 +621,11 @@ msgstr ""
msgid "A warning message indicating the AI was unable to complete the request."
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:77
#: ../../content/applications/productivity/ai/fields.rst:79
msgid "Add via edit properties"
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:79
#: ../../content/applications/productivity/ai/fields.rst:81
msgid "|AI| fields can also be added as property fields without opening the **Studio** app. Click on the :icon:`fa-cog` :guilabel:`Actions` icon and select :icon:`fa-cogs` :guilabel:`Edit Properties`. Tick the :guilabel:`AI` checkbox, confirm the field should be |AI|-enabled, then follow the steps :ref:`above <ai/add-a-new-field>` to define the field type and enter the prompt."
msgstr ""
@@ -633,23 +633,23 @@ msgstr ""
msgid "The edit properties pop-up on a form view."
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:88
#: ../../content/applications/productivity/ai/fields.rst:90
msgid ":ref:`Property fields <property_field/add>` can only be added to form views."
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:91
#: ../../content/applications/productivity/ai/fields.rst:93
msgid "Computing AI fields"
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:93
#: ../../content/applications/productivity/ai/fields.rst:95
msgid "To compute, or refresh, an |AI| field, click on the |AI| icon next to the field. Clicking the button updates the field based on the prompt."
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:96
#: ../../content/applications/productivity/ai/fields.rst:98
msgid "Additionally, a scheduled action runs once a day to fill all |AI| fields that are currently empty. This action is active by default."
msgstr ""
#: ../../content/applications/productivity/ai/fields.rst:100
#: ../../content/applications/productivity/ai/fields.rst:102
msgid "To run the scheduled action manually, navigate to :menuselection:`Settings app --> Technical --> Automation --> Scheduled Actions`. Click on :guilabel:`AI Fields\\:\\ Compute AI fields` to open it, then click :guilabel:`Run Manually`."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-19 09:34+0100\n"
"POT-Creation-Date: 2025-12-11 10:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -189,7 +189,8 @@ msgstr ""
#: ../../content/applications/services/field_service/worksheets.rst:15
#: ../../content/applications/services/helpdesk/overview/help_center.rst:15
#: ../../content/applications/services/planning.rst:29
#: ../../content/applications/services/project/project_management.rst:18
#: ../../content/applications/services/project/project_management.rst:17
#: ../../content/applications/services/project/project_management/project_milestones.rst:15
#: ../../content/applications/services/project/tasks/recurring_tasks.rst:13
#: ../../content/applications/services/timesheets/billing_rates.rst:19
#: ../../content/applications/services/timesheets/billing_rates.rst:54
@@ -3208,27 +3209,27 @@ msgstr ""
msgid "`Odoo Tutorials: Project and Timesheets <https://www.odoo.com/slides/project-and-timesheets-21>`_"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:6
#: ../../content/applications/services/project/project_management.rst:5
msgid "Project management"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:8
#: ../../content/applications/services/project/project_management.rst:7
msgid "Odoo Project uses the **Kanban** project management system. This means all projects are broken down into tasks, which are categorized on a whiteboard according to what production phase they are in."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:11
#: ../../content/applications/services/project/project_management.rst:10
msgid "Did you know?"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:13
#: ../../content/applications/services/project/project_management.rst:12
msgid "The word **Kanban** comes from Japanese and refers to the \"visual board\" management method."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:20
#: ../../content/applications/services/project/project_management.rst:19
msgid "Open the **Project** app and click :guilabel:`Create` to start a new project. Enter a :guilabel:`Name` for your project and click :guilabel:`Create Project`."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:23
#: ../../content/applications/services/project/project_management.rst:22
msgid "You can customize your existing **projects** from the dashboard by clicking the drop-down toggle button (:guilabel:`⋮`) on your project's **card**."
msgstr ""
@@ -3236,59 +3237,59 @@ msgstr ""
msgid "Project card"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:30
#: ../../content/applications/services/project/project_management.rst:29
msgid "This enables a new menu divided into four parts:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:32
#: ../../content/applications/services/project/project_management.rst:31
msgid ":guilabel:`View`: see an overview of your project's components, such as its :guilabel:`Tasks`, :guilabel:`Milestones` and :guilabel:`Project Updates`. Depending on which apps you have activated, more options may be available, such as :guilabel:`Documents`. All uploaded files can be found under this menu, as well as in the **Documents** app, under :guilabel:`Projects`;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:36
#: ../../content/applications/services/project/project_management.rst:35
msgid ":guilabel:`Reporting`: analyze your project's progress and profitability through graphics and statistics;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:38
#: ../../content/applications/services/project/project_management.rst:37
msgid "**Color**: make a line of color appear on the left side of the card so that your project is more recognizable;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:40
#: ../../content/applications/services/project/project_management.rst:39
msgid ":guilabel:`Settings`: you can change the following:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:42
#: ../../content/applications/services/project/project_management.rst:41
msgid "the :guilabel:`Name` of the project;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:43
#: ../../content/applications/services/project/project_management.rst:42
msgid "the :guilabel:`Name of the tasks` found under that project;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:44
#: ../../content/applications/services/project/project_management.rst:43
msgid "the :guilabel:`Customer` for whom the project is intended;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:45
#: ../../content/applications/services/project/project_management.rst:44
msgid "the :guilabel:`Tags` used for filtering;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:46
#: ../../content/applications/services/project/project_management.rst:45
msgid "the :guilabel:`Company` responsible for the project;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:47
#: ../../content/applications/services/project/project_management.rst:46
msgid "the employee designated as :guilabel:`Project Manager`;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:48
#: ../../content/applications/services/project/project_management.rst:47
msgid "the :guilabel:`Planned Date` of the project;"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:49
#: ../../content/applications/services/project/project_management.rst:48
msgid "the total :guilabel:`Allocated Hours` for that project."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:51
#: ../../content/applications/services/project/project_management.rst:50
msgid "Additionally, you can mark the project as :guilabel:`Favorite`, allowing you to find it using the :guilabel:`My Favorites` filter on the Kanban view;"
msgstr ""
@@ -3296,103 +3297,103 @@ msgstr ""
msgid "Project settings"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:59
#: ../../content/applications/services/project/project_management.rst:58
msgid "`Odoo Tutorials: Customize projects <https://www.odoo.com/slides/slide/customize-projects-3615?fullscreen=1>`_"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:62
#: ../../content/applications/services/project/project_management.rst:61
msgid "Further settings are available under the :guilabel:`Settings` tab. Most of them are *only* available depending on the activated apps."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:66
#: ../../content/applications/services/project/project_management.rst:65
msgid "Visibility and collaboration"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:68
#: ../../content/applications/services/project/project_management.rst:67
msgid "Odoo allows you to set visibility settings for each project, enabling you to make your project available to everyone in your organization or restrict access to certain internal or external users."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:71
#: ../../content/applications/services/project/project_management.rst:70
msgid "To do so, go to the project's :guilabel:`Settings` tab and choose the desired :guilabel:`Visibility` option:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:74
#: ../../content/applications/services/project/project_management.rst:73
msgid ":guilabel:`Invited internal users (private)`: Only users following the project and users with the Project Administrator :doc:`access right </applications/general/users/access_rights>` can access the project and its tasks."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:77
#: ../../content/applications/services/project/project_management.rst:76
msgid ":guilabel:`All internal users`: All internal users can access the project and all of its tasks."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:78
#: ../../content/applications/services/project/project_management.rst:77
msgid ":guilabel:`Invited portal users and all internal users (public)`: All internal users can access the project and all of its tasks. When following a project, :doc:`portal users </applications/general/users/portal>` only have access to the specific tasks they are following. This option is selected by default."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:84
#: ../../content/applications/services/project/project_management.rst:83
msgid "Inviting external users"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:86
#: ../../content/applications/services/project/project_management.rst:85
msgid "To invite external users, make sure that :guilabel:`Invited portal users and all internal users (public)` is selected, then click :guilabel:`Share Project` at the top of the projects settings. The following options are available:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:90
#: ../../content/applications/services/project/project_management.rst:89
msgid "Copy and share the :guilabel:`Public Link` displayed at the top of the pop-up window. Anyone with this link can access the project in read mode."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:92
#: ../../content/applications/services/project/project_management.rst:91
msgid "Or click :guilabel:`Add a line`, select a :guilabel:`Collaborator`, choose the :guilabel:`Access Mode`, and check the box to send an invitation to their email address."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:95
#: ../../content/applications/services/project/project_management.rst:94
msgid "There are three types of :guilabel:`Access Mode` for collaborators:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:97
#: ../../content/applications/services/project/project_management.rst:96
msgid ":guilabel:`Read`: Collaborators can view tasks but cannot edit them."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:98
#: ../../content/applications/services/project/project_management.rst:97
msgid ":guilabel:`Edit with limited access`: Collaborators can view and edit the tasks they follow."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:99
#: ../../content/applications/services/project/project_management.rst:98
msgid ":guilabel:`Edit`: Collaborators can view and edit all tasks."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:101
#: ../../content/applications/services/project/project_management.rst:100
msgid "To revoke an invited collaborator's access, click :guilabel:`Share Project` at the top of the projects settings, then click the :icon:`fa-trash-o` :guilabel:`(trash)` icon."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:105
#: ../../content/applications/services/project/project_management.rst:104
msgid "Internal users without access to the project can still access a task if the URL has been shared with them. For projects set as :guilabel:`Invited internal users (private)`, they must also be a follower of the task."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:110
#: ../../content/applications/services/project/project_management.rst:109
msgid "Scheduling activities"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:112
#: ../../content/applications/services/project/project_management.rst:111
msgid "You can schedule **activities** (ex. :guilabel:`Call`, :guilabel:`Meeting`, etc.) per project by clicking on the **clock** icon on a project. Doing so opens a list with already scheduled activities and allows planning **new** activities by clicking :guilabel:`+ Schedule an activity`. On the pop-up window, select the :guilabel:`Activity Type`, enter a :guilabel:`Summary` for that activity, a :guilabel:`Due Date`, and assign it to an employee. According to the :guilabel:`Activity Type`, you may have **additional options** available."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:120
#: ../../content/applications/services/project/project_management.rst:119
msgid "If an activity is **already** scheduled, the icon may change to a **phone**, **group of people**, or other."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:126
#: ../../content/applications/services/project/project_management.rst:125
msgid "Top bar"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:128
#: ../../content/applications/services/project/project_management.rst:127
msgid "In project management, reviewing the various records and documents related to a project is often necessary. Odoo Projects **top bar** provides quick access to these essential resources. You can customize each project's top bar to match its specific needs."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:132
#: ../../content/applications/services/project/project_management.rst:131
msgid "To set up the top bar for a project, go to the :guilabel:`Project` app, click the project's card, then click the top bar :icon:`fa-sliders` :guilabel:`(sliders)` button. In the bar that appears above the search bar, click the :icon:`fa-sliders` :guilabel:`(sliders)` button to select the records you want to display, such as timesheets, sales orders, invoices, documents, dashboards, etc."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:137
#: ../../content/applications/services/project/project_management.rst:136
msgid "You can then click the buttons to access the related records without leaving the Project app. To return to your project tasks' Kanban view, click the :guilabel:`Tasks` button in the top bar."
msgstr ""
@@ -3400,27 +3401,27 @@ msgstr ""
msgid "Top bar selection menu"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:144
#: ../../content/applications/services/project/project_management.rst:143
msgid "Custom top bar buttons"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:146
#: ../../content/applications/services/project/project_management.rst:145
msgid "You can also create your own buttons to access more specific views:"
msgstr ""
#: ../../content/applications/services/project/project_management.rst:148
#: ../../content/applications/services/project/project_management.rst:147
msgid "Click an existing top bar button to access the view."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:149
#: ../../content/applications/services/project/project_management.rst:148
msgid "Customize the view with keywords, filters, and grouping options using the search bar."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:150
#: ../../content/applications/services/project/project_management.rst:149
msgid "Click the :icon:`fa-sliders` :guilabel:`(sliders)` button in the top bar and select :guilabel:`Save View`."
msgstr ""
#: ../../content/applications/services/project/project_management.rst:152
#: ../../content/applications/services/project/project_management.rst:151
msgid "Edit the default button name if necessary, then enable :guilabel:`Shared` if you want to share the button with other users."
msgstr ""
@@ -3497,7 +3498,7 @@ msgid "Milestones"
msgstr ""
#: ../../content/applications/services/project/project_management/project_dashboard.rst:70
msgid "This section is only visible if :doc:`milestones </applications/sales/sales/invoicing/milestone>` have been enabled in the project you're browsing: go to :guilabel:`Project`, click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon on one of your projects, and click on :guilabel:`Settings`. Click on the :guilabel:`Settings` tab, look for :guilabel:`Tasks Management` and make sure :guilabel:`Milestones` is enabled."
msgid "This section is only visible if :doc:`milestones <../project_management/project_milestones>` have been enabled in the project you're browsing: go to :guilabel:`Project`, click the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon on one of your projects, and click on :guilabel:`Settings`. Click on the :guilabel:`Settings` tab, look for :guilabel:`Tasks Management` and make sure :guilabel:`Milestones` is enabled."
msgstr ""
#: ../../content/applications/services/project/project_management/project_dashboard.rst:76
@@ -3560,6 +3561,74 @@ msgstr ""
msgid ":guilabel:`Description`: Use this rich-text field to gather notes. Depending on the project configuration (e.g., if the project is billable), this field may be pre-filled with current information on aspects such as profitability, budget, milestones, etc."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:3
msgid "Project milestones"
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:5
msgid "**Milestones** enable you to track ongoing project work by designating a sequence of key steps that must be reached before the projects completion. Milestones are particularly useful in expensive, long, or large-scale projects. They can be used purely for indicative purposes, as a way to ensure that the project is completed in a timely manner."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:10
msgid "Milestones can also be used as a basis for :doc:`invoicing the client </applications/sales/sales/invoicing/milestone>`. This benefits both parties, as it ensures consistent cash flow for project funding and allows the client to pay for the project in several installments."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:17
msgid "Enable milestones for the desired project by opening the :guilabel:`Project` app, clicking the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) on the projects card, and clicking :guilabel:`Settings`. Under :guilabel:`Tasks Management`, enable :guilabel:`Milestones`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:22
msgid "Milestones are automatically enabled for projects created from a sales order for a service :doc:`invoiced by milestone </applications/sales/sales/invoicing/milestone>`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:25
msgid "Configure project milestones by clicking the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) on the projects card and selecting :guilabel:`Milestones`. Create a milestone by clicking :guilabel:`New`, entering the milestone's :guilabel:`Name`, selecting a :guilabel:`Deadline` if desired, and clicking :guilabel:`Save`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:30
msgid "Add or remove options by clicking the :icon:`oi-settings-adjust` :guilabel:`sliders`. The following options are relevant when using :doc:`invoicing based on milestones </applications/sales/sales/invoicing/milestone>`:"
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:34
msgid ":guilabel:`Sales Order Item`: this field is filled in automatically with the Sales Order number."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:35
msgid ":guilabel:`Quantity (%)`: percentage of the ordered quantity that will automatically be delivered on the sales order once the milestone is marked as reached."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:38
msgid "Once milestones are configured, **you can link project tasks to milestones**. To do so, navigate to the project you created the milestones in, then click one of the tasks to open it. Then, click the :guilabel:`Milestone` field to open a drop-down menu. Select the desired milestone from the list."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:42
msgid "Once all the tasks linked to the milestone are completed (marked as :doc:`Done or Cancelled <../tasks/task_stages_statuses>`), the milestone will be automatically marked as :guilabel:`Reached` in the :menuselection:`Project --> Settings --> Milestones`. You can also check the :guilabel:`Reached` box manually whenever the milestone is reached. Manual checking of the box will not impact the tasks linked to the milestone."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:49
msgid "Using milestones"
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:51
msgid "Odoo offers several ways to oversee the projects milestones and their relationship to ongoing tasks."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:54
msgid "In the **Gantt view**, a milestone is shown as a vertical line marked with a diamond shape, displayed on the day of the milestones deadline. The line is color-coded in blue to indicate that the milestone has not yet reached its deadline, or it has been marked as reached (in which case, a check mark is displayed on the milestone). A milestone is color-coded in red if it has not been reached by its deadline."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:60
msgid "If a milestones deadline falls on the same day as the projects deadline, it is displayed with a vertical line marked with a circle, and the same color coding principles as above apply."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:63
msgid "Aside from the Gantt view, you can also create, edit, and mark milestones as reached from :ref:`the project dashboard <project/project-dashboard/milestones>`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_milestones.rst:-1
msgid "Project milestones in Gantt view."
msgstr ""
#: ../../content/applications/services/project/project_management/project_profitability.rst:3
msgid "Project profitability"
msgstr ""
@@ -3680,6 +3749,130 @@ msgstr ""
msgid ":guilabel:`Other costs`: any other costs linked to the project's analytic account."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:3
msgid "Project templates"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:5
msgid "Templates allow you to create new projects with predefined settings, reducing the need to manually set up similar projects repeatedly."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:9
msgid "Creating templates"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:11
msgid "To create a project template, an existing project is required and used as a base to be converted into a template. Converting a project into a template transfers the entire project's properties to the template. This includes the projects stages, tasks, sub-tasks, and their respective configurations, such as planned dates, statuses, assignees, and more."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:16
msgid "First, access the settings of the project that you want to convert into a template by going to :guilabel:`Projects`, hovering your mouse over the project's card, clicking the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon, and selecting :guilabel:`Settings`. Review and adjust the projects properties to ensure it reflects your desired template setup."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:21
msgid "Once your project is ready, click the :icon:`fa-cog` (:guilabel:`cog`) icon and select :guilabel:`Convert to Template`. The :guilabel:`Template` banner indicates that the project has been successfully converted into a template."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:26
msgid "Converting a project into a template will also archive the original project used to create the template. To keep using a project that you want to convert into a template, duplicate it first by hovering your mouse over the project's card, clicking the :icon:`fa-ellipsis-v` (:guilabel:`vertical ellipsis`) icon, and selecting :guilabel:`Duplicate`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:32
msgid "To edit or delete a template, go to :menuselection:`Projects --> New`. Next to the name of the template, click the :icon:`fa-pencil` (:guilabel:`pencil`) icon to edit it or the :icon:`fa-trash` (:guilabel:`trash`) icon to delete it. Editing or deleting a template does not affect the projects that were previously created from it."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:38
msgid "Project roles in templates"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:40
msgid "Templates enable you to pre-select specific roles for tasks within your template, making the selection of assignees faster during the creation of a new project using a template."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:43
msgid "Go to :menuselection:`Projects --> New`, and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon next to the name of the template you want to edit. Then click on the :guilabel:`Tasks` smart button, and on one of the tasks. In the :guilabel:`Project Roles` field, type or select the roles that you want to perform this task, then click :guilabel:`Save`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:48
msgid "Create a project based on this template: go to :menuselection:`Projects --> New`, and click on the name of the template. The :guilabel:`Create a project from template` form then includes :guilabel:`Project Roles`. For each of them, you can select assignees by clicking on the :guilabel:`Assignees` field. This automatically dispatches the right tasks to the right employees."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:54
msgid "Task scheduling in templates"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:56
msgid "In a project template, task scheduling can be automated according to the planned dates specified within the template."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:60
msgid "Project and task planned dates are not saved when converting a project into a template. These require to be added to the template after it is created."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:63
msgid "On the project template, define the :guilabel:`Planned dates` for both the project and each task. When tasks have planned start dates in the template, Odoo calculates the number of working days between the projects start date and the first scheduled task. This time window is referred to as the *delta*."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:68
msgid "When a new project is generated from this template:"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:70
msgid "The system uses the projects start date as a reference."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:71
msgid "Each tasks start date is automatically planned according to its delta."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:72
msgid "If no start date is set on the new project, the current date is used as the default start date."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:73
msgid "Task end dates are then determined automatically by Odoos scheduling algorithm."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:76
msgid "To ensure that all project roles and tasks are planned without conflict according to the teams availability and workload, the scheduling algorithm calculates the end date of each task based on the allocated time, while also considering task dependencies and assignees availability, working schedule, time off, and public holidays."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:82
msgid "Using templates"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:84
msgid "To create a new project from a template, go to :menuselection:`Projects --> New`, and click on a template in the :guilabel:`Project Templates` section. Enter a name for your project. Optionally, add a :guilabel:`Customer`, a :guilabel:`Planned Date`, and set up the task creation email. Then, click :guilabel:`Create Project`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:89
msgid "Templates can also be linked to specific products. To do so, the project template must be set as :guilabel:`Billable`:"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:92
msgid "Go to :menuselection:`Projects --> New` and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon next to the name of the template you want to edit."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:94
msgid "Click the :guilabel:`Settings` tab, tick the :guilabel:`Billable` checkbox, and click :guilabel:`Save`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:97
msgid "Once this is done, configure the product by:"
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:99
msgid "Selecting :guilabel:`Service` as the :guilabel:`Product Type`."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:100
msgid "Selecting :guilabel:`Project` or :guilabel:`Project & Task` in the :guilabel:`Create on Order` field."
msgstr ""
#: ../../content/applications/services/project/project_management/project_templates.rst:101
msgid "Selecting a :guilabel:`Project Template` and clicking :guilabel:`Save`."
msgstr ""
#: ../../content/applications/services/project/tasks.rst:5
msgid "Task management"
msgstr ""

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo 19.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-19 09:34+0100\n"
"POT-Creation-Date: 2025-12-11 10:43+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -249,22 +249,18 @@ msgid "Select the :ref:`Trigger <studio/automated-actions/trigger>` and, if nece
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:21
msgid "Click :guilabel:`Add an action` in the :guilabel:`Actions To Do` tab."
msgid "Click :ref:`Add an action <studio/automated-actions/action>` in the :guilabel:`Actions To Do` tab."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:24
msgid "If no explicit name is entered, the name of the action will be automatically generated based on the action you define; the name can be updated at any time."
#: ../../content/applications/studio/automated_actions.rst:23
msgid "Select the :guilabel:`Type` of action and complete the relevant fields based on the chosen action."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:27
msgid "Select the :guilabel:`Type` of :ref:`action <studio/automated-actions/action>` and complete the relevant fields based on the chosen action."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:29
#: ../../content/applications/studio/automated_actions.rst:25
msgid "Click :guilabel:`Save & Close` or, to define additional actions, :guilabel:`Save & New`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:33
#: ../../content/applications/studio/automated_actions.rst:29
msgid "To ensure follow-up on less satisfied clients, this automation rule creates an activity 3 months after a sales order is created for clients with a satisfaction percentage lower than 30%."
msgstr ""
@@ -272,15 +268,15 @@ msgstr ""
msgid "Example of an automation rule on the Subscription model"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:41
#: ../../content/applications/studio/automated_actions.rst:37
msgid "Use the :guilabel:`Notes` tab to document the purpose and functioning of automation rules. This makes rules easier to maintain and facilitates collaboration between users."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:43
#: ../../content/applications/studio/automated_actions.rst:39
msgid "To modify the :doc:`model <models_modules_apps>` targeted by the automation rule, switch models before clicking :guilabel:`Automations` in Studio, or :ref:`activate developer mode <developer-mode>`, create or edit an automation rule, and select the :guilabel:`Model` in the :guilabel:`Automation Rules` form."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:47
#: ../../content/applications/studio/automated_actions.rst:43
msgid "Automation rules can be created from any kanban stage by clicking the :icon:`fa-cog` :guilabel:`(Settings)` icon that appears when hovering over the kanban stage name, then selecting :guilabel:`Automations`. In this case, the :guilabel:`Trigger` is set to :guilabel:`Stage is set to` by default, but it can be changed if necessary."
msgstr ""
@@ -288,75 +284,75 @@ msgstr ""
msgid "Create automations from a kanban stage"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:58
#: ../../content/applications/studio/automated_actions.rst:54
msgid "Trigger"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:60
#: ../../content/applications/studio/automated_actions.rst:56
msgid "The :guilabel:`Trigger` is used to define what kind of event needs to occur for the automation rule to run. The available triggers depend on the :doc:`model <models_modules_apps>`. Five trigger categories are available overall:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:64
#: ../../content/applications/studio/automated_actions.rst:60
msgid ":ref:`studio/automated-actions/trigger-values-updated`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:65
#: ../../content/applications/studio/automated_actions.rst:61
msgid ":ref:`studio/automated-actions/trigger-email-events`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:66
#: ../../content/applications/studio/automated_actions.rst:62
msgid ":ref:`studio/automated-actions/trigger-timing-conditions`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:67
#: ../../content/applications/studio/automated_actions.rst:63
msgid ":ref:`studio/automated-actions/trigger-custom`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:68
#: ../../content/applications/studio/automated_actions.rst:64
msgid ":ref:`studio/automated-actions/trigger-external`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:73
#: ../../content/applications/studio/automated_actions.rst:69
msgid "Adding conditions"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:75
#: ../../content/applications/studio/automated_actions.rst:71
msgid "Domain filters allow you to determine the records an automation rule should target or exclude. Efficient filtering enhances overall performance as it avoids unnecessary processing on records that are not impacted by the rule."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:80
#: ../../content/applications/studio/automated_actions.rst:76
msgid ":ref:`Activate developer mode <developer-mode>` before creating an automation rule to have the most flexibility in adding domain filters."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:83
#: ../../content/applications/studio/automated_actions.rst:79
msgid "Depending on the trigger chosen, it is possible to define one or more conditions a record must meet *before* and/or *after* a trigger occurs."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:86
#: ../../content/applications/studio/automated_actions.rst:82
msgid "The :guilabel:`Before Update Domain` defines the conditions a record must meet *before* the trigger event occurs, e.g., the record must have `Type = Customer Invoice` and `Status = Posted`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:89
#: ../../content/applications/studio/automated_actions.rst:85
msgid "With developer mode activated, click :guilabel:`Edit Domain`, if available, then :guilabel:`New Rule`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:92
#: ../../content/applications/studio/automated_actions.rst:88
msgid "The :guilabel:`Apply on` domain defines the conditions a record must meet *after* the trigger event occurs, e.g., the customer invoice must have `Payment Status = Partially Paid`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:95
#: ../../content/applications/studio/automated_actions.rst:91
msgid "With developer mode activated, click :guilabel:`Edit Domain` then :guilabel:`New Rule`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:98
#: ../../content/applications/studio/automated_actions.rst:94
msgid "If developer mode is not activated, to define an :guilabel:`Apply on` domain, click :icon:`fa-plus` :guilabel:`Add condition`. Complete or delete the suggested condition. To add a condition, click :guilabel:`New Rule`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:102
#: ../../content/applications/studio/automated_actions.rst:98
msgid "When a :ref:`trigger <studio/automated-actions/trigger>` occurs, e.g., the payment status of a posted customer invoice is updated, the automation rule checks the defined conditions and only executes the :ref:`action <studio/automated-actions/action>` if the record matches those conditions."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:107
#: ../../content/applications/studio/automated_actions.rst:103
msgid "If the automated action should be executed when an email address is set for the first time (in contrast to modifying an email address) on an existing contact that is an individual rather than a company, use `Email is not set` and `Is a Company is not set` as the :guilabel:`Before Update Domain` and `Email is set` as the :guilabel:`Apply on` domain."
msgstr ""
@@ -364,139 +360,195 @@ msgstr ""
msgid "Example of a trigger with a Before Update Domain"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:117
#: ../../content/applications/studio/automated_actions.rst:113
msgid "The :guilabel:`Before Update Domain` is not checked upon the creation of a record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:122
#: ../../content/applications/studio/automated_actions.rst:118
msgid "Values Updated"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:124
#: ../../content/applications/studio/automated_actions.rst:120
msgid "Trigger automated actions when specific changes happen in the database. The triggers available in this category depend on the model and are based on common changes, such as adding a specific tag (e.g., to a task) or setting a field's value (e.g., setting the :guilabel:`User` field)."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:128
#: ../../content/applications/studio/automated_actions.rst:124
msgid "Select the trigger, then select a value if required."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:133
#: ../../content/applications/studio/automated_actions.rst:129
msgid "Email Events"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:135
#: ../../content/applications/studio/automated_actions.rst:131
msgid "Trigger automated actions upon receiving or sending emails."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:140
#: ../../content/applications/studio/automated_actions.rst:136
msgid "Timing Conditions"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:142
#: ../../content/applications/studio/automated_actions.rst:138
msgid "Trigger automated actions at a point in time relative to a date field or to the creation or update of a record. The following triggers are available:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:145
msgid ":guilabel:`Based on date field`: The action is triggered a defined period of time before or after the date of the selected date field."
#: ../../content/applications/studio/automated_actions.rst:141
msgid ":guilabel:`Based on date field`: The action is triggered a defined period of time *before or after* the date of the selected date field, e.g., 30 days before the contract end date."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:147
#: ../../content/applications/studio/automated_actions.rst:143
msgid ":guilabel:`After creation`: The action is triggered a defined period of time after a record is created and saved."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:149
#: ../../content/applications/studio/automated_actions.rst:145
msgid ":guilabel:`After last update`: The action is triggered a defined period of time after an existing record is edited and saved."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:152
msgid "You can then define:"
#: ../../content/applications/studio/automated_actions.rst:148
msgid "To configure a :guilabel:`Timing Conditions` trigger, with :ref:`developer mode activated <developer-mode>`:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:154
msgid "a :guilabel:`Delay`: Specify the number of :guilabel:`Minutes`, :guilabel:`Hours`, :guilabel:`Days`, or :guilabel:`Months` after which the action should be triggered. If you selected the :guilabel:`Based on date field` trigger, the action can be triggered :guilabel:`After` or :guilabel:`Before` the selected date field."
#: ../../content/applications/studio/automated_actions.rst:151
msgid "Select the appropriate :guilabel:`Trigger` from the :guilabel:`Timing Conditions` category. If you select the :guilabel:`Based on date field` trigger, select the relevant date field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:153
msgid "Configure the :guilabel:`Delay` to determine the *execution date time* of the action(s). To do so, enter the number of :guilabel:`Minutes`, :guilabel:`Hours`, :guilabel:`Days`, or :guilabel:`Months` after which the action should be triggered. If you selected the :guilabel:`Based on date field` trigger, the action can be triggered :guilabel:`After` or :guilabel:`Before` the selected date field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:158
msgid "Optionally, :ref:`add conditions <studio/automated-actions/conditions>` that the record must meet before and/or after the rule is triggered."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:160
msgid "By default, the scheduler checks for time-triggered automation rules every 240 minutes, or 4 hours. This frequency is generally sufficient for delays such as 3 months after the order date or 7 days after the last update."
msgid "Click :icon:`fa-cloud-upload` :guilabel:`Save manually`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:164
msgid "For delays of less than the equivalent of 2400 minutes, or 40 hours, the system recalculates the frequency of this check to ensure that more granular delays, e.g., 1 hour before the event start date and time, or 30 minutes after creation, can be respected as closely as possible."
#: ../../content/applications/studio/automated_actions.rst:161
msgid "Click :icon:`fa-arrow-right` :guilabel:`Scheduled action` to open the :guilabel:`Automation Rules: check and execute` scheduled action."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:168
msgid "To view or manually edit the frequency of the scheduler for a time-triggered automation rule, with :ref:`developer mode activated <developer-mode>`, click :guilabel:`Scheduled action`."
#: ../../content/applications/studio/automated_actions.rst:165
msgid "This scheduled action checks for execution date times that have been reached since its previous run, and executes the related action(s), if relevant. By default, the scheduled action is set to :guilabel:`Execute Every` 4 hours, which is generally sufficient for delays such as 3 months after the order date or 7 days after the last update."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:0
msgid "Direct link to scheduled action for automations"
#: ../../content/applications/studio/automated_actions.rst:170
msgid "If any automation rule has a time-based trigger with a delay of less than the equivalent of 40 hours, e.g., 3 hours before the event start date time, the frequency of the scheduled action is automatically increased, e.g., to :guilabel:`Execute Every` 18 minutes. This allows the action to be executed closer to its scheduled execution date time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:174
msgid "In the :guilabel:`Automation Rules: check and execute` scheduled action that opens, update the value of the :guilabel:`Execute Every` field, if desired. Clicking :guilabel:`Run Manually` triggers the scheduled action to run immediately. To return to the automation rule setup, click the automation rule name in the breadcrumbs."
#: ../../content/applications/studio/automated_actions.rst:175
msgid "Click :guilabel:`Run manually` at the top left."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:179
msgid ":guilabel:`Extra Conditions`: Click :guilabel:`Add condition`, then specify the conditions to be met for the automation rule to run. Click :guilabel:`New Rule` to add another condition."
#: ../../content/applications/studio/automated_actions.rst:178
msgid "This step is critical to prevent the rule from running retroactively on historical records. Running the scheduled action manually initializes the timestamp of its *last run* in the automation rule, which is a key element of the rule's :ref:`execution logic <studio/automated-actions/trigger-timing-conditions-logic>`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:182
msgid "The action is executed when the delay is reached and the conditions are met."
#: ../../content/applications/studio/automated_actions.rst:183
msgid "Click the automation rule name in the breadcrumbs to return to the automation rule setup."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:184
msgid "Add the :ref:`action(s) to be executed <studio/automated-actions/action>` then, when all actions have been defined, click :icon:`fa-cloud-upload` :guilabel:`Save manually`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:187
msgid "Custom"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:189
msgid "Trigger automated actions:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:191
msgid ":guilabel:`On create`: when a record is saved for the first time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:192
msgid ":guilabel:`On create and edit`: when a record is saved for the first time and any subsequent time."
msgid "The action is executed the first time the :guilabel:`Automation Rules: check and execute` scheduled action runs after the execution date time is reached, and when the conditions are met."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:193
msgid ":guilabel:`On deletion`: when a record is deleted."
msgid "Execution logic"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:194
msgid ":guilabel:`On UI change`: when a field's value is changed on the :ref:`Form view <studio/views/general/form>`, even before the record is saved."
#: ../../content/applications/studio/automated_actions.rst:195
msgid "When using a time-based trigger, an action is only executed when the execution date time falls *between* the last run of the scheduled action and the current run (whether scheduled or run manually), i.e.:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:197
msgid "For the :guilabel:`On create and edit` and :guilabel:`On UI change` triggers, you **must** then select the field(s) to be used to trigger the automation rule in the :guilabel:`When updating` field."
#: ../../content/applications/studio/automated_actions.rst:199
msgid "**last run --> execution date and time --> current run**"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:202
msgid "If no field is selected in the :guilabel:`When updating` field, the automated action may be executed multiple times per record."
msgid "Running the :guilabel:`Automation Rules: check and execute` scheduled action manually does not necessarily result in a rule's action being executed. When testing an automation rule with a time-based trigger, ensure that this sequence is true, then check if the action has been executed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:205
msgid "Optionally, you can also define additional conditions to be met to trigger the automation rule in the :guilabel:`Apply on` field."
#: ../../content/applications/studio/automated_actions.rst:208
msgid "On the morning of October 15, you create an automation rule that triggers the sending of an email 30 days before the :guilabel:`Contract end date`; contracts end at 11:59 pm on their contract end date. During the creating of the rule, the :guilabel:`Automation Rules: check and execute` scheduled action was run manually at 11:00 am and is set to run every four hours thereafter."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:209
msgid "The :guilabel:`On UI change` trigger can only be used with the :ref:`Execute Code <studio/automated-actions/action-execute-code>` action and only works when a modification is made manually. The action is not executed if the field is changed through another automation rule."
#: ../../content/applications/studio/automated_actions.rst:213
msgid "This new automation rule will apply for contracts whose end date is at least 30 days *after* the creation of the rule, i.e., an end date of November 14 or later."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:216
msgid "External"
msgid "For a contract with an end date of November 14, the execution date time of the action is 11:59 pm on October 15. The action will therefore be executed the first time the :guilabel:`Automation Rules: check and execute` scheduled action runs after that date and time has passed, i.e.,:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:218
msgid "Trigger automated actions based on a specific event in an external system or application using a :doc:`webhook <automated_actions/webhooks>`."
#: ../../content/applications/studio/automated_actions.rst:220
msgid "last run of the scheduled action: 11:00 pm on October 15"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:221
msgid "execution date time: 11:59 pm on October 15"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:222
msgid "current run of the scheduled action: 3:00 am on October 16"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:227
msgid "Custom"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:229
msgid "Trigger automated actions:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:231
msgid ":guilabel:`On create`: when a record is saved for the first time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:232
msgid ":guilabel:`On create and edit`: when a record is saved for the first time and any subsequent time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:233
msgid ":guilabel:`On deletion`: when a record is deleted."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:234
msgid ":guilabel:`On UI change`: when a field's value is changed on the :ref:`Form view <studio/views/general/form>`, even before the record is saved."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:237
msgid "For the :guilabel:`On create and edit` and :guilabel:`On UI change` triggers, you **must** then select the field(s) to be used to trigger the automation rule in the :guilabel:`When updating` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:242
msgid "If no field is selected in the :guilabel:`When updating` field, the automated action may be executed multiple times per record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:245
msgid "Optionally, you can also define additional conditions to be met to trigger the automation rule in the :guilabel:`Apply on` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:249
msgid "The :guilabel:`On UI change` trigger can only be used with the :ref:`Execute Code <studio/automated-actions/action-execute-code>` action and only works when a modification is made manually. The action is not executed if the field is changed through another automation rule."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:256
msgid "External"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:258
msgid "Trigger automated actions based on a specific event in an external system or application using a :doc:`webhook <automated_actions/webhooks>`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:261
msgid "After the webhook is configured in Odoo, where the webhook's URL is generated and the target record defined, it needs to be implemented in the external system."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:225
#: ../../content/applications/studio/automated_actions.rst:265
#: ../../content/applications/studio/automated_actions/webhooks.rst:6
msgid "It is *highly recommended* to consult with a developer, solution architect, or another technical role when deciding to use webhooks and throughout the implementation process. If not properly configured, webhooks may disrupt the Odoo database and can take time to revert."
msgstr ""
@@ -505,86 +557,90 @@ msgstr ""
msgid "Example of a Based on date field trigger"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:234
#: ../../content/applications/studio/automated_actions.rst:274
msgid "It is also possible to set up an automated action that :ref:`sends data to a external system's webhook <studio/automated-actions/action-webhook>` when an event occurs in your Odoo database."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:238
#: ../../content/applications/studio/automated_actions.rst:278
msgid ":doc:`Webhook documentation <automated_actions/webhooks>`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:243
#: ../../content/applications/studio/automated_actions.rst:283
msgid "Actions"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:245
#: ../../content/applications/studio/automated_actions.rst:285
msgid "Once you have defined the automation rule's :ref:`trigger <studio/automated-actions/trigger>`, click :guilabel:`Add an action` in the :guilabel:`Actions To Do` tab to define the action(s) to be executed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:250
#: ../../content/applications/studio/automated_actions.rst:290
msgid "If no explicit name is entered, the name of the action will be automatically generated based on the action you define; the name can be updated at any time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:292
msgid "You can define multiple actions for the same automation rule. By default, actions are executed in the order in which they were defined."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:253
#: ../../content/applications/studio/automated_actions.rst:295
msgid "This means, for example, that if you define an :guilabel:`Update record` action and then a :guilabel:`Send email` action where the email references the field that was updated, the email uses the updated values. However, if the :guilabel:`Send email` action is defined before the :guilabel:`Update record` action, the email uses the values set *before* the record is updated."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:258
#: ../../content/applications/studio/automated_actions.rst:300
msgid "To change the order of defined actions, click the :icon:`oi-draggable` :guilabel:`(drag handle)` icon beside an action and drag it to the desired position."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:264
#: ../../content/applications/studio/automated_actions.rst:306
msgid "Update Record"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:266
#: ../../content/applications/studio/automated_actions.rst:308
msgid "This action is used to update one of the record's (related) fields. The following options are available:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:269
#: ../../content/applications/studio/automated_actions.rst:311
msgid ":guilabel:`Update`: updates the selected field with the specified value."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:270
#: ../../content/applications/studio/automated_actions.rst:312
msgid ":guilabel:`Update with AI`: updates the selected field dynamically based on the AI prompt provided. This option requires the **Odoo AI** app to be installed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:272
#: ../../content/applications/studio/automated_actions.rst:314
msgid ":guilabel:`Sequence`: update the selected field with a defined sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:273
#: ../../content/applications/studio/automated_actions.rst:315
msgid ":guilabel:`Compute`: updates the selected field dynamically using Python code."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:275
#: ../../content/applications/studio/automated_actions.rst:381
#: ../../content/applications/studio/automated_actions.rst:421
#: ../../content/applications/studio/automated_actions.rst:460
#: ../../content/applications/studio/automated_actions.rst:317
#: ../../content/applications/studio/automated_actions.rst:423
#: ../../content/applications/studio/automated_actions.rst:463
#: ../../content/applications/studio/automated_actions.rst:502
msgid "To define the action:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:277
#: ../../content/applications/studio/automated_actions.rst:319
msgid "With the :guilabel:`Update`, :guilabel:`Update with AI`, :guilabel:`Sequence` or :guilabel:`Compute` option selected, as relevant, select or search for the field to be updated or computed. If needed, click the :icon:`oi-chevron-right` :guilabel:`(right arrow)` next to the field name to access the list of related fields."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:281
#: ../../content/applications/studio/automated_actions.rst:323
msgid "Provide the relevant information based on the option selected."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:284
#: ../../content/applications/studio/automated_actions.rst:326
msgid "Update"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:286
#: ../../content/applications/studio/automated_actions.rst:328
msgid "Select or enter the updated value for the field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:288
#: ../../content/applications/studio/automated_actions.rst:330
msgid "If a :ref:`many2many field <studio/fields/relational-fields-many2many>` is being updated, choose whether the field must be updated by :guilabel:`Adding`, :guilabel:`Removing`, or :guilabel:`Setting it to` the selected value or by :guilabel:`Clearing it`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:293
#: ../../content/applications/studio/automated_actions.rst:335
msgid "If you want the automated action to remove a tag from the customer record, set the :guilabel:`Update` field to :guilabel:`Customer > Tags`, select :guilabel:`by Removing`, then select the tag to be removed."
msgstr ""
@@ -592,15 +648,15 @@ msgstr ""
msgid "Example of an Update Record action"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:302
#: ../../content/applications/studio/automated_actions.rst:344
msgid "Update with AI"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:304
#: ../../content/applications/studio/automated_actions.rst:346
msgid "Enter a prompt to instruct Odoo AI how to update the field. Type `/` to open the :guilabel:`AI prompt tools`; use :guilabel:`Field Selector` to tell Odoo AI which related fields to check for context, and :guilabel:`Records Selector` to provide possible values for the updated field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:309
#: ../../content/applications/studio/automated_actions.rst:351
msgid "If you want the automation rule to update the :guilabel:`Assignees` field of a newly created task based on the employees' expertise, you can write a prompt to instruct Odoo AI to check the :guilabel:`Display Name` field of the task for the context, then to assign the most suitable employee."
msgstr ""
@@ -608,63 +664,63 @@ msgstr ""
msgid "Example of updating a record using AI"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:319
#: ../../content/applications/studio/automated_actions.rst:361
msgid "Sequence"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:321
#: ../../content/applications/studio/automated_actions.rst:363
msgid "Select an existing sequence or, to create a new sequence:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:323
#: ../../content/applications/studio/automated_actions.rst:365
msgid "Click :guilabel:`Search more`, then click :guilabel:`New`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:324
#: ../../content/applications/studio/automated_actions.rst:366
msgid "In the window that opens, enter the :guilabel:`Name` of the sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:325
#: ../../content/applications/studio/automated_actions.rst:367
msgid "In the :guilabel:`Sequence` tab, configure the sequence:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:327
#: ../../content/applications/studio/automated_actions.rst:369
msgid ":guilabel:`Prefix`: characters added *before* the next number in the sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:328
#: ../../content/applications/studio/automated_actions.rst:370
msgid ":guilabel:`Suffix`: characters added *after* the next number in the sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:329
#: ../../content/applications/studio/automated_actions.rst:371
msgid ":guilabel:`Sequence Size`: determines the number of digits in every number in the sequence. If needed, leading zeros are added before the number to achieve the indicated sequence size, e.g., for a sequence size of `5`, the first number in the sequence is `00001`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:332
#: ../../content/applications/studio/automated_actions.rst:374
msgid ":guilabel:`Step`: determines the increments between the numbers in the sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:333
#: ../../content/applications/studio/automated_actions.rst:375
msgid ":guilabel:`Next Number`: the next number that will be used in the sequence, without leading zeros."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:337
#: ../../content/applications/studio/automated_actions.rst:379
msgid "Use dynamic placeholders like `%(year)s` or `%(month)s` as a :guilabel:`Prefix` and/or :guilabel:`Suffix` to create sequences with elements like current year, month, etc. Possible placeholders are shown at the bottom of the window."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:340
#: ../../content/applications/studio/automated_actions.rst:382
msgid "To use sub-sequences, e.g., to have the sequence restart each year or each month, enable :guilabel:`Use subsequences per date_range`, then :guilabel:`Add a line` for each date range and indicate the :guilabel:`Next Number` for the range."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:344
#: ../../content/applications/studio/automated_actions.rst:386
msgid "Click :guilabel:`Save`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:347
#: ../../content/applications/studio/automated_actions.rst:389
msgid "If you want the automated action to create a sequential customer reference each time a new customer is created, set the :guilabel:`Sequence` field to :guilabel:`Reference`, then, in the dropdown, click :guilabel:`Search more`. Click :guilabel:`New` to create a new sequence."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:351
#: ../../content/applications/studio/automated_actions.rst:393
msgid "In the example, each new customer receives a sequential reference with the prefix `#-REF-%(year)s-`, where `%(year)s` is the current year including the century, and the suffix `/CL`, e.g., `#-REF-2025-00001/CL`, `#-REF-2025-00002/CL`, etc."
msgstr ""
@@ -672,15 +728,15 @@ msgstr ""
msgid "Example of an Update Record action using a sequence"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:360
#: ../../content/applications/studio/automated_actions.rst:402
msgid "Compute"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:362
#: ../../content/applications/studio/automated_actions.rst:404
msgid "Enter the code to be used for computing the field's value."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:365
#: ../../content/applications/studio/automated_actions.rst:407
msgid "If you want the automation rule to compute a custom :ref:`datetime field <studio/fields/simple-fields-date-time>`, :guilabel:`Escalated on`, when a task's priority is set to `Very high` (three stars), you can define the trigger :guilabel:`Priority is set to` to `Very High` and define the :guilabel:`Update Record` action as follows:"
msgstr ""
@@ -688,31 +744,31 @@ msgstr ""
msgid "Compute a custom datetime field using a Python expression"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:377
#: ../../content/applications/studio/automated_actions.rst:419
msgid "Create Record and Duplicate Record"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:379
#: ../../content/applications/studio/automated_actions.rst:421
msgid "These actions are used to create a new or duplicated record on any model."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:383
#: ../../content/applications/studio/automated_actions.rst:425
msgid "With :guilabel:`Create Record` or :guilabel:`Duplicate Record` selected as the :guilabel:`Type` of action, as relevant, select the required model in the :guilabel:`Record to Create` field; the field contains the current model by default."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:386
#: ../../content/applications/studio/automated_actions.rst:428
msgid "Specify a :guilabel:`Name` for the record, or, if the action duplicates a record, indicate the record being duplicated in the :guilabel:`Duplicate from` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:388
#: ../../content/applications/studio/automated_actions.rst:430
msgid "If the new or duplicated record is being created on another model, select a field in the :guilabel:`Link Field` field to link the record that triggered the creation of the new or duplicated record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:393
#: ../../content/applications/studio/automated_actions.rst:435
msgid "The :guilabel:`Link Field` dropdown menu only contains :ref:`one2many fields <studio/fields/relational-fields-one2many>` existing on the current model that are linked to a :ref:`many2one field <studio/fields/relational-fields-many2one>` on the target model."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:398
#: ../../content/applications/studio/automated_actions.rst:440
msgid "If you want the automation rule to duplicate a project, e.g. a project template with predefined tasks, when an opportunity is set to `Won`, add a custom `Related opportunity` :ref:`many2one field <studio/fields/relational-fields-many2one>` field on the *Project* model and a custom `Related project` :ref:`one2many field <studio/fields/relational-fields-one2many>` field on the *Lead* model, then provide the following details about the record being duplicated:"
msgstr ""
@@ -720,51 +776,51 @@ msgstr ""
msgid "Duplicate a record in a different model"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:409
#: ../../content/applications/studio/automated_actions.rst:451
msgid "You can create another automation rule with :ref:`studio/automated-actions/action-update-record` actions to update the fields of the new or duplicated record if necessary. For example, you can use a :guilabel:`Create Record` action to create a new project task and then assign it to a specific user using an :guilabel:`Update Record` action."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:417
#: ../../content/applications/studio/automated_actions.rst:459
msgid "Create Activity"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:419
#: ../../content/applications/studio/automated_actions.rst:461
msgid "This action is used to schedule a new activity linked to the record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:423
#: ../../content/applications/studio/automated_actions.rst:465
msgid "With :guilabel:`Create Activity` selected as the :guilabel:`Type` of action, select the appropriate :guilabel:`Activity Type` from the dropdown menu."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:425
#: ../../content/applications/studio/automated_actions.rst:467
msgid "Enter a :guilabel:`Title`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:426
#: ../../content/applications/studio/automated_actions.rst:468
msgid "Indicate by when the activity should be completed by specifying a number of :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months` in the :guilabel:`Due Date In` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:428
#: ../../content/applications/studio/automated_actions.rst:470
msgid "Select a :guilabel:`User type`:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:430
#: ../../content/applications/studio/automated_actions.rst:472
msgid "To always assign the activity to the same user, select :guilabel:`Specific User`, then add the user in the :guilabel:`Responsible` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:432
#: ../../content/applications/studio/automated_actions.rst:474
msgid "To target a user linked to the record dynamically, select :guilabel:`Dynamic User (based on record)`. If needed, change the :guilabel:`User Field` by clicking on the placeholder field name then selecting or searching for the user field in the list that appears. Clicking the :icon:`oi-chevron-right` :guilabel:`(right arrow)` next to the field name allows you to access related fields if needed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:437
#: ../../content/applications/studio/automated_actions.rst:479
msgid "Optionally, add a :guilabel:`Note` to provide more information about the activity."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:440
#: ../../content/applications/studio/automated_actions.rst:482
msgid "After a proposition is sent to a opportunity with a high expected revenue, you want to create an activity for the salesperson's team leader to call the potential client to increase the chances of closing the deal."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:444
#: ../../content/applications/studio/automated_actions.rst:486
msgid "To do so, set the :guilabel:`Activity Type` to :guilabel:`Call` and the :guilabel:`User Type` to :guilabel:`Dynamic User (based on record)`. Click on the placeholder field and select :guilabel:`Sales Team`, then click the :icon:`oi-chevron-right` :guilabel:`(right arrow)` and select :guilabel:`Team Leader`."
msgstr ""
@@ -772,91 +828,91 @@ msgstr ""
msgid "Example of a Create Activity action"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:456
#: ../../content/applications/studio/automated_actions.rst:498
msgid "Send Email and Send SMS"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:458
#: ../../content/applications/studio/automated_actions.rst:500
msgid "These actions are used to send an email or a text message to a contact linked to a specific record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:462
#: ../../content/applications/studio/automated_actions.rst:504
msgid "With :guilabel:`Send Email` or :guilabel:`Send SMS` selected as the :guilabel:`Type` of action, as relevant, select or create an :guilabel:`Email Template` or :guilabel:`SMS Template`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:464
#: ../../content/applications/studio/automated_actions.rst:506
msgid "In the :guilabel:`Send Email As` or :guilabel:`Send SMS As` field, choose how you want to send the email or text message."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:467
#: ../../content/applications/studio/automated_actions.rst:509
msgid "For an email, select:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:469
#: ../../content/applications/studio/automated_actions.rst:511
msgid ":guilabel:`Email`: to send the message as an email to the recipients of the :guilabel:`Email Template`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:471
#: ../../content/applications/studio/automated_actions.rst:513
msgid ":guilabel:`Message`: to post the message on the record and notify the record's followers."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:472
#: ../../content/applications/studio/automated_actions.rst:514
msgid ":guilabel:`Note`: to send the message as an internal note visible to internal users in the chatter."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:475
#: ../../content/applications/studio/automated_actions.rst:517
msgid "For a text message, select:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:477
#: ../../content/applications/studio/automated_actions.rst:519
msgid ":guilabel:`SMS (without note)`: to send the message as a text message to the recipients of the :guilabel:`SMS template`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:479
#: ../../content/applications/studio/automated_actions.rst:521
msgid ":guilabel:`SMS (with note)`: to send the message as a text message to the recipients of the :guilabel:`SMS template` and post it as an internal note in the chatter."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:481
#: ../../content/applications/studio/automated_actions.rst:523
msgid ":guilabel:`Note only`: to only post the message as an internal note in the chatter."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:486
#: ../../content/applications/studio/automated_actions.rst:528
msgid "Send WhatsApp"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:489
#: ../../content/applications/studio/automated_actions.rst:531
msgid "To automate the sending of WhatsApp messages, one or more :ref:`WhatsApp templates <productivity/whatsapp/templates>` must be created."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:492
#: ../../content/applications/studio/automated_actions.rst:534
msgid "This action is used to send a WhatsApp message to a contact linked to a specific record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:494
#: ../../content/applications/studio/automated_actions.rst:536
msgid "With :guilabel:`Send WhatsApp` selected as the :guilabel:`Type` of action, select the appropriate :guilabel:`WhatsApp Template` from the dropdown menu."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:500
#: ../../content/applications/studio/automated_actions.rst:542
msgid "Add Followers and Remove Followers"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:502
#: ../../content/applications/studio/automated_actions.rst:544
msgid "This action is used to subscribe/unsubscribe existing contacts as followers of the record."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:504
#: ../../content/applications/studio/automated_actions.rst:546
msgid "With :guilabel:`Add Followers` or :guilabel:`Remove Followers` selected as the :guilabel:`Type` of action, as relevant, select a :guilabel:`Followers Type`:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:507
#: ../../content/applications/studio/automated_actions.rst:549
msgid "To always add/remove the same contact(s), select :guilabel:`Specific Followers` then select the contact(s) from the dropdown menu. Multiple contacts can be added/removed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:510
#: ../../content/applications/studio/automated_actions.rst:552
msgid "To add/remove a contact linked to the record dynamically, select :guilabel:`Dynamic Followers`. If needed, change the :guilabel:`Followers Field` by clicking on the placeholder field name then selecting or searching for the partner field in the list that appears. Clicking the :icon:`oi-chevron-right` :guilabel:`(right arrow)` next to the field name allows you to access related fields if needed."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:517
#: ../../content/applications/studio/automated_actions.rst:559
msgid "To keep customers informed of progress on a project, this automated action adds the relevant customer as a follower when a project task is set to `In progress`."
msgstr ""
@@ -864,115 +920,115 @@ msgstr ""
msgid "Adding the customer as a follower when project task set to in progress"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:527
#: ../../content/applications/studio/automated_actions.rst:569
msgid "Execute Code"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:530
#: ../../content/applications/studio/automated_actions.rst:572
msgid "For automation rules that require the execution of :ref:`custom code <studio/automated-actions/action-execute-code>`, note that maintenance of custom code is not included in the *Standard* or *Custom* pricing plans and incurs :ref:`additional fees <charges_standard>`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:535
#: ../../content/applications/studio/automated_actions.rst:577
msgid "This action is used to execute Python code. You can write your code into the :guilabel:`Code` tab using the following variables:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:538
#: ../../content/applications/studio/automated_actions.rst:580
msgid "`env`: environment on which the action is triggered"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:539
#: ../../content/applications/studio/automated_actions.rst:581
msgid "`model`: model of the record on which the action is triggered; is a void recordset"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:540
#: ../../content/applications/studio/automated_actions.rst:582
msgid "`record`: record on which the action is triggered; may be void"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:541
#: ../../content/applications/studio/automated_actions.rst:583
msgid "`records`: recordset of all records on which the action is triggered in multi-mode; this may be left empty"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:543
#: ../../content/applications/studio/automated_actions.rst:585
msgid "`time`, `datetime`, `dateutil`, `timezone`: useful Python libraries"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:544
#: ../../content/applications/studio/automated_actions.rst:586
msgid "`float_compare`: utility function to compare floats based on specific precision"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:545
#: ../../content/applications/studio/automated_actions.rst:587
msgid "`log(message, level='info')`: logging function to record debug information in ir.logging table"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:547
#: ../../content/applications/studio/automated_actions.rst:589
msgid "`_logger.info(message)`: logger to emit messages in server logs"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:548
#: ../../content/applications/studio/automated_actions.rst:590
msgid "`UserError`: exception class for raising user-facing warning messages"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:549
#: ../../content/applications/studio/automated_actions.rst:591
msgid "`Command`: x2many commands namespace"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:550
#: ../../content/applications/studio/automated_actions.rst:592
msgid "`action = {...}`: to return an action"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:553
#: ../../content/applications/studio/automated_actions.rst:595
msgid "The available variables are described both in the :guilabel:`Code` and :guilabel:`Help` tabs."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:556
#: ../../content/applications/studio/automated_actions.rst:598
msgid ":doc:`Odoo's ORM capabilities <../../developer/reference/backend/orm>`"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:561
#: ../../content/applications/studio/automated_actions.rst:603
msgid "Send Webhook Notification"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:563
#: ../../content/applications/studio/automated_actions.rst:605
msgid "This action is used to send a `POST` API request with the values of the selected :guilabel:`Fields` to the webhook URL specified in the :guilabel:`URL` field."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:566
#: ../../content/applications/studio/automated_actions.rst:608
msgid "The :guilabel:`Sample Payload` provides a preview of the data included in the request using a random record's data or dummy data if no record is available."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:570
#: ../../content/applications/studio/automated_actions.rst:612
msgid "It is also possible to set up an automated action that :doc:`uses a webhook to receive data from an external system <automated_actions/webhooks>` when a predefined event occurs in that system."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:576
#: ../../content/applications/studio/automated_actions.rst:618
msgid "Multi Actions"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:578
#: ../../content/applications/studio/automated_actions.rst:620
msgid "This action is used to trigger multiple actions (linked to the current model) at the same time."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:580
#: ../../content/applications/studio/automated_actions.rst:622
msgid "To define the actions:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:582
#: ../../content/applications/studio/automated_actions.rst:624
msgid "With :guilabel:`Multi Actions` selected as the :guilabel:`Type` of action, click :guilabel:`Add an action`."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:584
#: ../../content/applications/studio/automated_actions.rst:626
msgid "In the :guilabel:`Add: Child Actions` pop-up:"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:586
#: ../../content/applications/studio/automated_actions.rst:628
msgid "select one or more existing actions and click :guilabel:`Select`; or"
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:587
#: ../../content/applications/studio/automated_actions.rst:629
msgid "click :guilabel:`New`, define the action to be executed, then click :guilabel:`Save & Close` or, to create additional actions, :guilabel:`Save & New` ."
msgstr ""
#: ../../content/applications/studio/automated_actions.rst:589
#: ../../content/applications/studio/automated_actions.rst:631
msgid "Repeat as many times as needed."
msgstr ""
@@ -1009,7 +1065,7 @@ msgid "Create a webhook in Odoo"
msgstr ""
#: ../../content/applications/studio/automated_actions/webhooks.rst:38
msgid "Before implementing a webhook in a live database, configure and test it using a :ref:`duplicate database <odoo_online/database-management>` to ensure the webhook performs as intended."
msgid "Before implementing a webhook in a live database, configure and test it using a :ref:`duplicate database <odoo-online/duplicate>` to ensure the webhook performs as intended."
msgstr ""
#: ../../content/applications/studio/automated_actions/webhooks.rst:42

File diff suppressed because it is too large Load Diff