From b876bd0c4003faea946a5a53665461f05aae92c3 Mon Sep 17 00:00:00 2001 From: "Tiffany Chang (tic)" Date: Thu, 11 Dec 2025 10:26:59 +0000 Subject: [PATCH] [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) X-original-commit: 6874b14169c35b19bb47fa2864c1e61c3c8ca9a3 --- locale/sources/administration.pot | 888 ++++----- locale/sources/essentials.pot | 753 ++++---- locale/sources/finance.pot | 2151 ++++++++++++--------- locale/sources/general.pot | 349 ++-- locale/sources/hr.pot | 566 +++++- locale/sources/inventory_and_mrp.pot | 1768 ++++++++--------- locale/sources/productivity.pot | 102 +- locale/sources/sales.pot | 2667 +++++++++++++++++--------- locale/sources/services.pot | 301 ++- locale/sources/studio.pot | 458 +++-- locale/sources/websites.pot | 904 +++++---- 11 files changed, 6377 insertions(+), 4530 deletions(-) diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index d9f0169df..26ed8008f 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: ../../content/administration.rst:8 -#: ../../content/administration/odoo_online.rst:20 msgid "Database management" msgstr "" @@ -410,115 +409,71 @@ msgid "**A red banner at the top of the screen is displayed on the neutralized d msgstr "" #: ../../content/administration/odoo_accounts.rst:3 -msgid "Odoo.com accounts" +msgid "Odoo.com account" msgstr "" #: ../../content/administration/odoo_accounts.rst:5 -msgid "This document describes how to edit and manage an Odoo.com account, including adding a client database, deleting an account, resetting a password, and enabling two-factor authentication." +msgid "Open the `Connection & Security page `_ on your Odoo.com account portal to:" msgstr "" -#: ../../content/administration/odoo_accounts.rst:9 -msgid "Grant users access to database" +#: ../../content/administration/odoo_accounts.rst:8 +msgid "Change your :guilabel:`Password`." msgstr "" #: ../../content/administration/odoo_accounts.rst:11 -msgid "A database can be linked to an Odoo.com account that was created by a different Odoo.com account. This allows the database to appear in the *My Databases* page of the account. To do so, the client Odoo.com account needs to be added to the database as a user." +msgid "When you create a database, a user linked to your Odoo.com account is generated on the database. Changing your Odoo.com account's password will also modify the password used to sign in with that user to the database." msgstr "" -#: ../../content/administration/odoo_accounts.rst:15 -msgid "First, sign in to the Odoo.com account that created the client database. In the main Odoo dashboard of the database, navigate to the **Settings** app, and click :guilabel:`Manage Users` in the :guilabel:`Users` section. Click the :guilabel:`New` button, and enter a name in the :guilabel:`Name` field for this user. Next, enter the email address used to register the desired Odoo.com account in the :guilabel:`Email` field. Navigate back to :guilabel:`Settings` using the breadcrumbs, and a pop-up window titled :guilabel:`Users Invitations` appears, with a warning that adding additional users will increase the amount of the subscription." +#: ../../content/administration/odoo_accounts.rst:14 +msgid "You can set a database-specific password for that user by going to the :ref:`database's settings `. However, you will still be able to sign in with your Odoo.com account's password." msgstr "" -#: ../../content/administration/odoo_accounts.rst:23 -msgid "Click :guilabel:`Confirm`, and the :guilabel:`Users` list appears. An invitation is automatically sent to the email address. Once confirmed, the client database now appears in the **My Databases** page of the target Odoo.com account." +#: ../../content/administration/odoo_accounts.rst:18 +msgid "Enable :guilabel:`Two-factor authentication` using an authenticator app." msgstr "" -#: ../../content/administration/odoo_accounts.rst:28 -msgid "To provide full access to the database for this user, set the :guilabel:`Dashboard` field under the :guilabel:`Productivity` header to :guilabel:`Admin`. Next, set the :guilabel:`Administration` field under the :guilabel:`Administration` header to :guilabel:`Settings`." +#: ../../content/administration/odoo_accounts.rst:21 +msgid "Refer to the :doc:`Two-factor authentication documentation <../applications/general/users/2fa>` for more information. The process to enable it for a database user and for your Odoo.com account is similar." msgstr "" -#: ../../content/administration/odoo_accounts.rst:34 -msgid "Delete Odoo.com account" +#: ../../content/administration/odoo_accounts.rst:25 +msgid ":guilabel:`Log out from all devices` signed in to your Odoo.com account, except for the current session." msgstr "" -#: ../../content/administration/odoo_accounts.rst:36 -msgid "To delete an Odoo.com account, start by clicking the profile icon in the upper-right corner (represented by the username and icon) to reveal a drop-down menu. From the drop-down menu, select :guilabel:`My Odoo.com account`, which reveals the user portal." +#: ../../content/administration/odoo_accounts.rst:29 +msgid "To log out from the current session, click the :icon:`fa-user-circle-o` (:guilabel:`user`) icon in the top right and select :icon:`fa-sign-out` :guilabel:`Logout`." msgstr "" -#: ../../content/administration/odoo_accounts.rst:40 -msgid "From the user portal, the delete option can be accessed by going to :menuselection:`My Account --> Edit Security Settings --> Delete Account`. It can also be accessed by going to `https://www.odoo.com/my/home `_." +#: ../../content/administration/odoo_accounts.rst:32 +msgid "Enable :ref:`developer mode ` to add a :ref:`developer API key `." +msgstr "" + +#: ../../content/administration/odoo_accounts.rst:35 +msgid ":guilabel:`Delete` your account." +msgstr "" + +#: ../../content/administration/odoo_accounts.rst:38 +msgid "Deleting your Odoo.com account is **irreversible**. Once deleted, your account **cannot be retrieved**." +msgstr "" + +#: ../../content/administration/odoo_accounts.rst:41 +msgid "Open the `Account Information page `_ to edit your account details, including your **email address**." msgstr "" #: ../../content/administration/odoo_accounts.rst:45 -msgid "Deleting an Odoo account is irreversible. Be careful performing this action, as the Odoo.com account is **not** retrievable once deleted." +msgid "When you create a database, a user linked to your Odoo.com account is generated on the database. Changing your Odoo.com account's email address does not modify the email address used to sign in with that user." msgstr "" #: ../../content/administration/odoo_accounts.rst:48 -msgid "Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting confirmation for the account deletion." +msgid "You can set a database-specific email address for that user by clicking your avatar in the top-right corner of the database and selecting :guilabel:`My Preferences`. You will still need to sign in to the database using the email address used at the time of the database creation." msgstr "" -#: ../../content/administration/odoo_accounts.rst:-1 -msgid "Clicking on the Delete Account button will populate a window verifying the change." +#: ../../content/administration/odoo_accounts.rst:51 +msgid "To change the email address used to sign in to a database, `contact Odoo Support `_." msgstr "" #: ../../content/administration/odoo_accounts.rst:55 -msgid "To confirm the deletion, enter the :guilabel:`Password` and the :guilabel:`Login` for the account being deleted. Then, click the :guilabel:`Delete Account` button to confirm the deletion." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:61 -msgid "Odoo.com account password change" -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:63 -msgid "To change an Odoo.com account password, first login into the Odoo.com user account from the Odoo.com login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down arrow)` icon next to the profile icon. Then, select :guilabel:`My Account`, and a portal dashboard appears." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:68 -msgid "To change the Odoo.com password, click on the :guilabel:`Edit Security Settings` link, below the :menuselection:`Account Security` section. Next, 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/administration/odoo_accounts.rst:74 -msgid "If a customer would like to change the login, contact Odoo support `here `_." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:78 -msgid "Passwords for Odoo.com users and portal users remain separate, even if the same email address is used." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:82 -msgid "Add two-factor authentication" -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:84 -msgid "To add two-factor authentication, login into the Odoo.com user account from the Odoo.com login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down arrow)` icon next to the :guilabel:`profile icon`. Then, select :guilabel:`My Account`, and a portal dashboard appears." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:89 -msgid "If the user would like to turn on two-factor authentication (2FA) for Odoo.com access, click on the :guilabel:`Edit Security Settings` link below the :menuselection:`Account Security` section." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:92 -msgid "Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor authentication)`. Then, confirm the current password in the :guilabel:`Password` field. Next, click on :guilabel:`Confirm Password`. Following that, 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/administration/odoo_accounts.rst:98 -msgid "Finally, click on :guilabel:`Enable two-factor authentication` to complete the setup." -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:101 -msgid "Under :guilabel:`My Account` Odoo.com users can also access the following:" -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:103 -msgid ":guilabel:`My Partner dashboard`" -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:104 -msgid ":guilabel:`My In-App Services`" -msgstr "" - -#: ../../content/administration/odoo_accounts.rst:105 -msgid ":guilabel:`My Apps Dashboard`" +msgid "In addition to the database you create, all databases you are :ref:`invited to join ` with your Odoo.com account's email address will be displayed under the `database manager `_." msgstr "" #: ../../content/administration/odoo_online.rst:3 @@ -526,79 +481,83 @@ msgstr "" #: ../../content/administration/supported_versions.rst:29 #: ../../content/administration/upgrade.rst:14 #: ../../content/administration/upgrade.rst:109 -#: ../../content/administration/upgrade.rst:337 +#: ../../content/administration/upgrade.rst:330 msgid "Odoo Online" msgstr "" #: ../../content/administration/odoo_online.rst:5 -msgid "`Odoo Online `_ provides private databases which are fully managed and hosted by Odoo. It can be used for long-term production or to test Odoo thoroughly, including customizations that don't require code." +msgid "`Odoo Online `_ offers private databases hosted and managed by Odoo. Odoo Online databases can be accessed using any web browser and do not require a local installation. They can be used for long-term production or to thoroughly test Odoo, including customizations that do not require custom code." msgstr "" -#: ../../content/administration/odoo_online.rst:10 -msgid "Odoo Online is incompatible with custom modules or the Odoo App Store." +#: ../../content/administration/odoo_online.rst:11 +msgid "To quickly try out Odoo, shared `demo databases `_ are available for testing. No registration is required; however, each database is only available for a few hours." msgstr "" -#: ../../content/administration/odoo_online.rst:12 -msgid "Odoo Online databases are accessed using any web browser and do not require a local installation." +#: ../../content/administration/odoo_online.rst:15 +msgid "Odoo Online is incompatible with custom modules or modules from the `Odoo Apps Store `_." msgstr "" -#: ../../content/administration/odoo_online.rst:14 -msgid "To quickly try out Odoo, shared `demo `_ instances are available. No registration is required, but each instance only lives for a few hours." +#: ../../content/administration/odoo_online.rst:21 +msgid "Database manager" msgstr "" -#: ../../content/administration/odoo_online.rst:22 -msgid "To manage a database, go to the `database manager `_ and sign in as the database administrator." +#: ../../content/administration/odoo_online.rst:23 +msgid "To manage an Odoo Online database, open to the `database manager `_ and sign in as the database administrator." msgstr "" -#: ../../content/administration/odoo_online.rst:25 -msgid "All the main database management options are available by clicking the database name, except the upgrade option, which can be accessed by clicking the **arrow in a circle** icon next to the database name. It is only displayed if an upgrade is available." +#: ../../content/administration/odoo_online.rst:29 +msgid "Domain names" msgstr "" -#: ../../content/administration/odoo_online.rst:-1 -msgid "Accessing the database management options" -msgstr "" - -#: ../../content/administration/odoo_online.rst:32 -msgid ":ref:`odoo_online/upgrade`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:33 -msgid ":ref:`odoo_online/duplicate`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:34 -msgid ":ref:`odoo_online/rename`" +#: ../../content/administration/odoo_online.rst:31 +msgid ":doc:`Configure a custom domain name <../applications/websites/website/configuration/domain_names>` by selecting a database and clicking :icon:`fa-globe` :guilabel:`Domain Names`." msgstr "" #: ../../content/administration/odoo_online.rst:35 -msgid ":ref:`odoo_online/download`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:36 -msgid ":ref:`odoo_online/domains`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:37 -msgid ":ref:`odoo_online/tags`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:38 -msgid ":ref:`odoo_online/delete`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:39 -msgid ":ref:`odoo_online/contact-support`" +msgid ":ref:`Register a domain name for free `." msgstr "" #: ../../content/administration/odoo_online.rst:40 -msgid ":ref:`odoo_online/users`" +msgid "Tags" msgstr "" -#: ../../content/administration/odoo_online.rst:41 -msgid ":ref:`odoo_online/web-services`" +#: ../../content/administration/odoo_online.rst:42 +msgid "Add tags to identify and sort databases by selecting a database and clicking :icon:`fa-tags` :guilabel:`Tags`. In the dialog box, enter a tag, click the :icon:`fa-plus-circle` (:guilabel:`plus`) button, and click :guilabel:`Save`." msgstr "" -#: ../../content/administration/odoo_online.rst:46 +#: ../../content/administration/odoo_online.rst:47 +msgid "Search for tags in the :icon:`fa-search` search bar at the top right." +msgstr "" + +#: ../../content/administration/odoo_online.rst:52 +msgid "Hide" +msgstr "" + +#: ../../content/administration/odoo_online.rst:54 +msgid "Permanently hide the database from the database manager by selecting it and clicking :icon:`fa-eye-slash` :guilabel:`Hide`. In the dialog box, click :guilabel:`Yes, I don't need it anymore`." +msgstr "" + +#: ../../content/administration/odoo_online.rst:59 +msgid "It is possible to access a hidden database through its URL." +msgstr "" + +#: ../../content/administration/odoo_online.rst:64 +msgid "Manage" +msgstr "" + +#: ../../content/administration/odoo_online.rst:66 +msgid "Access all other database management options by selecting it and clicking :icon:`fa-gears` :guilabel:`Manage`." +msgstr "" + +#: ../../content/administration/odoo_online.rst:70 +msgid "Switch plans" +msgstr "" + +#: ../../content/administration/odoo_online.rst:72 +msgid "Switch `pricing plans `_ by clicking :guilabel:`Switch` under the desired plan." +msgstr "" + +#: ../../content/administration/odoo_online.rst:78 #: ../../content/administration/odoo_sh/getting_started/branches.rst:521 #: ../../content/administration/odoo_sh/getting_started/settings.rst:123 #: ../../content/administration/odoo_sh/getting_started/settings.rst:168 @@ -606,160 +565,109 @@ msgstr "" msgid "Upgrade" msgstr "" -#: ../../content/administration/odoo_online.rst:48 -msgid "Trigger a database upgrade." +#: ../../content/administration/odoo_online.rst:80 +msgid "Launch a :ref:`database upgrade ` by clicking :guilabel:`Upgrade`." msgstr "" -#: ../../content/administration/odoo_online.rst:51 -msgid "For more information about the upgrade process, check out the :ref:`Odoo Online upgrade documentation `." +#: ../../content/administration/odoo_online.rst:83 +msgid "This option is only displayed when an upgrade is available." msgstr "" -#: ../../content/administration/odoo_online.rst:57 -msgid "Duplicate" -msgstr "" - -#: ../../content/administration/odoo_online.rst:59 -msgid "Create an exact copy of the database, which can be used to perform testing without compromising daily operations." -msgstr "" - -#: ../../content/administration/odoo_online.rst:63 -msgid "By checking :guilabel:`For testing purposes`, all external actions (emails, payments, delivery orders, etc.) are disabled by default on the duplicated database." -msgstr "" - -#: ../../content/administration/odoo_online.rst:65 -msgid "Duplicated databases expire automatically after 15 days." -msgstr "" - -#: ../../content/administration/odoo_online.rst:66 -msgid "A maximum of five duplicates can be made per database. Under extraordinary circumstances, contact `support `_ to raise the limit." -msgstr "" - -#: ../../content/administration/odoo_online.rst:72 +#: ../../content/administration/odoo_online.rst:88 msgid "Rename" msgstr "" -#: ../../content/administration/odoo_online.rst:74 -msgid "Rename the database and its URL." +#: ../../content/administration/odoo_online.rst:90 +msgid "Rename and change the URL of a database by clicking :guilabel:`Rename`. In the dialog box, enter a :guilabel:`New name` and click :guilabel:`Rename`." msgstr "" -#: ../../content/administration/odoo_online.rst:79 -msgid "Download" +#: ../../content/administration/odoo_online.rst:96 +msgid "Duplicate" msgstr "" -#: ../../content/administration/odoo_online.rst:81 -msgid "Download a ZIP file containing a backup of the database." +#: ../../content/administration/odoo_online.rst:98 +msgid "Create a copy of the database by clicking :guilabel:`Duplicate`. In the dialog box, enter a :guilabel:`New name` and click :guilabel:`Duplicate`." msgstr "" -#: ../../content/administration/odoo_online.rst:84 -msgid "Databases are backed up daily as per the `Odoo Cloud Hosting SLA `_." -msgstr "" - -#: ../../content/administration/odoo_online.rst:86 -msgid "If the :guilabel:`Download` option is disabled, it means your database is too large to be downloaded through this method. In this case, please contact `Odoo Support `_ to request an alternative download solution." -msgstr "" - -#: ../../content/administration/odoo_online.rst:93 -msgid "Domain names" -msgstr "" - -#: ../../content/administration/odoo_online.rst:95 -msgid "Use a custom :doc:`domain name ` to access the database via another URL." -msgstr "" - -#: ../../content/administration/odoo_online.rst:99 -msgid "You can :ref:`register a domain name for free `." +#: ../../content/administration/odoo_online.rst:102 +msgid "By default, the :guilabel:`For testing purposes` option is enabled. It disables all external actions (emails, payments, delivery orders, etc.) on the duplicated database." msgstr "" #: ../../content/administration/odoo_online.rst:104 -msgid "Tags" +msgid "Duplicates expire after 15 days." msgstr "" -#: ../../content/administration/odoo_online.rst:106 -msgid "Add tags to easily identify and sort your databases." +#: ../../content/administration/odoo_online.rst:105 +msgid "A maximum of five duplicates can be created per database. Under extraordinary circumstances, contact `Odoo Support `_ to extend the limit." msgstr "" -#: ../../content/administration/odoo_online.rst:109 -msgid "You can search for tags in the search bar." +#: ../../content/administration/odoo_online.rst:111 +#: ../../content/administration/odoo_sh/getting_started/create.rst:97 +msgid "Download a backup" msgstr "" -#: ../../content/administration/odoo_online.rst:114 +#: ../../content/administration/odoo_online.rst:113 +msgid "Download a ZIP file containing a database backup by clicking :guilabel:`Download Backup`." +msgstr "" + +#: ../../content/administration/odoo_online.rst:116 +msgid "Databases are backed up daily as per the `Odoo Cloud Hosting SLA `_." +msgstr "" + +#: ../../content/administration/odoo_online.rst:118 +msgid "If the :guilabel:`Download Backup` option is disabled, it means the database is too large to be downloaded using the database manager. Contact `Odoo Support `_ to request an alternative download solution." +msgstr "" + +#: ../../content/administration/odoo_online.rst:125 +msgid "View admin activity logs" +msgstr "" + +#: ../../content/administration/odoo_online.rst:127 +msgid "View the logs of all actions taken by Odoo employees or the database administrator on the database by clicking :guilabel:`View Admin Activity Logs`." +msgstr "" + +#: ../../content/administration/odoo_online.rst:131 +msgid "Actions taken by Odoo employees are typically the result of requests submitted to Odoo support, done within the context of a quick start project, or necessary to maintain the database." +msgstr "" + +#: ../../content/administration/odoo_online.rst:137 +msgid "Transfer ownership" +msgstr "" + +#: ../../content/administration/odoo_online.rst:139 +msgid "Create a support ticket to request a database ownership transfer by clicking :guilabel:`Transfer Ownership`." +msgstr "" + +#: ../../content/administration/odoo_online.rst:145 #: ../../content/administration/odoo_sh/getting_started/branches.rst:803 msgid "Delete" msgstr "" -#: ../../content/administration/odoo_online.rst:116 -msgid "Delete a database instantly." -msgstr "" - -#: ../../content/administration/odoo_online.rst:119 -msgid "Deleting a database means that all data is permanently lost. The deletion is instant and applies to all users. It is recommended to create a backup of the database before deleting it." -msgstr "" - -#: ../../content/administration/odoo_online.rst:122 -msgid "Carefully read the warning message and only proceed if the implications of deleting a database are fully understood." -msgstr "" - -#: ../../content/administration/odoo_online.rst:-1 -msgid "The warning message displayed before deleting a database" -msgstr "" - -#: ../../content/administration/odoo_online.rst:129 -msgid "Only an administrator can delete a database." -msgstr "" - -#: ../../content/administration/odoo_online.rst:130 -msgid "The database name is immediately made available to anyone." -msgstr "" - -#: ../../content/administration/odoo_online.rst:131 -msgid "Deleting a database if it has expired or is linked to a subscription is impossible. In that case, contact `Odoo Support `_." -msgstr "" - -#: ../../content/administration/odoo_online.rst:137 -msgid "Contact us" -msgstr "" - -#: ../../content/administration/odoo_online.rst:139 -msgid "Access the `Odoo.com support page `_ with the database's details already pre-filled." -msgstr "" - -#: ../../content/administration/odoo_online.rst:145 -msgid "Invite / remove users" -msgstr "" - #: ../../content/administration/odoo_online.rst:147 -msgid "To invite users, fill out the new user's email address and click :guilabel:`Invite`. To add multiple users, click :guilabel:`Add more users`." +msgid "Delete the database and close its related subscription by clicking :guilabel:`Delete`. In the dialog box, click :guilabel:`Delete`." msgstr "" -#: ../../content/administration/odoo_online.rst:-1 -msgid "Inviting a user on a database" +#: ../../content/administration/odoo_online.rst:151 +msgid "All the database's data will be deleted instaneously for all users and **cannot be restored**. It is recommended to :ref:`download a backup ` before deleting a database." msgstr "" -#: ../../content/administration/odoo_online.rst:153 -msgid "To remove users, select them and click :guilabel:`Remove`." +#: ../../content/administration/odoo_online.rst:155 +msgid "After deletion, the database's name becomes available to anyone." msgstr "" -#: ../../content/administration/odoo_online.rst:156 -msgid ":doc:`/applications/general/users`" -msgstr "" - -#: ../../content/administration/odoo_online.rst:157 -msgid ":doc:`odoo_accounts`" +#: ../../content/administration/odoo_online.rst:160 +msgid "Web services" msgstr "" #: ../../content/administration/odoo_online.rst:162 -msgid "Web Services" -msgstr "" - -#: ../../content/administration/odoo_online.rst:164 -msgid "In order to programmatically retrieve the list of the databases displayed in the `database manager `_, call the method ``list`` of the model ``odoo.database`` via an :doc:`external JSON-2 API ` call." +msgid "To retrieve a list of all databases displayed under the `database manager `_ programmatically, call the `list` method of the `odoo.database` model via an :doc:`external JSON-2 API <../developer/reference/external_api>` call." msgstr "" #: ../../content/administration/odoo_sh.rst:6 #: ../../content/administration/supported_versions.rst:30 #: ../../content/administration/upgrade.rst:22 -#: ../../content/administration/upgrade.rst:139 -#: ../../content/administration/upgrade.rst:348 +#: ../../content/administration/upgrade.rst:132 +#: ../../content/administration/upgrade.rst:341 msgid "Odoo.sh" msgstr "" @@ -778,7 +686,7 @@ msgstr "" #: ../../content/administration/odoo_sh/advanced/containers.rst:7 #: ../../content/administration/odoo_sh/advanced/submodules.rst:9 #: ../../content/administration/odoo_sh/first_module.rst:6 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:9 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:14 #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:9 #: ../../content/administration/odoo_sh/getting_started/settings.rst:6 #: ../../content/administration/odoo_sh/getting_started/status.rst:6 @@ -1715,7 +1623,7 @@ msgid "The branches view provides an overview of the different branches in your msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:10 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:41 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:43 msgid "Stages" msgstr "" @@ -1757,7 +1665,7 @@ msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:37 #: ../../content/administration/odoo_sh/getting_started/branches.rst:499 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:44 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:48 #: ../../content/administration/odoo_sh/getting_started/settings.rst:132 msgid "Production" msgstr "" @@ -1796,7 +1704,7 @@ msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:72 #: ../../content/administration/odoo_sh/getting_started/branches.rst:502 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:63 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:69 #: ../../content/administration/odoo_sh/getting_started/settings.rst:87 msgid "Staging" msgstr "" @@ -1851,7 +1759,7 @@ msgstr "" #: ../../content/administration/odoo_sh/getting_started/branches.rst:118 #: ../../content/administration/odoo_sh/getting_started/branches.rst:505 -#: ../../content/administration/odoo_sh/getting_started/builds.rst:81 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:89 #: ../../content/administration/odoo_sh/getting_started/settings.rst:57 msgid "Development" msgstr "" @@ -2797,112 +2705,152 @@ msgstr "" msgid "Before deleting a branch, refer to the :ref:`Backups section ` to better understand how they work and when you should create a manual backup." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:6 +#: ../../content/administration/odoo_sh/getting_started/builds.rst:3 msgid "Builds" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:11 -msgid "In Odoo.sh, a build is considered as a database loaded by an Odoo server (`odoo/odoo `_ & `odoo/enterprise `_) running on a specific revision of your project repository in a containerized environment. Its purpose is to test the well-behavior of the server, the database and the features with this revision." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:5 +msgid "In Odoo.sh, a build is a database loaded by an Odoo server (`odoo/odoo `_ and `odoo/enterprise `_) running on a specific revision of your project repository in a containerized environment. Its purpose is to test the proper behavior of the server, the database, and the features associated with that revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:20 -msgid "In this view, a row represents a branch, and a cell of a row represents a build of this branch." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:-1 +msgid "Overiew of the builds" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:19 +msgid "In the :guilabel:`Builds` overview, a row represents a branch, and a cell within that row represents a build of that branch." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:22 -msgid "Most of the time, builds are created following pushes on your Github repository branches. They can be created as well when you do other operations, such as importing a database on Odoo.sh or asking a rebuild for a branch in your project." +msgid "Most builds are created after pushes to your GitHub repository branches. They can also be created through other operations, such as importing a database on Odoo.sh or requesting a rebuild for a branch in your project." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:26 -msgid "A build is considered successful if no errors or warnings come up during its creation. A successful build is highlighted in green." +msgid "Builds can have three possible statuses:" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:29 -msgid "A build is considered failed if errors come up during its creation. A failed build is highlighted in red." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:28 +msgid "A build is considered **successful** if no errors or warnings occur during its creation. Successful builds are highlighted in **green**." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:30 +msgid "A build is considered **almost successful** if warnings occur, but there are no errors. Almost successful builds are highlighted in **yellow**." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:32 -msgid "If warnings come up during the creation, but there are no errors, the build is considered almost successful. It is highlighted in yellow to notify the developer warnings were raised." +msgid "A build is considered **failed** if errors occur during its creation. Failed builds are highlighted in **red**." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:35 -msgid "Builds do not always create a database from scratch. For instance, when pushing a change on the production branch, the build created just starts the server with your new revision and tries to load the current production database on it. If no errors come up, the build is considered successful, and otherwise failed." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:36 +msgid "Builds do not always create a database from scratch. For instance, when pushing a change on the production branch, the created build starts the server with your new revision and tries to load the current production database on it." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:46 -msgid "The first build of a production branch creates a database from scratch. If this build is successful, this database is considered as the production database of your project." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:50 +msgid "The first build of a production branch creates a database from scratch. If this build is successful, this database will become the production database of your project." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:49 -msgid "From then, pushes on the production branch will create new builds that attempt to load the database using a server running with the new revision." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:53 +msgid "From then on, pushes to the production branch will create new builds that attempt to load the database using a server running the new revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:52 -msgid "If the build is successful, or has warnings but no errors, the production database will now run with this build, along with the revision associated to this build." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/builds.rst:55 -msgid "If the build fails to load or update the database, then the previous successful build is re-used to load the database, and therefore the database will run using a server running with the previous successful revision." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:56 +msgid "If the build is successful or almost successful, the production database will run with this build and its associated revision." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:59 -msgid "The build used to run the production database is always the first of the builds list. If a build fails, it is put after the build currently running the production database." +msgid "If the build fails to load or update the database, the previous successful build is reused to load the database. In that case, the database continues to run using the previous successful revision." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:65 -msgid "Staging builds duplicate the production database, and try to load this duplicate with the revisions of the staging branches." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/builds.rst:68 -msgid "Each time you push a new revision on a staging branch, the build created uses a new copy of the production database. The databases are not re-used between builds of the same branch. This ensures:" +#: ../../content/administration/odoo_sh/getting_started/builds.rst:63 +msgid "The build used to run the production database is always the first in the builds list. If a build fails, it is placed after the build currently running the production database." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:71 -msgid "staging builds use databases that are close to what the production looks like, so you do not make your tests with outdated data," +msgid "Staging builds duplicate the production database and attempt to load this copy using the revisions of the staging branches." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:74 -msgid "you can play around as much as you want in the same staging database, and you can then ask for a rebuild when you want to restart with a new copy of the production." +msgid "Each time you push a new revision to a staging branch, the resulting build uses a fresh copy of the production database. Databases are not reused between builds of the same branch. This ensures that:" msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:77 -msgid "Nevertheless, this means that if you make configuration changes in staging databases and do not apply them in the production, they will not be passed on the next build of the same staging branch." +msgid "Staging builds use databases that closely match the current production state, so your tests are not performed on outdated data." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:83 -msgid "Development builds create new databases, load the demo data and run the unit tests." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:79 +msgid "You can freely experiment within a staging database. When you want to start over with a new copy of the production database, you can request a rebuild." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:85 -msgid "A build will be considered failed and highlighted in red if tests fail during the installation, as they are meant to raise errors if something wrong occurs." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:82 +msgid "However, this also means that if you make configuration changes in a staging database and do not apply them in production, those changes will not be present in the next build of the same staging branch." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:88 -msgid "If all tests pass, and there is no error, the build will be considered successful." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:91 +msgid "Development builds create new databases, load the demo data, and run the unit tests." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:90 -msgid "According to the list of modules to install and test, a development build can take up to 1 hour to be ready. This is due to the large number of tests set in the default Odoo modules suite." -msgstr "" - -#: ../../content/administration/odoo_sh/getting_started/builds.rst:94 -msgid "Features" +#: ../../content/administration/odoo_sh/getting_started/builds.rst:93 +msgid "A build will be considered failed if tests fail during installation, as they are designed to raise errors when something is wrong." msgstr "" #: ../../content/administration/odoo_sh/getting_started/builds.rst:96 -msgid "The production branch will always appear first, and then the other branches are ordered by last build created. You can filter out the branches." +msgid "If all tests pass and no errors occur, the build is considered successful." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:102 -msgid "For each branch, you can access the last build's database using the *Connect* link and jump to the branch code using the *Github* link. For other branches than the production, you can create a new build which will use the latest revision of the branch using the link *rebuild*. This last link is not available when there is already a build in progress for the branch." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:99 +msgid "Depending on the list of modules to install and test, a development build can take up to one hour to be ready. This is due to the large number of tests included in the default Odoo module suite." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:110 -msgid "For each build, you can access the revision changes using the button with the Github icon. You can access the build's database as the administrator using the *Connect* button. Also, you can access the database with another user using the *Connect as* button, in the dropdown menu of the *Connect* button." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:105 +msgid "Features" msgstr "" -#: ../../content/administration/odoo_sh/getting_started/builds.rst:122 -msgid "In the dropdown menu of the build, you can access the same features than in :ref:`the branches view `: *Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*. You also have the possibility to *Download a dump* of the build's database." +#: ../../content/administration/odoo_sh/getting_started/builds.rst:107 +msgid "The production branch always appears first. Other branches are ordered by the time of their last created build. The stage highlighted in purple corresponds to the stage selected in the :guilabel:`Branches` menu." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:112 +msgid "You can filter branches using the search bar." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:-1 +msgid "The branches menu" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:117 +msgid "For each branch, you can:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:119 +msgid "Access the latest build's database by clicking :guilabel:`Connect`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:120 +msgid "Jump to the branch's code by clicking :guilabel:`Github`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:121 +msgid "Create a new build by clicking :guilabel:`Rebuild`. It uses the latest revision of the branch (it is not available if a build is already in progress for that branch)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:124 +msgid "For each build, you can:" +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:126 +msgid "View the revision changes by clicking the :icon:`fa-github` (:guilabel:`GitHub`) icon." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:127 +msgid "Access the build's database as the administrator by clicking :guilabel:`Connect` or as another user by clicking the :icon:`fa-caret-down` (:guilabel:`More Actions`) button next to :guilabel:`Connect` and selecting :guilabel:`Connect as`." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:130 +msgid "Access the same tools as in the branches view by clicking the :icon:`fa-caret-down` (:guilabel:`More Actions`) button next to :guilabel:`Connect` and selecting :guilabel:`Logs`, :guilabel:`Web Shell`, :guilabel:`Editor`, :guilabel:`Outgoing e-mails` (for the staging and development stages), :guilabel:`Monitoring`, and :guilabel:`Download DB dump` (for the production and staging stages)." +msgstr "" + +#: ../../content/administration/odoo_sh/getting_started/builds.rst:-1 +msgid "A build's options" msgstr "" #: ../../content/administration/odoo_sh/getting_started/create.rst:3 @@ -3037,15 +2985,11 @@ msgstr "" msgid "For publicly available community modules, you may also consider using :doc:`submodules <../advanced/submodules>`." msgstr "" -#: ../../content/administration/odoo_sh/getting_started/create.rst:97 -msgid "Download a backup" -msgstr "" - #: ../../content/administration/odoo_sh/getting_started/create.rst:101 #: ../../content/administration/on_premise.rst:5 #: ../../content/administration/upgrade.rst:30 -#: ../../content/administration/upgrade.rst:163 -#: ../../content/administration/upgrade.rst:371 +#: ../../content/administration/upgrade.rst:156 +#: ../../content/administration/upgrade.rst:364 msgid "On-premise" msgstr "" @@ -3182,7 +3126,7 @@ msgid "The online editor allows you to edit the source code of your builds from msgstr "" #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:18 -msgid "You can access the editor of a build through :ref:`the branches tabs `, :ref:`the builds dropdown menu ` or by adding */odoo-sh/editor* to your build domain name (e.g. *https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor*)." +msgid "You can access the editor of a build through :ref:`the branches tabs `, :ref:`the builds dropdown menu ` or by adding */odoo-sh/editor* to your build domain name (e.g. *https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor*)." msgstr "" #: ../../content/administration/odoo_sh/getting_started/online-editor.rst:25 @@ -4477,30 +4421,30 @@ msgid "There may be instances where the master password is misplaced, or comprom msgstr "" #: ../../content/administration/on_premise/deploy.rst:753 -msgid "For more information about changing an Odoo.com account password, see this documentation: :ref:`odoocom/change_password`." +msgid ":doc:`../odoo_accounts`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:756 +#: ../../content/administration/on_premise/deploy.rst:755 msgid "When creating a new on-premise database, a random master password is generated. Odoo recommends using this password to secure the database. This password is implemented by default, so there is a secure master password for any Odoo on-premise deployment." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:761 +#: ../../content/administration/on_premise/deploy.rst:760 msgid "When creating an Odoo on-premise database the installation is accessible to anyone on the internet, until this password is set to secure the database." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:764 +#: ../../content/administration/on_premise/deploy.rst:763 msgid "The master password is specified in the Odoo configuration file (`odoo.conf` or `odoorc` (hidden file)). The Odoo master password is needed to modify, create, or delete a database through the graphical user interface (GUI)." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:769 +#: ../../content/administration/on_premise/deploy.rst:768 msgid "Locate configuration file" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:771 +#: ../../content/administration/on_premise/deploy.rst:770 msgid "First, open the Odoo configuration file (`odoo.conf` or `odoorc` (hidden file))." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:775 +#: ../../content/administration/on_premise/deploy.rst:774 #: ../../content/administration/on_premise/packages.rst:130 #: ../../content/administration/on_premise/source.rst:70 #: ../../content/administration/on_premise/source.rst:133 @@ -4514,11 +4458,11 @@ msgstr "" msgid "Windows" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:777 +#: ../../content/administration/on_premise/deploy.rst:776 msgid "The configuration file is located at: `c:\\\\ProgramFiles\\\\Odoo{VERSION}\\\\server\\\\odoo.conf`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:779 +#: ../../content/administration/on_premise/deploy.rst:778 #: ../../content/administration/on_premise/packages.rst:25 #: ../../content/administration/on_premise/source.rst:52 #: ../../content/administration/on_premise/source.rst:129 @@ -4532,151 +4476,151 @@ msgstr "" msgid "Linux" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:781 +#: ../../content/administration/on_premise/deploy.rst:780 msgid "Depending on how Odoo is installed on the Linux machine, the configuration file is located in one of two different places:" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:784 +#: ../../content/administration/on_premise/deploy.rst:783 msgid "Package installation: `/etc/odoo.conf`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:785 +#: ../../content/administration/on_premise/deploy.rst:784 msgid "Source installation: `~/.odoorc`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:788 +#: ../../content/administration/on_premise/deploy.rst:787 msgid "Change old password" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:790 +#: ../../content/administration/on_premise/deploy.rst:789 msgid "Once the appropriate file has been opened, proceed to modify the old password in the configuration file to a temporary password." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:795 -#: ../../content/administration/on_premise/deploy.rst:843 +#: ../../content/administration/on_premise/deploy.rst:794 +#: ../../content/administration/on_premise/deploy.rst:842 msgid "Graphical user interface" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:797 +#: ../../content/administration/on_premise/deploy.rst:796 msgid "After locating the configuration file, open it using a (:abbr:`GUI (graphical user interface)`). This can be achieved by simply double clicking on the file. Then, the device should have a default :abbr:`GUI (graphical user interface)` to open the file with." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:801 +#: ../../content/administration/on_premise/deploy.rst:800 msgid "Next, modify the master password line `admin_passwd = $pbkdf2-sha…` to `admin_passwd = newpassword1234`, for example. This password can be anything, as long as it is saved temporarily. Make sure to modify all characters after the `=`." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:806 -#: ../../content/administration/on_premise/deploy.rst:825 +#: ../../content/administration/on_premise/deploy.rst:805 +#: ../../content/administration/on_premise/deploy.rst:824 msgid "The line appears like this: `admin_passwd = $pbkdf2-sh39dji295.59mptrfW.9z6HkA$w9j9AMVmKAP17OosCqDxDv2hjsvzlLpF8Rra8I7p/b573hji540mk/.3ek0lg%kvkol6k983mkf/40fjki79m`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:810 -#: ../../content/administration/on_premise/deploy.rst:829 +#: ../../content/administration/on_premise/deploy.rst:809 +#: ../../content/administration/on_premise/deploy.rst:828 msgid "The modified line appears like this: `admin_passwd = newpassword1234`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:812 -#: ../../content/administration/on_premise/deploy.rst:852 +#: ../../content/administration/on_premise/deploy.rst:811 +#: ../../content/administration/on_premise/deploy.rst:851 msgid "Command-line interface" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:814 +#: ../../content/administration/on_premise/deploy.rst:813 msgid "Modify the master password line using the following Unix command detailed below." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:816 +#: ../../content/administration/on_premise/deploy.rst:815 msgid "Connect to the Odoo server's terminal via Secure Shell (SSH) protocol, and edit the configuration file. To modify the configuration file, enter the following command: :command:`sudo nano /etc/odoo.conf`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:820 +#: ../../content/administration/on_premise/deploy.rst:819 msgid "After opening the configuration file, modify the master password line `admin_passwd = $pbkdf2-sha…` to `admin_passwd = newpassword1234`. This password can be anything, as long as it is saved temporarily. Make sure to modify all characters after the `=`." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:832 +#: ../../content/administration/on_premise/deploy.rst:831 msgid "It is essential that the password is changed to something else, rather than triggering a new password reset by adding a semicolon `;` at the beginning of the line. This ensures the database is secure throughout the entire password reset process." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:837 +#: ../../content/administration/on_premise/deploy.rst:836 msgid "Restart Odoo server" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:839 +#: ../../content/administration/on_premise/deploy.rst:838 msgid "After setting the temporary password, a restart of the Odoo server is **required**." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:845 +#: ../../content/administration/on_premise/deploy.rst:844 msgid "To restart the Odoo server, first, type `services` into the Windows :guilabel:`Search` bar. Then, select the :guilabel:`Services` application, and scroll down to the :guilabel:`Odoo` service." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:849 +#: ../../content/administration/on_premise/deploy.rst:848 msgid "Next, right click on :guilabel:`Odoo`, and select :guilabel:`Start` or :guilabel:`Restart`. This action manually restarts the Odoo server." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:854 +#: ../../content/administration/on_premise/deploy.rst:853 msgid "Restart the Odoo server by typing the command: :command:`sudo service odoo15 restart`" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:857 +#: ../../content/administration/on_premise/deploy.rst:856 msgid "Change the number after `odoo` to fit the specific version the server is running on." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:860 +#: ../../content/administration/on_premise/deploy.rst:859 msgid "Use web interface to re-encrypt password" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:862 +#: ../../content/administration/on_premise/deploy.rst:861 msgid "First, navigate to `/web/database/manager` or `http://server_ip:port/web/database/manager` in a browser." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:866 +#: ../../content/administration/on_premise/deploy.rst:865 msgid "Replace `server_ip` with the IP address of the database. Replace `port` with the numbered port the database is accessible from." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:869 +#: ../../content/administration/on_premise/deploy.rst:868 msgid "Next, click :guilabel:`Set Master Password`, and type in the previously-selected temporary password into the :guilabel:`Master Password` field. Following this step, type in a :guilabel:`New Master Password`. The :guilabel:`New Master Password` is hashed (or encrypted), once the :guilabel:`Continue` button is clicked." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:874 +#: ../../content/administration/on_premise/deploy.rst:873 msgid "At this point, the password has been successfully reset, and a hashed version of the new password now appears in the configuration file." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:878 +#: ../../content/administration/on_premise/deploy.rst:877 msgid "For more information on Odoo database security, see this documentation: :ref:`db_manager_security`." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:882 +#: ../../content/administration/on_premise/deploy.rst:881 msgid "Supported Browsers" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:884 +#: ../../content/administration/on_premise/deploy.rst:883 msgid "Odoo supports the latest version of the following browsers." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:886 +#: ../../content/administration/on_premise/deploy.rst:885 msgid "Google Chrome" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:887 +#: ../../content/administration/on_premise/deploy.rst:886 msgid "Mozilla Firefox" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:888 +#: ../../content/administration/on_premise/deploy.rst:887 msgid "Microsoft Edge" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:889 +#: ../../content/administration/on_premise/deploy.rst:888 msgid "Apple Safari" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:892 +#: ../../content/administration/on_premise/deploy.rst:891 msgid "to have multiple Odoo installations use the same PostgreSQL database, or to provide more computing resources to both software." msgstr "" -#: ../../content/administration/on_premise/deploy.rst:895 +#: ../../content/administration/on_premise/deploy.rst:894 msgid "technically a tool like socat_ can be used to proxy UNIX sockets across networks, but that is mostly for software which can only be used over UNIX sockets" msgstr "" -#: ../../content/administration/on_premise/deploy.rst:899 +#: ../../content/administration/on_premise/deploy.rst:898 msgid "or be accessible only over an internal packet-switched network, but that requires secured switches, protections against `ARP spoofing`_ and precludes usage of WiFi. Even over secure packet-switched networks, deployment over HTTPS is recommended, and possible costs are lowered as \"self-signed\" certificates are easier to deploy on a controlled environment than over the internet." msgstr "" @@ -5754,46 +5698,46 @@ msgid "The Upgrade platform follows the same `Privacy Policy `_." +msgid "To upgrade an Odoo Online database:" +msgstr "" + +#: ../../content/administration/upgrade.rst:113 +msgid "Open the `database manager `_." msgstr "" #: ../../content/administration/upgrade.rst:114 -msgid "The database manager displays all databases associated with the user's account. Databases not on the most recent version of Odoo display an arrow in a circle icon next to their name, indicating that they can be upgraded." +msgid "Select the database and click :icon:`fa-gears` :guilabel:`Manage`." msgstr "" -#: ../../content/administration/upgrade.rst:0 -msgid "The database manager with an upgrade button next to the name of a database." +#: ../../content/administration/upgrade.rst:115 +msgid "Click :guilabel:`Upgrade` in the :guilabel:`Database` section." +msgstr "" + +#: ../../content/administration/upgrade.rst:116 +msgid "In the popup:" +msgstr "" + +#: ../../content/administration/upgrade.rst:118 +msgid "Select the **version** of Odoo you want to upgrade to, usually the latest version." +msgstr "" + +#: ../../content/administration/upgrade.rst:119 +msgid "Enter the :guilabel:`Email to notify`, which will receive a link to the upgraded database." msgstr "" #: ../../content/administration/upgrade.rst:121 -msgid "Click the **arrow in a circle** icon to start the upgrade process. In the popup, fill in:" +msgid "Select the :guilabel:`Purpose` of the upgrade, which is automatically set to :guilabel:`Test` for your first upgrade request." msgstr "" #: ../../content/administration/upgrade.rst:123 -msgid "The **version** of Odoo you want to upgrade to, usually the latest version" -msgstr "" - -#: ../../content/administration/upgrade.rst:124 -msgid "The **email** address that should receive the link to the upgraded database" +msgid "Click :guilabel:`Upgrade`." msgstr "" #: ../../content/administration/upgrade.rst:125 -msgid "The :guilabel:`Purpose` of the upgrade, which is automatically set to :guilabel:`Test` for your first upgrade request" +msgid "In the database manager, the :guilabel:`Connect` button will be replaced by an unclickable :guilabel:`Upgrading...` button until completion. Once the process is successful, an email containing a link to the upgraded test database is sent to the address provided. The test database can also be accessed from the database manager by clicking the :icon:`fa-caret-down` (:guilabel:`caret down`) button before the database name to display the test database, then clicking :guilabel:`Connect`." msgstr "" -#: ../../content/administration/upgrade.rst:0 -msgid "The \"Upgrade your database\" popup." -msgstr "" - -#: ../../content/administration/upgrade.rst:131 -msgid "The :guilabel:`Upgrade in progress` tag is displayed next to the database name until completion. Once the process succeeds, an email containing a link to the upgraded test database is sent to the address provided. The database can also be accessed from the database manager by clicking the dropdown arrow before the database name." -msgstr "" - -#: ../../content/administration/upgrade.rst:0 -msgid "Clicking the menu arrow displays the upgraded test database." -msgstr "" - -#: ../../content/administration/upgrade.rst:141 +#: ../../content/administration/upgrade.rst:134 msgid "Odoo.sh is integrated with the upgrade platform to simplify the upgrade process." msgstr "" @@ -5801,291 +5745,291 @@ msgstr "" msgid "Odoo.sh project and tabs" msgstr "" -#: ../../content/administration/upgrade.rst:146 +#: ../../content/administration/upgrade.rst:139 msgid "The **latest production daily automatic backup** is then sent to the Upgrade platform." msgstr "" -#: ../../content/administration/upgrade.rst:148 +#: ../../content/administration/upgrade.rst:141 msgid "Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is put in a **special mode**: each time a **commit is pushed** on the branch, a **restore operation** of the upgraded backup and an **update of all the custom modules** occur. This allows you to test your custom modules on a pristine copy of the upgraded database. The log file of the upgrade process can be found in your newly upgraded staging build by going to :file:`~/logs/upgrade.log`." msgstr "" -#: ../../content/administration/upgrade.rst:156 +#: ../../content/administration/upgrade.rst:149 msgid "In databases where custom modules are installed, their source code must be up-to-date with the target version of Odoo before the upgrade can be performed. If there are none, the \"update on commit\" mode is skipped, the upgraded database is built as soon as it is transferred from the upgrade platform, and the upgrade mode is exited." msgstr "" -#: ../../content/administration/upgrade.rst:161 +#: ../../content/administration/upgrade.rst:154 msgid "Check out the :doc:`/developer/howtos/upgrade_custom_db` page for more information." msgstr "" -#: ../../content/administration/upgrade.rst:165 +#: ../../content/administration/upgrade.rst:158 msgid "The standard upgrade process can be initiated by entering the following command line on the machine where the database is hosted:" msgstr "" -#: ../../content/administration/upgrade.rst:173 +#: ../../content/administration/upgrade.rst:166 msgid "This command has some requirements on the environment it runs in:" msgstr "" -#: ../../content/administration/upgrade.rst:175 +#: ../../content/administration/upgrade.rst:168 msgid "Some external commands that must be provided by the operating system, normally found in any Linux distribution (including WSL). An error will be displayed if one or several of them are missing." msgstr "" -#: ../../content/administration/upgrade.rst:178 +#: ../../content/administration/upgrade.rst:171 msgid "The system user that executes the command needs to be configured with access to the database. Please refer to the PostgreSQL documentation of the `client environment `_ or the `client password file `_ for this requirement." msgstr "" -#: ../../content/administration/upgrade.rst:182 +#: ../../content/administration/upgrade.rst:175 msgid "The script needs to be able to reach one or multiple servers of the upgrade platform both on TCP port 443 and to any random TCP port in the range between 32768 and 60999. This can be in conflict with your restrictive firewall and may need an exception added to the firewall configuration." msgstr "" -#: ../../content/administration/upgrade.rst:187 +#: ../../content/administration/upgrade.rst:180 msgid "The following command can be used to display the general help and the main commands:" msgstr "" -#: ../../content/administration/upgrade.rst:193 +#: ../../content/administration/upgrade.rst:186 msgid "An upgraded test database can also be requested via the `Upgrade page `_." msgstr "" -#: ../../content/administration/upgrade.rst:197 +#: ../../content/administration/upgrade.rst:190 msgid "In databases where custom modules are installed, their source code must be up-to-date with the target version of Odoo before the upgrade can be performed. Check out the :doc:`/developer/howtos/upgrade_custom_db` page for more information." msgstr "" -#: ../../content/administration/upgrade.rst:202 +#: ../../content/administration/upgrade.rst:195 msgid "For security reasons, only the person who submitted the upgrade request can download it." msgstr "" -#: ../../content/administration/upgrade.rst:203 +#: ../../content/administration/upgrade.rst:196 msgid "For storage reasons, the database's copy is submitted without a filestore to the upgrade server. Therefore, the upgraded database does not contain the production filestore." msgstr "" -#: ../../content/administration/upgrade.rst:205 +#: ../../content/administration/upgrade.rst:198 msgid "Before restoring the upgraded database, its filestore must be merged with the production filestore to be able to perform tests in the same conditions as it would be in the new version." msgstr "" -#: ../../content/administration/upgrade.rst:208 +#: ../../content/administration/upgrade.rst:201 msgid "The upgraded database contains:" msgstr "" -#: ../../content/administration/upgrade.rst:210 +#: ../../content/administration/upgrade.rst:203 msgid "A `dump.sql` file containing the upgraded database" msgstr "" -#: ../../content/administration/upgrade.rst:211 +#: ../../content/administration/upgrade.rst:204 msgid "A `filestore` folder containing files extracted from in-database records into attachments (if there are any) and new standard Odoo files from the targeted Odoo version (e.g., new images, icons, payment provider's logos, etc.). This is the folder that should be merged with the production filestore in order to get the full upgraded filestore." msgstr "" -#: ../../content/administration/upgrade.rst:218 +#: ../../content/administration/upgrade.rst:211 msgid "You can request multiple test databases if you wish to test an upgrade more than once." msgstr "" -#: ../../content/administration/upgrade.rst:221 +#: ../../content/administration/upgrade.rst:214 msgid "When an upgrade request is completed, an upgrade report is attached to the successful upgrade email, and it becomes available in the Discuss app for users who are part of the \"Administration / Settings\" group. This report provides important information about the changes introduced by the new version." msgstr "" -#: ../../content/administration/upgrade.rst:229 +#: ../../content/administration/upgrade.rst:222 msgid "Testing the new version of the database" msgstr "" -#: ../../content/administration/upgrade.rst:231 +#: ../../content/administration/upgrade.rst:224 msgid "It is essential to test the upgraded test database to ensure that you are not stuck in your day-to-day activities by a change in views, behavior, or an error message once the upgrade goes live." msgstr "" -#: ../../content/administration/upgrade.rst:236 +#: ../../content/administration/upgrade.rst:229 msgid "Test databases are neutralized, and some features are disabled to prevent them from impacting the production database:" msgstr "" -#: ../../content/administration/upgrade.rst:239 +#: ../../content/administration/upgrade.rst:232 msgid "Scheduled actions are disabled." msgstr "" -#: ../../content/administration/upgrade.rst:240 +#: ../../content/administration/upgrade.rst:233 msgid "Outgoing mail servers are disabled by archiving the existing ones and adding a fake one." msgstr "" -#: ../../content/administration/upgrade.rst:241 +#: ../../content/administration/upgrade.rst:234 msgid "Payment providers and delivery carriers are reset to the test environment." msgstr "" -#: ../../content/administration/upgrade.rst:242 +#: ../../content/administration/upgrade.rst:235 msgid "Bank synchronization is disabled. Should you want to test the synchronization, contact your bank synchronization provider to get sandbox credentials." msgstr "" -#: ../../content/administration/upgrade.rst:245 +#: ../../content/administration/upgrade.rst:238 msgid "Testing as many of your business flows as possible is strongly recommended to ensure they are working correctly and to get more familiar with the new version." msgstr "" -#: ../../content/administration/upgrade.rst:248 +#: ../../content/administration/upgrade.rst:241 msgid "Basic test checklist" msgstr "" -#: ../../content/administration/upgrade.rst:250 +#: ../../content/administration/upgrade.rst:243 msgid "Are there views that are deactivated in your test database but active in your production database?" msgstr "" -#: ../../content/administration/upgrade.rst:252 +#: ../../content/administration/upgrade.rst:245 msgid "Are your usual views still displayed correctly?" msgstr "" -#: ../../content/administration/upgrade.rst:253 +#: ../../content/administration/upgrade.rst:246 msgid "Are your reports (invoice, sales order, etc.) correctly generated?" msgstr "" -#: ../../content/administration/upgrade.rst:254 +#: ../../content/administration/upgrade.rst:247 msgid "Are your website pages working correctly?" msgstr "" -#: ../../content/administration/upgrade.rst:255 +#: ../../content/administration/upgrade.rst:248 msgid "Are you able to create and modify records? (sales orders, invoices, purchases, users, contacts, companies, etc.)" msgstr "" -#: ../../content/administration/upgrade.rst:257 +#: ../../content/administration/upgrade.rst:250 msgid "Are there any issues with your mail templates?" msgstr "" -#: ../../content/administration/upgrade.rst:258 +#: ../../content/administration/upgrade.rst:251 msgid "Are there any issues with saved translations?" msgstr "" -#: ../../content/administration/upgrade.rst:259 +#: ../../content/administration/upgrade.rst:252 msgid "Are your search filters still present?" msgstr "" -#: ../../content/administration/upgrade.rst:260 +#: ../../content/administration/upgrade.rst:253 msgid "Can you export your data?" msgstr "" -#: ../../content/administration/upgrade.rst:264 +#: ../../content/administration/upgrade.rst:257 msgid "Checking a random product in your product catalog and comparing its test and production data to verify everything is the same (product category, selling price, cost price, vendor, accounts, routes, etc.)." msgstr "" -#: ../../content/administration/upgrade.rst:267 +#: ../../content/administration/upgrade.rst:260 msgid "Buying this product (Purchase app)." msgstr "" -#: ../../content/administration/upgrade.rst:268 +#: ../../content/administration/upgrade.rst:261 msgid "Confirming the reception of this product (Inventory app)." msgstr "" -#: ../../content/administration/upgrade.rst:269 +#: ../../content/administration/upgrade.rst:262 msgid "Checking if the route to receive this product is the same in your production database (Inventory app)." msgstr "" -#: ../../content/administration/upgrade.rst:271 +#: ../../content/administration/upgrade.rst:264 msgid "Selling this product (Sales app) to a random customer." msgstr "" -#: ../../content/administration/upgrade.rst:272 +#: ../../content/administration/upgrade.rst:265 msgid "Opening your customer database (Contacts app), selecting a customer (or company), and checking its data." msgstr "" -#: ../../content/administration/upgrade.rst:274 +#: ../../content/administration/upgrade.rst:267 msgid "Shipping this product (Inventory app)." msgstr "" -#: ../../content/administration/upgrade.rst:275 +#: ../../content/administration/upgrade.rst:268 msgid "Checking if the route to ship this product is the same as in your production database (Inventory app)." msgstr "" -#: ../../content/administration/upgrade.rst:277 +#: ../../content/administration/upgrade.rst:270 msgid "Validating a customer invoice (Invoicing or Accounting app)." msgstr "" -#: ../../content/administration/upgrade.rst:278 +#: ../../content/administration/upgrade.rst:271 msgid "Crediting the invoice (issuing a credit note) and checking if it behaves as in your production database." msgstr "" -#: ../../content/administration/upgrade.rst:280 +#: ../../content/administration/upgrade.rst:273 msgid "Checking your reports' results (Accounting app)." msgstr "" -#: ../../content/administration/upgrade.rst:281 +#: ../../content/administration/upgrade.rst:274 msgid "Randomly checking your taxes, currencies, bank accounts, and fiscal year (Accounting app)." msgstr "" -#: ../../content/administration/upgrade.rst:282 +#: ../../content/administration/upgrade.rst:275 msgid "Making an online order (Website apps) from the product selection in your shop until the checkout process and checking if everything behaves as in your production database." msgstr "" -#: ../../content/administration/upgrade.rst:285 +#: ../../content/administration/upgrade.rst:278 msgid "This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo." msgstr "" -#: ../../content/administration/upgrade.rst:287 +#: ../../content/administration/upgrade.rst:280 msgid "If you face an issue while testing your upgraded test database, you can request the assistance of Odoo by going to the `Support page and selecting \"An issue related to my future upgrade (I am testing an upgrade)\" `_. In any case, it is essential to report any problem encountered during the testing to fix it before upgrading your production database." msgstr "" -#: ../../content/administration/upgrade.rst:293 +#: ../../content/administration/upgrade.rst:286 msgid "You might encounter significant differences with standard views, features, fields, and models during testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced by a new version breaks a customization, it is the responsibility of the maintainer of your custom module to make it compatible with the new version of Odoo." msgstr "" -#: ../../content/administration/upgrade.rst:299 +#: ../../content/administration/upgrade.rst:292 msgid "Do not forget to test:" msgstr "" -#: ../../content/administration/upgrade.rst:301 +#: ../../content/administration/upgrade.rst:294 msgid "Integrations with external software (EDI, APIs, etc.)" msgstr "" -#: ../../content/administration/upgrade.rst:302 +#: ../../content/administration/upgrade.rst:295 msgid "Workflows between different apps (online sales with eCommerce, converting a lead all the way to a sales order, delivery of products, etc.)" msgstr "" -#: ../../content/administration/upgrade.rst:304 +#: ../../content/administration/upgrade.rst:297 msgid "Data exports" msgstr "" -#: ../../content/administration/upgrade.rst:305 +#: ../../content/administration/upgrade.rst:298 msgid "Automated actions" msgstr "" -#: ../../content/administration/upgrade.rst:306 +#: ../../content/administration/upgrade.rst:299 msgid "Server actions in the action menu on form views, as well as by selecting multiple records on list views" msgstr "" -#: ../../content/administration/upgrade.rst:312 +#: ../../content/administration/upgrade.rst:305 msgid "Upgrading the production database" msgstr "" -#: ../../content/administration/upgrade.rst:314 +#: ../../content/administration/upgrade.rst:307 msgid "Once the :ref:`tests ` are completed and you are confident that the upgraded database can be used as your main database without any issues, it is time to plan the go-live day." msgstr "" -#: ../../content/administration/upgrade.rst:317 +#: ../../content/administration/upgrade.rst:310 msgid "Your production database will be unavailable during its upgrade. Therefore, we recommend planning the upgrade at a time when the use of the database is minimal." msgstr "" -#: ../../content/administration/upgrade.rst:320 +#: ../../content/administration/upgrade.rst:313 msgid "As the standard upgrade scripts and your database are constantly evolving, it is also recommended to frequently request another upgraded test database to ensure that the upgrade process is still successful, especially if it takes a long time to finish. **Fully rehearsing the upgrade process the day before upgrading the production database is also recommended.**" msgstr "" -#: ../../content/administration/upgrade.rst:326 +#: ../../content/administration/upgrade.rst:319 msgid "Going into production without first testing may lead to:" msgstr "" -#: ../../content/administration/upgrade.rst:328 +#: ../../content/administration/upgrade.rst:321 msgid "Users failing to adjust to the changes and new features" msgstr "" -#: ../../content/administration/upgrade.rst:329 +#: ../../content/administration/upgrade.rst:322 msgid "Business interruptions (e.g., no longer having the possibility to validate an action)" msgstr "" -#: ../../content/administration/upgrade.rst:330 +#: ../../content/administration/upgrade.rst:323 msgid "Poor customer experience (e.g., an eCommerce website that does not work correctly)" msgstr "" -#: ../../content/administration/upgrade.rst:332 +#: ../../content/administration/upgrade.rst:325 msgid "The process of upgrading a production database is similar to upgrading a test database, but with a few exceptions." msgstr "" -#: ../../content/administration/upgrade.rst:339 +#: ../../content/administration/upgrade.rst:332 msgid "The process is similar to :ref:`obtaining an upgraded test database `, except for the purpose option, which must be set to :guilabel:`Production` instead of :guilabel:`Test`." msgstr "" -#: ../../content/administration/upgrade.rst:344 +#: ../../content/administration/upgrade.rst:337 msgid "Once the upgrade is requested, the database will be unavailable until the upgrade is finished. Once the process is completed, it is impossible to revert to the previous version." msgstr "" -#: ../../content/administration/upgrade.rst:350 +#: ../../content/administration/upgrade.rst:343 msgid "The process is similar to :ref:`obtaining an upgraded test database ` on the :guilabel:`Production` branch." msgstr "" @@ -6093,98 +6037,98 @@ msgstr "" msgid "View from the upgrade tab" msgstr "" -#: ../../content/administration/upgrade.rst:356 +#: ../../content/administration/upgrade.rst:349 msgid "The process is **triggered as soon as a new commit is made** on the branch. This allows the upgrade process to be synchronized with the deployment of the custom modules' upgraded source code. If there are no custom modules, the upgrade process is triggered immediately." msgstr "" -#: ../../content/administration/upgrade.rst:362 +#: ../../content/administration/upgrade.rst:355 msgid "The database is unavailable throughout the process. If anything goes wrong, the platform automatically reverts the upgrade, as it would be for a regular update. In case of success, a backup of the database before the upgrade is created." msgstr "" -#: ../../content/administration/upgrade.rst:366 +#: ../../content/administration/upgrade.rst:359 msgid "The update of your custom modules must be successful to complete the entire upgrade process. Make sure the status of your staging upgrade is :guilabel:`successful` before trying it in production. More information on how to upgrade your custom modules can be found on :doc:`/developer/howtos/upgrade_custom_db`." msgstr "" -#: ../../content/administration/upgrade.rst:373 +#: ../../content/administration/upgrade.rst:366 msgid "The command to upgrade a database to production is similar to the one of upgrading a test database except for the argument `test`, which must be replaced by `production`:" msgstr "" -#: ../../content/administration/upgrade.rst:380 +#: ../../content/administration/upgrade.rst:373 msgid "An upgraded production database can also be requested via the `Upgrade page `_." msgstr "" -#: ../../content/administration/upgrade.rst:383 +#: ../../content/administration/upgrade.rst:376 msgid "Once the database is uploaded, any modification to your production database will **not** be present on your upgraded database. This is why we recommend not using it during the upgrade process." msgstr "" -#: ../../content/administration/upgrade.rst:388 +#: ../../content/administration/upgrade.rst:381 msgid "When requesting an upgraded database for production purposes, the copy is submitted without a filestore. Therefore, the upgraded database filestore must be merged with the production filestore before deploying the new version." msgstr "" -#: ../../content/administration/upgrade.rst:392 +#: ../../content/administration/upgrade.rst:385 msgid "In case of an issue with your production database, you can request the assistance of Odoo by going to the `Support page and selecting \"An issue related to my upgrade (production)\" `_." msgstr "" -#: ../../content/administration/upgrade.rst:399 +#: ../../content/administration/upgrade.rst:392 msgid "Service-level agreement (SLA)" msgstr "" -#: ../../content/administration/upgrade.rst:401 +#: ../../content/administration/upgrade.rst:394 msgid "With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including any support required to rectify potential discrepancies in the upgraded database." msgstr "" -#: ../../content/administration/upgrade.rst:404 +#: ../../content/administration/upgrade.rst:397 msgid "Information about the upgrade services included in the Enterprise Licence is available in the :ref:`Odoo Enterprise Subscription Agreement `. However, this section clarifies what upgrade services you can expect." msgstr "" -#: ../../content/administration/upgrade.rst:411 +#: ../../content/administration/upgrade.rst:404 msgid "Upgrade services covered by the SLA" msgstr "" -#: ../../content/administration/upgrade.rst:413 +#: ../../content/administration/upgrade.rst:406 msgid "Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can benefit from upgrade services at all times for:" msgstr "" -#: ../../content/administration/upgrade.rst:416 +#: ../../content/administration/upgrade.rst:409 msgid "the upgrade of all **standard applications**;" msgstr "" -#: ../../content/administration/upgrade.rst:417 +#: ../../content/administration/upgrade.rst:410 msgid "the upgrade of all **customizations created with the Studio app**, as long as Studio is still installed and the respective subscription is still active; and" msgstr "" -#: ../../content/administration/upgrade.rst:419 +#: ../../content/administration/upgrade.rst:412 msgid "the upgrade of all **developments and customizations covered by a maintenance of customizations subscription**." msgstr "" -#: ../../content/administration/upgrade.rst:422 +#: ../../content/administration/upgrade.rst:415 msgid "Upgrade services are limited to the technical conversion and adaptation of a database (standard modules and data) to make it compatible with the version targeted by the upgrade." msgstr "" -#: ../../content/administration/upgrade.rst:428 +#: ../../content/administration/upgrade.rst:421 msgid "Upgrade services not covered by the SLA" msgstr "" -#: ../../content/administration/upgrade.rst:430 +#: ../../content/administration/upgrade.rst:423 msgid "The following upgrade-related services are **not** included:" msgstr "" -#: ../../content/administration/upgrade.rst:432 +#: ../../content/administration/upgrade.rst:425 msgid "the **cleaning** of pre-existing data and configurations while upgrading;" msgstr "" -#: ../../content/administration/upgrade.rst:433 +#: ../../content/administration/upgrade.rst:426 msgid "the upgrade of **additional modules not covered by a maintenance contract** that are created in-house or by third parties, including Odoo partners; and" msgstr "" -#: ../../content/administration/upgrade.rst:435 +#: ../../content/administration/upgrade.rst:428 msgid "**training** on using the upgraded version's features and workflows." msgstr "" -#: ../../content/administration/upgrade.rst:438 +#: ../../content/administration/upgrade.rst:431 msgid ":doc:`Odoo.sh documentation `" msgstr "" -#: ../../content/administration/upgrade.rst:439 +#: ../../content/administration/upgrade.rst:432 msgid ":doc:`Supported Odoo versions `" msgstr "" diff --git a/locale/sources/essentials.pot b/locale/sources/essentials.pot index 5cc9e4d23..127a49685 100644 --- a/locale/sources/essentials.pot +++ b/locale/sources/essentials.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -877,83 +877,83 @@ msgstr "" msgid "Export and import data" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:8 +#: ../../content/applications/essentials/export_import_data.rst:5 msgid "In Odoo, it is sometimes necessary to export or import data for running reports, or for data modification. This document covers the export and import of data into and out of Odoo." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:12 +#: ../../content/applications/essentials/export_import_data.rst:9 msgid "Sometimes, users run into a 'time out' error, or a record does not process, due to its size. This can occur with large exports, or in cases where the import file is too large. To circumvent this limitation surrounding the size of the records, process exports or imports in smaller batches." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:19 +#: ../../content/applications/essentials/export_import_data.rst:16 msgid "Export data from Odoo" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:21 -msgid "When working with a database, it is sometimes necessary to export data in a distinct file. Doing so can aid in reporting on activities, although, Odoo provides a precise and easy reporting tool with each available application." +#: ../../content/applications/essentials/export_import_data.rst:18 +msgid "When working with a database, it is sometimes necessary to export data in a distinct file. Doing so can aid in reporting on activities, although, Odoo provides a precise reporting tool with each available application." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:25 -msgid "With Odoo, the values can be exported from any field in any record. To do so, activate the list view (|list|), on the items that need to be exported, then select the records that should be exported. To select a record, tick the checkbox next to the corresponding record. Finally, click on |actions|, then :guilabel:`Export`." +#: ../../content/applications/essentials/export_import_data.rst:22 +msgid "With Odoo, the values can be exported from any field in any record. To do so, activate the list view :icon:`fa-list` :guilabel:`(List)` icon, on the items that need to be exported, and then select the records that should be exported. To select a record, tick the checkbox next to the corresponding record. Finally, click the :guilabel:`Action` button, and select :icon:`fa-upload` :guilabel:`Export`." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:-1 msgid "View of the different things to enable/click to export data." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:33 -msgid "When clicking on :guilabel:`Export`, an :guilabel:`Export Data` pop-over window appears, with several options for the data to export:" +#: ../../content/applications/essentials/export_import_data.rst:31 +msgid "When clicking on :icon:`fa-upload` :guilabel:`Export`, a :guilabel:`Export Data` pop-over window appears, with several options for the data to export:" msgstr "" #: ../../content/applications/essentials/export_import_data.rst:-1 msgid "Overview of options to consider when exporting data in Odoo." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:39 -msgid "With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system only shows the fields that can be imported. This is helpful in the case where the :ref:`existing records need to be updated `. This works like a filter. Leaving the box unticked, gives many more field options because it shows all the fields, not just the ones that can be imported." +#: ../../content/applications/essentials/export_import_data.rst:37 +msgid "With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system only shows the fields that can be imported. This is helpful in the case where the :ref:`existing records need to be updated `. This works like a filter. Leaving the box unticked, gives many more field options because it shows all the fields, not only the ones that can be imported." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:44 +#: ../../content/applications/essentials/export_import_data.rst:42 msgid "When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`, items are separated by a comma, while `.xls` holds information about all the worksheets in a file, including both content and formatting." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:47 -msgid "These are the items that can be exported. Use the :guilabel:`> (right arrow)` icon to display more sub-field options. Use the :guilabel:`Search` bar to find specific fields. To use the :guilabel:`Search` option more efficiently, click on all the :guilabel:`> (right arrows)` to display all fields." +#: ../../content/applications/essentials/export_import_data.rst:45 +msgid "These are the items that can be exported. Use the :icon:`fa-chevron-right` :guilabel:`(Show sub-fields)` icon to display more sub-field options. Use the :guilabel:`Search` bar to find specific fields. To use the :guilabel:`Search` option more efficiently, click on all the :icon:`fa-chevron-right` :guilabel:`(Show sub-fields)` icon to display all fields." +msgstr "" + +#: ../../content/applications/essentials/export_import_data.rst:49 +msgid "The :icon:`fa-plus` :guilabel:`(Select field)` icon button is present to add fields to the :guilabel:`Fields to export` list." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:51 -msgid "The :guilabel:`+ (plus sign)` icon button is present to add fields to the :guilabel:`Fields to export` list." +msgid "The :icon:`fa-sort` :guilabel:`(Sort)` icon to the left of the selected fields can be used to move the fields up and down, to change the order in which they are displayed in the exported file. Drag-and-drop using the :icon:`fa-sort` :guilabel:`(Sort)` icon." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:53 -msgid "The :guilabel:`↕️ (up-down arrow)` to the left of the selected fields can be used to move the fields up and down, to change the order in which they are displayed in the exported file. Drag-and-drop using the :guilabel:`↕️ (up-down arrow)` icon." +#: ../../content/applications/essentials/export_import_data.rst:54 +msgid "The :icon:`fa-trash` :guilabel:`(Remove field)` icon is used to remove fields. Click the :icon:`fa-trash` :guilabel:`(Remove field)` icon to remove the field." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:56 -msgid "The :guilabel:`🗑️ (trash can)` icon is used to remove fields. Click on the :guilabel:`🗑️ (trash can)` icon to remove the field." +msgid "For recurring reports, it is helpful to save export presets. Select all the needed fields, and click on the template drop-down menu. Once there, click on :guilabel:`New template`, and give a unique name to the export template. Click the :icon:`fa-floppy-o` :guilabel:`(floppy drive)` icon to save the configuration. The next time the same list needs to be exported, select the related template that was previously saved from the drop-down menu." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:58 -msgid "For recurring reports, it is helpful to save export presets. Select all the needed fields, and click on the template drop-down menu. Once there, click on :guilabel:`New template`, and give a unique name to the export just created. Click the :guilabel:`💾 (floppy drive)` icon to save the configuration. The next time the same list needs to be exported, select the related template that was previously saved from the drop-down menu." -msgstr "" - -#: ../../content/applications/essentials/export_import_data.rst:65 +#: ../../content/applications/essentials/export_import_data.rst:63 msgid "It is helpful to know the field's external identifier. For example, :guilabel:`Related Company` in the export user interface is equal to *parent_id* (external identifier). This is helpful because then, the only data exported is what should be modified and re-imported." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:72 +#: ../../content/applications/essentials/export_import_data.rst:70 msgid "Import data into Odoo" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:74 +#: ../../content/applications/essentials/export_import_data.rst:72 msgid "Importing data into Odoo is extremely helpful during implementation, or in times where data needs to be :ref:`updated in bulk `. The following documentation covers how to import data into an Odoo database." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:79 +#: ../../content/applications/essentials/export_import_data.rst:77 msgid "Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created on` or `last modified`) to identify records changed or created by the import." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:83 +#: ../../content/applications/essentials/export_import_data.rst:81 msgid "Activating :ref:`developer mode ` changes the visible import settings in the left menu. Doing so reveals an :menuselection:`Advanced` menu. Included in this advanced menu are two options: :guilabel:`Track history during import` and :guilabel:`Allow matching with subfields`." msgstr "" @@ -961,87 +961,87 @@ msgstr "" msgid "Advanced import options when developer mode is activated." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:90 +#: ../../content/applications/essentials/export_import_data.rst:88 msgid "If the model uses openchatter, the :guilabel:`Track history during import` option sets up subscriptions and sends notifications during the import, but leads to a slower import." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:93 +#: ../../content/applications/essentials/export_import_data.rst:91 msgid "Should the :guilabel:`Allow matching with subfields` option be selected, then all subfields within a field are used to match under the :guilabel:`Odoo Field` while importing." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:99 +#: ../../content/applications/essentials/export_import_data.rst:97 msgid "Get started" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:101 +#: ../../content/applications/essentials/export_import_data.rst:99 msgid "Data can be imported on any Odoo business object using either Excel (`.xlsx`) or :abbr:`CSV (Comma-separated Values)` (`.csv`) formats. This includes: contacts, products, bank statements, journal entries, and orders." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:105 -msgid "Open the view of the object to which the data should be imported/populated, click the :icon:`fa-cog` (:guilabel:`gear`) icon and select :guilabel:`Import records`." +#: ../../content/applications/essentials/export_import_data.rst:103 +msgid "Open the view of the object to which the data should be imported/populated, click on :icon:`fa-cog` :guilabel:`(Action)` icon, and in the drop-down menu select :icon:`fa-upload` :guilabel:`(Import records)`." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:-1 msgid "Action menu revealed with the import records option highlighted." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:111 -msgid "Click :icon:`fa-download`:guilabel:`Import Template for Customers` at the center of the page to download a :ref:`template ` and populate it with the company's own data. Such templates can be imported in one click since the data mapping is already preconfigured." +#: ../../content/applications/essentials/export_import_data.rst:110 +msgid "Click :icon:`fa-upload`:guilabel:`Import Template for Customers` at the center of the page to download a :ref:`template ` and populate it with the company's own data. Such templates can be imported in one click since the data mapping is already preconfigured." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:116 -msgid "To upload the downloaded template or your own file, follow the next steps:" +#: ../../content/applications/essentials/export_import_data.rst:115 +msgid "To upload the downloaded template or an existing file, follow the next steps:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:118 +#: ../../content/applications/essentials/export_import_data.rst:117 msgid "Click :guilabel:`Upload Data File` and select the desired file." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:119 +#: ../../content/applications/essentials/export_import_data.rst:118 msgid "Adjust the :guilabel:`Formatting` options as needed (for CSV files only)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:120 +#: ../../content/applications/essentials/export_import_data.rst:119 msgid "Ensure all data in the :guilabel:`File Column` is correctly mapped to the appropriate :guilabel:`Odoo Field` and free of errors." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:122 +#: ../../content/applications/essentials/export_import_data.rst:121 msgid "(Optional) Click :guilabel:`Load Data File` to reload the same file or upload a different one." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:123 +#: ../../content/applications/essentials/export_import_data.rst:122 msgid "Click :guilabel:`Test` to verify that the data is valid." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:124 +#: ../../content/applications/essentials/export_import_data.rst:123 msgid "Click :guilabel:`Import`." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:127 +#: ../../content/applications/essentials/export_import_data.rst:126 msgid "The :guilabel:`Formatting` options do **not** appear when importing the proprietary Excel file type (i.e., `.xls` or `.xlsx`)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:133 +#: ../../content/applications/essentials/export_import_data.rst:132 msgid "Adapt a template" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:135 +#: ../../content/applications/essentials/export_import_data.rst:134 msgid "Import templates are provided in the import tool of the most common data to import (contacts, products, bank statements, etc.). Open them with any spreadsheet software (*Microsoft Office*, *OpenOffice*, *Google Drive*, etc.)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:139 +#: ../../content/applications/essentials/export_import_data.rst:138 msgid "Once the template is downloaded, proceed to follow these steps:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:141 +#: ../../content/applications/essentials/export_import_data.rst:140 msgid "Add, remove, and sort columns to best fit the data structure." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:142 +#: ../../content/applications/essentials/export_import_data.rst:141 msgid "It is strongly advised to **not** remove the :guilabel:`External ID` (ID) column (see why in the next section)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:144 +#: ../../content/applications/essentials/export_import_data.rst:143 msgid "Set a unique ID to every record by dragging down the ID sequencing in the :guilabel:`External ID` (ID) column." msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" msgid "An animation of the mouse dragging down the ID column, so each record has a unique ID." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:151 +#: ../../content/applications/essentials/export_import_data.rst:150 msgid "When a new column is added, Odoo may not be able to map it automatically, if its label does not fit any field within Odoo. However, new columns can be mapped manually when the import is tested. Search the drop-down menu for the corresponding field." msgstr "" @@ -1057,63 +1057,63 @@ msgstr "" msgid "Drop-down menu expanded in the initial import screen on Odoo." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:158 +#: ../../content/applications/essentials/export_import_data.rst:157 msgid "Then, use this field's label in the import file to ensure future imports are successful." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:161 -msgid "Another useful way to find out the proper column names to import is to export a sample file using the fields that should be imported. This way, if there is not a sample import template, the names are accurate." +#: ../../content/applications/essentials/export_import_data.rst:160 +msgid "Another useful way to find out the proper column names to import is to export a sample file using the fields to be imported. This way, if there is not a sample import template, the names are accurate." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:169 +#: ../../content/applications/essentials/export_import_data.rst:168 msgid "Import from another application" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:171 -msgid "The :guilabel:`External ID` (ID) is a unique identifier for the line item. Feel free to use one from previous software to facilitate the transition to Odoo." +#: ../../content/applications/essentials/export_import_data.rst:170 +msgid "The :guilabel:`External ID` (ID) is a unique identifier for a line item. It is possible to use an :guilabel:`External ID` (ID) from previous software to facilitate the transition to Odoo." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:174 +#: ../../content/applications/essentials/export_import_data.rst:173 msgid "Setting an ID is not mandatory when importing, but it helps in many cases:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:176 +#: ../../content/applications/essentials/export_import_data.rst:175 msgid ":ref:`Update imports `: import the same file several times without creating duplicates." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:178 +#: ../../content/applications/essentials/export_import_data.rst:177 msgid ":ref:`Import relation fields `." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:180 +#: ../../content/applications/essentials/export_import_data.rst:179 msgid "To recreate relationships between different records, the unique identifier from the original application should be used to map it to the :guilabel:`External ID` (ID) column in Odoo." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:183 +#: ../../content/applications/essentials/export_import_data.rst:182 msgid "When another record is imported that links to the first one, use **XXX/ID** (XXX/External ID) for the original unique identifier. This record can also be found using its name." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:187 +#: ../../content/applications/essentials/export_import_data.rst:186 msgid "It should be noted that conflicts occur if two (or more) records have the same *External ID*." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:190 +#: ../../content/applications/essentials/export_import_data.rst:189 msgid "Field missing to map column" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:192 +#: ../../content/applications/essentials/export_import_data.rst:191 msgid "Odoo heuristically tries to find the type of field for each column inside the imported file, based on the first ten lines of the files." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:195 +#: ../../content/applications/essentials/export_import_data.rst:194 msgid "For example, if there is a column only containing numbers, only the fields with the *integer* type are presented as options." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:198 +#: ../../content/applications/essentials/export_import_data.rst:197 msgid "While this behavior might be beneficial in most cases, it is also possible that it could fail, or the column may be mapped to a field that is not proposed by default." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:201 +#: ../../content/applications/essentials/export_import_data.rst:200 msgid "If this happens, check the :guilabel:`Show fields of relation fields (advanced) option`, then a complete list of fields becomes available for each column." msgstr "" @@ -1121,252 +1121,252 @@ msgstr "" msgid "Searching for the field to match the tax column." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:208 +#: ../../content/applications/essentials/export_import_data.rst:207 msgid "Change data import format" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:211 +#: ../../content/applications/essentials/export_import_data.rst:210 msgid "Odoo can automatically detect if a column is a date, and tries to guess the date format from a set of most commonly used date formats. While this process can work for many date formats, some date formats are not recognizable. This can cause confusion, due to day-month inversions; it is difficult to guess which part of a date format is the day, and which part is the month, in a date, such as `01-03-2016`." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:217 +#: ../../content/applications/essentials/export_import_data.rst:216 msgid "When importing a :abbr:`CSV (Comma-separated Values)` file, Odoo provides :guilabel:`Formatting` options." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:220 +#: ../../content/applications/essentials/export_import_data.rst:219 msgid "To view which date format Odoo has found from the file, check the :guilabel:`Date Format` that is shown when clicking on options under the file selector. If this format is incorrect, change it to the preferred format using *ISO 8601* to define the format." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:225 -msgid "*ISO 8601* is an international standard, covering the worldwide exchange, along with the communication of date and time-related data. For example, the date format should be `YYYY-MM-DD`. So, in the case of July 24th 1981, it should be written as `1981-07-24`." +#: ../../content/applications/essentials/export_import_data.rst:224 +msgid "*ISO 8601* is an international standard, covering the worldwide exchange, along with the communication of date and time-related data. For example, the date format should be `YYYY-MM-DD`. In the case of July 24th 1981, it should be written as `1981-07-24`." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:230 +#: ../../content/applications/essentials/export_import_data.rst:229 msgid "When importing Excel files (`.xls`, `.xlsx`), consider using *date cells* to store dates. This maintains locale date formats for display, regardless of how the date is formatted in Odoo. When importing a :abbr:`CSV (Comma-separated Values)` file, use Odoo's :guilabel:`Formatting` section to select the date format columns to import." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:236 +#: ../../content/applications/essentials/export_import_data.rst:235 msgid "Import numbers with currency signs" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:238 +#: ../../content/applications/essentials/export_import_data.rst:237 msgid "Odoo fully supports numbers with parenthesis to represent negative signs, as well as numbers with currency signs attached to them. Odoo also automatically detects which thousand/decimal separator is used. If a currency symbol unknown to Odoo is used, it might not be recognized as a number, and the import crashes." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:244 +#: ../../content/applications/essentials/export_import_data.rst:243 msgid "When importing a :abbr:`CSV (Comma-separated Values)` file, the :guilabel:`Formatting` menu appears on the left-hand column. Under these options, the :guilabel:`Thousands Separator` can be changed." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:248 +#: ../../content/applications/essentials/export_import_data.rst:247 msgid "Examples of supported numbers (using 'thirty-two thousand' as the figure):" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:250 +#: ../../content/applications/essentials/export_import_data.rst:249 msgid "32.000,00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:251 +#: ../../content/applications/essentials/export_import_data.rst:250 msgid "32000,00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:252 +#: ../../content/applications/essentials/export_import_data.rst:251 msgid "32,000.00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:253 +#: ../../content/applications/essentials/export_import_data.rst:252 msgid "-32000.00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:254 +#: ../../content/applications/essentials/export_import_data.rst:253 msgid "(32000.00)" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:255 +#: ../../content/applications/essentials/export_import_data.rst:254 msgid "$ 32.000,00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:256 +#: ../../content/applications/essentials/export_import_data.rst:255 msgid "(32000.00 €)" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:258 +#: ../../content/applications/essentials/export_import_data.rst:257 msgid "Example that will not work:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:260 +#: ../../content/applications/essentials/export_import_data.rst:259 msgid "ABC 32.000,00" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:261 +#: ../../content/applications/essentials/export_import_data.rst:260 msgid "$ (32.000,00)" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:264 +#: ../../content/applications/essentials/export_import_data.rst:263 msgid "A :guilabel:`() (parenthesis)` around the number indicates that the number is a negative value. The currency symbol **must** be placed within the parenthesis for Odoo to recognize it as a negative currency value." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:269 +#: ../../content/applications/essentials/export_import_data.rst:268 msgid "Import preview table not displayed correctly" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:271 +#: ../../content/applications/essentials/export_import_data.rst:270 msgid "By default, the import preview is set on commas as field separators, and quotation marks as text delimiters. If the :abbr:`CSV (Comma-separated Values)` file does not have these settings, modify the :guilabel:`Formatting` options (displayed under the :guilabel:`Import` :abbr:`CSV (Comma-separated Values)` file bar after selecting the :abbr:`CSV (Comma-separated Values)` file)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:277 +#: ../../content/applications/essentials/export_import_data.rst:276 msgid "If the :abbr:`CSV (Comma-separated Values)` file has a tabulation as a separator, Odoo does **not** detect the separations. The file format options need to be modified in the spreadsheet application. See the following :ref:`Change CSV file format ` section." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:285 +#: ../../content/applications/essentials/export_import_data.rst:284 msgid "Change CSV file format in spreadsheet application" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:287 +#: ../../content/applications/essentials/export_import_data.rst:286 msgid "When editing and saving :abbr:`CSV (Comma-separated Values)` files in spreadsheet applications, the computer's regional settings are applied for the separator and delimiter. Odoo suggests using *OpenOffice* or *LibreOffice*, as both applications allow modifications of all three options (from *LibreOffice* application, go to :menuselection:`'Save As' dialog box --> Check the box 'Edit filter settings' --> Save`)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:293 +#: ../../content/applications/essentials/export_import_data.rst:292 msgid "Microsoft Excel can modify the encoding when saving (:menuselection:`'Save As' dialog box --> 'Tools' drop-down menu --> Encoding tab`)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:297 +#: ../../content/applications/essentials/export_import_data.rst:296 msgid "Difference between Database ID and External ID" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:299 +#: ../../content/applications/essentials/export_import_data.rst:298 msgid "Some fields define a relationship with another object. For example, the country of a contact is a link to a record of the 'Country' object. When such fields are imported, Odoo has to recreate links between the different records. To help import such fields, Odoo provides three mechanisms." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:304 +#: ../../content/applications/essentials/export_import_data.rst:303 msgid "**Only one** mechanism should be used per field that is imported." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:306 +#: ../../content/applications/essentials/export_import_data.rst:305 msgid "For example, to reference the country of a contact, Odoo proposes three different fields to import:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:308 +#: ../../content/applications/essentials/export_import_data.rst:307 msgid ":guilabel:`Country`: the name or code of the country" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:309 +#: ../../content/applications/essentials/export_import_data.rst:308 msgid ":guilabel:`Country/Database ID`: the unique Odoo ID for a record, defined by the ID PostgreSQL column" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:311 +#: ../../content/applications/essentials/export_import_data.rst:310 msgid ":guilabel:`Country/External ID`: the ID of this record referenced in another application (or the `.XML` file that imported it)" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:314 +#: ../../content/applications/essentials/export_import_data.rst:313 msgid "For the country of Belgium, for example, use one of these three ways to import:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:316 +#: ../../content/applications/essentials/export_import_data.rst:315 msgid ":guilabel:`Country`: `Belgium`" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:317 +#: ../../content/applications/essentials/export_import_data.rst:316 msgid ":guilabel:`Country/Database ID`: `21`" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:318 +#: ../../content/applications/essentials/export_import_data.rst:317 msgid ":guilabel:`Country/External ID`: `base.be`" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:320 +#: ../../content/applications/essentials/export_import_data.rst:319 msgid "According to the company's need, use one of these three ways to reference records in relations. Here is an example when one or the other should be used, according to the need:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:323 +#: ../../content/applications/essentials/export_import_data.rst:322 msgid "Use :guilabel:`Country`: this is the easiest way when data comes from :abbr:`CSV (Comma-separated Values)` files that have been created manually." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:325 +#: ../../content/applications/essentials/export_import_data.rst:324 msgid "Use :guilabel:`Country/Database ID`: this should rarely be used. It is mostly used by developers as the main advantage is to never have conflicts (there may be several records with the same name, but they always have a unique Database ID)" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:328 +#: ../../content/applications/essentials/export_import_data.rst:327 msgid "Use :guilabel:`Country/External ID`: use *External ID* when importing data from a third-party application." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:331 +#: ../../content/applications/essentials/export_import_data.rst:330 msgid "When *External IDs* are used, import :abbr:`CSV (Comma-separated Values)` files with the :guilabel:`External ID` (ID) column defining the *External ID* of each record that is imported. Then, a reference can be made to that record with columns, like `Field/External ID`. The following two :abbr:`CSV (Comma-separated Values)` files provide an example for products and their categories." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:336 +#: ../../content/applications/essentials/export_import_data.rst:335 msgid ":download:`CSV file for categories `" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:338 +#: ../../content/applications/essentials/export_import_data.rst:337 msgid ":download:`CSV file for Products `" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:344 +#: ../../content/applications/essentials/export_import_data.rst:343 msgid "Import relation fields" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:346 +#: ../../content/applications/essentials/export_import_data.rst:345 msgid "An Odoo object is always related to many other objects (e.g. a product is linked to product categories, attributes, vendors, etc.). To import those relations, the records of the related object need to be imported first, from their own list menu." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:350 +#: ../../content/applications/essentials/export_import_data.rst:349 msgid "This can be achieved by using either the name of the related record, or its ID, depending on the circumstances. The ID is expected when two records have the same name. In such a case add `/ ID` at the end of the column title (e.g. for product attributes: `Product Attributes / Attribute / ID`)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:355 +#: ../../content/applications/essentials/export_import_data.rst:354 msgid "Options for multiple matches on fields" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:357 +#: ../../content/applications/essentials/export_import_data.rst:356 msgid "If, for example, there are two product categories with the child name `Sellable` (e.g. `Misc. Products/Sellable` & `Other Products/Sellable`), the validation is halted, but the data may still be imported. However, Odoo recommends that the data is not imported because it will all be linked to the first `Sellable` category found in the *Product Category* list (`Misc. Products/Sellable`). Odoo, instead, recommends modifying one of the duplicate's values, or the product category hierarchy." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:364 +#: ../../content/applications/essentials/export_import_data.rst:363 msgid "However, if the company does not wish to change the configuration of product categories, Odoo recommends making use of the *External ID* for this field, 'Category'." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:368 +#: ../../content/applications/essentials/export_import_data.rst:367 msgid "Import many2many relationship fields" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:370 +#: ../../content/applications/essentials/export_import_data.rst:369 msgid "The tags should be separated by a comma, without any spacing. For example, if a customer needs to be linked to both tags: `Manufacturer` and `Retailer` then 'Manufacturer,Retailer' needs to be encoded in the same column of the :abbr:`CSV (Comma-separated Values)` file." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:374 -msgid ":download:`CSV file for Manufacturer, Retailer `" +#: ../../content/applications/essentials/export_import_data.rst:373 +msgid ":download:`CSV file for Manufacturer, Retailer `" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:377 +#: ../../content/applications/essentials/export_import_data.rst:376 msgid "Import one2many relationships" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:379 +#: ../../content/applications/essentials/export_import_data.rst:378 msgid "If a company wants to import a sales order with several order lines, a specific row **must** be reserved in the :abbr:`CSV (Comma-separated Values)` file for each order line. The first order line is imported on the same row as the information relative to order. Any additional lines need an additional row that does not have any information in the fields relative to the order." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:384 -msgid "As an example, here is a :abbr:`CSV (Comma-separated Values)` file of some quotations that can be imported, based on demo data:" +msgid "A company imports quotations using a :abbr:`CSV (Comma-separated Values)` file, based on demo data:" msgstr "" #: ../../content/applications/essentials/export_import_data.rst:387 -msgid ":download:`File for some Quotations `" +msgid ":download:`File for some quotations `" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:390 -msgid "The following :abbr:`CSV (Comma-separated Values)` file shows how to import purchase orders with their respective purchase order lines:" +#: ../../content/applications/essentials/export_import_data.rst:389 +msgid "A company imports purchase orders with their respective purchase order lines using a :abbr:`CSV (Comma-separated Values)` file:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:393 -msgid ":download:`Purchase orders with their respective purchase order lines `" +#: ../../content/applications/essentials/export_import_data.rst:392 +msgid ":download:`Purchase orders with their respective purchase order lines `" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:396 -msgid "The following :abbr:`CSV (Comma-separated Values)` file shows how to import customers and their respective contacts:" +#: ../../content/applications/essentials/export_import_data.rst:395 +msgid "A company imports customers and their respective contacts using a :abbr:`CSV (Comma-separated Values)` file:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:399 -msgid ":download:`Customers and their respective contacts `" +#: ../../content/applications/essentials/export_import_data.rst:398 +msgid ":download:`Customers and their respective contacts `" msgstr "" #: ../../content/applications/essentials/export_import_data.rst:403 @@ -1401,123 +1401,123 @@ msgstr "" msgid "Click :guilabel:`Import`. During the import process, Odoo performs a file check to automatically link the uploaded images to the imported data file. If there is no match, the data file is imported without any image." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:419 -msgid "The :guilabel:`Files to import` section is enabled if your product template has an :guilabel:`Image` column with all fields populated." -msgstr "" - -#: ../../content/applications/essentials/export_import_data.rst:421 -msgid "The image file names in the data file must correspond to the uploaded image files." +#: ../../content/applications/essentials/export_import_data.rst:420 +msgid "The :guilabel:`Files to import` section is enabled if the product template has an :guilabel:`Image` column with all fields populated." msgstr "" #: ../../content/applications/essentials/export_import_data.rst:422 -msgid "When importing a large number of images, you can specify the maximum batch size in megabytes and set a delay to prevent the system from becoming overloaded. To do so, :doc:`enable the developer mode <../general/developer_mode>` and fill in the :guilabel:`Max size per batch` and the :guilabel:`Delay after each batch` fields in the :guilabel:`Files to import` section. By default, the delay meets the RPC/API call limit defined in the `Odoo Cloud - Acceptable Use Policy `_." +msgid "The image file names in the data file must correspond to the uploaded image files." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:430 +#: ../../content/applications/essentials/export_import_data.rst:423 +msgid "When importing a large number of images, specify the maximum batch size in megabytes and set a delay to prevent the system from becoming overloaded. To do so, :doc:`enable the developer mode <../general/developer_mode>` and fill in the :guilabel:`Max size per batch` and the :guilabel:`Delay after each batch` fields in the :guilabel:`Files to import` section. By default, the delay meets the RPC/API call limit defined in the `Odoo Cloud - Acceptable Use Policy `_." +msgstr "" + +#: ../../content/applications/essentials/export_import_data.rst:431 msgid "Import records several times" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:432 +#: ../../content/applications/essentials/export_import_data.rst:433 msgid "If an imported file contains one of the columns: :guilabel:`External ID` or :guilabel:`Database ID`, records that have already been imported are modified, instead of being created. This is extremely useful as it allows users to import the same :abbr:`CSV (Comma-separated Values)` file several times, while having made some changes in between two imports." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:437 +#: ../../content/applications/essentials/export_import_data.rst:438 msgid "Odoo takes care of creating or modifying each record, depending if it is new or not." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:439 +#: ../../content/applications/essentials/export_import_data.rst:440 msgid "This feature allows a company to use the *Import/Export tool* in Odoo to modify a batch of records in a spreadsheet application." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:443 +#: ../../content/applications/essentials/export_import_data.rst:444 msgid "Value not provided for a specific field" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:445 -msgid "If all fields are not set in the CSV file, Odoo assigns the default value for every non-defined field. But, if fields are set with empty values in the :abbr:`CSV (Comma-separated Values)` file, Odoo sets the empty value in the field, instead of assigning the default value." +#: ../../content/applications/essentials/export_import_data.rst:446 +msgid "If all fields are not set in the CSV file, Odoo assigns the default value for every non-defined field. However, if fields are set with empty values in the :abbr:`CSV (Comma-separated Values)` file, Odoo sets the empty value in the field, instead of assigning the default value." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:450 +#: ../../content/applications/essentials/export_import_data.rst:451 msgid "Export/import different tables from an SQL application to Odoo" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:452 +#: ../../content/applications/essentials/export_import_data.rst:453 msgid "If data needs to be imported from different tables, relations need to be recreated between records belonging to different tables. For instance, if companies and people are imported, the link between each person and the company they work for needs to be recreated." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:456 +#: ../../content/applications/essentials/export_import_data.rst:457 msgid "To manage relations between tables, use the `External ID` facilities of Odoo. The `External ID` of a record is the unique identifier of this record in another application. The `External ID` must be unique across all records of all objects. It is a good practice to prefix this `External ID` with the name of the application or table. (like, 'company_1', 'person_1' - instead of '1')" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:461 +#: ../../content/applications/essentials/export_import_data.rst:462 msgid "As an example, suppose there is an SQL database with two tables that are to be imported: companies and people. Each person belongs to one company, so the link between a person and the company they work for must be recreated." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:465 +#: ../../content/applications/essentials/export_import_data.rst:466 msgid "Test this example, with a :download:`sample of a PostgreSQL database `." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:468 +#: ../../content/applications/essentials/export_import_data.rst:469 msgid "First, export all companies and their *External ID*. In PSQL, write the following command:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:474 +#: ../../content/applications/essentials/export_import_data.rst:475 msgid "This SQL command creates the following :abbr:`CSV (Comma-separated Values)` file:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:483 +#: ../../content/applications/essentials/export_import_data.rst:484 msgid "To create the :abbr:`CSV (Comma-separated Values)` file for people linked to companies, use the following SQL command in PSQL:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:490 +#: ../../content/applications/essentials/export_import_data.rst:491 msgid "It produces the following :abbr:`CSV (Comma-separated Values)` file:" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:500 +#: ../../content/applications/essentials/export_import_data.rst:501 msgid "In this file, Fabien and Laurence are working for the Bigees company (`company_1`), and Eric is working for the Organi company. The relation between people and companies is done using the *External ID* of the companies. The *External ID* is prefixed by the name of the table to avoid a conflict of ID between people and companies (`person_1` and `company_1`, who shared the same ID 1 in the original database)." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:506 +#: ../../content/applications/essentials/export_import_data.rst:507 msgid "The two files produced are ready to be imported in Odoo without any modifications. After having imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three companies (the first two contacts are linked to the first company). Keep in mind to first import the companies, and then the people." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:514 +#: ../../content/applications/essentials/export_import_data.rst:515 msgid "Update data in Odoo" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:516 +#: ../../content/applications/essentials/export_import_data.rst:517 msgid "Existing data can be updated in bulk through a data import, as long as the :ref:`External ID ` remains consistent." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:520 +#: ../../content/applications/essentials/export_import_data.rst:521 msgid "Prepare data export" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:522 -msgid "To update data through an import, first navigate to the data to be updated, and select the |list| to activate list view. On the far-left side of the list, tick the checkbox for any record to be updated. Then, click |actions|, and select :icon:`fa-upload` :guilabel:`Export` from the drop-down menu." +#: ../../content/applications/essentials/export_import_data.rst:523 +msgid "To update data through an import, first navigate to the data to be updated, and select the :icon:`oi-view-list` :guilabel:`(List)` icon to activate list view. On the far-left side of the list, tick the checkbox for any record to be updated. Then, click :guilabel:`Actions` button, and select :icon:`fa-upload` :guilabel:`Export` from the drop-down menu." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:527 +#: ../../content/applications/essentials/export_import_data.rst:528 msgid "On the resulting :guilabel:`Export Data` pop-up window, tick the checkbox labeled, :guilabel:`I want to update data (import-compatible export)`. This automatically includes the *External ID* in the export. Additionally, it limits the :guilabel:`Fields to export` list to **only** include fields that are able to be imported." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:533 +#: ../../content/applications/essentials/export_import_data.rst:534 msgid "The :guilabel:`External ID` field does **not** appear in the :guilabel:`Fields to export` list unless it is manually added, but it is still included in the export. However, if the :guilabel:`I want to update data (import-compatible export)` checkbox is ticked, it is included in the export." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:537 +#: ../../content/applications/essentials/export_import_data.rst:538 msgid "Select the required fields to be included in the export using the :ref:`options ` on the pop-up window, then click :guilabel:`Export`." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:541 +#: ../../content/applications/essentials/export_import_data.rst:542 msgid "Import updated data" msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:543 +#: ../../content/applications/essentials/export_import_data.rst:544 msgid "After exporting, make any necessary changes to the data file. When the file is ready, it can be :ref:`imported ` by following the same process as a normal data import." msgstr "" -#: ../../content/applications/essentials/export_import_data.rst:548 +#: ../../content/applications/essentials/export_import_data.rst:549 msgid "When updating data, it is extremely important that the *External ID* remain consistent, as this is how the system identifies a record. If an ID is altered, or removed, the system may add a duplicate record, instead of updating the existing one." msgstr "" @@ -2637,11 +2637,12 @@ msgstr "" #: ../../content/applications/essentials/property_fields.rst:44 #: ../../content/applications/essentials/property_fields.rst:50 #: ../../content/applications/essentials/property_fields.rst:53 +#: ../../content/applications/essentials/property_fields.rst:56 msgid "Enter a :guilabel:`Default Value` if desired." msgstr "" #: ../../content/applications/essentials/property_fields.rst:39 -msgid ":guilabel:`Multiline Text`" +msgid ":ref:`Multiline Text `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:40 @@ -2649,7 +2650,7 @@ msgid "Full text on multiple lines" msgstr "" #: ../../content/applications/essentials/property_fields.rst:42 -msgid ":ref:`HTML `" +msgid ":ref:`HTML `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:43 @@ -2685,398 +2686,428 @@ msgid "Decimal numbers (:dfn:`positive, negative, or zero, with a decimal`)" msgstr "" #: ../../content/applications/essentials/property_fields.rst:54 -msgid ":ref:`Date `" +msgid ":ref:`Monetary `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:55 -msgid "Selection of a date on a calendar" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:56 -#: ../../content/applications/essentials/property_fields.rst:59 -#: ../../content/applications/essentials/property_fields.rst:82 -#: ../../content/applications/essentials/property_fields.rst:88 -msgid "Select a :guilabel:`Default Value` if desired." +msgid "Selection of a (cost) currency" msgstr "" #: ../../content/applications/essentials/property_fields.rst:57 -msgid ":ref:`Date & Time `" +msgid ":ref:`Date `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:58 -msgid "Selection of a date on a calendar and a time on a clock" +msgid "Selection of a date on a calendar" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:59 +#: ../../content/applications/essentials/property_fields.rst:62 +#: ../../content/applications/essentials/property_fields.rst:85 +#: ../../content/applications/essentials/property_fields.rst:91 +msgid "Select a :guilabel:`Default Value` if desired." msgstr "" #: ../../content/applications/essentials/property_fields.rst:60 -msgid ":ref:`Selection `" +msgid ":ref:`Date & Time `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:61 +msgid "Selection of a date on a calendar and a time on a clock" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:63 +msgid ":ref:`Selection `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:64 msgid "Selection of a value from a group of predefined values" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:62 +#: ../../content/applications/essentials/property_fields.rst:65 msgid "Add a selectable option by clicking :icon:`fa-plus` :guilabel:`Add a Value` and entering the :guilabel:`Option Name`." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:65 +#: ../../content/applications/essentials/property_fields.rst:68 msgid "If desired, set an option as default by clicking the :icon:`fa-star-o` (:guilabel:`Select Default`) button." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:68 +#: ../../content/applications/essentials/property_fields.rst:71 msgid "Reorder the options by dragging and dropping them using the :icon:`oi-draggable` (:guilabel:`drag handle`) button." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:71 +#: ../../content/applications/essentials/property_fields.rst:74 msgid "Delete an option by clicking the :icon:`fa-trash-o` (:guilabel:`Remove Property`) button." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:72 +#: ../../content/applications/essentials/property_fields.rst:75 msgid ":ref:`Tags `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:73 +#: ../../content/applications/essentials/property_fields.rst:76 msgid "Selection of multiple values in the form of tags" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:74 +#: ../../content/applications/essentials/property_fields.rst:77 msgid "Enter a :guilabel:`Tag` name and press `Enter` to save it." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:76 +#: ../../content/applications/essentials/property_fields.rst:79 msgid "Change a tag's color by clicking it and selecting another one." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:77 +#: ../../content/applications/essentials/property_fields.rst:80 msgid ":ref:`Many2one `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:78 +#: ../../content/applications/essentials/property_fields.rst:81 msgid "Selection of a single record from another model" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:79 -#: ../../content/applications/essentials/property_fields.rst:85 +#: ../../content/applications/essentials/property_fields.rst:82 +#: ../../content/applications/essentials/property_fields.rst:88 msgid "Enter the :guilabel:`Model` name. Configure its :ref:`Domain ` to filter records if needed." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:83 +#: ../../content/applications/essentials/property_fields.rst:86 msgid ":ref:`Many2many `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:84 +#: ../../content/applications/essentials/property_fields.rst:87 msgid "Selection of multiple records from another model" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:89 +#: ../../content/applications/essentials/property_fields.rst:92 msgid ":guilabel:`Separator`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:90 +#: ../../content/applications/essentials/property_fields.rst:93 msgid "Group several properties under a foldable label" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:93 -msgid "Click outside the popover to save the added property." +#: ../../content/applications/essentials/property_fields.rst:97 +msgid "Enter a :guilabel:`Suffix` to add a contextual description after a field's value. For example, to indicate the cost per kilometer, use the :guilabel:`Monetary` field and name it **Cost**, then enter **per km** as the :guilabel:`Suffix` field. The property then displays the following: **Cost** [added value] **per km**." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:96 -msgid "Select whether to display the property in the Kanban, List, or Calendar views cards for every field with the :guilabel:`Display in Cards` option." +#: ../../content/applications/essentials/property_fields.rst:101 +msgid "Enable :guilabel:`Display in Cards` to select whether to display the property in the Kanban, List, or Calendar views' cards for every field." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:98 -msgid "To add another property, click :icon:`fa-plus` :guilabel:`Add a Property` at the bottom of the form while." +#: ../../content/applications/essentials/property_fields.rst:103 +msgid "Enable :guilabel:`AI` to add :ref:`AI fields ` to the property. Write a :guilabel:`Prompt` and/or type `/field` to insert dynamic values." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:102 -msgid "To edit an existing property, hover the cursor over the property:" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:104 -msgid "Click the :icon:`fa-pencil` (:guilabel:`pencil`) button to open a popover and modify the property. In the popover, click the :icon:`fa-chevron-up` (up) or :icon:`fa-chevron-down` (down) chevron to move a property upwards or downwards." -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:107 -msgid "Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to delete it. Deleting a property is permanent." +#: ../../content/applications/essentials/property_fields.rst:105 +msgid "To add another property, click :icon:`fa-plus` :guilabel:`Add a Property` at the bottom of the form." msgstr "" #: ../../content/applications/essentials/property_fields.rst:109 -msgid "Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to reorder or regroup." +msgid "To edit an existing property, hover the cursor over the property:" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:111 +msgid "Click the :icon:`fa-pencil` (:guilabel:`pencil`) button to open a popover and modify the property. In the popover, click the :icon:`fa-chevron-up` (up) or :icon:`fa-chevron-down` (down) chevron to move a property upwards or downwards." +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:114 +msgid "Click :icon:`fa-trash` :guilabel:`Delete`, then :guilabel:`Delete` to permanently remove it." msgstr "" #: ../../content/applications/essentials/property_fields.rst:115 +msgid "Use the :icon:`oi-draggable` (:guilabel:`drag handle`) icon to drag and drop the property to reorder or regroup." +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:118 +msgid "Click outside the popover to save the added property." +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:123 msgid "Properties across apps" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:117 +#: ../../content/applications/essentials/property_fields.rst:125 msgid "Property fields can be defined in the :ref:`form view ` of multiple models. Once set, the property is shared by all records that are linked to the same *parent*." msgstr "" -#: ../../content/applications/essentials/property_fields.rst:125 +#: ../../content/applications/essentials/property_fields.rst:133 msgid "App" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:126 +#: ../../content/applications/essentials/property_fields.rst:134 msgid "Model" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:127 +#: ../../content/applications/essentials/property_fields.rst:135 msgid "Parent" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:128 +#: ../../content/applications/essentials/property_fields.rst:136 msgid ":guilabel:`Accounting`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:129 +#: ../../content/applications/essentials/property_fields.rst:137 msgid ":ref:`Asset/Revenue Recognition `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:131 +#: ../../content/applications/essentials/property_fields.rst:139 msgid ":doc:`Loan `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:132 +#: ../../content/applications/essentials/property_fields.rst:140 msgid ":ref:`Asset model `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:134 +#: ../../content/applications/essentials/property_fields.rst:142 msgid ":ref:`Journal `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:135 +#: ../../content/applications/essentials/property_fields.rst:143 msgid ":guilabel:`Appraisals`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:136 +#: ../../content/applications/essentials/property_fields.rst:144 msgid ":ref:`Employee Appraisal `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:137 +#: ../../content/applications/essentials/property_fields.rst:145 msgid ":ref:`Department `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:138 +#: ../../content/applications/essentials/property_fields.rst:146 msgid ":guilabel:`Approvals`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:139 +#: ../../content/applications/essentials/property_fields.rst:147 msgid "Approval Request" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:140 -#: ../../content/applications/essentials/property_fields.rst:202 +#: ../../content/applications/essentials/property_fields.rst:148 +#: ../../content/applications/essentials/property_fields.rst:217 msgid "Category" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:141 +#: ../../content/applications/essentials/property_fields.rst:149 msgid ":guilabel:`CRM`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:142 +#: ../../content/applications/essentials/property_fields.rst:150 msgid ":doc:`Lead/Opportunity `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:143 +#: ../../content/applications/essentials/property_fields.rst:151 msgid ":ref:`Sales team `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:144 +#: ../../content/applications/essentials/property_fields.rst:152 msgid ":guilabel:`Employees`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:145 +#: ../../content/applications/essentials/property_fields.rst:153 +#: ../../content/applications/essentials/property_fields.rst:189 msgid ":ref:`Employee `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:146 +#: ../../content/applications/essentials/property_fields.rst:154 +#: ../../content/applications/essentials/property_fields.rst:192 msgid ":ref:`Company `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:147 +#: ../../content/applications/essentials/property_fields.rst:155 msgid ":guilabel:`Events`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:148 +#: ../../content/applications/essentials/property_fields.rst:156 msgid ":doc:`Event Registration `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:149 +#: ../../content/applications/essentials/property_fields.rst:157 msgid ":ref:`Event `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:150 +#: ../../content/applications/essentials/property_fields.rst:158 msgid ":guilabel:`Fleet`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:151 +#: ../../content/applications/essentials/property_fields.rst:159 msgid ":doc:`Vehicle `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:152 +#: ../../content/applications/essentials/property_fields.rst:160 msgid ":ref:`Vehicle model `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:153 +#: ../../content/applications/essentials/property_fields.rst:161 msgid ":guilabel:`Frontdesk`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:154 +#: ../../content/applications/essentials/property_fields.rst:162 msgid ":ref:`Frontdesk Visitors `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:155 +#: ../../content/applications/essentials/property_fields.rst:163 msgid ":ref:`Station `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:156 +#: ../../content/applications/essentials/property_fields.rst:164 msgid ":guilabel:`Helpdesk`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:157 +#: ../../content/applications/essentials/property_fields.rst:165 msgid ":ref:`Ticket `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:158 +#: ../../content/applications/essentials/property_fields.rst:166 msgid ":ref:`Helpdesk team `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:159 +#: ../../content/applications/essentials/property_fields.rst:167 msgid ":guilabel:`Inventory`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:160 +#: ../../content/applications/essentials/property_fields.rst:168 msgid ":ref:`Lot/Serial `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:162 +#: ../../content/applications/essentials/property_fields.rst:170 msgid ":doc:`Transfer `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:165 +#: ../../content/applications/essentials/property_fields.rst:173 msgid ":ref:`Batch Transfer `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:166 +#: ../../content/applications/essentials/property_fields.rst:174 msgid ":ref:`Product variant `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:168 -#: ../../content/applications/essentials/property_fields.rst:170 +#: ../../content/applications/essentials/property_fields.rst:176 +#: ../../content/applications/essentials/property_fields.rst:178 msgid ":ref:`Operation type `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:171 +#: ../../content/applications/essentials/property_fields.rst:179 msgid ":guilabel:`Knowledge`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:172 +#: ../../content/applications/essentials/property_fields.rst:180 msgid ":ref:`Knowledge Article `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:173 +#: ../../content/applications/essentials/property_fields.rst:181 msgid ":ref:`Parent article `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:174 +#: ../../content/applications/essentials/property_fields.rst:182 msgid ":guilabel:`Maintenance`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:175 +#: ../../content/applications/essentials/property_fields.rst:183 msgid ":ref:`Maintenance Equipment `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:176 +#: ../../content/applications/essentials/property_fields.rst:184 msgid ":ref:`Equipment category `" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:177 +#: ../../content/applications/essentials/property_fields.rst:185 msgid ":guilabel:`Meeting Rooms`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:178 +#: ../../content/applications/essentials/property_fields.rst:186 msgid "Room" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:179 +#: ../../content/applications/essentials/property_fields.rst:187 msgid "Office" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:180 -msgid ":guilabel:`Planning`" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:181 -msgid ":ref:`Shift `" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:182 -msgid ":ref:`Role `" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:183 -msgid ":guilabel:`Project` / :guilabel:`Field Service`" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:184 -msgid ":ref:`Task `" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:185 -msgid ":ref:`Project `" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:186 -msgid ":guilabel:`Recruitment`" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:187 -msgid ":ref:`Applicant `" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:189 -msgid ":ref:`Job Position `" +#: ../../content/applications/essentials/property_fields.rst:188 +msgid ":guilabel:`Payroll`" msgstr "" #: ../../content/applications/essentials/property_fields.rst:191 -msgid "Candidate" -msgstr "" - -#: ../../content/applications/essentials/property_fields.rst:192 -msgid ":ref:`Job position `" +msgid ":ref:`Payslip `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:194 +msgid ":ref:`Structure `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:195 +msgid ":guilabel:`Planning`" +msgstr "" + #: ../../content/applications/essentials/property_fields.rst:196 -#: ../../content/applications/essentials/property_fields.rst:199 -msgid ":ref:`Company `" +msgid ":ref:`Shift `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:197 -msgid ":guilabel:`Repairs`" +msgid ":ref:`Role `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:198 -msgid ":ref:`Repair order `" +msgid ":guilabel:`Project` / :guilabel:`Field Service`" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:199 +msgid ":ref:`Task `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:200 -msgid ":guilabel:`Sales` / etc." +msgid ":ref:`Project `" msgstr "" #: ../../content/applications/essentials/property_fields.rst:201 -msgid "Product" +msgid ":guilabel:`Recruitment`" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:205 -msgid "The following models do not depend on any *parent* and apply to all records:" +#: ../../content/applications/essentials/property_fields.rst:202 +msgid ":ref:`Applicant `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:204 +msgid ":ref:`Job Position `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:206 +msgid "Candidate" msgstr "" #: ../../content/applications/essentials/property_fields.rst:207 +msgid ":ref:`Job position `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:209 +#: ../../content/applications/essentials/property_fields.rst:211 +#: ../../content/applications/essentials/property_fields.rst:214 +msgid ":ref:`Company `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:212 +msgid ":guilabel:`Repairs`" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:213 +msgid ":ref:`Repair order `" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:215 +msgid ":guilabel:`Sales` / etc." +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:216 +msgid "Product" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:220 +msgid "The following models do not depend on any *parent* and apply to all records:" +msgstr "" + +#: ../../content/applications/essentials/property_fields.rst:222 msgid ":doc:`Contact Form <../../../applications/essentials/contacts>` in the :guilabel:`Contacts` app" msgstr "" -#: ../../content/applications/essentials/property_fields.rst:208 +#: ../../content/applications/essentials/property_fields.rst:223 msgid ":ref:`Mailing List Contacts ` in the :guilabel:`Email Marketing` app" msgstr "" @@ -3671,22 +3702,54 @@ msgid "View of a stage's settings page in Odoo Helpdesk." msgstr "" #: ../../content/applications/essentials/stages.rst:44 -msgid "Progress bar" +msgid "Rotting lead detection" msgstr "" -#: ../../content/applications/essentials/stages.rst:46 -msgid "The progress bar is visible above each stage, displaying the percentage breakdown of every status type for all the cards within that stage. Each status type has an assigned color that appears within the bar." +#: ../../content/applications/essentials/stages.rst:47 +msgid "The *Days to rot* feature is only available to apps that use stages, for instance, **CRM** and **Heldesk** apps. This feature is automatically disabled by setting it to zero." msgstr "" #: ../../content/applications/essentials/stages.rst:50 -msgid "The specific definition of these statuses changes depending on the app. For example, in the **Helpdesk** app, the progress bar for a stage consists of the :guilabel:`In progress`, :guilabel:`Ready`, and :guilabel:`Blocked` statuses by default." +msgid "The *Days to rot* feature provides proactive notification when a specific card within that stage requires attention. When a card passes the defined rotting threshold, it becomes highlighted in red and the stage displays the total number of cards currently rotting." msgstr "" -#: ../../content/applications/essentials/stages.rst:54 -msgid "To see a detailed count, hover over a representative color, which activates a notification detailing the number of cards in the stage of that specific status." +#: ../../content/applications/essentials/stages.rst:-1 +msgid "Sample of a rotting card and stage in CRM app." msgstr "" #: ../../content/applications/essentials/stages.rst:57 +msgid "To enable this feature, the Kanban view must be active. Navigate to the desired app and click on the :icon:`oi-view-kanban` :guilabel:`(Kanban)` icon." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:60 +msgid "To set the threshold for a stage, click on the :icon:`fa-gear` :guilabel:`(Settings)` icon for the relevant stage and select :guilabel:`Edit` from the drop-down menu. A configuration window will appear." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:64 +msgid "In the :guilabel:`Days to rot` field, enter the number of days that marks the threshold before action is needed. Click :guilabel:`Save` to apply the configuration." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:-1 +msgid "Sample of a configuration window with a rotting threshold in the CRM app." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:71 +msgid "Progress bar" +msgstr "" + +#: ../../content/applications/essentials/stages.rst:73 +msgid "The progress bar is visible above each stage, displaying the percentage breakdown of every status type for all the cards within that stage. Each status type has an assigned color that appears within the bar." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:77 +msgid "The specific definition of these statuses changes depending on the app. For example, in the **Helpdesk** app, the progress bar for a stage consists of the :guilabel:`In progress`, :guilabel:`Ready`, and :guilabel:`Blocked` statuses by default." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:81 +msgid "To see a detailed count, hover over a representative color, which activates a notification detailing the number of cards in the stage of that specific status." +msgstr "" + +#: ../../content/applications/essentials/stages.rst:84 msgid "Clicking a status color filters the stage to show only cards with that status. The card count for the selected status appears next to the progress bar." msgstr "" @@ -3694,27 +3757,27 @@ msgstr "" msgid "View of a stage's progress highlighting the activities that are due today." msgstr "" -#: ../../content/applications/essentials/stages.rst:64 +#: ../../content/applications/essentials/stages.rst:91 msgid "Add email and SMS templates to stages" msgstr "" -#: ../../content/applications/essentials/stages.rst:66 +#: ../../content/applications/essentials/stages.rst:93 msgid "When an :guilabel:`Email Template` is added to a stage, a preconfigured email is automatically sent to the customer when a ticket reaches that specific stage in the pipeline. Likewise, adding an :guilabel:`SMS Template` triggers a preconfigured SMS text message to send to the customer." msgstr "" -#: ../../content/applications/essentials/stages.rst:71 +#: ../../content/applications/essentials/stages.rst:98 msgid "SMS text messaging is an :doc:`In-App Purchase (IAP) ` service that requires prepaid credits to work. Refer to `SMS Pricing FAQ `_ for additional information." msgstr "" -#: ../../content/applications/essentials/stages.rst:75 +#: ../../content/applications/essentials/stages.rst:102 msgid "To select an existing email template, select it from the :guilabel:`Email Template` field. After choosing a template, click on the :icon:`oi-arrow-right` :guilabel:`(right arrow)` icon to the right of the field to edit the chosen template." msgstr "" -#: ../../content/applications/essentials/stages.rst:79 +#: ../../content/applications/essentials/stages.rst:106 msgid "To create a new template from this form, click the field, and enter a title for the new template. Then, select :guilabel:`Create and edit` from the drop-down menu that appears, and complete the form details." msgstr "" -#: ../../content/applications/essentials/stages.rst:83 +#: ../../content/applications/essentials/stages.rst:110 msgid "Follow the same steps to select, edit, or create an :guilabel:`SMS Template`." msgstr "" @@ -3722,51 +3785,51 @@ msgstr "" msgid "View of an SMS template setup page in Odoo Helpdesk." msgstr "" -#: ../../content/applications/essentials/stages.rst:89 +#: ../../content/applications/essentials/stages.rst:116 msgid ":doc:`/applications/general/companies/email_template`" msgstr "" -#: ../../content/applications/essentials/stages.rst:92 +#: ../../content/applications/essentials/stages.rst:119 msgid "Fold a stage" msgstr "" -#: ../../content/applications/essentials/stages.rst:94 +#: ../../content/applications/essentials/stages.rst:121 msgid "By default, stages are unfolded in the Kanban view. If there is a Won or Closed stage, it is folded by default." msgstr "" -#: ../../content/applications/essentials/stages.rst:97 +#: ../../content/applications/essentials/stages.rst:124 msgid "Cards in an unfolded stage are visible in the pipeline under the stage name, and are considered *open*." msgstr "" -#: ../../content/applications/essentials/stages.rst:100 +#: ../../content/applications/essentials/stages.rst:127 msgid "Stages can be configured to be folded in the Kanban view of the pipeline page." msgstr "" -#: ../../content/applications/essentials/stages.rst:102 +#: ../../content/applications/essentials/stages.rst:129 msgid "The name of the folded stages are still visible, but the cards in the stage are hidden from view." msgstr "" -#: ../../content/applications/essentials/stages.rst:104 +#: ../../content/applications/essentials/stages.rst:131 msgid "To fold a stage, tick the :guilabel:`Folded in Kanban` checkbox on the :guilabel:`Stages` form." msgstr "" -#: ../../content/applications/essentials/stages.rst:107 +#: ../../content/applications/essentials/stages.rst:134 msgid "Cards that reach a *folded* stage are considered *closed*. Closing a card before the work is completed can result in reporting and communication issues. This setting should **only** be enabled for stages that are considered *closing* stages." msgstr "" -#: ../../content/applications/essentials/stages.rst:112 +#: ../../content/applications/essentials/stages.rst:139 msgid "Temporarily fold a stage" msgstr "" -#: ../../content/applications/essentials/stages.rst:114 +#: ../../content/applications/essentials/stages.rst:141 msgid "Stages can be temporarily folded in the Kanban view of the pipeline, as well." msgstr "" -#: ../../content/applications/essentials/stages.rst:116 +#: ../../content/applications/essentials/stages.rst:143 msgid "View a specific team's pipeline by navigating to the desired app, and clicking the team's Kanban card." msgstr "" -#: ../../content/applications/essentials/stages.rst:119 +#: ../../content/applications/essentials/stages.rst:146 msgid "Hover the cursor at the top of the desired stage to fold temporarily, then click the :icon:`fa-gear` :guilabel:`(gear)` icon that appears, and select :guilabel:`Fold` from the drop-down menu." msgstr "" @@ -3774,14 +3837,14 @@ msgstr "" msgid "Kanban view of a Helpdesk stage, with the temporary fold option emphasized." msgstr "" -#: ../../content/applications/essentials/stages.rst:126 +#: ../../content/applications/essentials/stages.rst:153 msgid "Manually folding a stage from the Kanban view is temporary and does **not** close the cards in the stage." msgstr "" -#: ../../content/applications/essentials/stages.rst:130 +#: ../../content/applications/essentials/stages.rst:157 msgid "Assign stages to a team" msgstr "" -#: ../../content/applications/essentials/stages.rst:132 +#: ../../content/applications/essentials/stages.rst:159 msgid "Make a selection in the :guilabel:`Teams` field on the :guilabel:`Stages` form. More than one team may be selected, since the same stage can be assigned to multiple teams." msgstr "" diff --git a/locale/sources/finance.pot b/locale/sources/finance.pot index 016007920..c56f157ec 100644 --- a/locale/sources/finance.pot +++ b/locale/sources/finance.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -542,7 +542,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:8 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:252 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:443 -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:601 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:613 #: ../../content/applications/finance/fiscal_localizations/brazil.rst:212 #: ../../content/applications/finance/fiscal_localizations/brazil.rst:473 #: ../../content/applications/finance/fiscal_localizations/brazil.rst:666 @@ -560,7 +560,6 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/italy.rst:719 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:104 #: ../../content/applications/finance/fiscal_localizations/kenya.rst:8 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:6 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:10 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:856 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1267 @@ -584,13 +583,10 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:46 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:61 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:240 -#: ../../content/applications/finance/payment_providers/adyen.rst:17 #: ../../content/applications/finance/payment_providers/authorize.rst:9 #: ../../content/applications/finance/payment_providers/authorize.rst:62 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:79 #: ../../content/applications/finance/payment_providers/demo.rst:9 -#: ../../content/applications/finance/payment_providers/mollie.rst:8 -#: ../../content/applications/finance/payment_providers/sdd.rst:27 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:27 msgid "Configuration" msgstr "" @@ -2144,6 +2140,7 @@ msgid ":ref:`accounting/invoice/confirmation`" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:20 +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:52 msgid ":ref:`accounting/invoice/sending`" msgstr "" @@ -2267,7 +2264,9 @@ msgid "To send the invoice to the customer, navigate back to the invoice record msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:111 -msgid "Click :guilabel:`Print & Send`." +#: ../../content/applications/finance/fiscal_localizations/france.rst:148 +#: ../../content/applications/finance/fiscal_localizations/jordan.rst:180 +msgid "Click :guilabel:`Send`." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:112 @@ -2283,7 +2282,7 @@ msgid "To add a QR code for banking app payments to the invoice, enable the :gui msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:123 -msgid "In the :guilabel:`Print & Send` window:" +msgid "In the :guilabel:`Send` window:" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:125 @@ -2295,7 +2294,7 @@ msgid "If no preferred :guilabel:`Invoice sending` method was set in the contact msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:130 -msgid "Click :guilabel:`Print & Send` if the :guilabel:`by Email` option is selected, or click :guilabel:`Print`." +msgid "Click :guilabel:`Send` if the :guilabel:`by Email` option is selected, or click :guilabel:`Download`." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:136 @@ -2303,7 +2302,7 @@ msgid "Sending multiple invoices" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:138 -msgid "To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`, select them in the :guilabel:`Invoices` list view and click :guilabel:`Print & Send`. The :guilabel:`Print & Send` window displays the selected invoice sending methods based on the preferred method set." +msgid "To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`, select them in the :guilabel:`Invoices` list view and click :guilabel:`Send`. The :guilabel:`Send` window displays the selected invoice sending methods based on the preferred method set." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:143 @@ -3258,7 +3257,7 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst:210 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:135 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:130 -#: ../../content/applications/finance/payment_providers/iyzico.rst:19 +#: ../../content/applications/finance/payment_providers/iyzico.rst:20 msgid "Click :guilabel:`Save`." msgstr "" @@ -5497,6 +5496,7 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/sequence.rst:51 #: ../../content/applications/finance/accounting/get_started/consolidation.rst:104 #: ../../content/applications/finance/accounting/vendor_bills/sequence.rst:52 +#: ../../content/applications/finance/payment_providers.rst:306 msgid "Activate the :ref:`developer mode `." msgstr "" @@ -5584,62 +5584,70 @@ msgid "Sending direct mail can be an effective strategy for grabbing people's at msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:14 -msgid "Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer invoices` section to activate :guilabel:`Snailmail`." +msgid "Go to :menuselection:`Accounting --> Configuration --> Settings` and scroll down to the :guilabel:`Customer Invoices` section to activate :guilabel:`Snailmail`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:17 -msgid "To make it a by-default feature, select :guilabel:`Send by Post` in the :guilabel:`Default Sending Options` section." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:18 +msgid "Set a preferred :ref:`invoice sending ` method in the :guilabel:`Accounting` tab of a contact to use it by default." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:-1 -msgid "Under settings enable the snailmail feature in Odoo Accounting" +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:22 +msgid "Sending invoices by post" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:25 -msgid "Send invoices by post" +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:24 +msgid "In the invoice form view, ensure the :guilabel:`Customer` address is correct and has the country set. Click :guilabel:`Send`, select :guilabel:`by Post`, then :guilabel:`Send` the letter." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:27 -msgid "Open your invoice, click on :guilabel:`Send & Print` and select :guilabel:`Send by Post`. Make sure your customer’s address is set correctly, including the country, before sending the letter." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:28 +msgid "Documents sent via snailmail must respect the following rules:" +msgstr "" + +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:30 +msgid "The paper format must be **A4**." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:31 -msgid "Your document must respect the following rules to pass the validation before being sent:" +msgid "Margins must be at least **5 mm** on all sides. To configure margins, activate the :ref:`developer mode ` and go to :menuselection:`Settings --> Technical --> Paper Format`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:33 -msgid "Margins must be **5 mm** on all sides. As Odoo forces the outer margins by filling them with white before sending the snailmail, it can results in the user's custom being cut off if it protrudes into the margins. To check the margins, activate the :ref:`developer mode `, go to :menuselection:`General Settings --> Technical --> Reporting section: Paper Format`." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:34 +msgid "A square of **15mm by 15mm** on the bottom left corner must remain clear." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:38 -msgid "A square of **15mm by 15mm** on the bottom left corner has to stay clear." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:35 +msgid "Odoo fills these areas with white before sending the letter; any overflowing content will be cut." +msgstr "" + +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:37 +msgid "The **postage area** must remain clear (download the :download:`snailmail PDF template ` for details)." msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:39 -msgid "The postage area has to stay clear (:download:`download the snailmail PDF template ` for more details)." +msgid "Pingen (Odoo's snailmail service provider) scans the **address area** to obtain the address. Any text outside the address area is not considered part of the address." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:41 -msgid "Pingen (Odoo Snailmail service provider) scans the area to process the address, so if something gets written outside the area, it is not counted as part of the address." -msgstr "" - -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:45 +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:43 #: ../../content/applications/finance/accounting/vendor_bills/invoice_digitization.rst:199 msgid "Pricing" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:47 -msgid "Snailmail is an :doc:`/applications/essentials/in_app_purchase` service that requires prepaid stamps (=credits) to work. Sending one document consumes one stamp." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:45 +msgid "Snailmail is an :doc:`/applications/essentials/in_app_purchase` service that requires prepaid stamps (credits) to work. Sending one document consumes one stamp." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:50 -msgid "To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer invoices: Snailmail`, click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> In-App Purchases: Odoo IAP`, and click on :guilabel:`View my Services`." +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:48 +msgid "To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings`, scroll down to the :guilabel:`Snailmail` section, and click :guilabel:`Buy credits`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:55 +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:53 msgid "`Odoo's IAP Privacy Policy `_" msgstr "" +#: ../../content/applications/finance/accounting/customer_invoices/snailmail.rst:54 +msgid "`Pingen's layout requirements `_" +msgstr "" + #: ../../content/applications/finance/accounting/customer_invoices/terms_conditions.rst:3 msgid "Default terms and conditions (T&C)" msgstr "" @@ -5796,6 +5804,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:131 #: ../../content/applications/finance/fiscal_localizations/guatemala.rst:206 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:60 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:57 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:208 #: ../../content/applications/finance/fiscal_localizations/peru.rst:128 #: ../../content/applications/finance/fiscal_localizations/peru.rst:300 @@ -6775,7 +6784,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:18 #: ../../content/applications/finance/fiscal_localizations/italy.rst:19 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:18 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:16 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:17 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:25 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:29 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:62 @@ -7010,31 +7019,31 @@ msgstr "" msgid "In the :guilabel:`View` menu of an account, select a **default tax** to be applied when this account is chosen for a product sale or purchase." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:119 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:121 msgid "Tags" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:121 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:123 msgid "Some accounting reports require **tags** to be set on the relevant accounts. To add a tag, under :guilabel:`View`, click the :guilabel:`Tags` field and select an existing tag or :guilabel:`Create` a new one." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:126 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:128 msgid "Account groups" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:128 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:130 msgid "**Account groups** are useful to list multiple accounts as *sub-accounts* of a bigger account and thus consolidate reports such as the **Trial Balance**. By default, groups are handled automatically based on the code of the group. For example, a new account `131200` is going to be part of the group `131000`. You can attribute a specific group to an account in the :guilabel:`Group` field under :guilabel:`View`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:135 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:137 msgid "Create account groups manually" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:138 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:140 msgid "Regular users should not need to create account groups manually. The following section is only intended for rare and advanced use cases." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:141 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:143 msgid "To create a new account group, activate :ref:`developer mode ` and head to :menuselection:`Accounting --> Configuration --> Account Groups`. Here, create a new group and enter the :guilabel:`name, code prefix, and company` to which that group account should be available. Note that you must enter the same code prefix in both :guilabel:`From` and :guilabel:`to` fields." msgstr "" @@ -7042,7 +7051,7 @@ msgstr "" msgid "Account groups creation." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:149 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:151 msgid "To display your **Trial Balance** report with your account groups, go to :menuselection:`Accounting --> Reporting --> Trial Balance`, then open the :guilabel:`Options` menu and select :guilabel:`Hierarchy and Subtotals`." msgstr "" @@ -7050,62 +7059,62 @@ msgstr "" msgid "Account Groups in the Trial Balance in Odoo Accounting" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:157 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:159 msgid "Allow reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:159 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:161 msgid "To keep the reconciliation process simple, when reconciling a bank, cash, or credit card transaction with an existing journal item, only journal items that debit or credit accounts with the :guilabel:`Allow reconciliation` option enabled are displayed as possible matches." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:163 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:165 msgid "To enable this option on an account, tick the :guilabel:`Allow Reconciliation` checkbox in the account's settings, and :guilabel:`Save`; or enable the button from the chart of accounts view." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:169 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:171 msgid "Shared Accounts" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:171 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:173 msgid "The **Shared Accounts** feature allows the creation of a single account for a specific purpose and sharing it between multiple companies. It is especially useful for multi-company environments where a similar account might be used across different companies." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:176 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:178 msgid "Deprecated" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:178 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:180 msgid "It is not possible to delete an account once a transaction has been recorded on it. You can make them unusable by using the **Deprecated** feature: check the :guilabel:`Deprecated` box in the account's settings, and :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:183 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:185 msgid ":doc:`cheat_sheet`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:184 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:186 msgid ":doc:`../vendor_bills/assets`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:185 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:187 msgid ":doc:`../vendor_bills/deferred_expenses`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:186 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:188 msgid ":doc:`../customer_invoices/deferred_revenues`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:187 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:189 #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:17 #: ../../content/applications/finance/accounting/taxes/avatax.rst:126 #: ../../content/applications/finance/accounting/taxes/eu_distance_selling.rst:38 msgid ":doc:`../../fiscal_localizations`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:188 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:190 msgid "`Odoo Tutorials: Chart of accounts `_" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:189 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:191 msgid "`Odoo Tutorials: Update your chart of accounts `_" msgstr "" @@ -8231,7 +8240,7 @@ msgid "`Odoo Tutorials: Bank Configuration `." +msgid "|sdd| mandates are created automatically for :ref:`online payments made with SDD `." msgstr "" #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:87 -msgid "Once an |sdd| mandate is active, subsequent |sdd| payments can be generated via Odoo and :ref:`uploaded to your online banking interface `. Customers with an active |sdd| mandate can also use this payment method for :doc:`online purchases <../../payment_providers/sdd>`." +msgid "Once an |sdd| mandate is active, subsequent |sdd| payments can be generated via Odoo and :ref:`uploaded to your online banking interface `. Customers with an active |sdd| mandate can also use this payment method for :ref:`online purchases `." msgstr "" #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:95 @@ -8827,7 +8836,7 @@ msgid ":doc:`batch`" msgstr "" #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:142 -msgid ":doc:`SEPA Direct Debit for online payments <../../payment_providers/sdd>`" +msgid ":ref:`SEPA Direct Debit for online payments `" msgstr "" #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:143 @@ -9170,7 +9179,7 @@ msgid "Make sure your :doc:`payment providers are correctly configured <../../pa msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:22 -msgid "By default, \":doc:`Wire Transfer `\" is the only payment provider activated, but you still have to fill out the payment details." +msgid "By default, :ref:`Wire Transfer ` is the only payment provider activated, but you still have to fill out the payment details." msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:25 @@ -12605,7 +12614,11 @@ msgid "Copy this key to a safe place. It is strongly encouraged to back up the l msgstr "" #: ../../content/applications/finance/accounting/taxes/avatax.rst:109 +#: ../../content/applications/finance/payment_providers/adyen.rst:53 +#: ../../content/applications/finance/payment_providers/iyzico.rst:25 +#: ../../content/applications/finance/payment_providers/mollie.rst:23 #: ../../content/applications/finance/payment_providers/razorpay.rst:68 +#: ../../content/applications/finance/payment_providers/stripe.rst:75 msgid "Odoo configuration" msgstr "" @@ -12679,7 +12692,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:16 #: ../../content/applications/finance/fiscal_localizations/italy.rst:17 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:16 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:14 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:15 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:23 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:27 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:60 @@ -12713,7 +12726,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:17 #: ../../content/applications/finance/fiscal_localizations/italy.rst:18 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:17 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:15 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:16 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:24 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:28 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:61 @@ -15526,7 +15539,7 @@ msgid "Expense cards act like pre-paid debit cards, as they can **only** be used msgstr "" #: ../../content/applications/finance/expenses/expense_cards.rst:29 -#: ../../content/applications/finance/payment_providers.rst:404 +#: ../../content/applications/finance/payment_providers.rst:423 msgid "Availability" msgstr "" @@ -17445,7 +17458,7 @@ msgid "Below you can find videos with a general description of the localization, msgstr "" #: ../../content/applications/finance/fiscal_localizations/argentina.rst:10 -msgid "`Webinar - Localización de Argentina `_." +msgid "`Webinar - Localización de Argentina `_." msgstr "" #: ../../content/applications/finance/fiscal_localizations/argentina.rst:11 @@ -19003,6 +19016,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/france.rst:8 #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:8 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:8 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:8 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:19 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:8 #: ../../content/applications/finance/fiscal_localizations/peru.rst:13 @@ -19567,6 +19581,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/australia.rst:370 #: ../../content/applications/finance/fiscal_localizations/indonesia.rst:99 #: ../../content/applications/finance/fiscal_localizations/italy.rst:154 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:72 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:186 msgid "E-invoicing" msgstr "" @@ -20248,7 +20263,7 @@ msgid ":doc:`Taxes <../accounting/taxes>`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:84 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:54 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:249 msgid ":doc:`../accounting/reporting/tax_returns`" msgstr "" @@ -20702,163 +20717,175 @@ msgstr "" msgid "To manually check for new CODA files, go to the Accounting Dashboard and click :guilabel:`Fetch from Codaclean` on the relevant :ref:`journal ` ." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:502 -#: ../../content/applications/finance/fiscal_localizations/malaysia.rst:148 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:362 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:425 -msgid "Electronic invoicing" +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:504 +msgid "Electronic invoicing with Peppol" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:504 -msgid "Odoo supports the **Peppol BIS Billing 3.0 (UBL)** electronic invoicing format. To enable it for a customer, go to :menuselection:`Accounting --> Customers --> Customers`, open their contact form, and under the :guilabel:`Accounting` tab, select the :guilabel:`Peppol BIS Billing 3.0` format." +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:506 +msgid "As of 1 January 2026, all Belgian companies must be registered on the Peppol network to send and receive electronic invoices." msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:509 -#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:302 -msgid ":doc:`../accounting/customer_invoices/electronic_invoicing`" +msgid "To activate Peppol, refer to the :ref:`Peppol documentation `, ensuring during :ref:`registration ` that:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:512 +msgid "The :guilabel:`Peppol EAS` field is set to :guilabel:`0208 - Numero d'entreprise / ondernemingsnummer / Unternehmensnummer`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:514 +msgid "the :guilabel:`Peppol Endpoint` field is set to the company registry number." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:516 +msgid "In addition, when veryfing that a customer is :ref:`registered as a Peppol participant `, ensure the :guilabel:`Format` field is set to :guilabel:`BIS Billing 3.0`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:521 +msgid ":ref:`Peppol documentation `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:526 #: ../../content/applications/finance/fiscal_localizations/canada.rst:257 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:394 msgid "Cash discount" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:516 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:528 msgid "In Belgium, if an early payment discount is offered on an invoice, the tax is calculated based on the discounted total amount, whether the customer benefits from the discount or not." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:519 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:531 msgid "To apply the right tax amount and report it correctly in your VAT return, set the tax reduction as :guilabel:`Always (upon invoice)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:523 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:535 #: ../../content/applications/finance/fiscal_localizations/canada.rst:263 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:400 msgid ":doc:`../accounting/customer_invoices/cash_discounts`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:528 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:540 msgid "Fiscal certification: POS restaurant" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:530 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:542 msgid "In Belgium, the owner of a cooking business such as a restaurant or food truck is required by law to use a government-certified **Cash Register System** for their receipts. This applies if their yearly earnings (excluding VAT, drinks, and take-away food) exceed 25,000 euros." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:534 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:546 msgid "This government-certified system entails the use of a :ref:`certified POS system `, along with a device called a :ref:`Fiscal Data Module ` (or **black box**) and a :ref:`VAT Signing Card `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:539 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:551 msgid "Do not forget to register as *foodservice industry manager* on the `Federal Public Service Finance registration form `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:545 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:557 msgid "Certified POS system" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:547 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:559 msgid "The Odoo POS system is certified for databases hosted on **Odoo Online**, **Odoo.sh**, and **On-Premise**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:551 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:563 msgid ":doc:`/administration/supported_versions`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:553 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:565 msgid "A `certified POS system `_ must adhere to rigorous government regulations, which means it operates differently from a non-certified POS." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:557 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:569 msgid "On a certified POS, you cannot:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:559 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:571 msgid "Set up and use the **global discounts** feature (the `pos_discount` module is blacklisted and cannot be activated)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:561 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:573 msgid "Set up and use the **loyalty programs** feature (the `pos_loyalty` module is blacklisted and cannot be activated)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:563 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:575 msgid "Reprint receipts (the `pos_reprint` module is blacklisted and cannot be activated)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:564 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:576 msgid "Modify prices in order lines." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:565 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:577 msgid "Modify or delete order lines in POS orders." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:566 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:578 msgid "Sell products without a valid VAT number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:567 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:579 msgid "Use a POS that is not connected to an IoT box." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:569 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:581 msgid "The :doc:`cash rounding <../../sales/point_of_sale/pricing/cash_rounding>` feature must be activated and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method` set as :guilabel:`Half-Up`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:572 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:584 msgid "Taxes must be set as included in the price. To set it up, go to :menuselection:`Point of Sale --> Configuration --> Settings`, and from the :guilabel:`Accounting` section, open the :guilabel:`Default Sales Tax` form by clicking the arrow next to the default sales tax field. There, click :guilabel:`Advanced Options` and enable :guilabel:`Included in Price`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:576 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:588 msgid "At the start of a POS session, users must click :guilabel:`Work in` to clock in. Doing so allows the registration of POS orders. If users are not clocked in, they cannot make POS orders. Likewise, they must click :guilabel:`Work Out` to clock out at the end of the session." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:581 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:593 msgid "If you configure a POS to work with a :abbr:`FDM (Fiscal Data Module)`, you cannot use it again without it." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:587 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:599 msgid "Fiscal Data Module (FDM)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:589 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:601 msgid "An FDM, or **black box**, is a government-certified device that works together with the Point of Sale application and saves your POS orders information. Concretely, a **hash** (:dfn:`unique code`) is generated for each POS order and added to its receipt. This allows the government to verify that all revenue is declared." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:595 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:607 msgid "Only the FDM from **Boîtenoire.be** with the `FDM certificate number BMC04 `_ is supported by Odoo. `Contact the manufacturer (GCV BMC) `_ to order one." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:603 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:615 msgid "Before setting up your database to work with an FDM, ensure you have the following hardware:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:605 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:617 msgid "a **Boîtenoire.be** (certificate number BMC04) FDM;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:606 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:618 msgid "an RS-232 serial null modem cable per FDM;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:607 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:619 msgid "an RS-232 serial-to-USB adapter per FDM;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:608 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:620 msgid "an :ref:`IoT Box ` (one IoT box per FDM); and" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:609 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:621 msgid "a receipt printer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:614 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:626 msgid "Black box module" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:616 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:628 msgid "As a pre-requisite, :ref:`activate ` the `Belgian Registered Cash Register` module (technical name: `pos_blackbox_be`)." msgstr "" @@ -20866,7 +20893,7 @@ msgstr "" msgid "black box modules for belgian fiscal certification" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:622 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:634 msgid "Once the module is activated, add your VAT number to your company information. To set it up, go to :menuselection:`Settings --> Companies --> Update Info`, and fill in the :guilabel:`VAT` field. Then, enter a national registration number for every staff member who operates the POS system. To do so, go to the :guilabel:`Employees` app and open an employee form. There, go to :menuselection:`HR settings tab --> Attendance/Point of Sale`, and fill in the :guilabel:`INSZ or BIS number` field." msgstr "" @@ -20874,35 +20901,35 @@ msgstr "" msgid "ISNZ or BIS number field on employee form" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:632 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:644 msgid "To input your information, click on your avatar, go to :menuselection:`My Profile --> Preference tab`, and enter your INSZ or BIS number in the designated field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:636 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:648 msgid "You must configure the :abbr:`FDM (Fiscal Data Module)` directly in the production database. Utilizing it in a testing environment may result in incorrect data being stored within the FDM." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:642 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:654 msgid "IoT Box" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:644 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:656 msgid "In order to use an :abbr:`FDM (Fiscal Data Module)`, you need a registered IoT Box. To register your IoT box, you must contact us through our `support contact form `_ and provide the following information:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:648 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:660 msgid "your VAT number;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:649 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:661 msgid "your company's name, address, and legal structure;" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:650 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:662 msgid "the identifier of your IoT Box." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:652 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:664 msgid "Once your IoT box is certified, :doc:`connect <../../general/iot/connect>` it to your database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the :guilabel:`IOT Device` section, which should display the FDM." msgstr "" @@ -20910,19 +20937,19 @@ msgstr "" msgid "Hardware status page on a registered IoT Box" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:659 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:671 msgid "Then, add the IoT to your POS. To do so, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, select your POS, scroll down to the :guilabel:`Connected Device` section, and enable :guilabel:`IoT Box`. Lastly, add the FMD in the :guilabel:`Fiscal Data Module` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:664 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:676 msgid "To be able to use an FDM, you must at least connect one :guilabel:`Receipt Printer`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:669 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:681 msgid "VAT signing card" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/belgium.rst:671 +#: ../../content/applications/finance/fiscal_localizations/belgium.rst:683 msgid "When you open a POS session and make your initial transaction, you are prompted to enter the PIN provided with your :abbr:`VSC (VAT signing card)`. The card is delivered by the :abbr:`FPS (Service Public Federal Finances)` upon `registration `_." msgstr "" @@ -21092,6 +21119,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:91 #: ../../content/applications/finance/fiscal_localizations/france.rst:48 #: ../../content/applications/finance/fiscal_localizations/jordan.rst:38 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:37 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:108 #: ../../content/applications/finance/fiscal_localizations/new_zealand.rst:38 msgid "Localization overview" @@ -25418,6 +25446,10 @@ msgstr "" msgid "Finally, in the :guilabel:`Advanced Settings` tab, check the :guilabel:`Electronic invoicing` checkbox to enable sending XML/EDI invoices." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:302 +msgid ":doc:`../accounting/customer_invoices/electronic_invoicing`" +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:307 msgid "Withholding" msgstr "" @@ -26142,7 +26174,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/egypt.rst:21 #: ../../content/applications/finance/fiscal_localizations/india.rst:21 #: ../../content/applications/finance/fiscal_localizations/italy.rst:22 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:19 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:20 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:20 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:19 msgid "Default :ref:`fiscal localization package `" @@ -26237,7 +26269,6 @@ msgstr "" #: ../../content/applications/finance/payment_providers/asiapay.rst:34 #: ../../content/applications/finance/payment_providers/buckaroo.rst:27 #: ../../content/applications/finance/payment_providers/flutterwave.rst:29 -#: ../../content/applications/finance/payment_providers/iyzico.rst:22 #: ../../content/applications/finance/payment_providers/mercado_pago.rst:30 #: ../../content/applications/finance/payment_providers/nuvei.rst:36 #: ../../content/applications/finance/payment_providers/paymob.rst:38 @@ -26678,11 +26709,6 @@ msgstr "" msgid "Click :guilabel:`Send` and, in the :guilabel:`Send` window, enable :guilabel:`By Peppol`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/france.rst:148 -#: ../../content/applications/finance/fiscal_localizations/jordan.rst:180 -msgid "Click :guilabel:`Send`." -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/france.rst:150 msgid "Once the invoice is sent, the Peppol status of the invoice is updated to :guilabel:`Done`." msgstr "" @@ -28353,11 +28379,11 @@ msgid "To create an Infile account and benefit from the **8% discount** availabl msgstr "" #: ../../content/applications/finance/fiscal_localizations/guatemala.rst:142 -#: ../../content/applications/finance/payment_providers.rst:74 -#: ../../content/applications/finance/payment_providers.rst:92 -#: ../../content/applications/finance/payment_providers.rst:140 -#: ../../content/applications/finance/payment_providers.rst:146 -#: ../../content/applications/finance/payment_providers.rst:158 +#: ../../content/applications/finance/payment_providers.rst:76 +#: ../../content/applications/finance/payment_providers.rst:94 +#: ../../content/applications/finance/payment_providers.rst:148 +#: ../../content/applications/finance/payment_providers.rst:154 +#: ../../content/applications/finance/payment_providers.rst:166 msgid "Odoo" msgstr "" @@ -28885,6 +28911,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/india.rst:124 #: ../../content/applications/finance/fiscal_localizations/india.rst:279 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:131 +#: ../../content/applications/finance/payment_providers/dpo.rst:28 #: ../../content/applications/finance/payment_providers/paypal.rst:42 #: ../../content/applications/finance/payment_providers/redsys.rst:35 msgid "Configuration in Odoo" @@ -29937,8 +29964,7 @@ msgid "`l10n_it_reports`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/italy.rst:31 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:22 -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:25 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:23 msgid "Country-specific reports" msgstr "" @@ -30918,6 +30944,7 @@ msgid "Integration module for JoFotara to support Jordanian e-invoicing requirem msgstr "" #: ../../content/applications/finance/fiscal_localizations/jordan.rst:28 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:26 #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:30 msgid "In some cases, such as when upgrading to a version with additional modules, it is possible that modules may not be installed automatically. Any missing modules can be manually :ref:`installed `." msgstr "" @@ -30967,6 +30994,7 @@ msgid "export tax (0%): zero-rated tax applied to goods and services exported ou msgstr "" #: ../../content/applications/finance/fiscal_localizations/jordan.rst:73 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:84 msgid "Tax reporting" msgstr "" @@ -31737,128 +31765,489 @@ msgstr "" msgid "The KRA does not accept credit notes with quantities or prices higher than the initial invoice. When creating a credit note, a KRA reason must be indicated: In the credit note form, go to the :guilabel:`eTIMS Details` tab, select the :guilabel:`eTIMS Credit Note Reason`, and then select the invoice number in the :guilabel:`Reversal of` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:8 -msgid ":ref:`Install ` the following modules to get all the features of the Luxembourgish localization:" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:17 -msgid ":guilabel:`Luxembourg - Accounting`" +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:10 +msgid "The following modules are installed automatically with the Luxembourgish localization:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:18 +msgid ":guilabel:`Luxembourg - Accounting`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:19 msgid "`l10n_lu`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:20 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:21 msgid ":guilabel:`Luxembourg - Accounting Reports`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:21 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:22 msgid "`l10n_lu_reports`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:23 -msgid ":guilabel:`Luxembourg - Annual VAT Report`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:24 -msgid "`l10n_lu_reports_annual_vat`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:-1 -msgid "The three modules for the Luxembourgish Fiscal Localization Package on Odoo" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:32 -msgid "Installing the module :guilabel:`Luxembourg - Accounting Reports` installs all three modules at once." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:36 +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:31 msgid ":doc:`Documentation on e-invoicing’s legality and compliance in Luxembourg <../accounting/customer_invoices/electronic_invoicing/luxembourg>`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:40 -msgid "Standard Chart of Accounts - PCN 2020" +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:39 +msgid "The Luxembourgish localization includes the following features:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:42 -msgid "Odoo's :ref:`fiscal localization package ` for Luxembourg includes the current **Standard Chart of Accounts (PCN 2020)**, effective since January 2020." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:41 +msgid ":doc:`../accounting/get_started/chart_of_accounts`: a predefined set of accounts that follows the current official accounting standards (PCN 2020)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:46 -msgid "eCDF tax return" +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:43 +msgid ":ref:`localizations/luxembourg/taxes`: pre-configured tax rates, including standard (17%), reduced (14%, 8%, and 3%) and zero-rated VAT, intra-community, and zero-rated export taxes" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:45 +msgid ":doc:`../accounting/taxes/fiscal_positions`: automated account and tax adjustments based on customer or supplier" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:47 +msgid ":ref:`localizations/luxembourg/e-invoicing`: E-invoicing with Peppol" msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:48 -msgid "Tax returns in Luxembourg require a specific XML file to upload on the eCDF." +msgid ":ref:`localizations/luxembourg/tax-reporting`: detailed overview of your VAT liability, and generation of monthly and annual VAT declarations in XML format to upload to the :abbr:`eCDF platform (plateforme électronique de Collecte des Données Financières)`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:50 -msgid "To download it, go to :menuselection:`Accounting --> Report --> Audit Reports --> Tax Report`, and click on :guilabel:`Export eCDF declaration`." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:51 +msgid ":ref:`localizations/luxembourg/faia`: generation of audit files in the :abbr:`FAIA (Fichier d’Audit Informatisé AED)` (Luxembourgish SAF-T) format" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:55 -msgid "`Platform for electronic gathering of financial data (eCDF) `_" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:58 -msgid "Annual tax report" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:60 -msgid "You can generate an XML file to electronically file your annual tax report with the tax office." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:59 +msgid "The following :doc:`taxes <../accounting/taxes>` are available by default with the Luxembourgish localization package:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:62 -msgid "To do so, go to :menuselection:`Accounting --> Report --> Luxembourg --> Annual Tax Report`, click on :guilabel:`Create`, then define the annual period in the :guilabel:`Year` field." +msgid "standard VAT (17%): applied to most goods and services within Luxembourg" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:63 +msgid "reduced VAT (14%, 8%, and 3%): applied to some goods and services within Luxembourg" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:64 +msgid "zero-rated VAT: applied to goods and services not subject to VAT" msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:65 -msgid "The **simplified annual declaration** is automatically generated. You can manually add values in all the fields to get a **complete annual declaration**." +msgid "intra-community VAT: applied to goods and services sold to or purchased from VAT-registered persons located in other EU countries" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:-1 -msgid "Odoo Accounting (Luxembourg localization) generates an annual tax declaration." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:67 +msgid "export tax (0%): zero-rated tax applied to goods and services exported outside Luxembourg" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:72 -msgid "To help you complete it, you can use the information provided on the :guilabel:`Tax Report`. To do so, go to :menuselection:`Accounting --> Report --> Audit Reports --> Tax Report`, then click on the :guilabel:`Tax Report` dropdown menu and select the type of report you want to display." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:74 +msgid "Odoo users in Luxembourg can register on the :ref:`accounting/e-invoicing/peppol` network, which allows exchanging e-invoices and credit notes with other participants on the network." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:-1 -msgid "Dropdown menu to select the type of Tax Report" +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:77 +msgid "The e-invoice format in Luxembourg is **BIS Billing 3.0**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:80 -msgid "Finally, click on :guilabel:`Export XML` to download the XML file." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:83 -msgid "This feature requires the module :guilabel:`Luxembourg - Annual VAT Report` to be installed." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:79 +msgid "E-invoicing via Peppol is mandatory for all B2G transactions in Luxembourg." msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:86 -msgid "FAIA (SAF-T)" +msgid "In Luxembourg, companies must submit a VAT declaration on a monthly, quarterly, or annual basis to the tax office, depending on their turnover. Companies that submit a monthly or quarterly declaration are also required to submit the annual declaration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:88 -msgid "**FAIA (Fichier d’Audit Informatisé AED)** is a standardized and structured file that facilitates the exchange of information between the taxpayers' accounting system and the tax office. It is the Luxembourgish version of the OECD-recommended SAF-T (Standard Audit File for Tax)." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:90 +msgid "Both monthly/quarterly and annual VAT declarations can be exported as XML files to upload on the :abbr:`eCDF platform (plateforme électronique de Collecte des Données Financières)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:92 -msgid "Odoo can generate an XML file that contains all the content of an accounting period according to the rules imposed by the Luxembourg tax authorities on digital audit files." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:94 +msgid "Monthly / quarterly declaration" msgstr "" #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:96 -msgid "This feature requires the module :guilabel:`Luxembourg - Accounting Reports` to be installed." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:211 +msgid "Go to :menuselection:`Accounting --> Reporting --> Tax Report`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:99 -msgid "Export FAIA file" +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:98 +msgid "In the :icon:`fa-book` :guilabel:`Report` selector, select :guilabel:`Tax Report (LU)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:101 -msgid "Go to :menuselection:`Accounting --> Reporting --> Audit Reports --> General Ledger`, then click on :guilabel:`FAIA`." +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:100 +msgid "In the :icon:`fa-calendar` (:guilabel:`Period`) selector, choose the month or quarter for which to generate the declaration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:103 +msgid "Check the amounts generated for all four sections of the report." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:105 +msgid "If you sold to customers under a VAT exemption for SMEs during the period, you need to manually enter the value of such sales in the editable fields at section I, items 481 and 482. To find the amounts for these items, you can use the :guilabel:`Partner Ledger` report:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:109 +msgid "Go to :menuselection:`Accounting --> Reporting --> Partner Ledger`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:110 +msgid "In the :icon:`fa-calendar` (:guilabel:`Period`) selector, choose the appropriate month or quarter." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:112 +msgid "In the :icon:`fa-user` (:guilabel:`Account`) selector, choose :guilabel:`Receivable`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:113 +msgid "In the :icon:`fa-folder-open` (:guilabel:`Partners`) selector, choose the partners that fall under the exemption." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:115 +msgid "Copy the total :guilabel:`Balance` for those partners for the given period." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:117 +msgid "Once the declaration is correct, click the :icon:`fa-cog` (:guilabel:`action menu`) icon, then click :guilabel:`XML` to export and download it in XML format. You can then submit the XML file on the eCDF platform." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:122 +msgid "Annual declaration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:127 +msgid "Account tag configuration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:129 +msgid "The following configuration allows values to be generated automatically for sections I and III, and Appendix A of the report, based on journal entries that impact accounts associated with each report line." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:133 +msgid "This requires using a different :doc:`account <../accounting/get_started/chart_of_accounts>` for each type of operation subject to VAT, output and input VAT, and expense listed in those sections." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:136 +msgid "Assign the following account :ref:`tags ` to accounts you use for each type of operation subject to VAT listed in the declaration, if applicable:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:139 +msgid "`001 - Supply of inhouse manufactured goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:140 +msgid "`002 - Supply of goods not manufactured inhouse`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:141 +msgid "`003 - Net profit margin`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:142 +msgid "`004 - Supply of services`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:143 +msgid "`005 - Disposal of tangible and intangible capital assets`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:144 +msgid "`008 - Application of goods for private use or for that of the staff`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:145 +msgid "`009 - Application for the purpose of business of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:146 +msgid "`010 - Use of goods considered business assets`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:147 +msgid "`011 - Supply of services carried out free of charge`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:148 +msgid "`013 - IC supply of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:149 +msgid "`202 - IC supply of new means of transport`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:150 +msgid "`203 - Supply of goods carried out abroad`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:152 +msgid "Assign the following account tags to the accounts you use for each type of output and input VAT, if applicable:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:155 +msgid "`077 - VAT on stock entries invoiced by other taxable persons`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:156 +msgid "`081 - VAT on capital expenditures invoiced by other taxable persons`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:157 +msgid "`085 - VAT on operational expenditures invoiced by other taxable persons`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:158 +msgid "`078 - VAT on stock entries due in respect of IC acquisitions`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:159 +msgid "`082 - VAT on capital expenditures due in respect of IC acquisitions`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:160 +msgid "`086 - VAT on operational expenditures due in respect of IC acquisitions`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:161 +msgid "`079 - VAT on stock entries of importations of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:162 +msgid "`083 - VAT on capital expenditures of importations of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:163 +msgid "`087 - VAT on operational expenditures of importations of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:164 +msgid "`404 - VAT on stock entries due under the reverse charge`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:165 +msgid "`405 - VAT on capital expenditures due under the reverse charge`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:166 +msgid "`406 - VAT on operational expenditures due under the reverse charge`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:168 +msgid "Assign the following account tags to the expense accounts you use for each type of expense, if applicable:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:171 +msgid "`188 - Appendix A - Expenses for other work carried out by third parties`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:172 +msgid "`190 - Appendix A - Car expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:173 +msgid "`239 - Appendix A - Gross salaries`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:174 +msgid "`244 - Appendix A - Gross wages`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:175 +msgid "`247 - Appendix A - Occasional salaries`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:176 +msgid "`250 - Appendix A - Compulsory social security contributions (employer's share)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:177 +msgid "`253 - Appendix A - Accident insurance`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:178 +msgid "`260 - Appendix A - Staff travel and representation expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:179 +msgid "`269 - Appendix A - Accounting and bookkeeping fees`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:180 +msgid "`283 - Appendix A - Employer's travel and representation expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:181 +msgid "`285 - Appendix A - Electricity`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:182 +msgid "`289 - Appendix A - Gas`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:183 +msgid "`293 - Appendix A - Employer's travel and representation expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:184 +msgid "`301 - Appendix A - Telecommunications`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:185 +msgid "`305 - Appendix A - Renting/leasing of immovable property with application of VAT`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:186 +msgid "`307 - Appendix A - Renting/leasing of immovable property with no application of VAT`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:187 +msgid "`310 - Appendix A - Renting/leasing of permanently installed equipment and machinery`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:188 +msgid "`316 - Appendix A - Property tax`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:189 +msgid "`324 - Appendix A - Business tax`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:190 +msgid "`326 - Appendix A - Interest paid for long-term debts`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:191 +msgid "`327 - Appendix A - Interest paid for short-term debts`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:192 +msgid "`328 - Appendix A - Other financial costs`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:193 +msgid "`330 - Appendix A - Stock and business equipment insurance`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:194 +msgid "`331 - Appendix A - Public and professional third party liability insurance`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:195 +msgid "`332 - Appendix A - Office expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:196 +msgid "`336 - Appendix A - Fees and subscriptions paid to professional associations and learned societies`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:197 +msgid "`337 - Appendix A - Papers and periodicals for business purposes`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:198 +msgid "`343 - Appendix A - Shipping and transport expenses`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:199 +msgid "`345 - Appendix A - Work clothes`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:200 +msgid "`347 - Appendix A - Advertising and publicity`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:201 +msgid "`349 - Appendix A - Packaging`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:202 +msgid "`351 - Appendix A - Repair and maintenance of equipment and machinery`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:203 +msgid "`353 - Appendix A - Other repairs`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:204 +msgid "`355 - Appendix A - New acquisitions (tools and equipment) if their cost can be fully allocated to the year of acquisition or creation`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:205 +msgid "`358 - Appendix A - Custom (value)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:206 +msgid "`361 - Appendix A - Total 'Appendix to Operational expenditures'`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:209 +msgid "Opening the declaration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:213 +msgid "In the :icon:`fa-book` :guilabel:`Report` selector, select :guilabel:`Annual VAT Declaration (LU)`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:215 +msgid "In the :icon:`fa-calendar` (:guilabel:`Period`) selector, choose the fiscal year dates for which to generate the declaration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:219 +msgid "Completing the declaration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:221 +msgid "The annual declaration contains five sections labelled I to V, seven appendices labelled A to G, and an additional Appendix to Operational Expenditures." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:224 +msgid "Sections I, III, and Appendix A can be pre-populated automatically based on the :ref:`account tag configuration `. After configuring the account tags, :ref:`set the tax lock date ` to the end of the fiscal year. This will trigger the pre-computation of those values." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:-1 +msgid "Odoo Accounting populates a Luxembourgish annual VAT declaration based on account tags." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:232 +msgid "Alternatively, the year's total VAT debit and credit can be manually distributed among the various report lines in sections I and III. You can use the :icon:`fa-pencil` (:guilabel:`Edit`) icon to manually enter the value for each report line." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:236 +msgid "Sections II and IV are automatically computed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:238 +msgid "You then need to manually complete appendices B through G, as well as the Appendix to Operational Expenditures, with any additional information to be reported." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:242 +msgid "Exporting the declaration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:244 +msgid "Once the declaration is complete and correct, click the :icon:`fa-cog` (:guilabel:`action menu`) icon, then click :guilabel:`XML` to export and download it in XML format. You can then submit the XML file on the eCDF platform." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:250 +msgid "`Tax office website - VAT declaration `_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:251 +msgid "`Platform for electronic gathering of financial data (eCDF) `_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:256 +msgid "FAIA audit file export" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:258 +msgid ":abbr:`FAIA (Fichier d’Audit Informatisé AED)` is the Luxembourgish version of the SAF-T format for accounting data interchange. It allows exporting complete accounting data for a period from a taxpayer's accounting system to the tax office." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:262 +msgid "Odoo can generate an XML file in the FAIA format that contains the entire accounting data for a period." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:265 +msgid "To generate and download the FAIA file, open :menuselection:`Accounting --> Reporting --> General Ledger`, choose the desired period, click the :icon:`fa-cog` (:guilabel:`action menu`) icon, and click :guilabel:`Export FAIA`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:3 @@ -32055,6 +32444,12 @@ msgstr "" msgid ":guilabel:`Ind. Classification`: Input the 5-digit numeric code that represents the nature and activity of the business." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/malaysia.rst:148 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:362 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:425 +msgid "Electronic invoicing" +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:150 msgid "Go to :menuselection:`Accounting --> Configuration --> Settings`. In the :guilabel:`Malaysian Electronic Invoicing` section, select the relevant :guilabel:`MyInvois mode` based on the environment used for the company's MyInvois registration." msgstr "" @@ -40204,11 +40599,11 @@ msgstr "" msgid "Ensure the :guilabel:`Recipient Bank` is configured, as Odoo uses this field to generate QR codes." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:31 +#: ../../content/applications/finance/payment_providers.rst:32 msgid "Odoo embeds several **payment providers** that allow your customers to pay online, on their *customer portals*, or on your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with recurring payments using their favorite payment methods, such as **credit cards**." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:36 +#: ../../content/applications/finance/payment_providers.rst:37 msgid "Each payment provider is linked to a list of supported :ref:`payment methods ` that can be (de)activated based on your needs." msgstr "" @@ -40216,448 +40611,491 @@ msgstr "" msgid "Online payment form" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:43 +#: ../../content/applications/finance/payment_providers.rst:44 msgid "Odoo apps delegate the handling of sensitive information to the certified payment provider so that you don't ever have to worry about PCI compliance. No sensitive information (such as credit card numbers) is stored on Odoo servers or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number for the data stored safely in the payment providers' systems." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:51 +#: ../../content/applications/finance/payment_providers.rst:52 msgid "Supported payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:53 -msgid "To access the supported payment providers, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, :menuselection:`Website --> Configuration --> Payment Providers`, or :menuselection:`Sales --> Configuration --> Payment Providers`." +#: ../../content/applications/finance/payment_providers.rst:54 +msgid "To access the supported payment providers, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, :menuselection:`Website --> Configuration --> Payment Providers`, or :menuselection:`Sales --> Configuration --> Payment Providers`. Click the relevant payment provider card to access and configure the related provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:60 +#: ../../content/applications/finance/payment_providers.rst:62 msgid "Online payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:68 +#: ../../content/applications/finance/payment_providers.rst:70 msgid "Payment flow from" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:69 +#: ../../content/applications/finance/payment_providers.rst:71 msgid ":ref:`Tokenization `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:70 +#: ../../content/applications/finance/payment_providers.rst:72 msgid ":ref:`Manual capture `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:71 +#: ../../content/applications/finance/payment_providers.rst:73 msgid ":ref:`Refunds `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:72 +#: ../../content/applications/finance/payment_providers.rst:74 msgid ":ref:`Express checkout `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:73 +#: ../../content/applications/finance/payment_providers.rst:75 msgid ":doc:`Adyen `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:75 -#: ../../content/applications/finance/payment_providers.rst:93 -#: ../../content/applications/finance/payment_providers.rst:105 -#: ../../content/applications/finance/payment_providers.rst:147 -#: ../../content/applications/finance/payment_providers.rst:159 -#: ../../content/applications/finance/payment_providers.rst:162 -#: ../../content/applications/finance/payment_providers.rst:165 +#: ../../content/applications/finance/payment_providers.rst:77 +#: ../../content/applications/finance/payment_providers.rst:95 +#: ../../content/applications/finance/payment_providers.rst:113 +#: ../../content/applications/finance/payment_providers.rst:155 +#: ../../content/applications/finance/payment_providers.rst:167 +#: ../../content/applications/finance/payment_providers.rst:170 +#: ../../content/applications/finance/payment_providers.rst:173 msgid "|V|" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:76 -#: ../../content/applications/finance/payment_providers.rst:77 -#: ../../content/applications/finance/payment_providers.rst:149 -#: ../../content/applications/finance/payment_providers.rst:161 +#: ../../content/applications/finance/payment_providers.rst:78 +#: ../../content/applications/finance/payment_providers.rst:79 +#: ../../content/applications/finance/payment_providers.rst:157 +#: ../../content/applications/finance/payment_providers.rst:169 msgid "Full and partial" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:79 +#: ../../content/applications/finance/payment_providers.rst:81 msgid ":doc:`Amazon Payment Services `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:80 -#: ../../content/applications/finance/payment_providers.rst:86 -#: ../../content/applications/finance/payment_providers.rst:98 -#: ../../content/applications/finance/payment_providers.rst:104 -#: ../../content/applications/finance/payment_providers.rst:110 -#: ../../content/applications/finance/payment_providers.rst:116 -#: ../../content/applications/finance/payment_providers.rst:122 -#: ../../content/applications/finance/payment_providers.rst:128 -#: ../../content/applications/finance/payment_providers.rst:134 -#: ../../content/applications/finance/payment_providers.rst:152 -#: ../../content/applications/finance/payment_providers.rst:164 +#: ../../content/applications/finance/payment_providers.rst:82 +#: ../../content/applications/finance/payment_providers.rst:88 +#: ../../content/applications/finance/payment_providers.rst:100 +#: ../../content/applications/finance/payment_providers.rst:106 +#: ../../content/applications/finance/payment_providers.rst:112 +#: ../../content/applications/finance/payment_providers.rst:118 +#: ../../content/applications/finance/payment_providers.rst:124 +#: ../../content/applications/finance/payment_providers.rst:130 +#: ../../content/applications/finance/payment_providers.rst:136 +#: ../../content/applications/finance/payment_providers.rst:142 +#: ../../content/applications/finance/payment_providers.rst:160 +#: ../../content/applications/finance/payment_providers.rst:172 msgid "The provider's website" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:85 +#: ../../content/applications/finance/payment_providers.rst:87 msgid ":doc:`AsiaPay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:91 +#: ../../content/applications/finance/payment_providers.rst:93 msgid ":doc:`Authorize.Net `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:94 -#: ../../content/applications/finance/payment_providers.rst:95 -#: ../../content/applications/finance/payment_providers.rst:148 -#: ../../content/applications/finance/payment_providers.rst:160 +#: ../../content/applications/finance/payment_providers.rst:96 +#: ../../content/applications/finance/payment_providers.rst:97 +#: ../../content/applications/finance/payment_providers.rst:156 +#: ../../content/applications/finance/payment_providers.rst:168 msgid "Full only" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:97 +#: ../../content/applications/finance/payment_providers.rst:99 msgid ":doc:`Buckaroo `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:103 +#: ../../content/applications/finance/payment_providers.rst:105 +msgid ":doc:`DPO Pay `" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:111 msgid ":doc:`Flutterwave `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:109 +#: ../../content/applications/finance/payment_providers.rst:117 msgid ":doc:`Iyzico `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:115 +#: ../../content/applications/finance/payment_providers.rst:123 msgid ":doc:`Mercado Pago `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:121 +#: ../../content/applications/finance/payment_providers.rst:129 msgid ":doc:`Mollie `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:127 +#: ../../content/applications/finance/payment_providers.rst:135 msgid ":doc:`Nuvei `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:133 +#: ../../content/applications/finance/payment_providers.rst:141 msgid ":doc:`Paymob `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:139 +#: ../../content/applications/finance/payment_providers.rst:147 msgid ":doc:`PayPal `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:145 +#: ../../content/applications/finance/payment_providers.rst:153 msgid ":doc:`Razorpay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:151 +#: ../../content/applications/finance/payment_providers.rst:159 msgid ":doc:`Redsys `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:157 +#: ../../content/applications/finance/payment_providers.rst:165 msgid ":doc:`Stripe `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:163 +#: ../../content/applications/finance/payment_providers.rst:171 msgid ":doc:`Worldline `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:169 +#: ../../content/applications/finance/payment_providers.rst:177 msgid ":doc:`Xendit `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:170 +#: ../../content/applications/finance/payment_providers.rst:178 msgid "Odoo or the provider's website" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:171 +#: ../../content/applications/finance/payment_providers.rst:179 msgid "|V| *" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:177 +#: ../../content/applications/finance/payment_providers.rst:185 msgid "Refer to the :doc:`Xendit documentation ` for more information." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:180 +#: ../../content/applications/finance/payment_providers.rst:188 msgid "Each provider has its own specific configuration flow, depending on which feature is available." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:182 +#: ../../content/applications/finance/payment_providers.rst:190 msgid "Some of these online payment providers can also be added as :doc:`bank accounts <../finance/accounting/bank>`, but this is **not** the same process as adding them as payment providers. Payment providers allow customers to pay online, and bank accounts are added and configured in the Accounting app to do a :doc:`bank reconciliation `." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:189 +#: ../../content/applications/finance/payment_providers.rst:197 msgid "In addition to the regular payment providers that integrate with an API, such as Stripe, PayPal, or Adyen, Odoo bundles the :doc:`Demo payment provider `. This payment provider allows you to test business flows involving online payments. No credentials are required as the demo payments are dummy payments." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:197 +#: ../../content/applications/finance/payment_providers.rst:205 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:3 msgid "Bank payments" msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid ":doc:`Wire Transfer `" +msgid ":ref:`Wire Transfer `" msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid "When selected, Odoo displays your payment information with a payment reference. You have to approve the payment manually once you have received it in your bank account." +msgid "Odoo displays your payment information with a payment reference. You have to approve the payment manually once it has been received in your bank account." msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid ":doc:`SEPA Direct Debit `" +msgid ":ref:`SEPA Direct Debit `" msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid "Your customers can make a bank transfer to register a SEPA Direct Debit mandate and get their bank account charged directly." +msgid "Customers can make a bank transfer to register a SEPA Direct Debit mandate and allow their account to be charged directly for future payments." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:209 +#: ../../content/applications/finance/payment_providers.rst:215 +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:3 +msgid "In-person payments" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:0 +msgid ":ref:`Pay on Site `" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:0 +msgid "Customers can reserve products online and pay when collecting their orders in store." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:0 +msgid ":ref:`Cash on Delivery `" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:0 +msgid "Customers can pay for their orders upon delivery." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:225 msgid "Enabling a payment provider" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:211 +#: ../../content/applications/finance/payment_providers.rst:227 msgid "To add a new payment provider and make its related payment methods available to your customers, proceed as follows:" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:214 +#: ../../content/applications/finance/payment_providers.rst:230 msgid "Go to the payment provider's website, create an account, and make sure you have the API credentials requested for third-party use. These are necessary for Odoo to communicate with the payment provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:217 +#: ../../content/applications/finance/payment_providers.rst:233 msgid "In Odoo, navigate to the :guilabel:`Payment providers` by going to :menuselection:`Accounting --> Configuration --> Payment Providers`, :menuselection:`Website --> Configuration --> Payment Providers`, or :menuselection:`Sales --> Configuration --> Payment Providers`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:220 +#: ../../content/applications/finance/payment_providers.rst:236 msgid "Select the provider and configure the :guilabel:`Credentials` tab." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:221 -#: ../../content/applications/finance/payment_providers/sdd.rst:47 -#: ../../content/applications/finance/payment_providers/stripe.rst:37 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:52 +#: ../../content/applications/finance/payment_providers.rst:237 +#: ../../content/applications/finance/payment_providers/adyen.rst:60 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:45 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:99 +#: ../../content/applications/finance/payment_providers/iyzico.rst:31 +#: ../../content/applications/finance/payment_providers/stripe.rst:43 +#: ../../content/applications/finance/payment_providers/stripe.rst:84 msgid "Set the :guilabel:`State` field to :guilabel:`Enabled`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:224 +#: ../../content/applications/finance/payment_providers.rst:240 msgid "The fields available in the :guilabel:`Credentials` tab depend on the payment provider. Refer to the :ref:`related documentation ` for more information." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:227 +#: ../../content/applications/finance/payment_providers.rst:243 msgid "Once you have enabled the payment provider, it is automatically published on your website. If you wish to unpublish it, click the :guilabel:`Published` button. Customers cannot make payments through an unpublished provider, but they can still manage :dfn:`(delete and assign to a subscription)` their existing tokens linked to such a provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:235 +#: ../../content/applications/finance/payment_providers.rst:251 msgid "Test mode" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:238 +#: ../../content/applications/finance/payment_providers.rst:254 msgid "We recommend using the test mode on a **duplicate** or a **test** database to avoid potential issues with invoice numbering." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:241 +#: ../../content/applications/finance/payment_providers.rst:257 msgid "To try a payment provider without affecting live transactions, set the :guilabel:`State` field in the payment provider form to :guilabel:`Test mode`. Then, enter the **provider's dedicated test or sandbox credentials** in the :guilabel:`Credentials` tab. Each payment provider has its own separate test account or environment for this purpose." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:247 +#: ../../content/applications/finance/payment_providers.rst:263 msgid "By default, the payment provider remains **unpublished** in test mode so that it's not visible to visitors." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:255 +#: ../../content/applications/finance/payment_providers.rst:271 msgid "Each payment provider is related to a list of supported payment methods; the methods listed in the :guilabel:`Payment methods` field in the :guilabel:`Configuration` tab of the payment provider form are the ones that have been activated. To activate or deactivate a payment method for a provider, click :guilabel:`Enable Payment Methods`, then click the toggle button of the related method." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:261 -msgid "Payment methods are displayed on your website based on their sequence order. To reorder them, click :guilabel:`Enable Payment Methods` in the payment provider form, then, in the :guilabel:`Payment Methods` list, drag and drop the payment methods in the desired order." +#: ../../content/applications/finance/payment_providers.rst:277 +msgid "To view the complete list of supported payment methods, go to :menuselection:`Accounting --> Configuration --> Payment Methods`, :menuselection:`Website --> Configuration --> Payment Methods`, or :menuselection:`Sales --> Configuration --> Payment Methods`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:266 +#: ../../content/applications/finance/payment_providers.rst:280 +msgid "Payment methods are displayed on the ecommerce website based on their sequence order. To reorder them, drag and drop the payment methods into the desired order in the :guilabel:`Payment Methods` list." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:285 msgid "Icons and brands" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:268 -msgid "The icons displayed next to the payment method on your website are either the icons of the brands activated for the payment method or, if there aren't any, the icons of the payment methods themselves. To modify them, go to :menuselection:`Accounting --> Configuration --> Payment Methods`, :menuselection:`Website --> Configuration --> Payment Methods` or :menuselection:`Sales --> Configuration --> Payment Methods`, then click on the payment method." +#: ../../content/applications/finance/payment_providers.rst:287 +msgid "The icons displayed next to the payment method on your website are either the icons of the brands activated for the payment method or, if there aren't any, the icons of the payment methods themselves. To modify them, :ref:`access the list of payment methods `, then click the relevant one." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:274 +#: ../../content/applications/finance/payment_providers.rst:292 msgid "To modify a payment method's icon, hover your mouse over the image in the upper-right corner of the payment method's form and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:277 -msgid "Select the :guilabel:`Brands` tab to view the brands that have been activated for the payment method. The brands and their related icons are displayed based on their sequence order; to reorder them, drag and drop them in the desired order. To modify a brand's icon, select the brand, then, in the popup window that opens, hover the mouse over the image in the upper-right corner and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon." +#: ../../content/applications/finance/payment_providers.rst:295 +msgid "Select the :guilabel:`Brands` tab to view the brands that have been activated for the payment method. The brands and their related icons are displayed based on their sequence order; to reorder them, drag and drop them into the desired order. To modify a brand's icon, select the brand, then, in the popup window that opens, hover the mouse over the image in the upper-right corner and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:284 +#: ../../content/applications/finance/payment_providers.rst:302 msgid "Advanced configuration" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:286 -msgid "To configure payment methods further, go to :menuselection:`Accounting --> Configuration --> Payment Methods`, :menuselection:`Website --> Configuration --> Payment Methods` or :menuselection:`Sales --> Configuration --> Payment Methods`. Click on the payment method, then activate the :ref:`developer mode `. Click the :guilabel:`Configuration` tab to adapt the features." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:293 -msgid "Each payment method is preconfigured in a way that aligns with the payment providers' behavior and their integration with Odoo. Any change to this configuration may result in errors and should be tested on a duplicate or test database first." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:296 -msgid "Modifications to the payment method's configuration only work to the extent of the method's and provider's capabilities. For example, adding :ref:`countries ` for a payment method only supported in one country or enabling :ref:`tokenization ` for a method linked to a provider that does not support it will not produce the intended results." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:305 -msgid "Tokenization" +#: ../../content/applications/finance/payment_providers.rst:304 +msgid "To further configure payment methods, follow these steps:" msgstr "" #: ../../content/applications/finance/payment_providers.rst:307 -msgid ":ref:`If the payment provider supports this feature `, customers can save their payment method details for later. To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Saving Payment Methods`." +msgid ":ref:`Access the list of payment methods ` and click the relevant one." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:309 +msgid "Go to the :guilabel:`Configuration` tab and adjust the features as needed." msgstr "" #: ../../content/applications/finance/payment_providers.rst:312 +msgid "Each payment method is preconfigured in a way that aligns with the payment providers' behavior and their integration with Odoo. Any change to this configuration may result in errors and should be tested on a duplicate or test database first." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:315 +msgid "Modifications to the payment method's configuration only work to the extent of the method's and provider's capabilities. For example, adding :ref:`countries ` for a payment method only supported in one country or enabling :ref:`tokenization ` for a method linked to a provider that does not support it will not produce the intended results." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:324 +msgid "Tokenization" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:326 +msgid ":ref:`If the payment provider supports this feature `, customers can save their payment method details for later. To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Saving Payment Methods`." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:331 msgid "In this case, a **payment token** is created in Odoo to be used as a payment method for subsequent payments without the customer having to enter their payment method details again. This is particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:317 +#: ../../content/applications/finance/payment_providers.rst:336 msgid "To add or delete their saved payment method details, customers can click :guilabel:`Manage payment methods` in the :ref:`customer portal `." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:320 +#: ../../content/applications/finance/payment_providers.rst:339 msgid "PCI DSS and Attestation of Compliance" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:322 +#: ../../content/applications/finance/payment_providers.rst:341 msgid "Odoo is not `PCI `_ DSS-certified because it does not store cardholder data or process payments. Instead, it outsources tokenization and payment to :ref:`external payment providers `, which means that as an Odoo customer, you only need to complete the minimal Self-Assessment Questionnaire (SAQ) with the provider to obtain the Attestation of Compliance (AoC) and achieve PCI compliance. Odoo should not be mentioned as a payment processor or a third-party service provider in the :abbr:`SAQ (Self-Assessment Questionnaire)`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:333 +#: ../../content/applications/finance/payment_providers.rst:352 +#: ../../content/applications/finance/payment_providers/adyen.rst:69 msgid "Manual capture" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:335 +#: ../../content/applications/finance/payment_providers.rst:354 msgid ":ref:`If the payment provider supports this feature `, you can authorize and capture payments in two steps instead of one. To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Capture Amount Manually`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:340 +#: ../../content/applications/finance/payment_providers.rst:359 msgid "When you authorize a payment, the funds are reserved on the customer's payment method but not immediately charged. They are charged when you manually capture the payment later on. You can also void the authorization to cancel it and release the reserved funds. Capturing payments manually is helpful in many situations:" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:345 +#: ../../content/applications/finance/payment_providers.rst:364 msgid "Receive the payment confirmation and wait until the order is shipped to capture the payment." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:346 +#: ../../content/applications/finance/payment_providers.rst:365 msgid "Review and verify that orders are legitimate before the payment is completed and the fulfillment process starts." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:348 +#: ../../content/applications/finance/payment_providers.rst:367 msgid "Avoid potentially high refund fees for refunded payments: payment providers will not charge you for voiding an authorization." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:350 +#: ../../content/applications/finance/payment_providers.rst:369 msgid "Hold a security deposit to return later, minus any deductions (e.g., in case of damages)." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:352 +#: ../../content/applications/finance/payment_providers.rst:371 msgid "To capture the payment after it was authorized, go to the related sales order or invoice and click the :guilabel:`Capture Transaction` button. To release the funds, click the :guilabel:`Void Transaction` button." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:357 +#: ../../content/applications/finance/payment_providers.rst:376 msgid "Some payment providers support capturing only part of the authorized amount. The remaining amount can then be either captured or voided. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support capturing or voiding the total amount have the value **Full only**." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:361 +#: ../../content/applications/finance/payment_providers.rst:380 msgid "The funds are likely not reserved forever. After a certain time, they may be automatically released back to the customer's payment method. Refer to your payment provider's documentation for the exact reservation duration." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:364 +#: ../../content/applications/finance/payment_providers.rst:383 msgid ":doc:`payment_providers/adyen` and :doc:`payment_providers/stripe` allow to capture payments manually directly from their website interface." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:370 +#: ../../content/applications/finance/payment_providers.rst:389 msgid "Refunds" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:372 +#: ../../content/applications/finance/payment_providers.rst:391 msgid "If your payment provider supports this feature, you can refund payments directly from Odoo. It does not need to be enabled first. To refund a customer payment, navigate to it and click the :guilabel:`Refund` button." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:377 +#: ../../content/applications/finance/payment_providers.rst:396 msgid "Some payment providers support refunding only part of the amount. The remaining amount can then optionally be refunded, too. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support refunding the total amount have the value **Full only**." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:381 +#: ../../content/applications/finance/payment_providers.rst:400 msgid ":doc:`payment_providers/adyen` and :doc:`payment_providers/stripe` allow to refund payments directly from their website interface." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:387 +#: ../../content/applications/finance/payment_providers.rst:406 msgid "Express checkout" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:389 +#: ../../content/applications/finance/payment_providers.rst:408 msgid ":ref:`If the payment provider supports this feature `, you can allow customers to use the :guilabel:`Google Pay` and :guilabel:`Apple Pay` buttons and pay their eCommerce orders in one click. When they use one of these buttons, customers go straight from the cart to the confirmation page without filling out the contact form. They just have to validate the payment on Google's or Apple's payment form." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:395 +#: ../../content/applications/finance/payment_providers.rst:414 msgid "To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Express Checkout`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:399 +#: ../../content/applications/finance/payment_providers.rst:418 msgid "All prices shown on the express checkout payment form always include taxes." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:406 +#: ../../content/applications/finance/payment_providers.rst:425 msgid "You can adapt the payment provider's availability by specifying the :guilabel:`Maximum amount` allowed and modifying the :guilabel:`Currencies` and :guilabel:`Countries` in the :guilabel:`Configuration` tab." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:411 +#: ../../content/applications/finance/payment_providers.rst:430 msgid "To display an availability report for payment providers and payment methods, and to help diagnose potential availability issues on the payment form, enable the :ref:`developer-mode`, then click the :icon:`fa-bug` (:guilabel:`bug`) icon next to the :guilabel:`Choose a payment method` heading on the payment form. The report includes a list of enabled payment providers and payment methods, reasons for any payment providers or methods not being available, if applicable, and a list of supported providers for each payment method." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:421 +#: ../../content/applications/finance/payment_providers.rst:440 msgid "Currencies and countries" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:423 +#: ../../content/applications/finance/payment_providers.rst:442 msgid "All payment providers have a different list of available currencies and countries. They serve as a first filter during payment operations, i.e., the payment methods linked to the payment provider are not available for selection if the customer's currency or country is not in the supported list. As there might be errors, updates, and unknowns in the lists of available currencies and countries, adding or removing a payment provider's supported currencies or countries is possible." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:431 +#: ../../content/applications/finance/payment_providers.rst:450 msgid ":ref:`Payment methods ` also have their own list of available currencies and countries that serves as another filter during payment operations." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:433 +#: ../../content/applications/finance/payment_providers.rst:452 msgid "If the list of supported currencies or countries is empty, it means the list is too long to be displayed, or Odoo does not have information on that payment provider. The payment provider remains available, even though it is possible the payment will be refused at a later stage should the country or currency not be supported." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:441 +#: ../../content/applications/finance/payment_providers.rst:460 msgid "Maximum amount" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:443 +#: ../../content/applications/finance/payment_providers.rst:462 msgid "You can restrict the :guilabel:`Maximum Amount` that can be paid with the selected provider. Leave the field to `0.00` to make the payment provider available regardless of the payment amount." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:447 +#: ../../content/applications/finance/payment_providers.rst:466 msgid "This feature is not intended to work on pages that allow the customer to update the payment amount, e.g., the **Donation** snippet and the **Checkout** page when paid :doc:`shipping methods <../websites/ecommerce/shipping>` are enabled." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:454 +#: ../../content/applications/finance/payment_providers.rst:473 msgid "Payment journal" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:456 +#: ../../content/applications/finance/payment_providers.rst:475 msgid "A :doc:`payment journal ` must be defined for the payment provider to record the payments on an **outstanding account**. By default, the :guilabel:`Bank` journal is added as the payment journal for all payment providers. To modify it, go to the :guilabel:`Configuration` tab of the selected payment provider and select another :guilabel:`Payment journal`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:462 +#: ../../content/applications/finance/payment_providers.rst:481 msgid "The payment journal must be a :guilabel:`Bank` journal." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:463 +#: ../../content/applications/finance/payment_providers.rst:482 msgid "The same journal can be used for several payment providers." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:464 +#: ../../content/applications/finance/payment_providers.rst:483 msgid "Payment journals must only be configured if the :doc:`Invoicing or Accounting app ` is installed." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:468 +#: ../../content/applications/finance/payment_providers.rst:487 msgid "Accounting perspective" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:470 +#: ../../content/applications/finance/payment_providers.rst:489 msgid "From an accounting perspective, there are two types of online payment workflows: the payments that are directly deposited into your bank account and follow the usual :doc:`reconciliation ` workflow, and those coming from third-party :ref:`online payment providers ` and require you to follow another accounting workflow. For these payments, you need to consider how you want to record your payments' journal entries. We recommend you ask your accountant for advice." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:477 +#: ../../content/applications/finance/payment_providers.rst:496 msgid "By default, the :guilabel:`Bank Account` defined for the :ref:`payment journal ` is used, but you can also specify an :ref:`outstanding account ` for each payment provider to separate the provider's payments from other payments." msgstr "" @@ -40665,75 +41103,79 @@ msgstr "" msgid "Define an outstanding account for a payment provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:486 -msgid ":doc:`payment_providers/wire_transfer`" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:487 -msgid ":doc:`payment_providers/sdd`" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:488 +#: ../../content/applications/finance/payment_providers.rst:505 msgid ":doc:`payment_providers/adyen`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:489 +#: ../../content/applications/finance/payment_providers.rst:506 msgid ":doc:`payment_providers/authorize`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:490 +#: ../../content/applications/finance/payment_providers.rst:507 msgid ":doc:`payment_providers/asiapay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:491 +#: ../../content/applications/finance/payment_providers.rst:508 msgid ":doc:`payment_providers/buckaroo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:492 +#: ../../content/applications/finance/payment_providers.rst:509 msgid ":doc:`payment_providers/demo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:493 +#: ../../content/applications/finance/payment_providers.rst:510 +msgid ":doc:`payment_providers/dpo`" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:511 msgid ":doc:`payment_providers/mercado_pago`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:494 +#: ../../content/applications/finance/payment_providers.rst:512 msgid ":doc:`payment_providers/mollie`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:495 +#: ../../content/applications/finance/payment_providers.rst:513 msgid ":doc:`payment_providers/nuvei`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:496 +#: ../../content/applications/finance/payment_providers.rst:514 msgid ":doc:`payment_providers/paymob`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:497 +#: ../../content/applications/finance/payment_providers.rst:515 msgid ":doc:`payment_providers/paypal`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:498 +#: ../../content/applications/finance/payment_providers.rst:516 msgid ":doc:`payment_providers/razorpay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:499 +#: ../../content/applications/finance/payment_providers.rst:517 msgid ":doc:`payment_providers/redsys`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:500 +#: ../../content/applications/finance/payment_providers.rst:518 msgid ":doc:`payment_providers/stripe`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:501 +#: ../../content/applications/finance/payment_providers.rst:519 msgid ":doc:`payment_providers/worldline`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:502 +#: ../../content/applications/finance/payment_providers.rst:520 msgid ":doc:`payment_providers/xendit`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:503 +#: ../../content/applications/finance/payment_providers.rst:521 +msgid ":doc:`payment_providers/bank_payments`" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:522 +msgid ":doc:`payment_providers/inperson_payments`" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:523 msgid ":doc:`accounting/bank`" msgstr "" @@ -40746,230 +41188,144 @@ msgid "`Adyen `_ is a Dutch company that offers several msgstr "" #: ../../content/applications/finance/payment_providers/adyen.rst:9 -#: ../../content/applications/finance/payment_providers/adyen.rst:20 -#: ../../content/applications/finance/payment_providers/authorize.rst:12 -#: ../../content/applications/finance/payment_providers/demo.rst:12 -#: ../../content/applications/finance/payment_providers/mollie.rst:11 -msgid ":ref:`payment_providers/add_new`" +msgid "Adyen only works with customers processing **more than 10 million annually** or invoicing a **minimum of 1000 transactions per month**." msgstr "" -#: ../../content/applications/finance/payment_providers/adyen.rst:10 -#: ../../content/applications/finance/payment_providers/adyen.rst:163 +#: ../../content/applications/finance/payment_providers/adyen.rst:15 +msgid "Adyen configuration" +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:17 +msgid "Create an Adyen account if necessary and log into your Adyen Customer Area." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:20 +msgid "Log into your **Test account** to try the integration without charging customers. Switch to your **Live account** once you are ready to accept payments." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:23 +msgid "`Contact the Adyen support team `_ to enable the **Multiple partial capture** feature." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:25 +msgid "In the Adyen Customer Area, go to :menuselection:`Developers --> API credentials` and click the relevant API credential user name in the list or click :guilabel:`Create new credential` to create a new one." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:28 +msgid "In the :guilabel:`Server settings` section, click :guilabel:`Generate API key`, then click the :icon:`fa-copy` (:guilabel:`Copy API key`) icon and save the value for the :ref:`payment_providers/adyen/configure_odoo` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:31 +msgid "In the :guilabel:`Client settings` section, click :guilabel:`Generate client key`, then click the :icon:`fa-copy` (:guilabel:`Copy API key`) icon and save the value for the :ref:`payment_providers/adyen/configure_odoo` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:34 +msgid "Enter your Odoo website URL in the :guilabel:`Add allowed origins` field, then click :guilabel:`Add`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:36 +msgid "Click :guilabel:`Save changes` at the bottom of the page." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:37 +msgid "Go to :menuselection:`Developers --> Webhooks` in the left menu and click :guilabel:`Create new webhook`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:39 +msgid "In the :guilabel:`Create new webhook` popup, click :guilabel:`Add` on to the :guilabel:`Standard webhook` line." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:41 +msgid "On the :guilabel:`Webhook generation` form, in the :guilabel:`Server configuration` section, enter your Odoo database :guilabel:`URL` followed by `/payment/adyen/notification`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:43 +msgid "In the :guilabel:`Security` section, click :guilabel:`Generate` under :guilabel:`HMAC`, then click the :icon:`fa-copy` (:guilabel:`Copy HMAC to the clipboard`) icon and save the value for the :ref:`payment_providers/adyen/configure_odoo` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:46 +msgid "Click :guilabel:`Save configuration` at the bottom of the page." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:47 +msgid "Go to :menuselection:`Developers --> API URLs`, then copy the :guilabel:`Prefix` and save it for the :ref:`payment_providers/adyen/configure_odoo` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:55 +msgid ":ref:`Navigate to the Adyen payment provider`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:56 +msgid "Fill in the :guilabel:`Merchant account`, :guilabel:`API Key`, :guilabel:`Client Key`, :guilabel:`HMAC Key`, and :guilabel:`API URL Prefix` fields with the values saved at the :ref:`Adyen configuration step `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:59 +#: ../../content/applications/finance/payment_providers/iyzico.rst:30 +#: ../../content/applications/finance/payment_providers/mollie.rst:28 +#: ../../content/applications/finance/payment_providers/paymob.rst:59 +#: ../../content/applications/finance/payment_providers/razorpay.rst:75 +#: ../../content/applications/finance/payment_providers/stripe.rst:83 +msgid "Configure the remaining options as needed." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:63 +msgid "If you want to :ref:`test Adyen without affecting live transactions `, use your **Test account** credentials, enter `https://checkout-test.adyen.com` in the :guilabel:`API URL Prefix` field, and set the :guilabel:`State` field to :guilabel:`Test Mode`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:71 +msgid "To enable :ref:`manual capture ` for Adyen payments, follow these steps:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:74 +msgid ":ref:`Navigate to the Adyen payment provider `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:75 +msgid "Go to the :guilabel:`Configuration` tab and enable :guilabel:`Capture Amount Manually`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:76 +msgid "Log in to your Adyen Customer Area, then go to :menuselection:`Settings` and click :guilabel:`Company` in the :guilabel:`Account management` section." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:78 +msgid "In the :guilabel:`General` section, click the :icon:`fa-pencil` (:guilabel:`Edit property`) icon next to the :guilabel:`Capture Delay` field." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:80 +msgid "In the popup, set the :guilabel:`Capture delay` field to :guilabel:`Manual` and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:84 +msgid "If the transaction is not captured within 7 days, the customer is entitled to revoke it." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:85 +msgid "You can :ref:`manually capture ` and :ref:`refund ` payments directly from your Adyen Customer Area." +msgstr "" + +#: ../../content/applications/finance/payment_providers/adyen.rst:89 #: ../../content/applications/finance/payment_providers/asiapay.rst:50 #: ../../content/applications/finance/payment_providers/authorize.rst:51 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:6 #: ../../content/applications/finance/payment_providers/buckaroo.rst:37 +#: ../../content/applications/finance/payment_providers/dpo.rst:45 #: ../../content/applications/finance/payment_providers/flutterwave.rst:44 -#: ../../content/applications/finance/payment_providers/iyzico.rst:31 +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:40 +#: ../../content/applications/finance/payment_providers/iyzico.rst:34 #: ../../content/applications/finance/payment_providers/mercado_pago.rst:39 -#: ../../content/applications/finance/payment_providers/mollie.rst:31 +#: ../../content/applications/finance/payment_providers/mollie.rst:33 #: ../../content/applications/finance/payment_providers/nuvei.rst:87 #: ../../content/applications/finance/payment_providers/paymob.rst:62 #: ../../content/applications/finance/payment_providers/paypal.rst:80 #: ../../content/applications/finance/payment_providers/razorpay.rst:86 #: ../../content/applications/finance/payment_providers/redsys.rst:45 -#: ../../content/applications/finance/payment_providers/sdd.rst:58 -#: ../../content/applications/finance/payment_providers/stripe.rst:118 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:58 +#: ../../content/applications/finance/payment_providers/stripe.rst:11 #: ../../content/applications/finance/payment_providers/worldline.rst:71 #: ../../content/applications/finance/payment_providers/xendit.rst:58 msgid ":doc:`../payment_providers`" msgstr "" -#: ../../content/applications/finance/payment_providers/adyen.rst:13 -msgid "Adyen works only with customers processing **more** than **10 million annually** or invoicing a **minimum** of **1.000** transactions **per month**." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:22 -msgid "First, reach Adyen support to enable :guilabel:`multiple partial capture` for you." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:25 -#: ../../content/applications/finance/payment_providers/authorize.rst:15 -#: ../../content/applications/finance/payment_providers/mollie.rst:14 -msgid "Credentials tab" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:27 -msgid "Odoo needs your **API Credentials** to connect with your Adyen account, which comprise:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:29 -msgid "**Merchant Account**: The code of the merchant account to use with Adyen." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:30 -msgid ":ref:`API Key `: The API key of the webservice user." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:31 -msgid ":ref:`Client Key `: The client key of the webservice user." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:32 -msgid ":ref:`HMAC Key `: The HMAC key of the webhook." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:33 -msgid ":ref:`Checkout API URL `: The base URL for the Checkout API endpoints." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:34 -msgid ":ref:`Recurring API URL `: The base URL for the Recurring API endpoints." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:36 -msgid "You can copy your credentials from your Adyen account, and paste them in the related fields under the **Credentials** tab." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:40 -msgid "If you are trying Adyen as a test, with an Adyen *test account*, head to :menuselection:`Accounting --> Configuration --> Payment Providers`. There, click on :guilabel:`Adyen`, enable :guilabel:`Test Mode` and enter your credentials in the :guilabel:`Credentials` tab." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:48 -msgid "API Key and Client Key" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:50 -msgid "In order to retrieve the API Key and the Client Key, log into your Adyen account, go to :menuselection:`Developers --> API Credentials`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:53 -msgid "If you already have an API user, open it." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:54 -msgid "If you don't have an API user yet, click on **Create new credential**." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:56 -msgid "Go to :menuselection:`Server settings --> Authentification` and copy or generate your **API Key**. Be careful to copy your API key as you'll not be allowed to get it later without generating a new one." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:60 -msgid "Now, head to :menuselection:`Client settings --> Authentification` and cody or generate your **Client Key**. This is also the place where you can :ref:`allow payments to be made from your website `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:67 -msgid "HMAC key" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:69 -msgid "In order to retrieve the HMAC Key, you'll need to configure a `Standard Notification` webhook. For this, log into your Adyen account then go to :menuselection:`Developers --> Webhooks --> Add webhook --> Add Standard notification`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:-1 -msgid "Configure a webhook." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:77 -msgid "There, in :menuselection:`General --> Server configuration --> URL`, enter your server address followed by `/payment/adyen/notification`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:-1 -msgid "Enter the notification URL." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:84 -msgid "Then enter :menuselection:`Security --> HMAC Key --> Generate`. Be careful to copy the key as you will not be allowed to do it later without generating a new one." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:-1 -msgid "Generate a HMAC key and save it." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:91 -msgid "You have to save the webhook to finalize its creation." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:96 -msgid "API URLs" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:98 -msgid "All Adyen API URLs include a customer area-specific prefix generated by Adyen. To configure the URLs, proceed as follows:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:101 -msgid "Log into your Adyen account, then go to :menuselection:`Developers --> API URLs`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:102 -msgid "Copy the :guilabel:`Prefix` for your live Customer area (i.e., **data center**) and save it for later." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:0 -msgid "Copy the prefix for the Adyen APIs" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:108 -msgid "In Odoo, :ref:`navigate to the payment provider Adyen `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:109 -msgid "In the :guilabel:`Checkout API URL` field, enter the following URL and replace `yourprefix` with the prefix you previously saved: `https://yourprefix-checkout-live.adyenpayments.com/checkout`" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:112 -msgid "In the :guilabel:`Recurring API URL` field, enter the following URL and replace `yourprefix` with the prefix you previously saved: `https://yourprefix-pal-live.adyenpayments.com/pal/servlet/Recurring`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:117 -msgid "If you are trying Adyen as a test, you can use the following URLs instead:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:119 -msgid ":guilabel:`Checkout API URL`: `https://checkout-test.adyen.com`" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:120 -msgid ":guilabel:`Recurring API URL`: `https://pal-test.adyen.com/pal/servlet/Recurring`" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:123 -msgid "Adyen Account" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:128 -msgid "Allow payments from a specific origin" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:130 -msgid "To allow payment originated from your website, follow the steps in :ref:`adyen/api_and_client_keys` to navigate to your API user and go to :menuselection:`Add allowed origins`, then add the URLs from where payments will be made (the URLs of the servers hosting your Odoo instances)." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:-1 -msgid "Allows payments originated from a specific domain." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:139 -#: ../../content/applications/finance/payment_providers/authorize.rst:41 -msgid "Place a hold on a card" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:141 -msgid "Adyen allows you to capture an amount manually instead of having an immediate capture." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:143 -msgid "To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the :ref:`payment providers documentation `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:146 -msgid "Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the **Capture Delay** to **manual**." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:-1 -msgid "Capture Delay settings in Adyen" -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:154 -msgid "If you configure Odoo to capture amounts manually, make sure to set the **Capture Delay** to **manual** on Adyen. Otherwise, the transaction will be blocked in the authorized state in Odoo." -msgstr "" - -#: ../../content/applications/finance/payment_providers/adyen.rst:159 -msgid "After **7 days**, if the transaction has not been captured yet, the customer has the right to **revoke** it." -msgstr "" - #: ../../content/applications/finance/payment_providers/amazon_payment_services.rst:3 msgid "Amazon Payment Services" msgstr "" @@ -41029,7 +41385,6 @@ msgstr "" #: ../../content/applications/finance/payment_providers/amazon_payment_services.rst:44 #: ../../content/applications/finance/payment_providers/asiapay.rst:47 #: ../../content/applications/finance/payment_providers/flutterwave.rst:36 -#: ../../content/applications/finance/payment_providers/iyzico.rst:28 #: ../../content/applications/finance/payment_providers/mercado_pago.rst:36 #: ../../content/applications/finance/payment_providers/nuvei.rst:42 #: ../../content/applications/finance/payment_providers/redsys.rst:40 @@ -41110,6 +41465,15 @@ msgstr "" msgid "`Authorize.Net `_ is a United States-based online payment solution provider, allowing businesses to accept **credit cards**." msgstr "" +#: ../../content/applications/finance/payment_providers/authorize.rst:12 +#: ../../content/applications/finance/payment_providers/demo.rst:12 +msgid ":ref:`payment_providers/add_new`" +msgstr "" + +#: ../../content/applications/finance/payment_providers/authorize.rst:15 +msgid "Credentials tab" +msgstr "" + #: ../../content/applications/finance/payment_providers/authorize.rst:17 msgid "Odoo needs your **API Credentials & Keys** to connect with your Authorize.Net account, which comprise:" msgstr "" @@ -41146,6 +41510,10 @@ msgstr "" msgid "Configuration tab" msgstr "" +#: ../../content/applications/finance/payment_providers/authorize.rst:41 +msgid "Place a hold on a card" +msgstr "" + #: ../../content/applications/finance/payment_providers/authorize.rst:43 msgid "With Authorize.Net, you can enable the :ref:`manual capture `. If enabled, the funds are reserved for 30 days on the customer's card, but not charged yet." msgstr "" @@ -41310,6 +41678,138 @@ msgstr "" msgid "List of `eCheck.Net return codes `_" msgstr "" +#: ../../content/applications/finance/payment_providers/bank_payments.rst:11 +msgid "Wire transfer" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:13 +msgid "The **Wire Transfer** payment method allows you to provide payment instructions to customers, such as your bank details and a reference to include with the payment. These instructions are displayed after the customer selects :guilabel:`Wire Transfer` as the payment method and clicks the :guilabel:`Pay now` button at the end of the checkout process on your ecommerce website or on the customer portal." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:20 +msgid "While this method is widely accessible and requires minimal setup, it is not efficient process-wise. It is recommended to set up a :doc:`payment provider <../payment_providers>` instead." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:23 +msgid "Online orders remain in the :guilabel:`Quotation sent` (i.e., unpaid order) stage until you receive the payment and manually :guilabel:`Confirm` the order." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:26 +msgid "To configure **Wire Transfer**, follow these steps:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:28 +msgid ":ref:`Navigate to the Wire Transfer payment provider `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:29 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:84 +msgid "In the :guilabel:`Configuration` tab, select whether the memo or :guilabel:`Communication` to be displayed alongside the payment instructions should be:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:32 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:87 +msgid ":guilabel:`Based on Document Reference`: the sales order or invoice number" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:33 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:88 +msgid ":guilabel:`Based on Customer ID`: the customer identifier" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:35 +msgid "Enable :guilabel:`Enable QR codes` to activate QR code payments." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:38 +#: ../../content/applications/finance/payment_providers/bank_payments.rst:93 +msgid ":doc:`Additional accounting setup <../accounting/customer_invoices/epc_qr_code>` is required to use QR codes." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:41 +msgid "Define the payment instructions in the :guilabel:`Messages` tab. If :doc:`a bank account <../accounting/bank>` has already been defined, the account number is automatically added to the default message generated by Odoo. You can also add it afterward and update the message by clicking :guilabel:`Reload pending message`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:48 +msgid "The **Wire transfer** payment method can serve as a template for other payment methods that are processed manually, such as checks. :ref:`Access the Wire Transfer payment method `, then duplicate it if needed and rename it accordingly." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:55 +msgid "SEPA Direct Debit" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:59 +msgid "SEPA (Single Euro Payments Area) is a payment-integration initiative of the European Union that facilitates standardized and simplified electronic payments in euros across participating countries." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:62 +msgid "SEPA Direct Debit (SDD) is a payment provider that allows future payments to be collected from customers' bank accounts based on a signed :ref:`SEPA Direct Debit mandate `. This is particularly useful for recurring payments based on a :doc:`subscription `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:68 +msgid "To use the SEPA Direct Debit (SDD) payment provider and create :ref:`SEPA Direct Debit mandates `:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:71 +msgid "The invoice being paid must be for an amount in euros." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:72 +msgid "The :guilabel:`SEPA Direct Deposit (SDD)` feature must be enabled, and the company's :guilabel:`Creditor Identifier` must be defined in the :ref:`Accounting or Invoicing settings `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:81 +msgid "To configure **SEPA Direct Debit**, follow these steps:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:83 +msgid ":ref:`Navigate to the SEPA Direct Debit payment provider `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:90 +msgid "Select the :guilabel:`Enable QR codes` check box to activate QR code payments." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:96 +msgid "Edit the default payment instructions in the :guilabel:`Messages` tab to include your **bank account number**. These instructions are displayed at the end of the checkout process on your ecommerce website or on the customer portal." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:102 +msgid "Leave the :guilabel:`Currencies` field set to the default :guilabel:`EUR` tag to ensure |sdd| is only available for payments in euros." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:104 +msgid "The :guilabel:`Bank Account` defined for the :guilabel:`Payment Journal` must be a valid IBAN." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:107 +msgid "You can also test SEPA direct debit payments using the :ref:`payment_providers/test-mode`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:110 +msgid "Online payments with |sdd|" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:112 +msgid "Customers selecting |sdd| as a payment method are prompted to enter their IBAN to complete the :ref:`SEPA Direct Debit mandate `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:115 +msgid "The |sdd| mandate is then automatically created in :guilabel:`Draft` based on the provided IBAN. To validate the information, customers must confirm each new mandate with a successful bank transfer of the expected amount **using the specified payment reference (communication)** defined in the :ref:`SEPA Direct Debit payment provider's form `. Once this initial payment is received and :doc:`reconciled <../accounting/bank/reconciliation>`, the mandate is automatically validated and updated to the :guilabel:`Active` status. Once a mandate is active, it is reused for all subsequent payments made with the |sdd| payment method. You can then collect them by :ref:`uploading them to your online banking interface `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:125 +msgid ":doc:`../accounting/payments/batch_sdd`" +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:128 +msgid "Mandates are automatically :ref:`closed ` 36 months after the date of the last collection." +msgstr "" + +#: ../../content/applications/finance/payment_providers/bank_payments.rst:130 +msgid "|sdd| is also available as a payment method through other providers, such as :doc:`adyen`, :doc:`buckaroo`, and :doc:`stripe`. In these cases, |sdd| mandates are handled externally by the payment provider." +msgstr "" + #: ../../content/applications/finance/payment_providers/buckaroo.rst:3 msgid "Buckaroo" msgstr "" @@ -41394,6 +41894,54 @@ msgstr "" msgid "Transaction's status bar." msgstr "" +#: ../../content/applications/finance/payment_providers/dpo.rst:3 +msgid "DPO Pay" +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:5 +msgid "`DPO Pay `_ is a payment provider based in Africa that operates across multiple countries on the continent." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:11 +msgid "DPO Pay account creation" +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:13 +msgid "`Fill in the DPO Pay onboarding form `_ and upload the required documents." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:15 +msgid "Agree to the :guilabel:`Terms and Conditions` and click :guilabel:`Submit`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:16 +msgid "DPO Pay creates a test account based on the submitted information and sends you an email containing your login credentials for the `DPO portal `_ and the :ref:`test credentials ` to enter in :ref:`Odoo ` if you want to try DPO Pay without affecting live transactions." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:21 +msgid "Once DPO has verified the information and documents, they will transition your test account to a live account and send another email containing your live credentials to configure in :ref:`Odoo `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:30 +msgid ":ref:`Navigate to the payment provider DPO Pay `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:31 +msgid "Fill in the :guilabel:`Service ID` and :guilabel:`Company Token` fields with the :ref:`information received from DPO Pay `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:33 +msgid "Configure the remaining options to your liking." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:34 +msgid "Set the :guilabel:`State` field to :guilabel:`Enabled` (or :guilabel:`Test Mode` if you are trying DPO Pay as a :ref:`test `)." +msgstr "" + +#: ../../content/applications/finance/payment_providers/dpo.rst:38 +msgid "All `payment methods supported by DPO Pay `_ are grouped under the :guilabel:`Card / Mobile` payment method. When they select this payment method, customers are redirected to a DPO Pay page where they can select their preferred payment method. To enable or disable specific payment options, contact `DPO Pay support `_." +msgstr "" + #: ../../content/applications/finance/payment_providers/flutterwave.rst:3 msgid "Flutterwave" msgstr "" @@ -41446,6 +41994,34 @@ msgstr "" msgid "If you choose to allow saving payment methods, it is recommended to only enable card payments from Flutterwave dashboard, as only cards can be saved as payment tokens. To do so, go to your Flutterwave Dashboard and then to :menuselection:`Settings --> Account Settings`." msgstr "" +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:6 +msgid "Sales orders are automatically confirmed when paid using an in-person payment method." +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:11 +msgid "Pay on site" +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:13 +msgid "To allow customers to reserve products online and pay when collecting them in-store, enable and configure the :ref:`Click & Collect feature `. The **Pay on Site** payment provider is automatically enabled and published. To edit the default instructions shown to customers, :ref:`access the payment provider form ` and go to the :guilabel:`Messages` tab." +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:20 +msgid "The method is only available at checkout for customers who select the **Pick up in store** delivery method." +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:26 +msgid "Cash on delivery" +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:28 +msgid "The **Cash on Delivery** payment method allows customers to pay for their order at the time of delivery. To make it available to customers, :doc:`navigate to the relevant delivery method form ` and enable :guilabel:`Cash on Delivery`. The **Cash on Delivery** payment provider is automatically enabled and published. To edit the default instructions shown to customers, :ref:`access the payment provider form ` and go to the :guilabel:`Messages` tab." +msgstr "" + +#: ../../content/applications/finance/payment_providers/inperson_payments.rst:36 +msgid "This method is only available at checkout for customers who select a delivery method with the :guilabel:`Cash on Delivery` feature enabled." +msgstr "" + #: ../../content/applications/finance/payment_providers/iyzico.rst:3 msgid "Iyzico" msgstr "" @@ -41463,11 +42039,15 @@ msgid "Log into the `Iyzico Dashboard `_." msgstr "" #: ../../content/applications/finance/payment_providers/iyzico.rst:13 -msgid "Navigate to :menuselection:`Settings --> Merchant Settings` and copy the values of the :guilabel:`API Key` and :guilabel:`Secret Key` fields and save them for later." +msgid "Navigate to :menuselection:`Settings --> Merchant Settings`." msgstr "" -#: ../../content/applications/finance/payment_providers/iyzico.rst:15 -msgid "In the same Merchant Settings page, Find and enable :guilabel:`Merchant Notifications` section." +#: ../../content/applications/finance/payment_providers/iyzico.rst:14 +msgid "Copy the values of the :guilabel:`API Key` and :guilabel:`Secret Key` fields and save them for the :ref:`payment_providers/iyzico/configure-odoo` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/iyzico.rst:16 +msgid "On the same :guilabel:`Merchant Settings` page, enable :guilabel:`Merchant Notifications`." msgstr "" #: ../../content/applications/finance/payment_providers/iyzico.rst:0 @@ -41478,12 +42058,12 @@ msgstr "" msgid "For example: `https://example.odoo.com/payment/iyzico/webhook`." msgstr "" -#: ../../content/applications/finance/payment_providers/iyzico.rst:24 -msgid ":ref:`Navigate to the payment provider Iyzico ` and change its state to :guilabel:`Enabled`." +#: ../../content/applications/finance/payment_providers/iyzico.rst:27 +msgid ":ref:`Navigate to the payment provider Iyzico `." msgstr "" -#: ../../content/applications/finance/payment_providers/iyzico.rst:26 -msgid "In the :guilabel:`Credentials` tab, fill the :guilabel:`API Key`, and :guilabel:`Secret Key`, with the values you saved at the step :ref:`payment_providers/iyzico/configure_dashboard`." +#: ../../content/applications/finance/payment_providers/iyzico.rst:28 +msgid "In the :guilabel:`Credentials` tab, fill the :guilabel:`API Key` and :guilabel:`Secret Key` fields with the values you saved at the step :ref:`payment_providers/iyzico/configure-dashboard`." msgstr "" #: ../../content/applications/finance/payment_providers/mercado_pago.rst:3 @@ -41538,24 +42118,33 @@ msgstr "" msgid "`Mollie `_ is an online payments platform established in the Netherlands." msgstr "" +#: ../../content/applications/finance/payment_providers/mollie.rst:10 +msgid "Mollie configuration" +msgstr "" + +#: ../../content/applications/finance/payment_providers/mollie.rst:12 +msgid "`Create a Mollie account `_ if necessary and log in to the `Mollie Dashboard `_." +msgstr "" + +#: ../../content/applications/finance/payment_providers/mollie.rst:15 +msgid "Go to :menuselection:`Payments` in the top menu, then click :guilabel:`API keys`." +msgstr "" + #: ../../content/applications/finance/payment_providers/mollie.rst:16 -msgid "Odoo needs your **API Credentials** to connect with your Mollie account, which comprise:" +msgid ":guilabel:`Copy` the :guilabel:`Live API Key` (or the :guilabel:`Test API Key` if you wish to test the integration without affecting live transactions) and save it for the :ref:`payment_providers/mollie/configure_odoo` step." msgstr "" -#: ../../content/applications/finance/payment_providers/mollie.rst:18 -msgid "**API Key**: The test or live API Key depending on the configuration of the provider." +#: ../../content/applications/finance/payment_providers/mollie.rst:25 +msgid ":ref:`Navigate to the payment provider Mollie `" msgstr "" -#: ../../content/applications/finance/payment_providers/mollie.rst:20 -msgid "You can copy your credentials from your Mollie account, and paste them in the related fields under the **Credentials** tab." +#: ../../content/applications/finance/payment_providers/mollie.rst:26 +msgid "Fill in the :guilabel:`API Key` with the value :ref:`previously saved `." msgstr "" -#: ../../content/applications/finance/payment_providers/mollie.rst:23 -msgid "To retrieve your API key, log into your Mollie account, go to :menuselection:`Developers --> API keys`, and copy your Test or Live **API Key**." -msgstr "" - -#: ../../content/applications/finance/payment_providers/mollie.rst:27 -msgid "If you are trying Mollie as a test, with the Test API key, change the **State** to *Test Mode*. We recommend doing this on a test Odoo database, rather than on your main database." +#: ../../content/applications/finance/payment_providers/mollie.rst:29 +#: ../../content/applications/finance/payment_providers/redsys.rst:41 +msgid "Set the :guilabel:`State` field to :guilabel:`Enabled` (or :guilabel:`Test Mode` if you want to :ref:`test the integration without affecting live transactions `)." msgstr "" #: ../../content/applications/finance/payment_providers/nuvei.rst:3 @@ -41785,11 +42374,6 @@ msgstr "" msgid "If a payment method is added to the Paymob dashboard **after** synchronization, click :guilabel:`Synchronize with Paymob` again to make it available in Odoo." msgstr "" -#: ../../content/applications/finance/payment_providers/paymob.rst:59 -#: ../../content/applications/finance/payment_providers/razorpay.rst:75 -msgid "Configure the remaining options as needed." -msgstr "" - #: ../../content/applications/finance/payment_providers/paypal.rst:3 msgid "PayPal" msgstr "" @@ -42074,106 +42658,6 @@ msgstr "" msgid "Fill in the :guilabel:`Merchant Code`, :guilabel:`Merchant Terminal`, and :guilabel:`Secret Key` fields with the information saved at the step :ref:`payment_providers/redsys/configure_redsys`." msgstr "" -#: ../../content/applications/finance/payment_providers/redsys.rst:41 -msgid "Set the :guilabel:`State` field to :guilabel:`Enabled` (or :guilabel:`Test Mode` if you want to :ref:`test the integration without affecting live transactions `)." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:3 -msgid "SEPA Direct Debit" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:7 -msgid "SEPA (Single Euro Payments Area) is a payment-integration initiative of the European Union that facilitates standardized and simplified electronic payments in euros across participating countries." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:10 -msgid "SEPA Direct Debit (SDD) is a payment provider that allows future payments to be collected from customers' bank accounts based on a signed :ref:`SEPA Direct Debit mandate `. This is particularly useful for recurring payments based on a :doc:`subscription `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:16 -msgid "To use the SEPA Direct Debit (SDD) payment provider and create :ref:`SEPA Direct Debit mandates `:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:19 -msgid "The invoice being paid must be for an amount in euros." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:20 -msgid "The :guilabel:`SEPA Direct Deposit (SDD)` feature must be enabled, and the company's :guilabel:`Creditor Identifier` must be defined in the :ref:`Accounting or Invoicing settings `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:29 -msgid "To configure **SEPA Direct Debit**, follow these steps:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:31 -msgid ":ref:`Navigate to the SEPA Direct Debit payment provider `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:32 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:32 -msgid "In the :guilabel:`Configuration` tab, select whether the memo or :guilabel:`Communication` to be displayed alongside the payment instructions should be:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:35 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:35 -msgid ":guilabel:`Based on Document Reference`: the sales order or invoice number" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:36 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:36 -msgid ":guilabel:`Based on Customer ID`: the customer identifier" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:38 -msgid "Select the :guilabel:`Enable QR codes` check box to activate QR code payments." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:41 -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:41 -msgid ":doc:`Additional accounting setup <../accounting/customer_invoices/epc_qr_code>` is required to use QR codes." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:44 -msgid "Edit the default payment instructions in the :guilabel:`Messages` tab to include your **bank account number**. These instructions are displayed at the end of the checkout process on your ecommerce website or on the customer portal." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:50 -msgid "Leave the :guilabel:`Currencies` field set to the default :guilabel:`EUR` tag to ensure |sdd| is only available for payments in euros." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:52 -msgid "The :guilabel:`Bank Account` defined for the :guilabel:`Payment Journal` must be a valid IBAN." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:55 -msgid "You can also test SEPA direct debit payments using the :ref:`payment_providers/test-mode`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:61 -msgid "Online payments with |sdd|" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:63 -msgid "Customers selecting |sdd| as a payment method are prompted to enter their IBAN to complete the :ref:`SEPA Direct Debit mandate `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:66 -msgid "The |sdd| mandate is then automatically created in :guilabel:`Draft` based on the provided IBAN. To validate the information, customers must confirm each new mandate with a successful bank transfer of the expected amount **using the specified payment reference (communication)** defined in the :ref:`SEPA Direct Debit payment provider's form `. Once this initial payment is received and :doc:`reconciled <../accounting/bank/reconciliation>`, the mandate is automatically validated and updated to the :guilabel:`Active` status. Once a mandate is active, it is reused for all subsequent payments made with the |sdd| payment method. You can then collect them by :ref:`uploading them to your online banking interface `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:76 -msgid ":doc:`../accounting/payments/batch_sdd`" -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:79 -msgid "Mandates are automatically :ref:`closed ` 36 months after the date of the last collection." -msgstr "" - -#: ../../content/applications/finance/payment_providers/sdd.rst:81 -msgid "|sdd| is also available as a payment method through other providers, such as :doc:`adyen`, :doc:`buckaroo`, and :doc:`stripe`. In these cases, |sdd| mandates are handled externally by the payment provider." -msgstr "" - #: ../../content/applications/finance/payment_providers/stripe.rst:3 msgid "Stripe" msgstr "" @@ -42190,203 +42674,110 @@ msgstr "" msgid "`List of payment methods supported by Stripe `_" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:13 -msgid "Create your Stripe account with Odoo" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:15 -msgid "The method to acquire your credentials depends on your hosting type:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:18 -msgid "Odoo Online" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:20 -#: ../../content/applications/finance/payment_providers/stripe.rst:29 -msgid ":ref:`Navigate to the payment provider Stripe ` and click :guilabel:`Connect Stripe`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:22 -#: ../../content/applications/finance/payment_providers/stripe.rst:31 -msgid "Go through the setup process and confirm your email address when Stripe sends you a confirmation email." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:24 -msgid "At the end of the process, click :guilabel:`Agree and submit`. If all requested information has been submitted, you are then redirected to Odoo, and your payment provider is enabled." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:27 -msgid "Odoo.sh or On-premise" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:33 -msgid "At the end of the process, click :guilabel:`Agree and submit`; you are then redirected to the payment provider **Stripe** in Odoo." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:35 -msgid ":ref:`Fill in your credentials `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:36 -msgid ":ref:`Generate a webhook `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:40 -msgid "To use an existing Stripe account, :ref:`activate the Developer mode ` and :ref:`enable Stripe manually `. You can then :ref:`Fill in your credentials `, :ref:`generate a webhook `, and enable the payment provider." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:44 -msgid "You can also test Stripe using the :ref:`payment_providers/test-mode`. To do so, first, `log into your Stripe dashboard `_ and switch to the **Test mode**. Then, in Odoo, :ref:`activate the Developer mode `, :ref:`navigate to the payment provider Stripe `, :ref:`fill in your API credentials ` with the test keys, and set the :guilabel:`State` field to :guilabel:`Test Mode`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:54 -msgid "Fill in your credentials" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:56 -msgid "If your **API credentials** are required to connect with your Stripe account, proceed as follows:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:58 -msgid "Go to `the API keys page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> API Keys`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:60 -msgid "In the :guilabel:`Standard keys` section, copy the :guilabel:`Publishable key` and the :guilabel:`Secret key` and save them for later." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:62 -#: ../../content/applications/finance/payment_providers/stripe.rst:101 -msgid "In Odoo, :ref:`navigate to the payment provider Stripe `." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:63 -msgid "In the :guilabel:`Credentials` tab, fill in the :guilabel:`Publishable Key` and :guilabel:`Secret Key` fields with the values you previously saved." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:69 -msgid "Generate a webhook" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:71 -msgid "If your **Webhook Signing Secret** is required to connect with your Stripe account, you can create a webhook automatically or manually." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:75 -msgid "Create the webhook automatically" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:77 -msgid "Make sure your :ref:`Publishable and Secret keys ` are filled in, then click :guilabel:`Generate your webhook`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:80 -msgid "Create the webhook manually" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:82 -msgid "Go to the `Webhooks page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:84 -msgid "In the :guilabel:`Hosted endpoints` section, click :guilabel:`Add endpoint`. Then, in the :guilabel:`Endpoint URL` field, enter your Odoo database's URL, followed by `/payment/stripe/webhook`, e.g., `https://yourcompany.odoo.com/payment/stripe/webhook`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:87 -msgid "Click :guilabel:`Select events` at the bottom of the form, then select the following events:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:90 -msgid "in the :guilabel:`Charge` section: :guilabel:`charge.refunded` and :guilabel:`charge.refund.updated`;" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:92 -msgid "in the :guilabel:`Payment intent` section: :guilabel:`payment_intent.amount_capturable_updated`, :guilabel:`payment_intent.payment_failed`, :guilabel:`payment_intent.processing`, and :guilabel:`payment_intent.succeeded`;" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:96 -msgid "in the :guilabel:`Setup intent` section: :guilabel:`setup_intent.succeeded`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:98 -msgid "Click :guilabel:`Add events`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:99 -msgid "Click :guilabel:`Add endpoint`, then click :guilabel:`Reveal` and save your :guilabel:`Signing secret` for later." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:103 -msgid "In the :guilabel:`Credentials` tab, fill the :guilabel:`Webhook Signing Secret` field with the value you previously saved." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:107 -msgid "You can select other events, but they are currently not processed by Odoo." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:110 -msgid "Enable Apple Pay" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:112 -msgid "To allow customers to use the Apple Pay button to pay their eCommerce orders, go to the :guilabel:`Configuration` tab, enable :guilabel:`Allow Express Checkout`, and click :guilabel:`Enable Apple Pay`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:117 -msgid ":ref:`Express checkout and Google Pay `" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:119 +#: ../../content/applications/finance/payment_providers/stripe.rst:12 msgid ":doc:`Use Stripe as a payment terminal in Point of Sale <../../sales/point_of_sale/payment_methods/terminals/stripe>`" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:3 -msgid "Wire transfers" +#: ../../content/applications/finance/payment_providers/stripe.rst:18 +msgid "Create your Stripe account with Odoo" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:5 -msgid "The **Wire Transfer** payment method allows you to provide payment instructions to your customers, such as your bank details and a reference to include with the payment. These instructions are displayed after the customer selects :guilabel:`Wire Transfer` as the payment method and clicks the :guilabel:`Pay now` button at the end of the checkout process on your ecommerce website or on the customer portal." +#: ../../content/applications/finance/payment_providers/stripe.rst:20 +msgid "To create a new Stripe account and link it to your Odoo database, make sure the company's :guilabel:`Email` is configured in the :ref:`company's settings `, then follow the steps below according to your hosting type:" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:-1 -msgid "Payment instructions on the customer portal" +#: ../../content/applications/finance/payment_providers/stripe.rst:25 +msgid "Odoo Online" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:16 -msgid "While this method is widely accessible and requires minimal setup, it is not efficient process-wise. It is recommended to set up a :doc:`payment provider <../payment_providers>` instead." +#: ../../content/applications/finance/payment_providers/stripe.rst:27 +#: ../../content/applications/finance/payment_providers/stripe.rst:36 +msgid ":ref:`Navigate to the payment provider Stripe ` and click :guilabel:`Connect Stripe`." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:19 -msgid "Online orders remain in the :guilabel:`Quotation sent` (i.e., unpaid order) stage until you receive the payment and manually :guilabel:`Confirm` the order." +#: ../../content/applications/finance/payment_providers/stripe.rst:29 +#: ../../content/applications/finance/payment_providers/stripe.rst:38 +msgid "Go through the setup process and confirm your email address when Stripe sends you a confirmation email." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:23 -msgid "**Wire transfer** can be used as a template for other payment methods that are processed manually, such as checks, by renaming or duplicating it." +#: ../../content/applications/finance/payment_providers/stripe.rst:31 +msgid "At the end of the process, click :guilabel:`Agree and submit`. If all requested information has been submitted, you are then redirected to Odoo, and your payment provider is enabled." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:29 -msgid "To configure **Wire Transfer**:" +#: ../../content/applications/finance/payment_providers/stripe.rst:34 +msgid "Odoo.sh or On-premise" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:31 -msgid ":ref:`Navigate to the Wire Transfer payment provider `." +#: ../../content/applications/finance/payment_providers/stripe.rst:40 +msgid "At the end of the process, click :guilabel:`Agree and submit`; you are then redirected to the payment provider **Stripe** in Odoo." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:38 -msgid "Enable :guilabel:`Enable QR codes` to activate QR code payments." +#: ../../content/applications/finance/payment_providers/stripe.rst:42 +msgid ":ref:`Fill in your credentials `." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:44 -msgid "Define the payment instructions in the :guilabel:`Messages` tab. If :doc:`a bank account <../accounting/bank>` has already been defined, the account number is automatically added to the default message generated by Odoo. You can also add it afterward and update the message by clicking :guilabel:`Reload pending message`." +#: ../../content/applications/finance/payment_providers/stripe.rst:46 +msgid "If you have created an account instead of :ref:`linking an existing one `, :ref:`enable the developer mode `, then click :guilabel:`Reset your Stripe Account` on the Stripe payment provider form, then :ref:`fill in your Stripe account's credentials `." msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:0 -msgid "Define payment instructions" +#: ../../content/applications/finance/payment_providers/stripe.rst:54 +msgid "Manual credential input" msgstr "" -#: ../../content/applications/finance/payment_providers/wire_transfer.rst:55 -msgid "You can also test wire transfers using the :ref:`payment_providers/test-mode`." +#: ../../content/applications/finance/payment_providers/stripe.rst:56 +msgid "Manual credential input is needed, for example, when linking an existing Stripe account to your Odoo database, when using an account :ref:`created on Odoo.sh or On-premise `, or when :ref:`testing Stripe without affecting live transactions `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:64 +msgid "Stripe configuration" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:66 +msgid "Go to `the API keys page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> API Keys`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:68 +msgid "In the :guilabel:`Standard keys` section, copy the :guilabel:`Publishable key` and the :guilabel:`Secret key` and save them for the :ref:`payment_providers/stripe/odoo-configuration` step." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:77 +msgid ":ref:`Enable the developer mode `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:78 +msgid ":ref:`Navigate to the Stripe payment provider `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:79 +msgid "In the :guilabel:`Credentials` tab, fill in the :guilabel:`Publishable Key` and :guilabel:`Secret Key` fields with the values you :ref:`previously saved `." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:82 +msgid "Click :guilabel:`Generate your webhook`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:87 +msgid "You can also test Stripe without affecting live transactions using the :ref:`test mode ` and the :ref:`API keys ` of your `Stripe account's Test Mode or a sandbox environment `_." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:91 +msgid "To link the same Stripe account to :doc:`multiple companies ` in a database, :ref:`create an account ` and :ref:`fill in the credentials ` for one company, then reuse the same credentials and webhook for the others. To view the webhook, go to the `Webhooks page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Click the destination in the list, then click the :icon:`fa-eye` (:guilabel:`Reveal secret`) icon next to the :guilabel:`Signing secret` field and copy the value." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:102 +msgid "Enable Apple Pay" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:104 +msgid "To allow customers to use the Apple Pay button to pay for their eCommerce orders, :ref:`navigate to the Stripe payment provider `, then go to the :guilabel:`Configuration` tab, enable :guilabel:`Allow Express Checkout`, and click :guilabel:`Enable Apple Pay`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:110 +msgid ":ref:`Express checkout and Google Pay `" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:113 +msgid "Stripe allows to :ref:`manually capture ` and :ref:`refund ` payments either from Odoo or directly from the Stripe dashboard." msgstr "" #: ../../content/applications/finance/payment_providers/worldline.rst:3 diff --git a/locale/sources/general.pot b/locale/sources/general.pot index 3e7912a33..c74664148 100644 --- a/locale/sources/general.pot +++ b/locale/sources/general.pot @@ -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 \n" "Language-Team: LANGUAGE \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 `_." +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 ` or :doc:`Outlook with Microsoft 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 `. 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 `. 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 `." 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 `_ 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 `_, 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 ` and :ref:`update the scale's drivers `." +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 `_, 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 ` and :ref:`update the scale's drivers `." 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 `." +#: ../../content/applications/general/users/portal.rst:69 +msgid ":doc:`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 `." 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 `." 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 `." 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 "" diff --git a/locale/sources/hr.pot b/locale/sources/hr.pot index b713974a3..a8d243b13 100644 --- a/locale/sources/hr.pot +++ b/locale/sources/hr.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -2404,6 +2404,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:67 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:86 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:69 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:58 #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:35 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:89 msgid "Employees" @@ -3677,6 +3678,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:106 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:131 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:103 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:83 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:125 msgid "Payroll tab" msgstr "" @@ -7808,7 +7810,6 @@ msgid "This tab **only** appears after an :guilabel:`Employee` is selected. Addi msgstr "" #: ../../content/applications/hr/payroll/contracts.rst:235 -#: ../../content/applications/hr/payroll/salary_attachments.rst:3 msgid "Salary attachments" msgstr "" @@ -8329,7 +8330,7 @@ msgid "Switzerland" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations.rst:94 -msgid "Türkiye" +msgid ":doc:`Türkiye `" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations.rst:95 @@ -11679,6 +11680,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/belgium.rst:1505 #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:146 #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:225 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:254 msgid "Tax brackets" msgstr "" @@ -14709,6 +14711,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:21 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:28 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:28 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:23 #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:20 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:39 msgid "Name" @@ -14718,6 +14721,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:22 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:29 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:29 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:24 #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:21 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:40 msgid "Technical name" @@ -14727,6 +14731,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:24 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:31 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:31 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:26 #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:22 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:42 msgid "Description" @@ -14797,6 +14802,7 @@ msgid ":guilabel:`Total Number of Days`: Refers to the number of days used to ca msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:65 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:216 msgid "Social insurance" msgstr "" @@ -14891,6 +14897,7 @@ msgid "Death leave" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:140 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:237 msgid "Income tax" msgstr "" @@ -14954,6 +14961,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:175 #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:239 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:264 msgid "15%" msgstr "" @@ -14968,6 +14976,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/egypt.rst:182 #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:241 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:266 msgid "20%" msgstr "" @@ -15992,6 +16001,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:13 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:20 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:20 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:15 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:31 msgid "Apps & modules" msgstr "" @@ -16003,6 +16013,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:23 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:30 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:30 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:25 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:41 msgid "Dependencies" msgstr "" @@ -16018,6 +16029,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:27 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:34 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:34 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:29 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:45 msgid "hr_payroll" msgstr "" @@ -16044,6 +16056,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:33 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:45 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:41 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:34 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:53 msgid "hr_payroll_account" msgstr "" @@ -16070,6 +16083,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:47 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:52 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:41 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:64 msgid "General configurations" msgstr "" @@ -16077,6 +16091,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:49 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:61 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:54 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:43 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:66 msgid "First, the company must be configured. Navigate to :menuselection:`Settings app --> Users & Companies --> Companies`. From the list, select the desired company, and configure the following fields:" msgstr "" @@ -16084,6 +16099,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:53 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:65 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:58 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:47 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:70 msgid ":guilabel:`Company Name`: Enter the business name in this field." msgstr "" @@ -16115,6 +16131,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:72 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:91 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:74 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:63 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:94 msgid "To update an employee form, open the :menuselection:`Employees` app and click on the desired employee record. On the employee form, configure the required fields in the related tabs." msgstr "" @@ -16122,6 +16139,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:76 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:95 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:78 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:67 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:98 msgid "Work tab" msgstr "" @@ -16129,6 +16147,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:78 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:97 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:80 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:69 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:100 msgid "Enter the :guilabel:`Work Address` for the employee in the :guilabel:`Location` section of the :guilabel:`Work` tab." msgstr "" @@ -16136,6 +16155,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:82 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:105 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:84 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:73 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:108 msgid "Personal tab" msgstr "" @@ -16143,12 +16163,14 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:84 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:107 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:89 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:75 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:110 msgid "Ensure the employee has a minimum of one :ref:`trusted bank account ` listed in the :guilabel:`Bank Accounts` field in the :guilabel:`Private Contact` section." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:87 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:110 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:78 msgid "These accounts are used to pay the employee. Payroll **cannot** be processed for employees without a *trusted* :ref:`bank account `. If no trusted bank account is set, a warning appears on the **Payroll** dashboard and an error occurs when attempting to run payroll." msgstr "" @@ -16171,6 +16193,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:109 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:134 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:106 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:88 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:128 msgid "Contract overview section" msgstr "" @@ -16178,6 +16201,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:111 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:136 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:108 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:90 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:130 msgid "This section holds information that drives salary calculations. Ensure the following fields are configured:" msgstr "" @@ -16189,6 +16213,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:116 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:141 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:113 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:94 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:135 msgid ":guilabel:`Wage Type`: Select how the employee is paid." msgstr "" @@ -16196,6 +16221,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:118 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:143 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:115 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:96 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:137 msgid "Select :guilabel:`Fixed Wage` for salaried employees who receive the same amount each pay period." msgstr "" @@ -16203,6 +16229,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:120 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:145 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:117 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:98 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:139 msgid "Select :guilabel:`Hourly Wage` for employees paid based on hours worked." msgstr "" @@ -16210,6 +16237,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:123 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:148 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:120 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:101 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:142 msgid "Set a default :guilabel:`Wage Type` in the salary :ref:`Structure Type ` to configure employees in bulk. If needed, the default can be overridden on individual employee records if exceptions are needed." msgstr "" @@ -16233,6 +16261,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 msgid "The contract overview section of the employee form of the payroll tab." msgstr "" @@ -16240,30 +16269,35 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:139 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:167 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:134 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:121 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:160 msgid "Schedule section" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:141 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:136 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:123 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:162 msgid ":guilabel:`Work Entry Source`: Defines how :doc:`work entries <../work_entries>` are generated for payroll during the specified pay period. The options are:" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:144 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:139 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:126 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:165 msgid ":guilabel:`Working Schedule`: Based on the employee's assigned :ref:`working schedule ` (e.g., 40 hours per week)." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:146 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:141 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:128 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:167 msgid ":guilabel:`Attendances`: Based on :doc:`approved checked-in hours <../../attendances/management>` in the **Attendances** app." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:148 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:143 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:130 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:169 msgid ":guilabel:`Planning`: Based on :ref:`scheduled shifts ` in the **Planning** app." msgstr "" @@ -16369,10 +16403,12 @@ msgid "In Jordan, employees are subject to a progressive income tax system, wher msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:233 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:262 msgid "Taxable Bracket" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:234 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:263 msgid "Range" msgstr "" @@ -16517,6 +16553,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:336 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:296 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:192 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:138 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:301 msgid "Payroll configuration" msgstr "" @@ -16528,6 +16565,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:342 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:328 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:219 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:144 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:307 msgid "Salary structures & structure types" msgstr "" @@ -16548,6 +16586,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:357 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:345 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:235 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:159 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:322 #: ../../content/applications/hr/payroll/salaries.rst:176 msgid "Salary rules" @@ -16571,6 +16610,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:371 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:359 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:249 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:175 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:397 #: ../../content/applications/hr/payroll/salaries.rst:258 msgid "Rule parameters" @@ -16578,6 +16618,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:373 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:251 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:177 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:399 msgid "Some calculations require specific rates associated with them, or wage caps. *Rules Parameters* are capable of listing a value, either a percentage or a fixed amount, to reference in the salary rules." msgstr "" @@ -16596,6 +16637,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:383 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:368 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:257 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:183 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:409 msgid "To view rule parameters, navigate to :menuselection:`Payroll app --> Configuration --> Rule Parameters`. Here, all rule parameters are displayed with their linked :guilabel:`Salary Rules`, which can be accessed. Review the parameters associated with a rule by looking for the :guilabel:`Name` of the rule, and make any edits as needed." msgstr "" @@ -16611,12 +16653,14 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:397 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:409 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:284 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:339 msgid "Before running payroll, the payroll officer must validate employee :doc:`work entries <../work_entries>` to confirm pay accuracy and catch errors. This includes checking that all time off is approved and any overtime is appropriate." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:401 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:413 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:288 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:343 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:433 msgid "Work entries sync based on the employee's :doc:`contract <../contracts>` configuration. Odoo pulls from the assigned working schedule, attendance records, planning schedule, and approved time off." msgstr "" @@ -16630,6 +16674,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:407 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:419 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:294 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:349 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:439 msgid "Once everything is correct, draft payslips can be :ref:`created individually ` or in :doc:`batches <../batches>`, referred to in the **Payroll** app as *Pay Runs*." msgstr "" @@ -16637,6 +16682,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 msgid "The work entries for a pay run, with some time off entered in the work entries." msgstr "" @@ -16644,11 +16690,13 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:414 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:426 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:301 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:356 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:446 msgid "To cut down on the payroll officer's time, it is typical to process payslips in batches, either by wage type (fixed salary vs hourly), pay schedule (weekly, bi-weekly, monthly, etc.), department (direct cost vs. administration), or any other grouping that best suits the company." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:418 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:360 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:450 msgid "The process of running payroll includes different actions that need to be executed to ensure that the amount withheld from payroll taxes is correct, the amount that the employee receives as their net salary is correct, and the computation of hours worked reflects the employee's actual hours worked, among others." msgstr "" @@ -16656,17 +16704,20 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:423 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:435 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:310 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:365 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:455 msgid "When running a payroll batch, check that the period, company, and employees included are correct *before* starting to analyze or validate the data." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:426 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:313 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:368 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:458 msgid "Once the payslips are drafted, review them for accuracy. Check the :guilabel:`Worked Days & Inputs` tab, and ensure the listed worked time is correct, as well as any other inputs. Add any missing inputs, such as commissions, tips, reimbursements, that are missing." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:430 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:372 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:462 msgid "Next, check the various totals (gross pay, employee taxes, benefits, employer taxes, net salaries), then click :guilabel:`Compute Sheet` to update the salary calculations, if there were edits. If everything is correct, click :guilabel:`Validate`." msgstr "" @@ -16674,6 +16725,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 msgid "The worked days tab of a payslip." msgstr "" @@ -16681,6 +16733,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:438 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:451 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:325 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:380 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:470 msgid "Accounting check" msgstr "" @@ -16692,6 +16745,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:446 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:459 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:333 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:388 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:478 msgid "Journal entry creation" msgstr "" @@ -16699,6 +16753,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:448 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:461 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:335 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:390 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:480 msgid "After payslips are confirmed and validated, journal entries are posted either individually, or in a batch. The journal entry is created first as a draft." msgstr "" @@ -16706,6 +16761,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:452 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:465 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:339 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:394 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:484 msgid "It must be decided if journal entries are done individually or in batches *before* running payroll." msgstr "" @@ -16713,6 +16769,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 msgid "All payslips in a draft state." msgstr "" @@ -16794,6 +16851,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:496 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:512 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:382 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:403 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:516 msgid "Register Payments" msgstr "" @@ -16805,6 +16863,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:500 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:391 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:412 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:525 msgid "Payments can be :guilabel:`Grouped by Partner` if there is a partner associated with a salary rule." msgstr "" @@ -16812,6 +16871,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:-1 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:-1 msgid "Payslips with a status of paid." msgstr "" @@ -16819,6 +16879,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:506 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:537 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:397 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:418 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:531 msgid "Close Payroll" msgstr "" @@ -16826,6 +16887,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/jordan.rst:508 #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:539 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:399 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:420 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:533 msgid "If there are no errors, payroll is completed for the pay period." msgstr "" @@ -16951,12 +17013,14 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:79 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:65 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:54 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:82 msgid ":guilabel:`Phone`: Enter the company phone number." msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:80 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:66 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:55 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:83 msgid ":guilabel:`Email`: Enter the email used for general contact information." msgstr "" @@ -17036,6 +17100,7 @@ msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/mexico.rst:179 #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:148 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:133 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:174 msgid ":guilabel:`Working Hours`: Using the drop-down menu, select the default work schedule. This is particularly important for employees available to receive overtime pay (typically hourly employees, not salaried)." msgstr "" @@ -17450,6 +17515,7 @@ msgid "l10n_sa_hr_payroll" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:44 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:37 #: ../../content/applications/hr/payroll/payroll_localizations/united_states.rst:56 msgid "Links payroll and accounting by creating journal entries (per payslip if needed) to record payroll in the company's books." msgstr "" @@ -17614,6 +17680,7 @@ msgid "Run Saudi Arabia payroll" msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:291 +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:346 msgid "Any :ref:`discrepancies or conflicts ` must be resolved, then the work entries can be :ref:`regenerated `." msgstr "" @@ -17718,6 +17785,7 @@ msgid "Employees can take out *loans* against their salary and repay the loan wi msgstr "" #: ../../content/applications/hr/payroll/payroll_localizations/saudi_arabia.rst:422 +#: ../../content/applications/hr/payroll/salary_attachments.rst:60 msgid "Create a salary adjustment" msgstr "" @@ -17906,6 +17974,330 @@ msgstr "" msgid "Once all fields are configured, click :guilabel:`Generate`, and the WPS report is created." msgstr "" +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:3 +msgid "Türkiye" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:5 +msgid "The Türkiye payroll localization covers salary computations for employees, including both employee and employer payroll taxes. It accounts for federal and state regulations." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:8 +msgid "Before configuring the Türkiye localization, refer to the general :doc:`payroll <../../payroll>` documentation, which includes the basic information for all localizations, as well as all universal settings and fields." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:17 +msgid ":ref:`Install ` the following modules to get all the features of the Türkiye payroll localization:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:27 +msgid ":guilabel:`Türkiye - Payroll`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:28 +msgid "`l10n_tr_hr_payroll`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:30 +msgid "Includes all salary rules, leave logic, and compensation rules compliant with Türkiye labor laws." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:32 +msgid ":guilabel:`Türkiye - Payroll with Accounting`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:33 +msgid "`l10n_tr_hr_payroll_account`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:35 +msgid "l10n_tr_hr_payroll_account" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:36 +msgid "l10n_tr_hr_payroll" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:48 +msgid ":guilabel:`Address`: Complete the full address, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`ZIP`, and :guilabel:`Country`." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:50 +msgid ":guilabel:`Tax ID`: Enter the company's tax ID." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:51 +msgid ":guilabel:`Company ID` : Enter the business's ID number." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:52 +msgid ":guilabel:`Currency`: By default, :abbr:`TRY (Turkish lira)` is selected. If not, select :guilabel:`TRY` from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:60 +msgid "Every employee being paid must have their employee profiles configured for the Türkiye payroll localization. Additional fields are present after configuring the database for Türkiye." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:93 +msgid ":guilabel:`Contract`: Ensure a contract start date is entered in the first field." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:105 +msgid ":guilabel:`Net to Gross`: Leave this box unchecked if the gross salary is based on a fixed gross and a dynamically computed net (Gross to Net). Activate this option if the gross salary is based on a fixed net and a dynamically computed gross (Net to Gross)." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:108 +msgid ":guilabel:`Wage`: If :guilabel:`Net to Gross` is unchecked, this field displays :guilabel:`Wage`. If it is checked, this field displays :guilabel:`Net Wage`. Enter the monthly amount earned by the employee." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:111 +msgid ":guilabel:`Employee Type`: May affect the working hours for the employee." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:112 +msgid ":guilabel:`Contract Type`: Determines how the employee is paid and classified, such as :guilabel:`Permanent`, :guilabel:`Temporary`, or :guilabel:`Student`." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:114 +msgid ":guilabel:`Pay Category`: Select :guilabel:`Türkiye: Employee` for this field. This defines when the employee is paid, their default working schedule, and the work entry type it applies to." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:140 +msgid "Several sections within the **Payroll** app install a Salary Structure, Structure Type, Rules, and Parameters specific to Türkiye." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:146 +msgid "When the **l10n_tr_payroll** module is :ref:`installed `, a new :guilabel:`Salary Structure` gets installed, :guilabel:`Türkiye: Regular Pay`. This structure includes one :guilabel:`Structure Type`, :guilabel:`Türkiye: Employee`." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:150 +msgid "The :guilabel:`Salary Structure` contains all the individual :ref:`salary rules ` that informs the **Payroll** app how to calculate employee payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 +msgid "The Türkiye salary structure in the salary structures list." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:161 +msgid "To view the salary rules that inform the salary structure what to do, navigate to :menuselection:`Payroll app --> Configuration --> Structures` and expand the :guilabel:`Türkiye: Employee` group to reveal the :guilabel:`Türkiye: Monthly Pay` structure type. Click :guilabel:`Türkiye: Monthly Pay` to view the detailed salary rules." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:-1 +msgid "The top portion of the Türkiye salary rules." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:169 +msgid "Each rule defines how pay is calculated, taking into account factors such as commissions, bonuses, taxes, and insurance." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:180 +msgid "Most rules pull information stored in the parameters module to get the rate of the rule (a percentage) and the cap (a monetary amount)." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:188 +msgid "Ensure the following rules parameters are up to date with current rules and regulations:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:190 +msgid ":guilabel:`Türkiye Minimum Wage`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:191 +msgid ":guilabel:`Türkiye SSI Base Amount Ceiling`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:192 +msgid ":guilabel:`Türkiye Tax Exemption Amount`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:193 +msgid ":guilabel:`Türkiye Stamp Tax Percentage`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:194 +msgid ":guilabel:`Türkiye Tax Bracket Rates`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:195 +msgid ":guilabel:`Türkiye SSI Company Contribution`" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:198 +msgid "The minimum wage is updated, and is different from the one added by default in Odoo. To update this, navigate to :menuselection:`Payroll app --> Configuration --> Rule Parameters`, then click the rule parameter :guilabel:`Türkiye Minimum Wage`. Click :guilabel:`Add a line` and add the new :guilabel:`Parameter Value` (minimum wage), and reference the date the change goes into effect." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:204 +msgid "Odoo adds updated rule parameters for the current calendar year. It is **not** recommended to edit rule parameters **unless a parameter has changed**, and is different from the rule parameters created by Odoo. Check with all local and national regulations *before* making any changes to rule parameters." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:210 +msgid "Türkiye taxes" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:212 +msgid "The following sections explain in detail the various employer and employee taxes specific to Türkiye." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:218 +msgid "Social insurance rules calculate the contribution amounts that are to be paid by the employer and employee to the :abbr:`SSI (Social Security Institution)`. This is **only** available for Türkiye employees." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:222 +msgid "Social insurance consists of two main categories:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:224 +msgid "**Social Insurance**: Employers contribute 15% of their employee's salaries to the :abbr:`SSI (Social Security Institution)`, while employees contribute 14% of their salaries, which is deducted from their payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:227 +msgid "**Unemployment Insurance**: Employers contribute 2% of their employee's salaries to the :abbr:`SSI (Social Security Institution)`, while employees contribute 1% of their salary, which is deducted from their payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:232 +msgid "Employer and employee contributions for both categories are calculated according to a salary maximum that is revised each year. Therefore, it is necessary to check the corresponding :ref:`rule parameters ` to ensure all taxes are current." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:239 +msgid "Employees in Türkiye are subject to a progressive income tax system, where tax rates increase with higher annual income levels." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:242 +msgid "To calculate the deductible tax amount for the current month, the following is done:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:244 +msgid "**Compute year-to-date gross amount**: This serves as the base amount for calculating the employee's taxable salary." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:246 +msgid "**Determine year-to-date taxable amount**: The taxable amount is compared to progressive tax brackets to compute the year-to-date tax amount due." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:248 +msgid "**Subtract prior month's tax**: The amount taxed in previous months is subtracted from the year-to-date tax to obtain the pre-exemption tax amount due for the current month." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:250 +msgid "**Deduct exemption amount**: The exemption amount is deducted from the pre-exemption tax to determine the final tax due amount post-exemptions." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:256 +msgid "As of 2025, and depending on the annual income of the employee, the following rates apply:" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:265 +msgid "0.00 - 158,000.00" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:267 +msgid "158,000.00 - 330,000.00" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:268 +msgid "27%" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:269 +msgid "330,000.00 - 800,000.00" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:270 +msgid "35%" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:271 +msgid "800,000.00 - 4,300,000.00" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:272 +msgid "40%" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:273 +msgid "above 4,300,000.00" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:276 +msgid "Tax brackets are applied progressively. This means each portion of an employee's income is taxed at its respective rate within each bracket, rather than their entire income being taxed at the highest rate they fall into." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:281 +msgid "Turkish employees benefit from a monthly personal income tax **exemption**, which is adjusted each year. For 2025, the exemption amount is TRY 3,315.70 per month, from January through July." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:285 +msgid "Stamp Tax" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:287 +msgid "Stamp tax is applied to gross salary payments in Türkiye. The standard rate is 0.759% (i.e. 7.59 per thousand), which is withheld from the employee's gross wage and remitted to the tax authority :abbr:`GIB (Gelir İdaresi Başkanliği,)` by the employer." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:291 +msgid "The base amount for the stamp tax is the total gross salary amount (including bonuses or extras)." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:294 +msgid "Turkish employees receive a personal stamp tax **exemption**, the value of which is updated annually. As of 2025, the exemption amount is TRY 197.38 per month, from January through July. This applies to gross earnings up to the legal minimum wage level before calculating stamp tax." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:299 +msgid "Net to gross" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:301 +msgid "On an employee record, if the option :guilabel:`Net to Gross` is enabled in the :ref:`contract section ` of the payroll tab, the net salary is fixed, and specified in the :guilabel:`Net Wage` field, while the gross wage is recalculated each month, and increases throughout the year." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:306 +msgid "The gross wage is what tax calculations are based on, so for these employees, the monthly *net* wage does **not** change, but the monthly *gross* amount is recalculated each month, changing the taxes with it." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:310 +msgid "In this scenario, the least amount of taxes are paid in the beginning of the year, and taxes increase as the year progresses." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:314 +msgid "On January 31st, an employee's year-to-date total income is ₺10,000. The income tax is calculated based on the ₺10,000, which in this example is ₺800. In February, the employee's year-to-date gross is ₺20,000, and the taxes are calculated based on that figure, for a total of ₺2,000." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:318 +msgid "Since the employee already paid ₺800 in January, the taxes due for February are ₺1,200 because the employee already paid ₺800 toward that total (₺2,000 - ₺800 = ₺1,200)." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:322 +msgid "Gross to net" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:324 +msgid "On an employee record, if the option :guilabel:`Net to Gross` is **not** enabled in the :ref:`contract section ` of the payroll tab, the gross salary is calculated based on the :guilabel:`Wage` field." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:328 +msgid "The gross wage then has all the salary rules computed, to determine the *net* wage. The taxes are then computed based on the gross wage. In this scenario, unlike with net to gross, taxes are more consistent and do not change that much, from month to month." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:333 +msgid "The gross from net calculation depends on the salary rules defined in the :guilabel:`Türkiye: Monthly Pay` salary structure. Changes made to those rules affect the computed amount." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:337 +msgid "Run Türkiye payroll" +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:382 +msgid "The accounting process when running payroll has two components: :ref:`creating journal entries ` and :ref:`registering payments `." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:405 +msgid "After the :ref:`journal entries ` are validated, Odoo can generate payments." +msgstr "" + +#: ../../content/applications/hr/payroll/payroll_localizations/turkey.rst:408 +msgid "To generate payments from payslips, employees **must** have a *trusted* bank account. If the employee's bank account is *not* marked as `trusted`, payments **cannot** be generated through Odoo." +msgstr "" + #: ../../content/applications/hr/payroll/payroll_localizations/united_arab_emirates.rst:3 msgid "United Arab Emirates" msgstr "" @@ -19789,188 +20181,180 @@ msgstr "" msgid "A new Input Type form filled in." msgstr "" +#: ../../content/applications/hr/payroll/salary_attachments.rst:3 +msgid "Salary adjustments" +msgstr "" + #: ../../content/applications/hr/payroll/salary_attachments.rst:5 -msgid "Salary attachments are portions of earnings taken directly out of a payslip for a specific purpose, whether voluntary or required." +msgid "Salary adjustments are portions of earnings taken directly out of a payslip for a specific purpose, whether voluntary or required." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:8 -msgid "When the deduction is voluntary, they are typically considered *deductions*. When the deduction is court-ordered, or involuntary, it is sometimes referred to as a *wage garnishment*. In Odoo, these are all universally called *salary attachments*." +msgid "When the deduction is voluntary, they are typically considered *deductions*. When the deduction is court-ordered, or involuntary, it is sometimes referred to as a *wage garnishment*. In Odoo, these are all universally called *salary adjustments*." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:12 -msgid "Note that salary attachments could also be used to give recurring amounts of money to employees, like a bonus divided in multiple payments." +msgid "Note that salary adjustments can also be used to give recurring amounts of money to employees, like a bonus divided into multiple payments." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:18 -msgid "Salary attachment types" +msgid "Salary adjustment types" msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:20 -msgid "To view the currently configured salary attachment types, navigate to :menuselection:`Payroll app --> Configuration --> Other Input Types`. This displays *all* other salary inputs, not just the various salary attachments." +msgid "To view the currently configured salary adjustment types, navigate to :menuselection:`Payroll app --> Configuration --> Other Input Types`. This displays *all* other salary inputs, not only the various salary adjustments." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:24 -msgid "The three default salary attachment types that appear in this list are: :guilabel:`Attachment of Salary`, :guilabel:`Assignment of Salary`, and :guilabel:`Child Support`." +msgid "The three default salary adjustment types that appear in this list are: :guilabel:`Attachment of Salary`, :guilabel:`Assignment of Salary`, and :guilabel:`Child Support`." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:27 -msgid "Each salary attachment type displays the :guilabel:`Name` of the attachment type, and the :guilabel:`Code` used when calculating payslips." +msgid "Each salary adjustment type displays the :guilabel:`Name` of the adjustment type, and the :guilabel:`Code` used when calculating payslips." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:-1 -msgid "The default salary attachment types." +msgid "The default salary adjustment types." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:34 -msgid "Create new salary attachment types" +msgid "Create new salary adjustment types" msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:37 -msgid "Upon installation of the **Payroll** application, the preconfigured default salary attachment types are linked to a variety of rules that are linked to various salary structures, as well as the installed :ref:`localization package `." +msgid "Upon installation of the **Payroll** application, the preconfigured default salary adjustment types are linked to a variety of rules that are linked to various salary structures, as well as the installed :ref:`localization package `." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:41 -msgid "It is **not** recommended to alter or modify **any** of the preconfigured salary attachment types, especially if they have been previously used on payslips in the database. Doing so may affect various salary rules, and can prevent the creation of payslips." +msgid "It is **not** recommended to alter or modify **any** of the preconfigured salary adjustment types, especially if they have been previously used on payslips in the database. Doing so may affect various salary rules, and can prevent the creation of payslips." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:45 -msgid "A new salary attachment type *can* be created, but this should only be done when absolutely necessary. A salary attachment type needs to be linked to a salary rule in order to be considered in the salary computation." +msgid "A new salary adjustment type *can* be created, but this should only be done when absolutely necessary. A salary adjustment type **must** be linked to a salary rule to be considered in the salary computation." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:49 -msgid "To make a new type of salary attachment, click the :guilabel:`New` button, and a blank :guilabel:`Other Input Types` form loads. Enter the :guilabel:`Description` for the new salary attachment type in the corresponding field. Next, tick the :guilabel:`Available in attachments` checkbox, indicating it is available to use as a salary attachment. Enter the :guilabel:`Code` used in the salary rules to compute payslips. Lastly, if the salary attachment type should **only** be used in a specific payroll structure, use the drop-down menu in the :guilabel:`Available in Structure` field, and select the specific structure." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:60 -msgid "Create a salary attachment" +msgid "To make a new type of salary adjustment, click the :guilabel:`New` button, and a blank :guilabel:`Payslip Other Input Types` form loads. Enter the :guilabel:`Description` for the new salary adjustment type in the corresponding field. Next, tick the :guilabel:`Available in adjustments` checkbox, indicating it is available to use as a salary adjustment. Enter the :guilabel:`Code` used in the salary rules to compute payslips. Lastly, if the salary adjustment type should **only** be used in a specific payroll structure, use the drop-down menu in the :guilabel:`Available in Structure` field, and select the specific structure." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:62 -msgid "All salary attachments must be configured separately for each employee, for each type of salary attachment. To view the currently configured salary attachments, navigate to :menuselection:`Payroll app --> Contracts --> Salary Attachments`." +msgid "All salary adjustments must be configured separately for each employee, for each type of salary adjustment. To view the currently configured salary adjustments, navigate to :menuselection:`Payroll app --> Employees --> Salary Adjustments`." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:66 -msgid "All salary attachments appear in a default list view, and displays the name of the :guilabel:`Employees`, :guilabel:`Description`, the salary attachment :guilabel:`Type`, the :guilabel:`payslips Amount`, :guilabel:`Start Date`, and current :guilabel:`Status`." +msgid "All salary adjustments appear in a default list view, and displays the name of the :guilabel:`Employees`, the :guilabel:`Start Date`, a descriptive :guilabel:`Note`, the salary adjustment :guilabel:`Type`, and the :guilabel:`Amount`. An :guilabel:`Until` column appears as well, which details when the salary adjustment ends, either a monetary amount to be reached, or :guilabel:`Indefinite` if the adjustment has no end." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:70 -msgid "At the end of each line is a :guilabel:`Related Payslips` button. Click this to view all payslips containing the corresponding salary attachment." +#: ../../content/applications/hr/payroll/salary_attachments.rst:72 +msgid "At the end of each line is a status tag, with a green :guilabel:`Running` tag for active adjustments, or :guilabel:`Closed` for adjustments that have ended." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:73 -msgid "To create a new salary attachment, click the :guilabel:`New` button in the top-left corner, and a blank :guilabel:`Salary Attachment` form loads. Enter the following information on the form:" -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:76 -msgid ":guilabel:`Employees`: Using the drop-down menu, select the desired employees. Multiple employees can be listed in this field." +#: ../../content/applications/hr/payroll/salary_attachments.rst:75 +msgid "To create a new salary adjustment, click the :guilabel:`New` button in the top-left corner, and a blank :guilabel:`Salary Adjustment` form loads. Enter the following information on the form:" msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:78 -msgid ":guilabel:`Description`: Enter a short description of the salary attachment." +msgid ":guilabel:`Employees`: Using the drop-down menu, select the desired employees. Multiple employees can be listed in this field." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:79 -msgid ":guilabel:`Type`: Using the drop-down menu, select the specific :ref:`salary attachment type `." +#: ../../content/applications/hr/payroll/salary_attachments.rst:80 +msgid ":guilabel:`Type`: Using the drop-down menu, select the specific :ref:`salary adjustment type `." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:81 -msgid ":guilabel:`Start Date`: Using the calendar selector, select the date the salary attachment goes into effect." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:83 -msgid ":guilabel:`Estimated End Date`: This field is **not** modifiable, and **only** appears after the :guilabel:`Payslip Amount` field is populated. This field is the estimated date when the salary attachment is completed. Today's date populates the field by default. Then, when the :guilabel:`Total Amount` field is populated, this date is updated." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:87 -msgid ":guilabel:`Document`: If any documentation is needed, such as a court order, click the :guilabel:`Upload your file` button, and a file explorer window loads. Select the desired document to attach it to the record. Only **one** document can be attached to a salary attachment." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:90 -msgid ":guilabel:`No End Date`: Tick this checkbox if the salary attachment runs indefinitely. If ticked, the :guilabel:`Total Amount` field is hidden from view." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:92 +#: ../../content/applications/hr/payroll/salary_attachments.rst:82 msgid ":guilabel:`Payslip Amount`: Enter the amount taken out of each paycheck in this field." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:93 -msgid ":guilabel:`Total Amount`: Enter the total amount to be paid for the salary attachment. Note that this field **only** appears if the :guilabel:`No End Date` option is **not** ticked." +#: ../../content/applications/hr/payroll/salary_attachments.rst:83 +msgid ":guilabel:`Negative Amount`: Tick this checkbox if the salary adjustment is taken into account as a negative value." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:95 -msgid ":guilabel:`Negative Amount`: Tick this checkbox if the salary attachment" +#: ../../content/applications/hr/payroll/salary_attachments.rst:85 +msgid ":guilabel:`Duration`: Select the length of time for the salary adjustment. The options are:" +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:87 +msgid ":guilabel:`One Time`: Only one payment is taken from the employee's paycheck." +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:88 +msgid ":guilabel:`Limited`: The employee is paying a specific monetary amount in total, divided up among multiple paychecks." +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:90 +msgid ":guilabel:`Unlimited`: The employee is making recurring payments towards something with no end point, such as contributions to a retirement fund, or a donation to a charity." +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:92 +msgid ":guilabel:`from`: Using the calendar selector, select the date the salary adjustment goes into effect." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:96 -msgid ":guilabel:`Occurrences`: This field is **not** editable, and only appears once both the :guilabel:`Payslip Amount` and :guilabel:`Total Amount` fields are populated. The number indicates the amount of payslips needed to complete the salary attachment." +msgid "If the :guilabel:`Duration` field is set to :guilabel:`Limited`, an :guilabel:`until (amount) paid` field appears. Enter the monetary amount that must be reached, before the salary adjustment ends." +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:100 +msgid ":guilabel:`Note`: Enter a short description of the salary adjustment." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:-1 -msgid "The salary attachment form with all fields filled out." +msgid "The salary adjustment form with all fields filled out." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:103 -msgid "Since the salary attachment form auto saves as the fields are populated, after making a salary attachment for an individual employee, there is no further action required." +#: ../../content/applications/hr/payroll/salary_attachments.rst:105 +msgid "Since the salary adjustment form auto-saves as the fields are populated, after making a salary adjustment for an individual employee, there is no further action required." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:106 -msgid "If creating salary attachments for multiple employees on a single salary attachment form, after the form is filled out, click the :guilabel:`Create Individual Attachments` button. This creates separate salary attachments for each of the employees listed in the :guilabel:`Employees` field." +#: ../../content/applications/hr/payroll/salary_attachments.rst:108 +msgid "If creating salary adjustments for multiple employees on a single salary adjustment form, after the form is filled out, click the :guilabel:`Create Individual Attachments` button. This creates separate salary adjustments for each of the employees listed in the :guilabel:`Employees` field." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:110 -msgid "After the separate salary attachments have been created, the screen returns to the :guilabel:`Salary Attachment` dashboard, but with a :guilabel:`Description` filter, populated with the description filled in on the salary attachment form. All the salary attachments have a status of :guilabel:`Running`, since they are currently active. Clear the filter in the search box to view the default :guilabel:`Salary Attachment` dashboard in its entirety." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:117 -msgid "Manage salary attachments" +#: ../../content/applications/hr/payroll/salary_attachments.rst:112 +msgid "After the separate salary adjustments have been created, the screen returns to the :guilabel:`Salary Adjustment` dashboard, but with a :guilabel:`Note` filter, populated with the information filled in the :guilabel:`Note` field on the salary adjustment form. All the salary adjustments have a status of :guilabel:`Running`, since they are currently active. Clear the filter in the search box to view the default :guilabel:`Salary Adjustment` dashboard in its entirety." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:119 -msgid "Salary attachments can have one of three statuses: *Running*, *Completed*, or *Cancelled*. To view the current status of all salary attachments, navigate to :menuselection:`Payroll app --> Contracts --> Salary Attachments`." +msgid "Manage salary adjustments" msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:123 -msgid "All salary attachments appear in chronological order, by :guilabel:`Start Date`, with the most recent appearing at the top. To view the salary attachments by a particular metric, such as the :guilabel:`Status`, or :guilabel:`Type`, click on the column title to sort by that specific column." +#: ../../content/applications/hr/payroll/salary_attachments.rst:121 +msgid "Salary adjustments can have one of two statuses, *Running* or *Closed*. To view the current status of all salary adjustments, navigate to :menuselection:`Payroll app --> Employees --> Salary Adjustments`." +msgstr "" + +#: ../../content/applications/hr/payroll/salary_attachments.rst:125 +msgid "All salary adjustments appear in chronological order, by :guilabel:`Start Date`, with the most recent appearing at the top. To view the salary adjustments by a particular metric, such as the :guilabel:`Status`, or :guilabel:`Type`, click on the column title to sort by that specific column." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:-1 -msgid "All salary attachments, organized by start date." -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:131 -msgid "Completed salary attachments" +msgid "All salary adjustments, organized by start date." msgstr "" #: ../../content/applications/hr/payroll/salary_attachments.rst:133 -msgid "When a salary attachment is created, it has a status of :guilabel:`Running`. Once the salary attachment is finished (the *Total Amount* entered on the :ref:`salary attachment form ` has been paid in full), the status automatically changes to *Completed*, and the employee no longer has the money taken out of future paychecks." +msgid "Closed salary adjustments" msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:138 -msgid "If a salary attachment has been fulfilled, but has not automatically changed to *Completed*, the record can be manually updated. To change the status, open the *Salary Attachment* dashboard by navigating to :menuselection:`Payroll app --> Contracts --> Salary Attachments`." +#: ../../content/applications/hr/payroll/salary_attachments.rst:135 +msgid "When a salary adjustment is created, it has a status of :guilabel:`Running`. Once the salary adjustment is finished (the *Until* amount entered on the :ref:`salary adjustment form ` has been paid in full), the status automatically changes to *Closed*, and the employee no longer has money taken out of future paychecks." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:142 -msgid "Click on the record to update, and the detailed :guilabel:`Salary Attachment` form loads. On the individual :guilabel:`Salary Attachment` record, click the :guilabel:`Mark as Completed` button in the upper-left corner, and the status changes to :guilabel:`Completed`." +#: ../../content/applications/hr/payroll/salary_attachments.rst:140 +msgid "If a salary adjustment has been fulfilled, but has not automatically changed to *Closed*, the record can be manually updated. To change the status, open the *Salary Adjustment* dashboard by navigating to :menuselection:`Payroll app --> Employees --> Salary Adjustments`." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:147 -msgid "The following is an example of when a payroll manager may need to manually change a salary attachment from :guilabel:`Active` to :guilabel:`Completed`." +#: ../../content/applications/hr/payroll/salary_attachments.rst:144 +msgid "Click on the record to update, and the detailed :guilabel:`Salary Adjustment` form loads. On the individual :guilabel:`Salary Adjustment` record, click the :guilabel:`Mark as Completed` button in the upper-left corner, and the status changes to :guilabel:`Closed`." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:150 -msgid "Rose Smith has a salary attachment for a lawsuit settlement, where she is required to pay $3,000.00. A salary attachment is created that takes $250.00 a month out of Rose's paycheck, to go towards this settlement payment." +#: ../../content/applications/hr/payroll/salary_attachments.rst:149 +msgid "The following is an example of when a payroll manager may need to manually change a salary adjustment from :guilabel:`Running` to :guilabel:`Closed`." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:154 -msgid "After six months, Rose has paid $1,500.00 from her salary. She received a tax refund, and uses the money to pay off the remainder of the lawsuit settlement. After sending the relevant documentation to the payroll manager, showing the settlement has been paid in full, the payroll manager manually changes the status of her salary attachment to :guilabel:`Completed`." +#: ../../content/applications/hr/payroll/salary_attachments.rst:152 +msgid "Rose Smith has a salary adjustment for a lawsuit settlement, where she is required to pay $3,000.00. A salary adjustment is created that takes $250.00 a month out of Rose's paycheck, to go towards this settlement payment." msgstr "" -#: ../../content/applications/hr/payroll/salary_attachments.rst:160 -msgid "Cancel salary attachments" -msgstr "" - -#: ../../content/applications/hr/payroll/salary_attachments.rst:162 -msgid "Any salary attachment can be cancelled at any time. To cancel a salary attachment, click on the individual attachment record from the main :guilabel:`Salary Attachment` dashboard to open the record. From the :guilabel:`Salary Attachment` record, click the :guilabel:`Cancel` button to cancel the salary attachment, and stop having the designated money taken out of future paychecks." +#: ../../content/applications/hr/payroll/salary_attachments.rst:156 +msgid "After six months, Rose has paid $1,500.00 from her salary. She receives a tax refund, and uses the money to pay off the remainder of the lawsuit settlement. After sending the relevant documentation to the payroll manager, showing the settlement has been paid in full, the payroll manager manually changes the status of her salary adjustment to :guilabel:`Closed`." msgstr "" #: ../../content/applications/hr/payroll/time_off_to_report.rst:3 diff --git a/locale/sources/inventory_and_mrp.pot b/locale/sources/inventory_and_mrp.pot index 1c2c5e66f..250485dba 100644 --- a/locale/sources/inventory_and_mrp.pot +++ b/locale/sources/inventory_and_mrp.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -90,10 +90,11 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/barcode_nomenclature.rst:38 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:52 #: ../../content/applications/inventory_and_mrp/barcode/setup/hardware.rst:41 +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:33 #: ../../content/applications/inventory_and_mrp/barcode/setup/serial_numbers_lots.rst:11 #: ../../content/applications/inventory_and_mrp/barcode/setup/software.rst:14 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:18 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:19 #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/package.rst:38 #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/packaging.rst:20 #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:21 @@ -112,7 +113,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/at_confirmation.rst:16 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/before_scheduled_date.rst:17 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/reservation_methods/manually.rst:19 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:24 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dispatch.rst:15 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing.rst:17 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/label_type.rst:13 @@ -688,6 +689,7 @@ msgid "When the :guilabel:`Barcode Pattern` contains `.*`, it means it can conta msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/barcode_nomenclature.rst:240 +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:71 msgid ":doc:`gs1_nomenclature`" msgstr "" @@ -1026,7 +1028,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.rst:221 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.rst:223 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:43 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:77 #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:144 msgid "Quantity" msgstr "" @@ -1739,6 +1741,154 @@ msgstr "" msgid "Overview of deliveries in transfer to validate." msgstr "" +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:3 +msgid "Retrieve EPC codes" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:9 +msgid "Electronic product codes (|EPC|) are globally unique identifiers assigned to specific products, allowing items to be distinguished at the individual level. These identifiers support accurate inventory management by enabling faster cycle counts, streamlined adjustments, and more precise stock control." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:14 +msgid "After EPCs are :ref:`obtained ` from |GS1|, they are :ref:`encoded ` onto |RFID| tags, which are then applied to products and used throughout the inventory process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:19 +msgid "Set up :doc:`../setup/rfid`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:24 +msgid "Retrieving EPCs from GS1" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:26 +msgid "To retrieve an EPC to encode on a tag, use `GS1's EPC Encoder/Decoder tool `__." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:29 +msgid "Enter the GTIN-14 barcode of the product in the application identifier :guilabel:`(01)` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:30 +msgid "Enter the product's serial number in the :guilabel:`(21)` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:31 +msgid "Specify a company prefix length." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:32 +msgid "Specify the size of the tag and its filter value." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:-1 +msgid "Complete the fields of the EPC Encoder/Decoder tool." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:40 +msgid "Generating EPCs in Odoo" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:42 +msgid "Generate EPCs for tracked products directly in Odoo. Products should be tracked by serial number, but this is not a requirement. A GTIN-14-compatible" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:45 +msgid "To retrieve the EPCs for a receipt of products:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:47 +msgid "On the receipt, click the :icon:`fa-list` :guilabel:`Detailed Operations` button next to the :guilabel:`Quantity` field. The :guilabel:`Detailed Operations` box opens." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:49 +msgid "From here, specify or generate serial numbers for the products. Be sure to save the serial numbers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:51 +msgid ":guilabel:`Validate` the receipt." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:52 +msgid "Click the :guilabel:`Moves` smart button. Select all received items, then click the :icon:`fa-cog` :guilabel:`Actions` button, then select :guilabel:`Export`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:54 +msgid "On the :guilabel:`Export Data` screen, select :guilabel:`Electronic Product Code` from the list of available fields, then click :guilabel:`Export`. The file downloads to the device. All of the EPCs for the receipt are included in that file." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:59 +msgid "EPCs can be exported from any :guilabel:`Moves` list, not just receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:64 +msgid "Writing EPCs to RFID tags" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:66 +msgid "After retrieving the EPCs, you can use an RFID writer to write the EPCs onto RFID tags. The process to write EPCs varies by RFID writer manufacturer. Refer to the RFID writer's documentation for more information." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:72 +msgid ":doc:`gs1_usage`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/retrieve_epcs.rst:73 +msgid ":doc:`adjustments`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:3 +msgid "Manage inventory with RFID" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:5 +msgid "Managing inventory with an RFID barcode scanner is possible with the **Barcodes** app and a physical RFID scanner." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:8 +msgid "Make sure the RFD40 scanner is paired and connected to the mobile computer or smartphone. Open an operation (like a receipt, transfer, delivery order, or manufacturing order), or count inventory using the RFID scanner. Scanning an existing operation barcode pulls up the relevant inventory or manufacturing documents in Odoo on the mobile device." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:14 +msgid "Overview of the workflow" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:16 +msgid "With the RFD40 scanner in hand, open the **Barcode** app on the computer or phone. Open the operation record (via the **Barcode** interface or scanning the operation barcode), or open the :guilabel:`Inventory count` operation. Scan the RFID barcodes for the product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:21 +msgid ":doc:`../setup/operation_types`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:23 +msgid "To begin managing inventory using RFID tags, open the **Barcode** app on the smart device." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:28 +msgid "Manage inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:30 +msgid "From the **Barcode** app, scan the operation barcode or tap the :guilabel:`Operations` button to open operations for receipts, internal transfers, delivery orders, or manufacturing orders. If the reading device is not connected, Odoo will automatically connect to the device. When the device is connected, a toast notification appears on the screen that verifies the connection. Scan the products, then validate the scan on the mobile computer or smartphone." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:-1 +msgid "Validate the operation on the mobile device." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:42 +msgid "Counting inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:44 +msgid "It is required by many factories and warehouses to keep track of inventory, including regular counts of products to ensure all records are correct. To change the amount of a product in stock, or adjust inventory, open the :guilabel:`Inventory count` operation. Scan the products to count. If necessary, verify the count manually. You can update the count by clicking the :icon:`fa-pencil` :guilabel:`(edit)` icon. Click :guilabel:`Apply` to apply the count on the smart device." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/operations/scan_rfid.rst:-1 +msgid "Apply the count on the Inventory Adjustment page." +msgstr "" + #: ../../content/applications/inventory_and_mrp/barcode/operations/transfers_scratch.rst:3 msgid "Create and process transfers with barcodes" msgstr "" @@ -2623,6 +2773,110 @@ msgstr "" msgid "`Odoo Tutorials: Consuming Components Using Barcodes `_" msgstr "" +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:3 +msgid "RFID" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:7 +msgid "RFID stands for Radio Frequency Identification. RFID enables the tracking of items using radio waves: RFID tags are attached to products in inventory, and RFID readers can read those tags to transmit information to a computer. RFID helps automate processes by keeping inventory accurate and tracking internal and external moves." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:12 +msgid "RFID tags transmit electronic product codes (|EPC|), which are unique identifiers to distinguish individual items. The |EPC| in Odoo is based on GS1 standards to consistently identify products worldwide. GS1 nomenclature establishes common rules for encoding information within a barcode to facilitate the global exchange of goods." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:18 +msgid ":doc:`../operations/gs1_nomenclature`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:21 +msgid "Hardware" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:23 +msgid "The following are required to begin working with RFID in Odoo:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:25 +msgid "Zebra TCX Series mobile computer, or" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:26 +msgid "Android Smartphone" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:28 +msgid "Paired with:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:30 +msgid "Zebra RFD40 (can read and write RFID tags)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:35 +msgid "Before using RFID tags to manage inventory, the Android Package Kit (APK) with RFID support must be installed on the mobile computer or smartphone." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:39 +msgid "Before installing the APK on an individual device, first enable the ability to install unknown apps in the device settings. Find this setting in the device's :guilabel:`App` or :guilabel:`App & Notification` settings, under the :guilabel:`Special access` or :guilabel:`Special app access` section." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:44 +msgid "Then, download the APK. On the :guilabel:`Downloads` page, under the :guilabel:`Mobile Application` section, click :guilabel:`Download` next to the :guilabel:`Android` option, then select :guilabel:`Download APK (with Zebra RFID support)` from the drop-down menu. Download this file via a computer and transfer the APK via USB or Bluetooth, or use the device's web browser to download the APK." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:-1 +msgid "Download the APK from the Download page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:53 +msgid "Install the APK. If :guilabel:`Install unknown apps` is enabled for the device's web browser, install the APK directly from the browser download notification. If :guilabel:`Install unknown apps` is enabled for the device's file manager, open it and navigate to the location where the file is stored, then tap it to install the APK." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:58 +msgid "Then, when reading or writing RFID tags, ensure that the Zebra device and the smart device are paired and connected." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:62 +msgid "Set a compatible barcode" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:64 +msgid "Before you can manage inventory using RFID tags, a compatible barcode must be assigned to the products. Set the product barcode in the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:68 +msgid ":ref:`Set product barcodes `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:70 +msgid "To work with RFID, the product barcode must be GTIN-14-compatible, and inventory tracking must be enabled for the product. Product barcodes that are not GTIN-14-compatible must be upgraded to work with RFID." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:75 +msgid "Tracking by serial number or lots does not need to be enabled for this feature to work properly." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:78 +msgid "Limitations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:80 +msgid "The serial number that is part of the |EPC| must only be numeric, as SGTIN-96 is the only supported encoding scheme for RFID tags in Odoo. Alphanumeric serial numbers are **not** supported." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:83 +msgid "For products tracked by lot, the lot can be scanned in, but it will be considered as one lot with a quantity of `1`. It does not count individual products in a receipt." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:85 +msgid "Only ultra-high frequency (UHF) RFID tags are supported." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/barcode/setup/rfid.rst:86 +msgid "Products need to be GS1-registered because barcodes must be unique." +msgstr "" + #: ../../content/applications/inventory_and_mrp/barcode/setup/serial_numbers_lots.rst:3 msgid "Barcodes for lot and serial numbers" msgstr "" @@ -2970,7 +3224,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:58 #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:81 #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:120 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:90 msgid "$10" msgstr "" @@ -2985,7 +3239,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:79 #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:115 #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/cheat_sheet.rst:118 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:85 msgid "$0" msgstr "" @@ -3591,27 +3845,23 @@ msgstr "" msgid "Landed costs" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:10 -msgid "When shipping products to customers, the landed cost is the total price of a product or shipment, including all expenses associated with shipping the product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:13 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:11 msgid "In Odoo, the *Landed Costs* feature is used to take additional costs into account when calculating the valuation of a product. This includes the cost of shipment, insurance, customs duties, taxes, and other fees." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:18 msgid "To add landed costs to products, the *Landed Costs* feature must first be enabled. To enable this feature, navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and scroll to the :guilabel:`Valuation` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:24 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:22 msgid "Tick the checkbox next to the :guilabel:`Landed Costs` option, and click :guilabel:`Save` to save changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:25 msgid "Once the page refreshes, a new :guilabel:`Default Journal` field appears below the :guilabel:`Landed Costs` feature in the :guilabel:`Valuation` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:28 msgid "Click the :guilabel:`Default Journal` drop-down menu to reveal a list of accounting journals. Select a journal for which all accounting entries related to landed costs should be recorded." msgstr "" @@ -3619,47 +3869,47 @@ msgstr "" msgid "Landed Costs feature and resulting Default Journal field in the Inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:35 msgid "Create landed cost product" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:39 -msgid "For charges that are consistently added as landed costs, a landed cost product can be created in Odoo. This way, a landed cost product can be quickly added to a vendor bill as an invoice line, instead of having to be manually entered every time a new vendor bill is created." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:37 +msgid "For charges that are consistently added as landed costs, a landed cost product can be created in Odoo. This way, a landed cost product can be quickly added to a request for quotation (|RfQ|) or a vendor bill as an invoice line, instead of having to be manually entered every time a new vendor bill is created." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:42 msgid "To do this, create a new product by going to :menuselection:`Inventory app --> Products --> Products`, and clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:46 -msgid "Assign a name to the landed cost product in the :guilabel:`Product Name` field (i.e. `International Shipping`). In the :guilabel:`Product Type` field, click the drop-down menu, and select :guilabel:`Service` as the :guilabel:`Product Type`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:45 +msgid "Assign a name to the landed cost product in the :guilabel:`Product Name` field (i.e. `International Shipping`). In the :guilabel:`Product Type` field, select :guilabel:`Service` as the :guilabel:`Product Type`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:50 msgid "Landed cost products **must** have their :guilabel:`Product Type` set to :guilabel:`Service`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:53 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:52 msgid "Click the :guilabel:`Purchase` tab, and tick the checkbox next to :guilabel:`Is a Landed Cost` in the :guilabel:`Vendor Bills` section. Once ticked, a new :guilabel:`Default Split Method` field appears below it, prompting a selection. Clicking that drop-down menu reveals the following options:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:56 msgid ":guilabel:`Equal`: splits the cost equally across each product included in the receipt, regardless of the quantity of each." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:58 msgid ":guilabel:`By Quantity`: splits the cost across each unit of all products in the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:59 msgid ":guilabel:`By Current Cost`: splits the cost according to the cost of each product unit, so a product with a higher cost receives a greater share of the landed cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:61 msgid ":guilabel:`By Weight`: splits the cost, according to the weight of the products in the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:62 msgid ":guilabel:`By Volume`: splits the cost, according to the volume of the products in the receipt." msgstr "" @@ -3667,8 +3917,8 @@ msgstr "" msgid "Is a Landed Cost checkbox and Default Split Method on service type product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:68 -msgid "When creating new vendor bills, this product can be added as an invoice line as a landed cost." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:67 +msgid "When creating new |RfQs|, this product can be added as an invoice line as a landed cost. This product can also be added to vendor bills that are in the draft state." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:71 @@ -3682,11 +3932,11 @@ msgid "Create purchase order" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:77 -msgid "Navigate to :menuselection:`Purchase app --> New` to create a new request for quotation (RfQ). In the :guilabel:`Vendor` field, add a vendor to order products from. Then, click :guilabel:`Add a product`, under the :guilabel:`Products` tab, to add products to the |RfQ|." +msgid "Navigate to :menuselection:`Purchase app --> New` to create a new |RfQ|. In the :guilabel:`Vendor` field, add a vendor to order products from. Then, click :guilabel:`Add a product`, under the :guilabel:`Products` tab, to add products to the |RfQ|." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:81 -msgid "Once ready, click :guilabel:`Confirm Order` to confirm the order. Then, click :guilabel:`Receive Products` once the products have been received, followed by :guilabel:`Validate`." +msgid "Once ready, click :guilabel:`Confirm Order` to confirm the order. Then, click :guilabel:`Receive` once the products have been received, followed by :guilabel:`Validate`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:85 @@ -3698,26 +3948,30 @@ msgid "Once the vendor fulfills the |PO| and sends a bill, a vendor bill can be msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:90 -msgid "Navigate to the :menuselection:`Purchase app`, and click into the |PO| for which a vendor bill should be created. Then, click :guilabel:`Create Bill`. This opens a new :guilabel:`Vendor Bill` in the :guilabel:`Draft` stage." +msgid "Navigate to the :menuselection:`Purchase app`, and click into the |PO| for which a vendor bill should be created. Then, upload the bill or click the :guilabel:`Bill Matching` smart button to match with an existing bill. This opens a new :guilabel:`Vendor Bill` in the :guilabel:`Draft` stage." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:95 msgid "In the :guilabel:`Bill Date` field, click the line to open a calendar popover menu, and select the date on which this draft bill should be billed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:97 -msgid "Then, under the :guilabel:`Invoice Lines` tab, click :guilabel:`Add a line`, and click the drop-down menu in the :guilabel:`Product` column to select the previously-created landed cost product. Click the :icon:`fa-cloud-upload` :guilabel:`(cloud with arrow)` icon to manually save and update the draft bill." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:98 +msgid "Click :guilabel:`Add a line`. Add the landed cost product to the vendor bill." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:100 +msgid "Click the :icon:`fa-cloud-upload` :guilabel:`(Save)` icon to manually save and update the draft bill." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 msgid "Landed Costs column checkboxes for product and landed cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:106 msgid "In the :guilabel:`Landed Costs` column, the product ordered from the vendor does **not** have its checkbox ticked, while the landed cost product's checkbox **is** ticked. This differentiates landed costs from all other costs displayed on the bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:110 msgid "Additionally, at the top of the form, a :guilabel:`Create Landed Costs` button appears." msgstr "" @@ -3725,12 +3979,12 @@ msgstr "" msgid "Create Landed Costs button on vendor bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:116 msgid "Add landed cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:117 -msgid "Once a landed cost is added to the vendor bill, click :guilabel:`Create Landed Costs` at the top of the vendor bill." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:118 +msgid "Click :guilabel:`Create Landed Costs` at the top of the vendor bill." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:120 @@ -3738,7 +3992,7 @@ msgid "Doing so automatically creates a landed cost record, with a set landed co msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:123 -msgid "From the :guilabel:`Landed Cost` form, click the :guilabel:`Transfers` drop-down menu, and select which transfer the landed cost belongs to." +msgid "From the :guilabel:`Landed Cost` form, click the :guilabel:`Transfers` drop-down menu, and select which transfer the landed cost belongs to. Only validated transfers can be selected." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:-1 @@ -3754,34 +4008,22 @@ msgid "After setting the picking from the :guilabel:`Transfers` drop-down menu, msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:137 -msgid "Click the :guilabel:`Valuation Adjustments` tab to see the impact of the landed costs. The :guilabel:`Original Value` column lists the original price of the |PO|, the :guilabel:`Additional Landed Cost` column displays the landed cost, and the :guilabel:`New Value` displays the sum of the two, for the total cost of the |PO|." +msgid "Click the :guilabel:`Valuation Adjustments` tab to see the impact of the landed costs. The :guilabel:`Original Value` column lists the original price of the |PO|, the :guilabel:`Additional Landed Cost` column displays the landed cost, and the :guilabel:`New Value` column displays the sum of the two, for the total cost of the |PO|." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:142 msgid "Once ready, click :guilabel:`Validate` to post the landed cost entry to the accounting journal." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:144 -msgid "This causes a :guilabel:`Valuation` smart button to appear at the top of the form. Click the :guilabel:`Valuation` smart button to open a :guilabel:`Stock Valuation` page, with the product's updated valuation listed." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:145 +msgid "Each journal entry created for a landed cost on a vendor bill can be viewed in the :menuselection:`Accounting` app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:149 -msgid "For a :guilabel:`Valuation` smart button to appear upon validation, the product's :guilabel:`Product Type` **must** be set to :guilabel:`Storable`." +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:148 +msgid "To locate these journal entries, navigate to :menuselection:`Accounting app --> Accounting --> Journal Entries`, and locate the correct entry, by number (e.g. `STJ/2025/XXXXX`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:152 -msgid "To view the valuation of *every* product, including landed costs, navigate to :menuselection:`Inventory app --> Reporting --> Valuation`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:156 -msgid "Each journal entry created for a landed cost on a vendor bill can be viewed in the *Accounting* app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:159 -msgid "To locate these journal entries, navigate to :menuselection:`Accounting app --> Accounting --> Journal Entries`, and locate the correct entry, by number (i.e. `PBNK1/2024/XXXXX`)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.rst:151 msgid "Click into the journal entry to view the :guilabel:`Journal Items`, and other information about the entry." msgstr "" @@ -3806,159 +4048,159 @@ msgid "Track the actual cost of manufactured products, based on the real cost of msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:12 -msgid "Depreciate specific lot or serial numbers when they :doc:`sit in stock for too long <../warehouses_storage/reporting/aging>`." +msgid "Depreciate specific lot or serial numbers when they sit in stock for too long." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:15 msgid "Please read this :doc:`introduction to inventory valuation ` before setting up valuation by lot/serial numbers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:22 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:21 msgid "To enable valuation by lots or serial numbers, begin by enabling the :ref:`Lots and Serial Numbers feature `. After that, go to :menuselection:`Inventory app --> Products --> Products`, and select the desired product, or create a new product, by clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:26 msgid "On the product form, in the :guilabel:`Category` field, choose a product category. Ensure the product category's :guilabel:`Costing Method` is set to *First In First Out (FIFO)* or *Average Cost (AVCO)*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:31 msgid "To check the costing method set on the product category, hover over the :guilabel:`Category` field, and click the :icon:`oi-arrow-right` :guilabel:`(Internal Link)` icon." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:34 msgid "Next, activate the product to be tracked by lots or serial numbers by ticking the :guilabel:`Track Inventory` checkbox. Then, click the adjacent field that appears, and choose either :guilabel:`By Lots` or :guilabel:`By Unique Serial Number` from the resulting drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:38 msgid "Doing so makes the :guilabel:`Valuation by Lot/Serial number` checkbox appear below it. Tick that checkbox, and the configuration to track valuation by lot or serial numbers is complete." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:44 msgid "Product form showing the Valuation by Lot or Serial Number feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:44 msgid "Product form showing the Valuation by Lot or Serial Number feature" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:47 msgid "Valuation layers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:49 msgid "To understand how valuation by lots and serial numbers works, consider these scenarios:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:51 msgid ":ref:`Purchase and sell products `: cost is calculated based on the *product category's* costing method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:54 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:53 msgid ":ref:`Create new lot/serial numbers ` using an inventory adjustment: value of the new lot/serial number is assigned to the cost from the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:56 msgid "Inventory adjustment to update quantities for an :ref:`existing lot/serial number `: value is assigned based on the most recent cost for that lot/serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:60 msgid "For both :abbr:`AVCO (Average Cost)` and :abbr:`FIFO (First In First Out)` methods, the *Cost* field on the product form is calculated using this formula:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:63 msgid ":math:`Avg~Cost = \\frac{Total~Value}{Total~Qty}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:68 msgid "Purchase products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:70 msgid "Consider how purchasing products affect the inventory valuation, in the table below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:79 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:78 msgid "Lot number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:79 msgid "Math" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:80 msgid "Average cost on product form" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:81 msgid "Empty stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:83 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:82 msgid "0.00" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:86 msgid "Day 1: Receive one product at $10/unit" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:88 -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:92 msgid "1.00" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:88 msgid "LOT 1" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:89 msgid ":math:`\\frac{10}{1}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:91 msgid "Day 2: Receive another product at $20/unit" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:93 msgid "LOT 2" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:94 msgid ":math:`\\frac{10+20}{2}`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:95 msgid "$15" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:100 msgid "Show Cost on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:100 msgid "As a result, the product form displays an average cost of $15 in the **Cost** field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:106 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:105 msgid "Create new lot/serial number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:107 msgid "Creating a new lot/serial number through an :doc:`inventory adjustment <../warehouses_storage/inventory_management/count_products>` assigns the same value as the cost on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:112 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:111 msgid "To make an inventory adjustment, and assign a lot number, go to :menuselection:`Inventory app --> Operations --> Physical Inventory`. Then, click :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:114 msgid "In the new inventory adjustment line that appears, set the :guilabel:`Product`, create the :guilabel:`Lot/Serial Number`, set the :guilabel:`Counted Quantity`, and click :icon:`fa-floppy-o` :guilabel:`Apply`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:119 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:118 msgid "To view the valuation layer, go to :menuselection:`Inventory app --> Reporting --> Valuation`. The :guilabel:`Total Value` per unit matches the *Cost* on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:122 msgid "Continuing the example in the table above, when the product cost is `$15`, the valuation for a newly-created `LOT3` is also be `$15`." msgstr "" @@ -3966,19 +4208,19 @@ msgstr "" msgid "Show inventory adjustment valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:131 msgid "Existing lot/serial number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:133 msgid "When adjusting the quantity of an existing lot/serial number, the value is based on the most recent valuation layer for that specific lot/serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:137 msgid "Continuing the example in the table above, the value for `LOT 1` is `$10`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:140 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:139 msgid "So, when the quantity is updated from `1.00` to `2.00`, the additional quantity is also valued at `$10`, reflecting the latest valuation layer for `LOT 1`." msgstr "" @@ -3986,55 +4228,55 @@ msgstr "" msgid "Show valuation of LOT 1 getting updated." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:146 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:145 msgid "The inventory adjustment (top line) is valued the same as LOT 1 (bottom line)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:151 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:150 msgid "View valuation" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:153 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:152 msgid "To find the average cost of a specific lot/serial number, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and select the desired record." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:156 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:155 msgid "Both the :guilabel:`Cost` and :guilabel:`Average Cost` fields show a unit's average cost. The :guilabel:`Total Value` reflects the total on-hand value for that lot/serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:159 msgid "Ensure the costing method is set to *First In First Out (FIFO)* or *Average Cost (AVCO)* to display the cost on this page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:165 msgid "Show cost of the lot/serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:165 msgid "Lot form, displaying **Cost** field. The **Valuation** smart button is in the top-right." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:167 msgid "Valuation layers of a lot/serial number can be viewed through the :ref:`valuation report `, or by clicking the lot/serial number's :guilabel:`Valuation` smart button. These detailed, line-by-line records can help determine how each inventory move of the specific lot/serial number affects its valuation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:175 msgid "Valuation report" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:177 msgid "Display the valuation of lots and serial numbers in the database by going to :menuselection:`Inventory app --> Reporting --> Valuation`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:181 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:180 msgid "On the resulting :guilabel:`Stock Valuation` report, click the search bar, and in the :icon:`oi-group` :guilabel:`Group By` section of the resulting drop-down menu, select :guilabel:`Lot/Serial number`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:185 msgid "Click the :icon:`fa-plus` :guilabel:`(plus)` icon to the right of a collapsed lot number line to manually modify the cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:189 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:188 msgid "This is useful for adjusting individual lot prices when a purchase order or bill includes multiple lots/serial numbers, as initial prices are identical upon reception." msgstr "" @@ -4042,23 +4284,23 @@ msgstr "" msgid "Show valuation report, by lots." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:196 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:195 msgid "Valuation smart button" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:198 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:197 msgid "To access a filtered part of the *Stock Valuation* report, specific to a lot or serial number, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and select the desired item." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:201 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:200 msgid "On the :guilabel:`Lot/Serial Numbers` page, click the :guilabel:`Valuation` smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:206 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:205 msgid "All stock moves relating to `LOT 1`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:206 +#: ../../content/applications/inventory_and_mrp/inventory/inventory_valuation/valuation_by_lots.rst:205 msgid "All stock moves that affect the valuation of `LOT 1`." msgstr "" @@ -5084,7 +5326,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/type.rst:227 #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:131 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:6 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:169 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:117 msgid "Replenishment" msgstr "" @@ -5287,42 +5529,42 @@ msgid "Purchase unit of measure" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:70 -msgid "Units of measure that the product is purchased in are defined in the :guilabel:`Purchase` tab of the product. Purchase orders can be created in these units of measure after they are defined in the vendor price list." +msgid "Units of measure that the product is purchased in are defined in the :guilabel:`Purchase` tab of the product. Purchase orders can be created in these units of measure after they are defined in the vendor price list. Purchase units of measure must be in the same category as the default unit of measure." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:-1 msgid "Specify a purchase unit of measure in the \"Purchase\" tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:81 msgid "Unit conversion" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:83 msgid "Odoo automatically converts unit measurements when products have different :abbr:`UoMs (Units of Measure)` and purchase :abbr:`UoMs (Units of Measure)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:86 msgid "This occurs in various scenarios, including:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:88 msgid ":ref:`Vendor orders `: purchase |UOM| on purchase orders (POs) converts to |UOM| on internal warehouse documents" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:90 msgid ":ref:`Automatic replenishment `: generates |POs| when the stock levels of a product (tracked in |UOM|) dips below a certain level. But, the |POs| are created using the purchase |UOM|" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:93 msgid ":ref:`Sell products `: if a different |UOM| is used on the sales order (SO), the quantity is converted to the warehouse's preferred |UOM| on the delivery order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:100 msgid "Buy products in the purchase UoM" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:102 msgid "When creating a new request for quotation (RFQ) in the *Purchase* app, Odoo pulls the unit that the vendor prefers to use, defined in the :guilabel:`Unit` field of the vendor line in the :guilabel:`Purchase` tab of the product. The unit the vendor prefers **can** be different from the unit your company prefers to use. If needed, manually edit the :guilabel:`Unit` value on the |RFQ|." msgstr "" @@ -5406,19 +5648,19 @@ msgstr "" msgid "Upon warehouse delivery, the recorded quantities are in the internal \"Unit\": `yards`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:181 msgid "Create custom units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:183 msgid "Create custom units of measure by going to :menuselection:`Inventory app --> Configuration --> Units & Packagings`. Each unit of measure can also use a reference unit to convert between different units of measure." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:188 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:187 msgid "To create a new unit, click the :guilabel:`New` button. Specify a unit name. If you want to convert between units, specify a quantity and a reference unit of measure to convert between. If applicable, enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by GS1 `_, that **must** be purchased in order to use." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:194 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/configure/uom.rst:193 msgid "You will be purchasing fabric in terms of yards or meters. Specify that one yard is equal to `0.9144` of its reference unit, `m`, in the :guilabel:`Quantity` field." msgstr "" @@ -10636,72 +10878,80 @@ msgid "Delivery methods" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:7 +msgid "In Odoo, *delivery methods* make it possible to calculate shipping costs directly on sales orders and e-commerce carts, providing customers and sales teams with accurate shipping fee information. This transparency helps close sales by showing customers the exact cost for each shipping carrier or delivery timeframe." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:12 msgid "When activated in Odoo, the *Delivery Methods* setting adds the option of calculating the cost of shipping on sales orders and e-commerce shopping carts." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:15 msgid "When integrated with a :ref:`third-party carrier `, shipping prices are calculated based on the carrier's pricing information." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:14 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:19 msgid ":ref:`Third-party shipping carrier setup `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:15 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:20 msgid "`Odoo Tutorials: Delivery Prices `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:21 -msgid "To calculate shipping on sales orders and e-commerce, the *Delivery Costs* module must be installed. To do so, navigate to the :menuselection:`Apps` application from the main Odoo dashboard." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:26 +msgid "To calculate shipping on sales orders and e-commerce, the **Delivery Costs** module must be installed. To do so, navigate to the :menuselection:`Apps` application from the main Odoo dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:24 -msgid "Then, remove the :guilabel:`Apps` filter, and type in `Delivery Costs` in the :guilabel:`Search...` bar. After finding the :guilabel:`Delivery Costs` module, click :guilabel:`Activate` to install it." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:29 +msgid "Then, remove the :guilabel:`Apps` filter, and type in `Delivery Costs` in the search bar. After finding the :guilabel:`Delivery Costs` module, click :guilabel:`Install` to install it." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:-1 msgid "Install the Delivery Costs module." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:38 msgid "Add shipping" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:35 -msgid "Shipping methods can be added to sales orders in the form of delivery products, which appear as individual line items. First, navigate to the desired sales order by going to :menuselection:`Sales app --> Orders --> Orders`." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:40 +msgid "Shipping methods are added to sales orders in the form of delivery products, which appear as individual line items. First, navigate to the desired sales order by going to :menuselection:`Sales app --> Orders --> Orders`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:39 -msgid "On the sales order, click the :guilabel:`Add shipping` button, which opens the :guilabel:`Add a shipping method` pop-up window. Then, choose a :guilabel:`Shipping Method` from the list." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:44 +msgid "Open the desired sales order, then click the :guilabel:`Add shipping` button. The :guilabel:`Add a shipping method` pop-up window opens. Then, using the drop-down menu, select an available shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:42 -msgid "The :guilabel:`Total Order Weight` is pre-filled based on product weights (that are defined in the :guilabel:`Inventory` tab for each product form). Edit the field to specify the exact weight, and then click :guilabel:`Add` to add the shipping method." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:48 +msgid "The :guilabel:`Total Order Weight` is pre-filled based on product weights (that are defined in the :ref:`Inventory ` tab for each product form). Edit the field to specify the exact weight, and then click :guilabel:`Add` to add the shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:53 msgid "The amount defined in :guilabel:`Total Order Weight` overwrites the total product weights defined on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:50 -msgid "The shipping cost is added to the *sales order line* as the :guilabel:`Delivery Product` detailed on the shipping method form." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:57 +msgid "Some connected shipping methods require obtaining rates from the carrier. In this situation, click the :icon:`oi-arrow-right` :guilabel:`Get rate` button, and the shipping costs are automatically updated from the carrier. These rates cannot be modified." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:54 -msgid "`Furniture Delivery`, a delivery product with a fixed rate of `$200`, is added to sales order `S00088`." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:61 +msgid "The shipping cost is added as a line item in the :guilabel:`Order Lines` tab as the :guilabel:`Delivery Product` detailed on the shipping method form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:65 +msgid "A customer purchased a left-sided desk with storage and requested the item be delivered by hand. This delivery method is defined as `Furniture Delivery (Manual)` and has a cost of `$200`. The sales order contains two line items: one for the desk, and another for the delivery method." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:0 msgid "Show delivery order on the sales order line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:73 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:267 msgid "Delivery order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:63 -msgid "The shipping method added to the sales order is linked to the shipping carrier details on the delivery order. To add or change the delivery method on the delivery itself, go to the :guilabel:`Additional Info` tab and modify the :guilabel:`Carrier` field." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:75 +msgid "The shipping method added to the sales order is linked to the shipping carrier details on the delivery order. After confirming the order, a :icon:`fa-truck` :guilabel:`Delivery` smart button appears at the top of the page. Click the :icon:`fa-truck` :guilabel:`Delivery` smart button to open the warehouse delivery form. To add or change the delivery method on the delivery itself, open the :guilabel:`Additional Info` tab and modify the :guilabel:`Carrier` field." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:-1 @@ -11499,7 +11749,7 @@ msgid "To integrate `Envia.com `_ with Odoo, first create msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:21 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:13 msgid "Create an account and activate carriers" msgstr "" @@ -11552,7 +11802,7 @@ msgid "API Keys in Envia.com." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:62 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:84 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/starshipit_shipping.rst:90 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:165 msgid "Setup in Odoo" @@ -11631,7 +11881,7 @@ msgid "If more than one shipping option is needed, create more shipping methods msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:119 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:209 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:207 msgid "Shipping information" msgstr "" @@ -11644,7 +11894,7 @@ msgid "**Customer information**: When creating a quotation, ensure the selected msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:127 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:217 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:215 msgid "To verify, select the :guilabel:`Customer` field to open their contact page. Here, add their shipping address in the :guilabel:`Contact` field, along with their :guilabel:`Mobile` number and :guilabel:`Email` address." msgstr "" @@ -11809,7 +12059,7 @@ msgid "When creating a quotation in Odoo, add shipping and the :guilabel:`Envia. msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:217 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:238 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:236 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/starshipit_shipping.rst:205 msgid ":guilabel:`Shipping label(s)` depending on the number of packages." msgstr "" @@ -11823,7 +12073,7 @@ msgid "When labels are created, Envia.com automatically charges the configured a msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:225 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:242 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:240 msgid "Additionally, the tracking number is now available." msgstr "" @@ -11868,12 +12118,12 @@ msgid "Customer portal tracking." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:266 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:284 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:282 msgid "FAQ" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/envia_shipping.rst:269 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:325 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:323 msgid "Measuring volumetric weight" msgstr "" @@ -12245,7 +12495,7 @@ msgid ":guilabel:`Delivery Product` (*required*): the product listed on the :ref msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing.rst:51 -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:57 msgid ":guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer spends above the specified amount." msgstr "" @@ -12659,7 +12909,7 @@ msgid "The *Delivery Methods* setting adds the option of calculating the cost of msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:15 -msgid "To configure delivery methods, go to :menuselection:`Inventory app --> Configuration --> Delivery Methods`." +msgid "To configure delivery methods, go to :menuselection:`Inventory --> Configuration --> Delivery Methods`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:19 @@ -12667,7 +12917,7 @@ msgid "If the :guilabel:`Delivery Methods` option is not available from the :gui msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:22 -msgid "Go to :menuselection:`Inventory app --> Configuration --> Settings`." +msgid "Go to :menuselection:`Inventory --> Configuration --> Settings`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:23 @@ -12687,90 +12937,115 @@ msgid ":guilabel:`Delivery Method` (*Required field*): the name of the delivery msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:36 -msgid ":guilabel:`Website`: configure shipping methods for an **eCommerce** page. Select the applicable website from the drop-down menu, or leave it blank to apply the method to all web pages." +msgid ":guilabel:`Website`: configure shipping methods for an **eCommerce** page. Select the applicable website from the drop-down menu, or leave it blank to apply the method to all web pages. This field only appears when the **eCommerce** app is enabled." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:39 msgid ":guilabel:`Provider` (*Required field*): choose the delivery service, like FedEx, if using a :ref:`third-party carrier `. Ensure the integration with the shipping carrier is properly installed and select the provider from the drop-down menu. For more details on configuring custom shipping methods, such as :ref:`fixed price ` or :ref:`based on rules ` options, refer to their respective sections below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:44 -msgid ":guilabel:`Company`: If the shipping method should apply to a specific company, select it from the drop-down menu. Leave the field blank to apply the method to all companies." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:45 +msgid ":guilabel:`Cash on Delivery`: allow customers to choose the :ref:`Cash on Delivery ` payment method when selecting this delivery option on the ecommerce website." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:46 -msgid ":guilabel:`Routes`: select the applicable routes to define different delivery methods, such as standard or express shipping, based on varying lead times. For more information, jump to the :ref:`Set routes on shipping method ` section." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:48 +msgid ":guilabel:`Company`: If the shipping method should apply to a specific company, select it from the drop-down menu. Leave the field blank to apply the method to all companies. This field only appears in multi-company databases." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:51 +msgid ":guilabel:`Routes`: select the applicable routes to define different delivery methods, such as standard or express shipping, based on varying lead times. This field only appears when you have enabled multi-step routes in your inventory configuration settings. For more information, refer to the :ref:`Set routes on shipping method ` section." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:55 msgid ":guilabel:`Delivery Product` (*Required field*): the product listed on the :ref:`sales order line ` as the delivery charge." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:53 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:59 msgid ":guilabel:`Tracking Link`: This option adds a link to the portal so the customer can track their delivery. When a custom carrier is added in a delivery order, the tracking button is enabled, and the link directs to the tracking portal with that URL." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:59 -msgid "Use the :guilabel:`Availability` tab to define conditions for the delivery method based on the order's content or destination:" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:64 +msgid "To set up `$200` flate-rate shipping, fill in the following fields:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:62 -msgid ":guilabel:`Countries`: Specify one or more countries where the method is available." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:63 -msgid ":guilabel:`Max Weight`: Set a maximum weight; the method is only available for orders below this limit." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:65 -msgid ":guilabel:`Max Volume`: Set a maximum volume; the method is only available for orders below this limit." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:66 +msgid ":guilabel:`Delivery Method`: `Furniture Delivery (Manual)`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:67 -msgid ":guilabel:`Must Have Tags`: The method is available only if at least one product in the order has one of these tags." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:69 -msgid ":guilabel:`Excluded Tags`: The method is unavailable if at least one product in the order has one of these tags." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:72 -msgid "For examples on how to configure specific shipping methods, refer to the sections below." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:77 -msgid "Fixed price" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:79 -msgid "To configure a shipping price that is the same for all orders, go to :menuselection:`Inventory app --> Configuration --> Delivery Methods`. Then, click :guilabel:`New`, and on the shipping method form, set the :guilabel:`Provider` to the :guilabel:`Fixed Price` option. Selecting this option makes the :guilabel:`Fixed Price` field become available, which is where the fixed rate shipping amount is defined." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:85 -msgid "To enable free shipping if the amount of the order exceeds a specified amount, check the box :guilabel:`Free if order amount is above` and fill in the amount." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:89 -msgid "To set up `$20` flat-rate shipping that becomes free if the customer spends over `$100`, fill in the following fields:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:92 -msgid ":guilabel:`Delivery Method`: `Flat-rate shipping`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:110 msgid ":guilabel:`Provider`: :guilabel:`Fixed Price`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:94 -msgid ":guilabel:`Fixed Price`: `$20.00`" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:68 +msgid ":guilabel:`Fixed Price`: `200`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:95 -msgid ":guilabel:`Free if order amount is above`: `$100.00`" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:69 +msgid ":guilabel:`Delivery Product`: :guilabel:`Furniture Delivery (manual)`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:0 +msgid "Set up a delivery method with a fixed price of 200." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:76 +msgid "Use the :guilabel:`Availability` tab to define conditions for the delivery method based on the order's content or destination:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:79 +msgid ":guilabel:`Countries`: Specify one or more countries where the method is available." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:80 +msgid ":guilabel:`Max Weight`: Set a maximum weight; the method is only available for orders below this limit." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:82 +msgid ":guilabel:`Max Volume`: Set a maximum volume; the method is only available for orders below this limit." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:84 +msgid ":guilabel:`Must Have Tags`: The method is available only if at least one product in the order has one of these tags." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:86 +msgid ":guilabel:`Excluded Tags`: The method is unavailable if at least one product in the order has one of these tags." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:89 +msgid "For examples on how to configure specific shipping methods, refer to the sections below." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:94 +msgid "Fixed price" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:96 +msgid "To configure a shipping price that is the same for all orders, go to :menuselection:`Inventory --> Configuration --> Delivery Methods`. Then, click :guilabel:`New`, and on the shipping method form, set the :guilabel:`Provider` to the :guilabel:`Fixed Price` option. Selecting this option makes the :guilabel:`Fixed Price` field become available, which is where the fixed rate shipping amount is defined." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:102 +msgid "To enable free shipping if the amount of the order exceeds a specified amount, check the box :guilabel:`Free if order amount is above` and fill in the amount." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:106 +msgid "To set up `$20` flat-rate shipping that becomes free if the customer spends over `$100`, fill in the following fields:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:109 +msgid ":guilabel:`Delivery Method`: `Flat-rate shipping`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:111 +msgid ":guilabel:`Fixed Price`: `$20.00`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:112 +msgid ":guilabel:`Free if order amount is above`: `$100.00`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:113 msgid ":guilabel:`Delivery Product`: `[SHIP] Flat`" msgstr "" @@ -12778,27 +13053,27 @@ msgstr "" msgid "Example of filling out a shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:121 msgid "Based on rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:106 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:123 msgid "To calculate the price of shipping based on pricing rules, set the :guilabel:`Provider` field to the :guilabel:`Based on Rules` option. Optionally, adjust :guilabel:`Margin on Rate` and :guilabel:`Additional margin` to include additional shipping costs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:128 msgid "Create pricing rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:130 msgid "Navigate to the :guilabel:`Pricing` tab and click :guilabel:`Add a line`. Doing so opens the :guilabel:`Create Pricing Rules` window, where the :guilabel:`Condition` related to the product weight, volume, price, or quantity is compared to a defined amount to calculate the :guilabel:`Delivery Cost`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:135 msgid "Once finished, click either :guilabel:`Save & New` to add another rule, or :guilabel:`Save & Close`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:121 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:138 msgid "To charge customers $20 in shipping for orders with five or fewer products, set the :guilabel:`Condition` to `Quantity <= 5.00`, and the :guilabel:`Delivery Cost` to `$20`." msgstr "" @@ -12806,37 +13081,37 @@ msgstr "" msgid "Display window to add a pricing rule. Set a condition and delivery cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:127 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:144 msgid "To restrict shipping to specific destinations on the **eCommerce** website, in the shipping method form, navigate to the :guilabel:`Destination Availability` tab and define the :guilabel:`Countries`, :guilabel:`States`, and :guilabel:`Zip Prefixes`. Leave these fields empty if all locations apply." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:149 msgid "Calculate delivery cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:151 msgid "Shipping cost is the :guilabel:`Delivery cost` specified in the rule that satisfies the :guilabel:`Condition`, plus any extra charges from the :guilabel:`Margin on rate` and :guilabel:`Additional margin`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:155 msgid "Total = Rule's~Delivery~Cost + (Margin~on~rate \\times Rule's~Delivery~Cost) + Additional~margin\n" "\n" "" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:142 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:159 msgid "With the two following rules set up:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:144 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:161 msgid "If the order contains five or fewer products, shipping is $20" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:145 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:162 msgid "If the order contains more than five products, shipping is $50." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:164 msgid ":guilabel:`Margin on Rate` is `10%` and :guilabel:`Additional margin` is `$9.00`." msgstr "" @@ -12844,59 +13119,59 @@ msgstr "" msgid "Show example of \"Based on rules\" shipping method with margins configured." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:152 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:169 msgid "When the first rule is applied, the delivery cost is $31 (20 + (0.1 * 20) + 9). When the second rule is applied, the delivery cost is $64 (50 + (0.1 * 50) + 9)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:158 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:175 msgid "Route on shipping method" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:177 msgid "Optionally, set different warehouse delivery processes for a shipping method by configuring different :doc:`routes <../daily_operations/use_routes>` for it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:164 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:181 msgid "Configuring multiple routes per shipping method is helpful for adjusting warehouse delivery processes based on:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:167 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:184 msgid "speed (e.g., use :doc:`one-step delivery <../daily_operations/receipts_delivery_one_step>` for express shipping, or :doc:`two-step <../daily_operations/receipts_delivery_two_steps>` for standard shipping)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:170 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:187 msgid "international shipping (e.g. use :doc:`three-step delivery <../daily_operations/delivery_three_steps>` to prepare documents for customs)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:189 msgid "in-store pickup or home delivery: ship from the central warehouse, or pick from the store's stock, depending on customer selection." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:175 -msgid "To set up routes, go to :menuselection:`Inventory app --> Configuration --> Routes`. Click :guilabel:`New`, or select the desired route." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:192 +msgid "To set up routes, go to :menuselection:`Inventory --> Configuration --> Routes`. Click :guilabel:`New`, or select the desired route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:178 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:195 msgid "On the route form, in the :guilabel:`Applicable On` section, tick the :guilabel:`Shipping Methods` checkbox." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:201 msgid "Routes form with the Shipping Methods checkbox selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:184 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:201 msgid "Routes form with the :guilabel:`Shipping Method` checkbox ticked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:186 -msgid "Then, go to :menuselection:`Inventory app --> Configuration --> Delivery Methods`, and select the desired shipping method." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:203 +msgid "Then, go to :menuselection:`Inventory --> Configuration --> Delivery Methods`, and select the desired shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:189 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:206 msgid "On the shipping method form, in the :guilabel:`Routes` field, select the available fulfillment routes from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:193 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst:210 msgid "If the desired route is not selectable, check that the *Shipping Methods* option is enabled in the route's *Applicable On* section." msgstr "" @@ -13293,31 +13568,31 @@ msgid "Sendcloud is a shipping service aggregator that facilitates the integrati msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:10 -msgid "`Sendcloud integration documentation `_" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:14 msgid "Setup in Sendcloud" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:19 -msgid "To get started, go to `Sendcloud's platform `_ to configure the account and generate the connector credentials. Log in with the Sendcloud account, or create a new one if needed." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:15 +msgid "To get started, `create or log in to a Sendcloud account `_." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:25 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:18 +msgid "On the Sendcloud platform, follow the `Sendcloud integration documentation `_ to configure the account and generate the connector credentials." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:23 msgid "For new account creation, Sendcloud will ask for a :abbr:`VAT (Value-Added Tax Identification)` number or :abbr:`EORI (Economic Operators' Registration and Identification)` number. After completing the account setup, activate (or deactivate) the shipping carriers that will be used in the Odoo database." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:29 msgid "Odoo integration of Sendcloud works on free Sendcloud plans *only* if a bank account is linked, since Sendcloud won't ship for free. To use shipping rules, or individual custom carrier contacts, a paid plan of Sendcloud is **required**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:36 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:185 msgid "Warehouse configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:38 msgid "Once logged into the Sendcloud account, navigate to :menuselection:`Settings --> Shipping --> Addresses`, and fill in the field for :guilabel:`Warehouse address`." msgstr "" @@ -13325,7 +13600,7 @@ msgstr "" msgid "Adding addresses in the Sendcloud settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:45 msgid "To allow Sendcloud to process returns as well, a :guilabel:`Return Address` is required. Under the :guilabel:`Miscellaneous section`, there is a field called :guilabel:`Address Name (optional)`. The Odoo warehouse name should be entered here, and the characters should be exactly the same." msgstr "" @@ -13365,23 +13640,23 @@ msgstr "" msgid ":guilabel:`Address`: `My Company (San Francisco)`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:62 msgid "Notice how the inputs for the :guilabel:`Warehouse` field, for both the Odoo configuration and the Sendcloud configuration, are the exact same." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:66 msgid "Generate Sendcloud credentials" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:68 msgid "In the Sendcloud account, navigate to :menuselection:`Settings --> Integrations` in the menu on the right. Next, search for :guilabel:`Odoo Native`. Then, click on :guilabel:`Connect`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:73 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:71 msgid "After clicking on :guilabel:`Connect`, the page redirects to the :guilabel:`Sendcloud API` settings page, where the :guilabel:`Public and Secret Keys` are produced. The next step is to name the :guilabel:`Integration`. The naming convention is as follows: `Odoo CompanyName`, with the user's company name replacing `CompanyName` (e.g. `Odoo StealthyWood`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:76 msgid "Then, check the box next to :guilabel:`Service Points` and select the shipping services for this integration. After saving, the :guilabel:`Public and Secret Keys` are generated." msgstr "" @@ -13389,19 +13664,19 @@ msgstr "" msgid "Configuring the Sendcloud integration and receiving the credentials." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:86 msgid "To ensure seamless Sendcloud integration with Odoo, :ref:`install ` and :ref:`link ` the Sendcloud shipping connector to the Sendcloud account. Then, :ref:`configure Odoo fields `, so Sendcloud can accurately pull shipping data to generate labels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:94 msgid ":ref:`Enable pickup points on websites `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:99 msgid "Install Sendcloud shipping module" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:101 msgid "After the Sendcloud account is set up and configured, it's time to configure the Odoo database. To get started, go to Odoo's :guilabel:`Apps` module, search for the `Sendcloud Shipping` integration, and install it." msgstr "" @@ -13409,88 +13684,88 @@ msgstr "" msgid "Sendcloud Shipping module in the Odoo Apps module." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:112 msgid "Sendcloud shipping connector configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:116 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:114 msgid "Once installed, activate the :guilabel:`Sendcloud Shipping` module in :menuselection:`Inventory --> Configuration --> Settings`. The :guilabel:`Sendcloud Connector` setting is found under the :guilabel:`Shipping Connectors` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:118 msgid "After activating the :guilabel:`Sendcloud Connector`, click on the :guilabel:`Sendcloud Shipping Methods` link below the listed connector. Once on the :guilabel:`Shipping Methods` page, click :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:123 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/starshipit_shipping.rst:115 msgid ":guilabel:`Shipping Methods` can also be accessed by going to :menuselection:`Inventory --> Configuration --> Delivery --> Shipping Methods`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:126 msgid "Fill out the following fields in the :guilabel:`New Shipping Method` form:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:130 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:128 msgid ":guilabel:`Shipping Method`: type `Sendcloud DPD`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:129 msgid ":guilabel:`Provider`: select :guilabel:`Sendcloud` from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:130 msgid ":guilabel:`Delivery Product`: set the product that was configured for this shipping method or create a new product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:132 msgid "In the :guilabel:`SendCloud Configuration` tab, enter the :guilabel:`Sendcloud Public Key`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:133 msgid "In the :guilabel:`SendCloud Configuration` tab, enter the :guilabel:`Sendcloud Secret Key`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:140 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:138 msgid "Pickup points" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:142 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:140 msgid "Sendcloud's `service point delivery `_ lets customers choose a pickup location (such as a nearby shop or locker) instead of entering a private delivery address." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:145 msgid "To enable the feature, go to the shipping method form, and in the :guilabel:`SendCloud Configuration` tab, under the :guilabel:`Options` section, enable :guilabel:`Use Sendcloud Locations` feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:152 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:150 msgid "Pickup point selection is only available through the **Website** app (the online checkout view). It is not currently possible to select a pickup point manually through the **Sales** app (the internal database view)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:156 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:154 msgid "For example, if the customer selects a shipping method like *Sendcloud Mondial Relay*, they must choose a pickup point during the checkout process on the website. If no pickup point is selected, the delivery order cannot be validated in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:161 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:159 msgid "Load shipping products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:163 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:161 msgid "After configuring and saving the form, follow these steps to load the shipping products:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:163 msgid "In the :guilabel:`SendCloud Configuration` tab of the :guilabel:`New Shipping Method` form, click on the :guilabel:`Load your SendCloud shipping products` link." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:167 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:165 msgid "Select the shipping products the company would like to use for deliveries and returns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:166 msgid "Click :guilabel:`Select`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:171 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:169 msgid "Sample Sendcloud shipping products configured in Odoo:" msgstr "" @@ -13514,7 +13789,7 @@ msgstr "" msgid ":guilabel:`Maximum Weight`: `31.50`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:179 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:177 msgid ":guilabel:`Countries`: `Austria` `Belgium` `Bosnia` `Herzegovina` `Bulgaria` `Croatia` `Czech` `Republic` `Denmark` `Estonia` `Finland` `France` `Germany` `Greece` `Hungary` `Iceland` `Ireland` `Italy` `Latvia` `Liechtenstein` `Lithuania` `Luxembourg` `Monaco` `Netherlands` `Norway` `Poland` `Portugal` `Romania` `Serbia` `Slovakia` `Slovenia` `Spain` `Sweden` `Switzerland`" msgstr "" @@ -13547,71 +13822,71 @@ msgstr "" msgid "Example of shipping products configured in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:197 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:195 msgid "Sendcloud does not provide test keys when a company tests the sending of a package in Odoo. This means if a package is created, the configured Sendcloud account will be charged, unless the associated package is cancelled within 24 hours of creation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:201 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:199 msgid "Odoo has a built-in layer of protection against unwanted charges when using test environments. Within a test environment, if a shipping method is used to create labels, then those labels are immediately cancelled after the creation — this occurs automatically. The test and production environment settings can be toggled back and forth from their respective smart buttons." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:211 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:209 msgid "To use Sendcloud to generate shipping labels, the following information **must** be filled out accurately and completely in Odoo:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:214 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:212 msgid "**Customer information**: when creating a quotation, ensure the selected :guilabel:`Customer` has a valid phone number, email address, and shipping address." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:221 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:219 msgid "**Product weight**: ensure all products in an order have a specified :guilabel:`Weight` in the :guilabel:`Inventory` tab of their product form. Refer to the :ref:`Product weight section ` of this article for detailed instructions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:225 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:223 msgid "**Warehouse address**: ensure the warehouse name and address in Odoo match the :ref:`previously defined warehouse ` in the Sendcloud setup. For details on warehouse configuration in Odoo, refer to the :ref:`warehouse configuration section ` of the third-party shipping documentation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:232 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:230 msgid "Generate labels with Sendcloud" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:234 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:232 msgid "When creating a quotation in Odoo, add shipping and a :guilabel:`Sendcloud shipping product`. Then, :guilabel:`Validate` the delivery. Shipping label documents are automatically generated in the chatter, which include the following:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:239 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:237 msgid ":guilabel:`Return label(s)` if the Sendcloud connector is configured for returns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:240 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:238 msgid ":guilabel:`Customs document(s)` should the destination country require them." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:245 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:243 msgid "When return labels are created, Sendcloud automatically charges the configured Sendcloud account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:248 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:246 msgid "Shipping rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:250 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:248 msgid "Optionally, create shipping rules to automatically generate shipping labels tailored to different product needs. For example, a shipping rule can be created for customers shipping expensive jewelry items to purchase insurance." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:255 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:253 msgid "Shipping rules do **not** affect :ref:`shipping rate calculations `, and are only used to improve the process of :doc:`generating shipping labels `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:259 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:257 msgid "To use shipping rules, navigate to :menuselection:`Inventory app --> Configuration --> Delivery: Shipping Methods`, and select the intended `Sendcloud` shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:262 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:260 msgid "Under the :guilabel:`Sendcloud Configuration` tab, in the :guilabel:`OPTIONS` section, choose the kind of shipments the shipping rules apply to, via the :guilabel:`Use Sendcloud shipping rules` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:266 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:264 msgid "From here, choose either: :guilabel:`Shipping` to customers, :guilabel:`Returns` from customers, or :guilabel:`Both`." msgstr "" @@ -13619,35 +13894,35 @@ msgstr "" msgid "Use Shipping Rules field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:273 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:271 msgid "Then, in the Sendcloud website, navigate to :menuselection:`Settings --> Shipping rules`. Create a new shipping rule by clicking :guilabel:`Create New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:276 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:274 msgid "In the :guilabel:`Actions` section, set a :guilabel:`Condition` to determine when the rule applies. Then, configure what to do when packages meet the condition." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:280 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:278 msgid "`Create shipping rules on Sendcloud `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:287 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:285 msgid "Shipment is too heavy" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:289 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:287 msgid "If the shipment is too heavy for the Sendcloud service that is configured, then the weight is split to simulate multiple packages. Products will need to be put in different :guilabel:`Packages` to :guilabel:`Validate` the transfer and generate labels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:293 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:291 msgid ":guilabel:`Rules` can also be set up in Sendcloud to use other shipping methods when the weight is too heavy. However, note that these rules will not apply to the shipping price calculation on the calculation on the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:298 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:296 msgid "Personal carrier contract" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:300 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:298 msgid "Use custom prices from a direct carrier contract, via CSV upload, by first logging into Sendcloud, navigating to :menuselection:`Settings --> Carriers --> My contracts`, and then selecting the intended contract." msgstr "" @@ -13655,11 +13930,11 @@ msgstr "" msgid "Navigate to the contracts section in Sendcloud." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:308 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:306 msgid "Under the :guilabel:`Contract prices` section, click :guilabel:`Download CSV` and fill out the contract prices in the :guilabel:`price` column of the CSV file template." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:312 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:310 msgid "Ensure the CSV file includes the correct prices to avoid any inaccuracies." msgstr "" @@ -13667,31 +13942,31 @@ msgstr "" msgid "Show sample contract CSV from Sendcloud, highlighting the price column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:318 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:316 msgid ":guilabel:`Upload` the completed CSV file to Sendcloud, then click :guilabel:`Save these prices`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:321 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:319 msgid "`Sendcloud: How to upload contract prices with carriers `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:327 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:325 msgid "Many carriers have several measures for weight. There is the actual weight of the products in the parcel, and there is the *volumetric weight* (:dfn:`Volumetric weight is the volume that a package occupies when in transit. In other words it is the physical size of a package`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:332 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:330 msgid "Check to see if selected carrier(s) already have defined formulas to compute the volumetric weight." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:336 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:334 msgid "`Sendcloud: How to calculate & automate parcel volumetric weight `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:340 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:338 msgid "Unable to calculate shipping rate" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:342 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:340 msgid "First, verify that the product being shipped has a weight that is supported by the selected shipping method. If this is set, then verify that the destination country (from the customer address) is supported by the carrier. The country of origin (warehouse address) should also be supported by the carrier." msgstr "" @@ -17829,232 +18104,6 @@ msgstr "" msgid "Show shipments from warehouse to store." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:3 -msgid "Stock valuation reporting" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:7 -msgid "When a company has physical assets, such as inventory, they often want to know approximately how much has been spent on these goods, or how much they are worth at the moment. This process of assigning a monetary value to account for inventory is known as *stock valuation*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:11 -msgid "This value is often reported for accounting purposes. For instance, an insurance company may want to know the value of goods stored in a warehouse, in the event of a flood or fire." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:14 -msgid ":doc:`Stock valuation <../../inventory_valuation/cheat_sheet>` typically utilizes one of two accounting systems:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:17 -msgid "**Perpetual**: The inventory is constantly (perpetually) being updated, and the value is constantly changing." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:19 -msgid "**Periodic**: The inventory value is checked on an occasional (periodic) basis, and the value is set at this occasional time." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:22 -msgid "Using :ref:`tracked inventory ` in Odoo necessitates a *perpetual* inventory accounting system because of the need to know when and where inventory exists, and how much of it is available or forecasted. There are a few common valuation methods used in Odoo: *standard price*, *average cost* (AVCO), and *first in, first out* (FIFO) accounting. It is important to know that the valuation method chosen for a product impacts the calculation of several fields in the stock valuation reports." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:30 -msgid "Open the reporting screen" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:32 -msgid "Odoo's *Stock Valuation* reporting screen displays the financial value of all tracked inventory, according to each product's stock valuation method. This can provide insights into potential issues in the supply chain, such as sunken purchase costs or delays in profitability. To access stock valuation reporting, go to :menuselection:`Inventory app --> Reporting --> Valuation`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:38 -msgid "The :menuselection:`Reporting` menu in **Inventory** is only accessible to users with :doc:`admin access <../../../../general/users/access_rights>`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:41 -msgid "This reporting screen has three different views, or inventory reports — :ref:`list view ` (i.e. the default stock valuation report), :ref:`pivot view ` (i.e. the stock aging report), and :ref:`graph view `. Each view can be customized with different fields to break down inventory valuation by product, operation type, date, or company." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:47 -msgid "All three views can be filtered by various fields. To apply filters, click into the search bar at the top of the report, or click the drop-down arrow next to it. For example, selecting the filter :guilabel:`Has Remaining Qty` will show only products that are currently in stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:54 -msgid "List view: stock valuation" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:56 -msgid "By default, the :guilabel:`Stock Valuation` reporting screen displays in *list view*, represented by the :icon:`oi-view-list` :guilabel:`(list)` icon. This report shows a detailed record of stock movements and their valuations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:61 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:197 -msgid "Configure" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:63 -msgid "The following columns are displayed by default:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:65 -msgid ":guilabel:`Date`: the date and time when the :ref:`stock move ` was created. The valuation report is sorted by this field by default, emphasizing the importance of time when valuing inventory. To sort the report by a different column, simply click on the column title." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:69 -msgid ":guilabel:`Reference`: the reference document associated with this stock move (e.g., a warehouse receipt, a delivery order, or a manual inventory adjustment)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:71 -msgid ":guilabel:`Product`: the product that is being moved and valued." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:72 -msgid ":guilabel:`Quantity`: the number of units by which this product's stock has increased or decreased in this particular stock move." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:74 -msgid ":guilabel:`Total Value`: the value of the product's stock in this particular stock move, calculated by multiplying the :guilabel:`Quantity` and :guilabel:`Unit Value`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:78 -msgid "If a :guilabel:`Reference` document includes several goods, there will be a separate line item generated on the report for each good." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:81 -msgid "There are additional fields that can be added to this view to provide more insight into the stock's valuation. To add fields, click the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon, and select the desired fields:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:85 -msgid ":guilabel:`Lot/Serial Number`: the uniquely identifying lot or serial number for this product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:86 -msgid ":guilabel:`Company`: for businesses that operate with multiple companies, this field displays the company by which this stock move took place." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:88 -msgid ":guilabel:`Remaining Quantity`: the number of units remaining for this valuation of the product, after demand has been accounted for (even from other stock moves). This field can be especially helpful for :abbr:`FIFO (First In, First Out)` and :abbr:`AVCO (Average Cost)` accounting, as it conveys which units of stock came into a warehouse first and the value of said stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:92 -msgid ":guilabel:`Unit Value`: the cost of one unit of the product for the company (**not** the price to consumers)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:94 -msgid ":guilabel:`Description`: a description of the reason for this stock valuation (typically, a stock move has occurred). By default, this field is set as the concatenation of the :guilabel:`Reference` and :guilabel:`Product` fields. However, the field may also display other important messages for this line item, such as a note stating that the line item is an adjustment due to a change in the product's inventory valuation method." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:99 -msgid ":guilabel:`Remaining Value`: the value of this product's current stock levels for this particular stock move, after demand has been accounted for. Along with :guilabel:`Remaining Quantity`, this field can be especially helpful for :abbr:`FIFO (First In, First Out)` and :abbr:`AVCO (Average Cost)` accounting, as they convey which stock came into a warehouse first and the value of said stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:106 -msgid "Some of these settings may not appear unless first enabled in **Settings** application." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:-1 -msgid "Stock valuation report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:114 -msgid "Stock valuation layers (SVLs)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:116 -msgid "Each line item in the :guilabel:`Stock Valuation` report represents a record in Odoo's system known as a *stock valuation layer (SVL)*. :abbr:`SVLs (stock move layers)` are generated when products move in a way that impacts their stock valuation. Specifically, the stock moves that generate :abbr:`SVLs (stock move layers)` are warehouse receipts, deliveries, dropshipping orders, and dropshipping returns. These stock moves must first be validated (by clicking the :guilabel:`Validate` button) for the :abbr:`SVL (stock move layer)` to be created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:123 -msgid "If a product's inventory valuation method changes on the product form, new line items are generated on the :guilabel:`Stock Valuation` report to reflect the resulting :abbr:`SVLs (stock move layers)`. For example, if the valuation method changes from *standard price* to either :abbr:`AVCO (Average Cost)` or :abbr:`FIFO (First In, First Out)` accounting, *revaluation entries* will be automatically posted to reflect the change in pricing for goods that remain in stock. One entry will be negative to \"remove\" the old pricing, and the second entry will be positive to record the new pricing. These entries are connected to journal entries in Odoo's **Accounting** app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:131 -msgid "Below is an example of what the :guilabel:`Stock Valuation` report shows when a few stock moves have occurred for a product using standard price accounting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:-1 -msgid "Stock valuation report in standard price accounting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:137 -msgid "Conversely, the following image depicts what the *Stock Valuation* report might look like after a product has switched from standard price to :abbr:`FIFO (First In, First Out)` accounting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:-1 -msgid "Stock valuation report after switching from standard price to FIFO accounting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:144 -msgid "The :guilabel:`Remaining Value` and :guilabel:`Remaining Quantity` fields are derived from what occurs at the :abbr:`SVL (stock move layer)` level in Odoo and, as such, are better understood with an example." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:148 -msgid "Frankie's Consignment Shop buys sweaters at the cost, or :guilabel:`Unit Value`, of `5.00` dollars. For the first time, Frankie's purchases and receives a :guilabel:`Quantity` of `100.00` sweaters in one stock move, then re-sells and delivers `-10.00` sweaters in a second stock move." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:152 -msgid "In the first stock move line item, the :guilabel:`Remaining Quantity` will change from `100.00` to `90.00`, once the second stock move is recorded. This change reflects that, although 100 sweaters were originally purchased, only 90 of those sweaters remain in stock and should be counted in the valuation. Similarly, the :guilabel:`Remaining Value` will drop from `$500.00` to `$450.00`. The :guilabel:`Total Value` will remain at `$500.00`, regardless of subsequent transactions." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:159 -msgid "On the other hand, the :guilabel:`Remaining Quantity` of the second stock move line item will be recorded and remain at `0.00` because the quantity of `-10.00` was sold. In the system, because the :abbr:`SVL (stock move layer)` was a sale, there is no stock left that needs to be valued from that transaction." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:0 -msgid "Remaining value and quantity are calculated based on :abbr:`SVLs (stock move layers)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:168 -msgid "Change the valuation date" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:170 -msgid "To see the valuation of stock moves at a specific date and time, click the :guilabel:`Valuation At Date` button, located in the top-left corner of the :guilabel:`Stock Valuation` page. The report will show the :guilabel:`Quantity` and :guilabel:`Total Value` of each stock move." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:175 -msgid "The :guilabel:`Remaining Quantity` and :guilabel:`Remaining Value` of the stock moves will *not* be point-in-time for any dates chosen in the past. The stock moves shown when selecting a past date will still display the *current on-hand quantity and value* of the products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:180 -msgid "A business has 100 sofas in stock on January 1st and sells 20 of those sofas on February 1st. The :guilabel:`Remaining Quantity` of the :abbr:`SVL (stock move layer)` will drop from `100.00` to `80.00` on February 1st. If no other stock moves take place, and on February 1st, the :guilabel:`Valuation at Date` is selected as January 1st, the :guilabel:`Remaining Quantity` will still show as `80.00`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:189 -msgid "Pivot view: stock aging" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:191 -msgid "From the :guilabel:`Stock Valuation` reporting screen, access pivot view by clicking the :icon:`oi-view-pivot` :guilabel:`(pivot)` icon. This view is essentially a *stock aging report*, and it shows the on-hand quantity and value of inventory by purchase date, which can help monitor products with expiration dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:199 -msgid "By default, the pivot view shows the value of all *product categories* by *day and month*. Clicking the :icon:`fa-plus-square` :guilabel:`(plus)` icon in each column or row will reveal a drop-down list of options to create a more granular breakdown of the inventory valuation. The drop-down options include: :guilabel:`Product`, :guilabel:`Lot/Serial Number`, :guilabel:`Product Category`, :guilabel:`Date`, :guilabel:`Company`, or :guilabel:`Add Custom Group` Clicking the :icon:`fa-minus-square-o` :guilabel:`(minus)` icon collapses the field back to an empty state." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:206 -msgid "In the table, the :guilabel:`Remaining Qty` column displays the number of on-hand items, and :guilabel:`Remaining Value` displays the total cost of purchasing these items." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:-1 -msgid "Stock aging report, showing product row items and day columns." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:215 -#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_calendar.rst:301 -msgid "Graph view" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:217 -msgid "The stock value can be depicted graphically by clicking the :icon:`fa-area-chart` :guilabel:`(graph)` icon. By default, the graph is displayed in :icon:`fa-line-chart` line chart view and filtered to show the cumulative total of all inventory value over time in Odoo." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:221 -msgid "At the top of the report, a :icon:`fa-bar-chart` bar chart or :icon:`fa-pie-chart` pie chart view can be selected instead." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/aging.rst:225 -msgid ":doc:`Odoo reporting essentials <../../../../essentials/reporting>`" -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/reporting/dashboards.rst:3 msgid "Inventory dashboards" msgstr "" @@ -19589,6 +19638,10 @@ msgstr "" msgid ":guilabel:`Download xlsx`: the pivot data table is downloaded as an .xlsx file." msgstr "" +#: ../../content/applications/inventory_and_mrp/maintenance/maintenance_calendar.rst:301 +msgid "Graph view" +msgstr "" + #: ../../content/applications/inventory_and_mrp/maintenance/maintenance_calendar.rst:303 msgid "With the graph view selected, the following options appear between the search bar and visual representation of the data. These graph-specific options are located to the right of the :guilabel:`Measures` and :guilabel:`Insert in Spreadsheet` buttons." msgstr "" @@ -26949,7 +27002,7 @@ msgid "To access the :guilabel:`Purchase & Vendor analysis` dashboard, go to the msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:26 -msgid "The :ref:`rights to access ` Odoo dashboards are based on user groups, and are managed within the Dashboards app. By default, the :guilabel:`Purchase & Vendor analysis` dashboard is only visible to, and can only be accessed by, users with admin access to the **Inventory** app." +msgid "The :ref:`access rights ` for Odoo dashboards are based on user groups, and are managed within the Dashboards app. By default, the :guilabel:`Purchase & Vendor analysis` dashboard is only visible to, and can only be accessed by, users with admin access to the **Inventory** app." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:40 @@ -26969,7 +27022,7 @@ msgid ":guilabel:`Average order value`: indicates the average purchase amount pe msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:47 -msgid ":guilabel:`Number or orders`: indicates the number of purchase orders during the selected period." +msgid ":guilabel:`Number of orders`: indicates the number of purchase orders during the selected period." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:48 @@ -26977,7 +27030,7 @@ msgid ":guilabel:`Quantity ordered`: indicates the quantity of products ordered msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:50 -msgid ":guilabel:`Days to receive`: indicates the average number of days between the order and receipt of purchased products (i.e., between the order deadline of purchase order and the expected arrival of the purchase order line)." +msgid ":guilabel:`Days to receive`: indicates the average number of days between the order and receipt of purchased products (i.e., between the order deadline of the purchase order and the expected arrival of the purchase order line)." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:55 @@ -26986,7 +27039,7 @@ msgid "The expected arrival date is not impacted by a change to the scheduled da msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:57 -msgid ":guilabel:`Days to Confirm`: indicates the average number of days before a purchase order is confirmed (i.e., between the creation date of the RFQ and the confirmation data of the purchase order)." +msgid ":guilabel:`Days to Confirm`: indicates the average number of days before a purchase order is confirmed (i.e., between the creation date of the RFQ and the confirmation date of the purchase order)." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/purchase_dashboard.rst:60 @@ -27066,268 +27119,245 @@ msgid "Demand calculation" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:23 -msgid "To find the *average daily demand*, Odoo sums all :ref:`validated deliveries `, :ref:`components consumed in manufacturing orders ` (MOs), or used to :doc:`resupply subcontractors <../../manufacturing/subcontracting/subcontracting_resupply>` in the *Based on* period and divides that total by the number of days in the *Based on* period. Lastly, that value is multiplied by the *Factor* to determine volume." +msgid "To estimate demand, Odoo sums all :ref:`validated deliveries `, :ref:`components consumed in manufacturing orders ` (MOs), or used to :doc:`resupply subcontractors <../../manufacturing/subcontracting/subcontracting_resupply>` coming from the warehouse specified on the RFQ in the *Based on* period. The *average daily demand* is this sum of outgoing moves divided by the number of days in the *Based on* period, multiplied by *Factor*. The *estimated demand* is the *average daily demand* multiplied by *Replenish For* days." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:31 -msgid "In a :ref:`multi-warehouse ` setup, an *In* field appears. Choose a specific warehouse or leave blank to use all warehouses to calculate demand accordingly." +msgid "Average~Daily~Demand = \\frac{Delivered~or~Consumed~Items}{Based~on~Days} \\times Factor\n" +"\\\\ \\\\ Estimated~Demand = Average~Daily~Demand \\times Replenish~for~Days" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:35 -msgid "Average~Daily~Demand = \\frac{Delivered~or~Consumed~Items}{Based~on~Days} \\times Factor" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:41 -msgid "Recommended quantity" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:38 +msgid "Only :guilabel:`Assigned` or :guilabel:`Confirmed` moves are taken into account in the *average daily demand* calculations, sales quotations or manufacturing orders in :guilabel:`Draft` are not taken into account until validated." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:43 -msgid "To find the suggested quantity, Odoo multiplies the average by *Replenish for* days to get the recommended quantity." +msgid "In a multi-warehouse setup, internal deliveries are also counted in demand estimation. In the case of a central warehouse dispatching products to individual stores, the *average daily demand* of the central warehouse will include internal transfers to individual stores." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:46 -msgid "Recommended~Quantity = Average~Daily~Demand \\times Replenish~for~Days" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:49 +msgid "Recommended quantity" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:52 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:51 +msgid "To find the suggested quantity, Odoo deducts the *estimated demand* from the current stock available quantity and all incoming shipments." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:54 +msgid "Recommended~Quantity = Estimated~Demand - (Available~Stock + Incoming~Stock)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:60 msgid "In :ref:`example 1 `, Odoo recommends `19` units to *Replenish for* `14` days *Based on* the past month's `40` delivered units." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:56 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:64 msgid "Prerequisite setup" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:58 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:66 msgid "**Purchase** and **Inventory** apps must be :ref:`installed `." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:59 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:67 msgid ":ref:`Validate at least one delivery order ` for each product." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:61 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:69 msgid "Ensures there is a past delivery record so the system can calculate average daily demand." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:63 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:71 msgid ":ref:`Add a vendor to the vendor pricelist ` with a purchase price for each product." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:66 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:74 msgid "The *Suggest* feature is vendor-specific, so each product needs a matching vendor for accurate purchase quantity and price calculations." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:69 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:77 msgid "Set the *Product Type* to *Goods* and ensure the product is :ref:`Tracked by quantity `." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:72 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:80 msgid "Ensures the system can manage stock levels and calculate recommended replenishment quantities for tangible items." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:76 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:84 msgid "Suggest quantities to order" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:78 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:86 msgid "To suggest quantities based on past sales, navigate to the :menuselection:`Purchase` app. Create a :guilabel:`New` |RFQ| or select an existing one." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:81 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:89 msgid "In the |RFQ|, set the :guilabel:`Vendor` field to the chosen supplier." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:83 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:91 msgid "In the :guilabel:`Products` tab, click the :guilabel:`Catalog` button to view that vendor's items." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:86 -msgid "Verify that each product in the catalog is configured with the chosen vendor." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:89 -msgid "By default, products listed in the product catalog are filtered by vendor." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:91 -msgid "Remove the filter in the search bar to view all items or use the built-in :icon:`oi-group` :guilabel:`Group By` for :guilabel:`Product Category`." -msgstr "" - #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:94 -msgid "Inside the :guilabel:`Catalog`, click :guilabel:`Suggest` in the upper-left corner to open the :guilabel:`Suggest Quantities based on Sales & Demands` pop-up window. Complete its fields as follows:" +msgid "Verify that each product in the catalog is configured with the chosen vendor and that the Purchase Order is in the |RFQ| stage" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:98 -msgid ":guilabel:`Replenish for`: Number of days intended to stock products." +msgid "By default, products listed in the product catalog are filtered by vendor." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:99 -msgid ":guilabel:`Based on`: There are two inputs:" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:100 +msgid "Remove the filter in the search bar to view all items or use the built-in :icon:`oi-group` :guilabel:`Group By` for :guilabel:`Product Category`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:101 -msgid "Period: select the time frame that represents historical demand (e.g., :guilabel:`Last 30 Days`, :guilabel:`April 2024`)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:104 -msgid "Growth factor %: scale the demand up or down (e.g., 120% for 20% growth, 30% for 70% drop)." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:103 +msgid "Inside the :guilabel:`Catalog`, toggle :guilabel:`Suggest` in the left sidebar to activate the feature. Complete its fields as follows:" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:106 -msgid "The total in the lower-right corner shows the order value. Odoo multiplies the vendor's *Unit Price* by the suggested quantity." +msgid ":guilabel:`Replenish for`: Number of days intended to stock products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:107 +msgid ":guilabel:`Based on`: There are two inputs:" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:109 -msgid "Once the parameters are confirmed, click :guilabel:`Compute` to calculate recommended quantities, which are auto-filled in each product's quantities in the catalog. Adjust amounts if needed, then click :guilabel:`Back to Quotation` to confirm the final numbers on the |RFQ|." +msgid "Period: select the time frame that represents historical demand (e.g., :guilabel:`Last 30 Days`, :guilabel:`April 2024`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:116 -msgid "Recommend at 100% growth" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:112 +msgid "Growth factor %: scale the demand up or down (e.g., 120% for 20% growth, 30% for 70% drop)." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:118 -msgid "A company needs to replenish orchids for 14 days, referencing the last 30 days of historical data, assuming the revenue growth is the same this month, at 100%." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:114 +msgid "The total in the bottom shows the order value. Odoo multiplies the vendor's *Unit Price* by the suggested quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:-1 -msgid "Compute suggestion for example 1." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:117 +msgid "Once the parameters are confirmed, click :guilabel:`Add All` to add all suggestions to the order. Adjust amounts if needed, then click :guilabel:`Back to Quotation` to confirm the final numbers on the |RFQ|." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:124 -msgid "Delivered/consumed within the period:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:126 -msgid "20 units delivered 15 days ago in a `WH/OUT` operation." +msgid "Example Workflow" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:127 -msgid "20 units delivered 1 day ago" +msgid "Recommend at 100% growth" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:128 -msgid "Total: 40 units in the last 30 days" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:129 +msgid "A company needs to replenish orchids for 14 days, referencing the last 30 days of historical data, assuming the revenue growth is the same this month, at 100%." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:131 -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:168 -msgid "Variables" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:133 -msgid "Replenish for: 14 days" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:132 +msgid "Delivered/consumed within the period:" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:134 -msgid "Based on: 30 days" +msgid "20 units delivered 15 days ago in a `WH/OUT` operation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:135 +msgid "20 units delivered 1 day ago" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:136 +msgid "Total: 40 units in the last 30 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:139 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:173 +msgid "Variables" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:141 +msgid "Replenish for: 14 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:142 +msgid "Based on: 30 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:144 msgid "total delivered/consumed in the period: 40 units" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:138 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:146 msgid "Factor: 100%" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:140 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:148 msgid "Average~Daily~Demand = \\frac{40}{30} \\approx 1.33 \\text{ units/day}" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:145 -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:182 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:153 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:187 msgid "Suggested quantity" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:147 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:155 msgid "Suggested~Quantity = 1.33 \\times 14 \\approx 18.67 \\text{ (rounded to 19 units)}" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:154 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:162 msgid "Suggestion to purchase 19 units." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:154 -msgid "Suggestion to purchase 19 orchids. Since the *Unit Price* is $3, :math:`$3 \\times 19 = $57`, which is the total amount displayed in the :guilabel:`Suggest Quantities based on Sales & Demands` pop-up window." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:162 +msgid "Suggestion to purchase 19 orchids. Since the *Unit Price* is $3, :math:`$3 \\times 19 = $57`, which is the total amount displayed." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:159 -msgid "Recommend at 120% growth" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:166 +msgid "Planning for Mother's Day" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:161 -msgid "To plan for ordering roses this month, the company reviews the previous week's sales. Since a local event is coming up, the company expects 120% growth." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:-1 -msgid "Compute suggestion for example 2." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:170 -msgid "Replenish for 30 days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:171 -msgid "Based on: 7 days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:173 -msgid "total delivered/consumed in the past week: 166 units" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:168 +msgid "To better plan for the upcoming Mother's day week, the company changes *Based on* to the same month last year (May 2024). As the business has grown since then, they also decide to add a 120% growth factor." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:175 +msgid "Replenish for 7 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:176 +msgid "Based on: May 2024," +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:178 +msgid "total delivered/consumed in the entire May 2024 month: 361 units" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:180 msgid "Factor: 120%" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:177 -msgid "Average~Daily~Demand = \\frac{166}{7} \\times 1.20 \\approx 28.46 \\text{ units/day}" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:182 +msgid "Average~Daily~Demand = \\frac{361}{30} \\times 1.20 \\approx 14.44 \\text{ units/day}" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:184 -msgid "Suggested~Quantity = 28.46 \\times 30 \\approx 853.8 \\text{ (rounded to 854 units)}" +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:189 +msgid "Suggested~Quantity = 14.44 \\times 7 \\approx 101.08 \\text{ (rounded up to 102 units)}" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:191 -msgid "Suggestion to purchase 854 roses." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:196 +msgid "Suggestion to purchase 102 orchids." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:191 -msgid "Suggestion to purchase 854 roses. Each rose costs $4.58 with the chosen vendor, so :math:`$4.58 \\times 854 = $3911.32`." +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:196 +msgid "Suggestion to purchase 102 orchids. Each orchid costs $3 with the chosen vendor, so :math:`$3 \\times 102 = $306`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:197 -msgid "Recommend from specific warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:199 -msgid "When there are multiple warehouses in a company, analyze delivered or consumed quantities in a specific warehouse to narrow the results. This is particularly helpful when multiple warehouses serve different communities, franchises, or branch stores." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:203 -msgid "To do that, ensure :doc:`multiple warehouses are set up <../../inventory/warehouses_storage/inventory_management/warehouses>` and deliveries or :abbr:`MOs (manufacturing orders)` are validated in each warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:207 -msgid "Navigate to the suggestion window by going to the :menuselection:`Purchase` app, clicking the desired |RFQ|, clicking the :guilabel:`Catalog` button in the product line, and then clicking :guilabel:`Suggest` in the upper-left corner." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:211 -msgid "With multiple warehouses set up, the :guilabel:`In` field becomes available, where the specific warehouse can be selected to analyze quantities consumed only in the specific warehouse, or leave the field blank to observe quantities across all warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:-1 -msgid "Show In field in the popup, displaying different warehouses to choose from." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:219 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:202 msgid "Best practices" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:221 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:204 msgid "Validate historical data" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:223 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:206 msgid "Forecasts are based on validated delivery orders, manufacturing orders, and other inventory actions that consume quantities. For delivery orders, the *Effective Date* field is considered the date the quantities were consumed." msgstr "" @@ -27335,27 +27365,27 @@ msgstr "" msgid "Example of effective date field." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:230 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:213 msgid "Maintain accurate vendor pricelists" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:232 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:215 msgid "Review and update vendor pricelists to reflect the latest pricing and supplier information to ensure correct suggestions." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:235 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:218 msgid "Test sales projections based on seasonality" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:237 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:220 msgid "Reference prior months or quarters to capture seasonal fluctuations and experiment with growth and decline factors to project sales." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:240 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:223 msgid "Review suggestions critically" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:242 +#: ../../content/applications/inventory_and_mrp/purchase/advanced/suggest.rst:225 msgid "Although the tool provides a baseline recommendation, always apply business judgment. Market changes, promotions, and upcoming events can affect actual demand." msgstr "" @@ -27460,47 +27490,43 @@ msgstr "" msgid "Purchase Agreements enabled in the Purchase app settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:38 -msgid "To create a blanket order, go to :menuselection:`Purchase app --> Orders --> Blanket Orders`, and click :guilabel:`New`. This opens a new blanket order form." +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:37 +msgid "To create a blanket order, go to :menuselection:`Purchase app --> Orders --> Purchase Agreements`, and click :guilabel:`New`. This opens a new purchase agreement form." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:41 -msgid "Configure the following fields in the new blanket order form to establish predetermined rules for the recurring long-term agreement:" +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:40 +msgid "Configure the following fields in the new purchase agreement form to establish predetermined rules for the recurring long-term agreement:" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:44 -msgid ":guilabel:`Purchase Representative`: the user assigned to this specific blanket order. By default, this is the user who created the agreement; the user can be changed directly from the drop-down menu next to this field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:47 -msgid ":guilabel:`Agreement Type`: the type of purchase agreement this blanket order is classified as. In Odoo, blanket orders are the only official purchase agreement." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:49 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:43 msgid ":guilabel:`Vendor`: the supplier to whom this agreement is tied, either once or on a recurring basis. The vendor can be selected directly from the drop-down menu next to this field." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:51 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:45 +msgid ":guilabel:`Buyer`: the user assigned to this specific blanket order. By default, this is the user who created the agreement; the user can be changed directly from the drop-down menu next to this field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:48 +msgid ":guilabel:`Agreement Type`: the type of purchase agreement this blanket order is classified as. Use the drop-down menu to choose :guilabel:`Blanket Order` if not already selected." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:50 msgid ":guilabel:`Currency`: the agreed-upon currency to be used for this exchange. If multiple currencies have been activated in the database, the currency can be changed from the drop-down menu next to this field." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:54 -msgid ":guilabel:`Agreement Deadline`: the date that this purchase agreement will be set to expire on. If this blanket order should not expire, leave this field blank." +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:53 +msgid ":guilabel:`Agreement Validity`: the date range this agreement should be valid for. If this blanket order should not expire, leave this field blank." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:56 -msgid ":guilabel:`Ordering Date`: the date that this blanket order should be placed on if a new quotation is created directly from the blanket order form. If a new quotation is created, this value automatically populates the *Order Deadline* field on the |RfQ|." +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:55 +msgid ":guilabel:`Reference`: the source purchase order (PO) that this blanket order is tied to. If this blanket order should not be tied to any existing |PO|, leave this field blank." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:57 +msgid ":guilabel:`Operation Type`: the operation type that should be applied to this order once it is delivered." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:59 -msgid ":guilabel:`Delivery Date`: the expected delivery date that the products included in an |RfQ| are expected, if created directly from a blanket order form. If a new quotation is created, this value automatically populates the *Expected Arrival* field on the |RfQ|." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:62 -msgid ":guilabel:`Source Document`: the source purchase order (PO) that this blanket order is tied to. If this blanket order should not be tied to any existing |PO|, leave this field blank." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:64 msgid ":guilabel:`Company`: the company assigned to this specific blanket order. By default, this is the company that the user creating the blanket order is listed under. If the database is not a multi-company database, this field **cannot** be changed, and defaults to the only company listed in the database." msgstr "" @@ -27508,92 +27534,44 @@ msgstr "" msgid "New blanket order purchase agreement with added products." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:73 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:67 msgid "Once all relevant fields have been filled out, click :guilabel:`Add a line` to add products under the :guilabel:`Product` column. Then, in the :guilabel:`Quantity` column, change the quantity of each product, and set a price in the :guilabel:`Unit Price` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:78 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:72 #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/purchase_templates.rst:48 msgid "When adding products to a new blanket order, the pre-existing prices of products are not automatically added to the product lines. Instead, the prices **must** be manually assigned, by changing the value in the :guilabel:`Unit Price` column to an agreed-upon price with the listed vendor. Otherwise, the price will remain `0`." msgstr "" +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:77 +msgid "Click :guilabel:`Confirm` to save this new purchase agreement." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:79 +msgid "Once confirmed, the blanket order's stage changes from :guilabel:`Draft` to :guilabel:`Confirmed`, meaning this agreement can be selected and used when creating new |RfQs|." +msgstr "" + #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:83 -msgid "To view and change the default purchase agreement settings for blanket orders directly from the blanket order form, click the :guilabel:`➡️ (right arrow)` icon that becomes visible when hovering over the :guilabel:`Agreement Type` field, where :guilabel:`Blanket Order` is listed. This navigates to the blanket order settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:-1 -msgid "Internal link arrow next to Agreement Type field on blanket order form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:92 -msgid "From here, the settings for blanket orders can be edited. Under the :guilabel:`Agreement Type` section, the name of the :guilabel:`Agreement Type` can be changed, and the :guilabel:`Agreement Selection Type` can be changed, as well. There are two options that can be activated for the type of selection:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:97 -msgid ":guilabel:`Select only one RfQ (exclusive)`: when a purchase order is confirmed, the remaining purchase orders are cancelled." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:99 -msgid ":guilabel:`Select multiple RfQ (non-exclusive)`: when a purchase order is confirmed, remaining purchase orders are **not** cancelled. Instead, multiple purchase orders are allowed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:102 -msgid "Under the :guilabel:`Data For New Quotations` section, the :guilabel:`Lines` and :guilabel:`Quantities` fields can be edited. Doing so sets how new quotations should be populated when using this purchase agreement." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:-1 -msgid "Purchase Agreement type edit screen for blanket orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:110 -msgid "There are two options that can be activated for :guilabel:`Lines`:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:112 -msgid ":guilabel:`Use lines of agreement`: when creating a new quotation, the product lines pre-populate with the same products listed on the blanket order, if said blanket order is chosen for the new quotation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:115 -msgid ":guilabel:`Do not create RfQ lines automatically`: when creating a new quotation, **and** selecting an existing blanket order, the settings carry over to the new quotation, but the product lines do **not** populate." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:119 -msgid "And, there are two options that can be activated for :guilabel:`Quantities`:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:121 -msgid ":guilabel:`Use quantities of agreement`: when creating a new quotation, the product quantities listed on the blanket order pre-populate on the product lines, if said blanket order is chosen for the new quotation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:124 -msgid ":guilabel:`Set quantities manually`: when creating a new quotation, **and** selecting an existing blanket order, the product lines pre-populate, but all quantities are set to `0`. The quantities **must** be manually set by the user." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:128 -msgid "Once any desired changes have been made, click :guilabel:`New` (via the breadcrumbs, at the top of the page) to navigate back to the blanket order form. Then, click :guilabel:`Confirm` to save this new purchase agreement." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:132 -msgid "Once confirmed, the blanket order's stage (in the upper-right corner) changes from :guilabel:`Draft` to :guilabel:`Ongoing`, meaning this agreement can be selected and used when creating new |RfQs|." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:136 msgid "After creating and confirming a blanket order, products, quantities, and prices can still be edited, added, and removed from the purchase agreement." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:140 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:87 msgid "Create a new |RfQ| from the blanket order" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:142 -msgid "After confirming a blanket order, new quotations can be created directly from the blanket order form. |RfQs| using this form are pre-populated with information based on the rules set in the form. Additionally, new quotations are automatically linked to this blanket order form, via the :guilabel:`RFQs/Orders` smart button at the top-right of the form." +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:89 +msgid "After confirming a blanket order, new quotations can be created directly from the blanket order form. |RfQs| using this form are pre-populated with information based on the rules set in the form. The total quantities of products ordered through linked |RfQs| are automatically updated in the :guilabel:`Ordered` field on the agreement." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:147 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:94 +msgid "Additionally, new quotations are automatically linked to this blanket order form, via the :guilabel:`RFQs/Orders` smart button at the top-right of the form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:97 msgid "To create a new quotation from the blanket order form, click the :guilabel:`New Quotation` button. This opens a new |RfQ|, that is pre-populated with the correct information, depending on the settings configured on the blanket order form." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:151 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:101 msgid "From the new |RfQ| form, click :guilabel:`Send by Email` to compose and send an email to the listed vendor. Click :guilabel:`Print RFQ` to generate a printable PDF of the quotation; or, once ready, click :guilabel:`Confirm Order` to confirm the |PO|." msgstr "" @@ -27601,7 +27579,7 @@ msgstr "" msgid "New quotation with copied products and rules from blanket order." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:159 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:108 msgid "Once the |PO| has been confirmed, click back to the blanket order form (via the breadcrumbs, at the top of the page). From the blanket order form, there is now one |RfQ| listed in the :guilabel:`RFQs/Orders` smart button at the top-right of the form. Click the :guilabel:`RFQs/Orders` smart button to see the |PO| that was just created." msgstr "" @@ -27609,11 +27587,11 @@ msgstr "" msgid "RFQs and Orders smart button from blanket order form." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:171 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:119 msgid "Once a blanket order is confirmed, a new vendor line is added under the :guilabel:`Purchase` tab of the products included in the order." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:174 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:122 msgid "This makes blanket orders useful with :doc:`automated replenishment <../../purchase/products/reordering>`, because information about the :guilabel:`Vendor`, :guilabel:`Price`, and the :guilabel:`Agreement` are referenced on the vendor line. This information dictates when, where, and at what price the product should be replenished." msgstr "" @@ -27621,7 +27599,7 @@ msgstr "" msgid "Product form with replenishment agreement linked to blanket order." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:184 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/blanket_orders.rst:131 msgid ":doc:`calls_for_tenders`" msgstr "" @@ -28079,7 +28057,7 @@ msgid "A *vendor bill* is an invoice received for products and/or services purch msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:16 -msgid "In Odoo, a vendor bill can be created at different points in the purchasing process, depending on the *bill control* policy chosen in the *Purchase* app's settings." +msgid "In Odoo, a vendor bill can be created at different points in the purchasing process, depending on the *bill control* policy selected on the product's settings." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:20 @@ -28087,212 +28065,86 @@ msgid "Bill control policies" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:22 -msgid "To configure the default bill control policy, navigate to :menuselection:`Purchase app --> Configuration --> Settings`, and scroll to the :guilabel:`Invoicing` section." +msgid "To configure a product's bill control policy, navigate to :menuselection:`Purchase app --> Products Products`, and click on the desired product to open it. Then, click on the :guilabel:`Purchase` tab. Under the *Vendor Bills* section, the *Control Policy* field lists two policy options:" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:25 -msgid "The :guilabel:`Bill Control` feature lists two policy options: :guilabel:`Ordered quantities` and :guilabel:`Received quantities`." +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:26 +msgid ":guilabel:`On ordered quantities`: creates a vendor bill as soon as a purchase order is confirmed. The products and quantities in the purchase order are used to generate a draft bill." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:28 -msgid "The policy selected acts as the default for any new product created. Each policy acts as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:30 -msgid ":guilabel:`Ordered quantities`: creates a vendor bill as soon as a purchase order is confirmed. The products and quantities in the purchase order are used to generate a draft bill." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:32 -msgid ":guilabel:`Received quantities`: a bill is only created **after** all (or part) of the total order has been received. The products and quantities received are used to generate a draft bill." +msgid ":guilabel:`On received quantities`: a bill is only created **after** all (or part) of the total order has been received. The products and quantities received are used to generate a draft bill." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:-1 -msgid "Bill control policies in purchase app settings." +msgid "Bill control policies on a product record." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:39 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:34 msgid "Once a policy is selected, click :guilabel:`Save` to save the changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:42 -msgid "If a product needs a different control policy than the one set in the *Purchase* app settings, that product's control policy can be overridden by going to the :guilabel:`Purchase` tab on a product form, and selecting the desired policy in the :guilabel:`Control Policy` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:0 -msgid "Control policy field on product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:51 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:37 msgid "3-way matching" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:53 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:39 msgid "The *3-way matching* policy ensures vendor bills are only paid once all (or some) products in a purchase order (PO) have been received." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:56 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:42 msgid "To activate 3-way matching, navigate to :menuselection:`Purchase app --> Configuration --> Settings`, and scroll to the :guilabel:`Invoicing` section." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:59 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:45 msgid "Tick the checkbox next to :guilabel:`3-way matching`, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:62 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:48 msgid "The :guilabel:`3-way matching` feature is **only** intended to work with the :guilabel:`Bill Control` policy set to :guilabel:`Received quantities`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:66 -msgid "Create and manage vendor bills on receipts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:68 -msgid "When products are received into a company's warehouse, receipts are created. Once the company processes the received quantities, they can choose to create a vendor bill directly from the warehouse receipt form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:72 -msgid "Depending on the bill control policy chosen in the settings, vendor bill creation is completed at different steps of the procurement process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:76 -msgid "Ordered quantities" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:78 -msgid "To create and manage vendor bills for receipts with the *Bill Control* policy set to *Ordered Quantities*, first navigate to the :menuselection:`Purchase app`, and click :guilabel:`New` from the :guilabel:`Requests for Quotation` dashboard." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:82 -msgid "Doing so opens a new :guilabel:`Request for Quotation` (RfQ) form. On the blank |RfQ| form, add a :guilabel:`Vendor`, and click :guilabel:`Add a line` under the :guilabel:`Product` tab to add products to the order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:86 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:126 -msgid "On the product line, select a product from the drop-down menu in the :guilabel:`Product` field, and enter the quantity to order in the :guilabel:`Quantity` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:89 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:129 -msgid "Once ready, click :guilabel:`Confirm Order` to confirm the |RfQ| into a |PO|." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:91 -msgid "Then, click :guilabel:`Create Bill` to create a vendor bill. This opens a :guilabel:`Vendor Bill` form in the :guilabel:`Draft` state. From here, add a billing date in the :guilabel:`Bill Date` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:95 -msgid "Once ready, confirm the bill by clicking :guilabel:`Confirm` on the :guilabel:`Vendor Bill` page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:98 -msgid "Since the bill control policy is set to *Ordered quantities*, the draft bill can be confirmed as soon as it is created, before any products have been received." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:101 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:152 -msgid "Once a payment has been received, click :guilabel:`Register Payment` at the top of the bill to record it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:104 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:155 -msgid "Doing so causes a :guilabel:`Register Payment` pop-up window to appear, wherein a payment :guilabel:`Journal` can be chosen, and a :guilabel:`Payment Method` selected." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:107 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:158 -msgid "Additionally, the bill :guilabel:`Amount`, :guilabel:`Payment Date`, and :guilabel:`Memo` (:dfn:`Reference Number`) can be edited from this pop-up window, if necessary." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:110 -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:161 -msgid "Once ready, click :guilabel:`Create Payment` to finish creating the :guilabel:`Vendor Bill`. Doing so displays a green :guilabel:`Paid` banner on the |RfQ| form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:-1 -msgid "Vendor bill form for ordered quantities control policy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:118 -msgid "Received quantities" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:120 -msgid "To create and manage vendor bills for receipts with the bill control policy set to *Received quantities*, first navigate to the :menuselection:`Purchase` app, and click :guilabel:`New`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:123 -msgid "Doing so opens a new |RfQ| form. On the blank |RfQ| form, add a :guilabel:`Vendor`, and click :guilabel:`Add a line` under the :guilabel:`Product` tab to add products to the order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:132 -msgid "When using the *Received quantities* control policy, clicking :guilabel:`Create Bill` before any products are received causes an :guilabel:`Invalid Operation` pop-up window to appear." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:135 -msgid "Odoo requires at least partial quantities of the items included in the |PO| to be received in order to create a vendor bill." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:0 -msgid "User error pop-up for received quantities control policy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:142 -msgid "On the |PO|, click the :guilabel:`Receipt` smart button to view the warehouse receipt form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:144 -msgid "From here, click :guilabel:`Validate` to register the :guilabel:`Done` (received) quantities." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:146 -msgid "Then, navigate back to the |PO|, via the breadcrumb, and click :guilabel:`Create Bill`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:148 -msgid "This opens a :guilabel:`Vendor Bill` form in the :guilabel:`Draft` state. From here, add a billing date in the :guilabel:`Bill Date` field. Once ready, confirm the bill by clicking :guilabel:`Confirm` at the top of the draft." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:165 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:52 msgid "Manage vendor bills in Accounting" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:167 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:54 msgid "Vendor bills can also be created directly from the *Accounting* app, without having to create a purchase order first." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:170 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:57 msgid "Navigate to :menuselection:`Accounting app --> Vendors --> Bills`, and click :guilabel:`New`. Doing so reveals a blank :guilabel:`Vendor Bill` form." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:173 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:60 msgid "Add a vendor in the :guilabel:`Vendor` field. Then, in the :guilabel:`Invoice Lines` tab, click :guilabel:`Add a line` to add products." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:176 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:63 msgid "Select a product from the drop-down menu in the :guilabel:`Product` field, and enter the quantity to order in the :guilabel:`Quantity` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:179 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:66 msgid "Select a :guilabel:`Bill Date`, and configure any other necessary information. Finally, click :guilabel:`Confirm` to confirm the bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:182 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:69 msgid "Once confirmed, click the :guilabel:`Journal Items` tab to view the :guilabel:`Account` journals. These journals are populated based on the configuration on the corresponding :guilabel:`Vendor` and :guilabel:`Product` forms." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:186 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:73 msgid "If necessary, click :guilabel:`Credit Note` to add a credit note to the bill. Additionally, a :guilabel:`Bill Reference` number can be added." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:189 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:76 msgid "Once ready, click :guilabel:`Register Payment`, followed by :guilabel:`Create Payment`, to complete the :guilabel:`Vendor Bill`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:193 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:80 msgid "To link a draft bill to an existing purchase order, click the drop-down menu next to :guilabel:`Auto-Complete` *before* clicking :guilabel:`Confirm`, and select a |PO| from the menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:196 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:83 msgid "The bill auto-populates with the information from the chosen |PO|." msgstr "" @@ -28300,43 +28152,43 @@ msgstr "" msgid "Auto-complete drop-down list on draft vendor bill." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:203 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:90 msgid "Batch billing" msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:205 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:92 msgid "Vendor bills can be processed and managed in batches in the *Accounting* app." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:207 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:94 msgid "Navigate to :menuselection:`Accounting app --> Vendors --> Bills`. Then, click the :guilabel:`checkbox` in the top-left corner, beside the :guilabel:`Number` column, under the :guilabel:`New` button." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:211 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:98 msgid "This selects all existing vendor bills with a :guilabel:`Status` of :guilabel:`Posted` or :guilabel:`Draft`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:214 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:101 msgid "Click the :icon:`fa-print` :guilabel:`Print` button to print the selected invoices or bills." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:216 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:103 msgid "Click :guilabel:`Register Payment` to create and process payments for multiple vendor bills at once." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:219 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:106 msgid "Only payments with their :guilabel:`Status` listed as :guilabel:`Posted` can be billed in batches. Payments in the :guilabel:`Draft` stage **must** be posted before they can be included in a batch billing." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:223 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:110 msgid "Clicking :guilabel:`Register Payment` opens a :guilabel:`Register Payment` pop-up window. From the pop-up window, select the :guilabel:`Journal` the bills should post to, choose a :guilabel:`Payment Date`, and select a :guilabel:`Payment Method`." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:227 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:114 msgid "There is also the option to :guilabel:`Group Payments` together from this pop-up window, as well. If this checkbox is ticked, only one payment is created, instead of one per bill. This option only appears if the *Batch Payments* feature is enabled in the settings of the :menuselection:`Accounting` app." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:232 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:119 msgid "Once ready, click the :guilabel:`Create Payment` button. This creates a list of journal entries on a separate page. The journal entries on this list are all tied to their corresponding vendor bills." msgstr "" @@ -28344,7 +28196,7 @@ msgstr "" msgid "Batch billing register payment pop-up window." msgstr "" -#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:240 +#: ../../content/applications/inventory_and_mrp/purchase/manage_deals/manage.rst:127 msgid ":doc:`control_bills`" msgstr "" diff --git a/locale/sources/productivity.pot b/locale/sources/productivity.pot index 567302c55..b8f5736df 100644 --- a/locale/sources/productivity.pot +++ b/locale/sources/productivity.pot @@ -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 \n" "Language-Team: LANGUAGE \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 ` 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 ` 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 `, 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 ` 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 ` 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 ` 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 "" diff --git a/locale/sources/sales.pot b/locale/sources/sales.pot index f2041eb0f..e9f160716 100644 --- a/locale/sources/sales.pot +++ b/locale/sources/sales.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -49,7 +49,7 @@ msgstr "" #: ../../content/applications/sales/crm/acquire_leads/lead_mining.rst:13 #: ../../content/applications/sales/crm/optimize/gamification.rst:10 #: ../../content/applications/sales/crm/optimize/partner_autocomplete.rst:25 -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:60 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:59 #: ../../content/applications/sales/crm/track_leads/resellers.rst:9 #: ../../content/applications/sales/point_of_sale/combos.rst:16 #: ../../content/applications/sales/point_of_sale/configuration.rst:6 @@ -57,6 +57,8 @@ msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:10 #: ../../content/applications/sales/point_of_sale/employee_login.rst:17 #: ../../content/applications/sales/point_of_sale/online_food_delivery.rst:35 +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:13 +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:16 #: ../../content/applications/sales/point_of_sale/payment_methods/customer_credit.rst:13 #: ../../content/applications/sales/point_of_sale/payment_methods/qr_code_payment.rst:9 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:13 @@ -86,13 +88,14 @@ msgstr "" #: ../../content/applications/sales/sales/commissions.rst:14 #: ../../content/applications/sales/sales/gelato.rst:15 #: ../../content/applications/sales/sales/invoicing/proforma.rst:14 -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:15 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:16 #: ../../content/applications/sales/sales/products_prices/products/product_images.rst:14 #: ../../content/applications/sales/sales/products_prices/products/variants.rst:34 #: ../../content/applications/sales/sales/sales_quotations/margin.rst:12 #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:24 #: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:11 #: ../../content/applications/sales/subscriptions/closing.rst:9 +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:16 msgid "Configuration" msgstr "" @@ -1265,6 +1268,94 @@ msgstr "" msgid "When collecting a company's contact information, make sure to be aware of the latest EU regulations. For more information about General Data Protection Regulation, refer to: `Odoo GDPR `__." msgstr "" +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:3 +msgid "Membership / Partnership module" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:5 +msgid "The Membership / Partnership module allows for the creation and sale of memberships. Memberships can be sold through both sales orders and subscriptions products so that businesses can organize and interact with customers as members. This allows for:" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:9 +msgid "measuring membership activity, inactivity, sign ups, and churn rates" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:10 +msgid "viewing membership renewals and expirations" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:11 +msgid "following up on membership dues and associated payments" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:12 +msgid "communicating with members, including sending email blasts based on members' current status" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:13 +msgid "assigning different membership levels to members" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:14 +msgid "organizing members-only events" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:15 +msgid "creating membership lists populated with contact info and other details about members." +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:18 +msgid "The Membership / Partnership module vs. the Membership app" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:20 +msgid "Beginning with 19.0, the **Membership** app has been replaced by the Membership / Partnership module. This module captures all of the functionality of the **Membership** app, but in a module that is better integrated with other essential apps without requiring a specific **Accounting** module. This replacement does not break any existing membership information when upgrading to 19.0." +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:26 +msgid "App integrations with the Membership / Partnership module" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:28 +msgid "Once activated, the Membership / Partnership module is fully integrated with both the **Sales** and **Subscriptions** apps. The module is also compatible with the **eCommerce** app, allowing customers to purchase memberships through business's websites." +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:32 +msgid "Finally, the Membership / Partnership module is compatible with pricelists both before and after sales. Price rules can be set before memberships are sold and applied after they are active." +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:36 +msgid "Activating the new module" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:38 +msgid "The Memberships / Partnerships module can be activated within the **CRM** app. To activate the Memberships / Partnerships module, go to :menuselection:`CRM app --> Configuration --> Settings`. In the :guilabel:`CRM` section, check the :guilabel:`Membership / Partnership` box to activate the module. The name given to affiliates can also be customized. By default, it is set to `Members`." +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:44 +msgid ":doc:`../../../sales/sales`" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:45 +msgid ":doc:`../../../sales/subscriptions`" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:46 +msgid ":doc:`../../../sales/crm`" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:47 +msgid ":doc:`../../../essentials/contacts`" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:48 +msgid ":doc:`../../../sales/sales/products_prices/prices/pricing`" +msgstr "" + +#: ../../content/applications/sales/crm/optimize/member_partner_module.rst:49 +msgid ":doc:`../../../websites/ecommerce`" +msgstr "" + #: ../../content/applications/sales/crm/optimize/partner_autocomplete.rst:3 msgid "Enrich contacts with partner autocomplete" msgstr "" @@ -1776,7 +1867,7 @@ msgid "Add Custom Filters pop-up window with custom filters configured for expec msgstr "" #: ../../content/applications/sales/crm/performance/expected_revenue_report.rst:118 -#: ../../content/applications/sales/crm/performance/forecast_report.rst:85 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:87 #: ../../content/applications/sales/crm/track_leads/unattended_leads_report.rst:145 msgid "View results" msgstr "" @@ -1952,34 +2043,34 @@ msgid "Prorated revenue" msgstr "" #: ../../content/applications/sales/crm/performance/forecast_report.rst:52 -msgid "At the top of the column for each month on the :guilabel:`Forecast` reporting page, to the right of the progress bar, is a sum of the prorated revenue for that time frame." -msgstr "" - -#: ../../content/applications/sales/crm/performance/forecast_report.rst:55 -msgid "The prorated revenue is calculated using the formula below:" +msgid "The prorated revenue is the :guilabel:`Expected Revenue` amount that is displayed at the top of the column for each month on the :guilabel:`Forecast` reporting page. This value is situated to the right of the progress bar. The calculation for :guilabel:`Expected Revenue` is the total of the prorated revenue specific to that particular time frame." msgstr "" #: ../../content/applications/sales/crm/performance/forecast_report.rst:57 +msgid "The prorated revenue is calculated using the formula below:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/forecast_report.rst:59 msgid "\\text{Expected Revenue} \\times \\text{Probability} = \\text{Prorated Revenue}" msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:61 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:63 msgid "As opportunities are moved from one column to another, the column's revenue is automatically updated to reflect the change." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:65 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:67 msgid "A forecast report for June includes two opportunities:" msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:67 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:69 msgid "The first opportunity, `Global Solutions`, has an expected revenue of `$3,800`, and a probability of `90%`. This results in a prorated revenue of `$3,420`." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:70 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:72 msgid "The second opportunity, `Quote for 600 Chairs`, has an expected revenue of `$22,500`, and a probability of `20%`. This results in a prorated revenue of `$4,500`." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:73 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:75 msgid "The combined prorated revenue of the opportunities is `$7,920`, which is listed at the top of the column for the month." msgstr "" @@ -1987,11 +2078,11 @@ msgstr "" msgid "An example of the prorated revenue for one month of the forecast report." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:81 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:83 msgid "For more information on how probability is assigned to opportunities, see :doc:`../track_leads/lead_scoring`" msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:87 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:89 msgid "Click the :icon:`fa-area-chart` :guilabel:`(area chart)` icon to change to graph view. Then, click the corresponding icon at the top of the report to switch to a :icon:`fa-bar-chart` :guilabel:`(bar chart)`, :icon:`fa-line-chart` :guilabel:`(line chart)`, or :icon:`fa-pie-chart` :guilabel:`(pie chart)`." msgstr "" @@ -1999,11 +2090,11 @@ msgstr "" msgid "A pie chart view of the Forecast report." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:96 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:98 msgid "Click the |pivot| to change to the pivot view, or the |list| to change to the list view." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:99 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:101 msgid "The :ref:`pivot view ` can be used to view and analyze data in a more in-depth manner. Multiple measures can be selected, and data can be viewed by month, and by opportunity stage." msgstr "" @@ -2011,7 +2102,7 @@ msgstr "" msgid "A sample of the forecast report in the pivot view." msgstr "" -#: ../../content/applications/sales/crm/performance/forecast_report.rst:108 +#: ../../content/applications/sales/crm/performance/forecast_report.rst:110 msgid "To save this report as a *favorite*, see :ref:`search/favorites`." msgstr "" @@ -3720,7 +3811,7 @@ msgid "Assign leads with predictive lead scoring" msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:5 -msgid "The Odoo *CRM* app can automatically assign leads/opportunities to sales teams and salespeople. A standard practice is to assign leads based on the probability of winning each lead. Companies can prioritize the leads that are more likely to result in successful deals by quickly assigning them to the appropriate salespeople." +msgid "The Odoo **CRM** app can automatically assign leads/opportunities to sales teams and salespeople. A standard practice is to assign leads based on the probability of winning each lead. Companies can prioritize the leads that are more likely to result in successful deals by quickly assigning them to the appropriate salespeople." msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:10 @@ -3732,7 +3823,7 @@ msgid "Predictive lead scoring" msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:16 -msgid "Predictive lead scoring is a machine-learning model that uses historical data from Odoo *CRM* to score open leads/opportunities." +msgid "Predictive lead scoring is a machine-learning model that uses historical data from Odoo **CRM** to score open leads/opportunities." msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:19 @@ -3791,83 +3882,83 @@ msgstr "" msgid "The probability of success displayed on the opportunity form." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:54 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:53 msgid "When an opportunity moves to the next stage, its probability of success automatically increases according to the predictive lead scoring algorithm." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:62 -msgid "Predictive lead scoring is always active in Odoo *CRM*. However, the variables used to calculate the probability of success can be customized in the settings." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:61 +msgid "Predictive lead scoring is always active in Odoo **CRM**. However, the variables used to calculate the probability of success can be customized in the settings." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:65 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:64 msgid "To customize the variables used by predictive lead scoring, go to :menuselection:`CRM --> Configuration --> Settings`. Under :guilabel:`Predictive Lead Scoring`, click on the :guilabel:`Update Probabilities` button." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:69 -msgid "Then, click on the drop-down menu to choose which variables the predictive lead scoring feature will take into account." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:68 +msgid "Then, click on the drop-down menu to choose which variables the predictive lead scoring feature takes into account." msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:-1 msgid "The Update Probabilities window in the Predictive Lead Scoring settings." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:76 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:74 msgid "Any number of the following variables can be activated:" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:78 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:76 msgid ":guilabel:`State`: the geographical state from which the opportunity originates" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:79 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:77 msgid ":guilabel:`Country`: the geographical country from which the opportunity originates" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:80 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:78 msgid ":guilabel:`Phone Quality`: whether or not a phone number is listed for the opportunity" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:81 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:79 msgid ":guilabel:`Email Quality`: whether or not an email address is listed for the opportunity" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:82 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:80 msgid ":guilabel:`Source`: the source of an opportunity (e.g. search engine, social media)" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:83 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:81 msgid ":guilabel:`Language`: the spoken language specified on the opportunity" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:84 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:82 msgid ":guilabel:`Tags`: the tags placed on the opportunity" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:87 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:85 msgid "The variables `Stage` and `Team` are always in effect. `Stage` refers to the CRM pipeline stage that an opportunity is in. `Team` refers to the sales team that is assigned to an opportunity. Predictive lead scoring *always* takes into account these two variables, regardless of which optional variables are selected." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:92 -msgid "Next, click on the date field next to the option :guilabel:`Consider leads created as of the:` to select the date from which predictive lead scoring will begin its calculations." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:90 +msgid "Next, click on the date field next to the option :guilabel:`Consider leads created as of the:` to select the date from which predictive lead scoring begins its calculations." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:95 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:93 msgid "Lastly, click :guilabel:`Confirm` to save changes." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:98 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:96 msgid "Change the probability manually" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:100 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:98 msgid "An opportunity's probability of success can be changed manually on the opportunity form. Click on the probability number to edit it." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:104 -msgid "Manually changing the probability removes the automatic probability updates for that opportunity. The probability will no longer update automatically as the opportunity moves through each stage of the pipeline." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:102 +msgid "Manually changing the probability removes the automatic probability updates for that opportunity. The probability no longer automatically updates as the opportunity moves through each stage of the pipeline." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:108 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:106 msgid "To reactivate automatic probability, click on the gear icon next to the probability percentage." msgstr "" @@ -3875,67 +3966,67 @@ msgstr "" msgid "The gear icon used to reactivate automatic probability on an opportunity form." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:115 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:112 msgid "Assign leads based on probability" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:117 -msgid "Odoo *CRM* can assign leads/opportunities to sales teams and salespeople based on specified rules. Create assignment rules based on the leads' probability of success to prioritize those that are more likely to result in deals." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:114 +msgid "Odoo **CRM** can assign leads/opportunities to sales teams and salespeople based on specified rules. Create assignment rules based on the leads' probability of success to prioritize those that are more likely to result in leads and opportunities." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:122 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:119 msgid "Configure rule-based assignment" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:124 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:121 msgid "To activate *rule-based assignment*, navigate to :menuselection:`CRM --> Configuration --> Settings`, and activate :guilabel:`Rule-Based Assignment`." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:127 -msgid "The rule-based assignment feature can be set to run :guilabel:`Manually`, meaning an Odoo user must manually trigger the assignment, or :guilabel:`Repeatedly`, meaning Odoo will automatically trigger the assignment according to the chosen time period." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:124 +msgid "The rule-based assignment feature can be set to run :guilabel:`Manually`, meaning an Odoo user must manually trigger the assignment, or :guilabel:`Repeatedly`, meaning Odoo automatically triggers the assignment according to the chosen time period." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:131 -msgid "To set up automatic lead assignment, select :guilabel:`Repeatedly` for the :guilabel:`Running` section. Then, customize how often Odoo will trigger the automatic assignment in the :guilabel:`Repeat every` section." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:128 +msgid "To configure automatic lead assignment, select :guilabel:`Repeatedly` for the :guilabel:`Running` section. The frequency of this automatic assignment is customized within the :guilabel:`Repeat every` section. Enter a specific number and select a corresponding time period to establish the desired interval. Time periods range from :guilabel:`Minutes` to :guilabel:`Weeks`." msgstr "" #: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:-1 msgid "The Rule-Based Assignment setting in CRM settings." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:139 -msgid "If rule-based assignment is set to run :guilabel:`Repeatedly`, the assignment can still be triggered manually using the circular arrow icon in the :guilabel:`Rule-Based Assignment` settings (or using the :guilabel:`Assign Leads` button on the sales team configuration page)." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:136 +msgid "If :guilabel:`rule-based assignment` is set to run :guilabel:`Repeatedly`, the assignment can still be triggered manually using the circular arrow icon in the :guilabel:`Rule-Based Assignment` settings, or using the :guilabel:`Assign Leads` button on the sales team configuration page. Once a lead has been assigned to a salesperson via this rule, the leads are automatically converted into an opportunity by the system." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:144 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:143 msgid "Configure assignment rules" msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:146 -msgid "Next, configure the *assignment rules* for each sales team and/or salesperson. These rules determine which leads Odoo assigns to which people. To get started, navigate to :menuselection:`CRM --> Configuration --> Sales Teams`, and select a sales team." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:145 +msgid "Next, configure the *assignment rules* for each sales team or salesperson. These rules determine which leads Odoo assigns to which people. To get started, navigate to :menuselection:`CRM --> Configuration --> Sales Teams`, and select a sales team." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:150 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:149 msgid "On the sales team configuration form, under :guilabel:`Assignment Rules`, click on :guilabel:`Edit Domain` to configure the rules that Odoo uses to determine lead assignment for this sales team. The rules can include anything that may be relevant for this company or team, and any number of rules can be added." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:155 -msgid "Click :guilabel:`Add Filter` to start creating assignment rules. Click on the :guilabel:`+` sign on the right of the assignment rule to add another line. Click on the :guilabel:`x` symbol to remove the line." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:154 +msgid "Click :guilabel:`Add Filter` to start creating assignment rules. Click on the :icon:`fa-plus-circle` sign on the right of the assignment rule to add another line. Click on the :guilabel:`x` symbol to remove the line." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:159 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:158 msgid "To create an assignment rule based on an opportunity's probability of success, click on the far left drop-down menu of an assignment rule line, and select :guilabel:`Probability`." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:162 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:161 msgid "From the middle drop-down menu, select the desired equation symbol—most likely the symbol for *greater than*, *less than*, *greater than or equal to*, or *less than or equal to*." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:165 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:164 msgid "In the far right space, enter the desired number value of the probability. Finally, click :guilabel:`Save` to save changes." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:169 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:168 msgid "To configure an assignment rule such that a sales team receives leads that have a probability of success of 20% or greater, create a :guilabel:`Domain` line that reads: `Probability >= 20`." msgstr "" @@ -3943,16 +4034,16 @@ msgstr "" msgid "Sales team domain set to probability greater than or equal to twenty percent." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:176 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:174 msgid "Separate assignment rules can also be configured for individual team members. From the sales team configuration page, click on a team member in the :guilabel:`Members` tab, then edit the :guilabel:`Domain` section. Click :guilabel:`Save` to save changes." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:180 +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:178 msgid "If automatic lead assignment is configured in the settings, both the sales team and individual team members have the option to :guilabel:`Skip auto assignment`. Check this box to omit a particular sales team or salesperson from being assigned leads automatically by Odoo's rule-based assignment feature. If :guilabel:`Skip auto assignment` is activated, the sales team or salesperson can still be assigned leads manually." msgstr "" -#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:186 -msgid "To manually assign leads to this sales team, click on the :guilabel:`Assign Leads` button at the top of the sales team configuration page. This will assign any leads that are currently unassigned and match this team's specified domain." +#: ../../content/applications/sales/crm/track_leads/lead_scoring.rst:184 +msgid "To manually assign leads to this sales team, click on the :guilabel:`Assign Leads` button at the top of the sales team configuration page. This assigns any leads that are currently unassigned and match this team's specified domain." msgstr "" #: ../../content/applications/sales/crm/track_leads/marketing_attribution.rst:3 @@ -4381,7 +4472,7 @@ msgid "Resellers" msgstr "" #: ../../content/applications/sales/crm/track_leads/resellers.rst:5 -msgid "Within Odoo's *CRM* app, leads can be forwarded to resellers (or partners). Leads can be manually assigned, or automatically assigned, based on the resellers' designated *level* and location." +msgid "Within Odoo's **CRM** app, leads can be forwarded to resellers (or partners). Leads can be manually assigned, or automatically assigned, based on the resellers' designated *level* and location." msgstr "" #: ../../content/applications/sales/crm/track_leads/resellers.rst:11 @@ -4392,147 +4483,144 @@ msgstr "" msgid "The resellers module in Odoo." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:19 -msgid "Click :guilabel:`Activate` on the :guilabel:`Resellers` module card that appears. Doing so installs the module, and returns to the main Odoo dashboard." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:18 +msgid "Click :guilabel:`Install` on the :guilabel:`Resellers` module card that appears. Doing so installs the module, and returns to the main Odoo dashboard." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:22 -msgid "After the module is installed, navigate to the :menuselection:`CRM app`. Under the :menuselection:`Configuration` menu is a new section, titled :guilabel:`Resellers`, with three options beneath it: :guilabel:`Partner Levels`, :guilabel:`Partner Activations`, and :guilabel:`Commission Plans`." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:21 +msgid "After the module is installed, navigate to the :menuselection:`CRM app`. Under the :menuselection:`Configuration` menu is a new section, titled :guilabel:`Members`, with three options beneath it: :guilabel:`Levels`, :guilabel:`Partner Activations`, and :guilabel:`Commission Plans`." +msgstr "" + +#: ../../content/applications/sales/crm/track_leads/resellers.rst:28 +#: ../../content/applications/sales/sales/commissions.rst:78 +msgid "Levels" msgstr "" #: ../../content/applications/sales/crm/track_leads/resellers.rst:30 -msgid "Partner levels" +msgid "Partner *levels* are used to differentiate between various resellers. To view the levels, navigate to :menuselection:`CRM app --> Configuration --> Levels`." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:32 -msgid "Partner *levels* are used to differentiate between various resellers. To view the partner levels, navigate to :menuselection:`CRM app --> Configuration --> Resellers: Partner Levels`." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:33 +msgid "On the :guilabel:`Levels` page that appears, there are three default levels:" msgstr "" #: ../../content/applications/sales/crm/track_leads/resellers.rst:35 -msgid "On the :guilabel:`Partner Levels` page that appears, there are three default levels:" -msgstr "" - -#: ../../content/applications/sales/crm/track_leads/resellers.rst:37 msgid ":guilabel:`Gold`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:38 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:36 msgid ":guilabel:`Silver`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:39 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:37 msgid ":guilabel:`Bronze`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:41 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:39 msgid "New levels can be added, as needed, by clicking :guilabel:`New`, and filling out the resulting level form." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:44 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:42 msgid "Existing levels can also be edited and renamed, if desired, as well. To modify a level, select it from the list, and proceed to make any desired changes from the level form page that appears." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:47 -msgid "Level weight is used to decide the probability a partner to be assigned a lead or opportunity. On the level form, assign a numerical value (greater than zero) to the :guilabel:`Level Weight` field. If the weight is zero, no leads are assigned." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:45 +msgid ":guilabel:`Level Weight` is used to decide the probability a partner to be assigned a lead or opportunity. On the level form, assign a numerical value (greater than zero) to the :guilabel:`Level Weight` field. If the weight is zero, no leads are assigned." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:52 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:50 msgid "*Level Weight* can be assigned on an individual contact record. The weight assigned on the individual record overwrites the default weight assigned on the level configuration form." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:58 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:56 msgid "Partner activations" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:60 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:58 msgid "Partner *activations* are used to identify the status of a partner. Activations are assigned on an individual contact record, and can be used to group or filter the *Partnership Analysis* report (:menuselection:`CRM app --> Reporting --> Partnerships`)." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:64 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:62 msgid "To view the partner levels, navigate to :menuselection:`CRM app --> Configuration --> Partner Activations`." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:67 -msgid "Three activation types are created by default in the *CRM* app:" +#: ../../content/applications/sales/crm/track_leads/resellers.rst:65 +msgid "Three activation types are created by default in the **CRM** app:" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:69 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:67 msgid ":guilabel:`Fully Operational`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:70 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:68 msgid ":guilabel:`Ramp-up`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:71 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:69 msgid ":guilabel:`First Contact`" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:73 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:71 msgid "New partner activations can be added, as needed, by clicking :guilabel:`New`, and entering a :guilabel:`Name` on the new line that appears. Then, select the desired status in the :guilabel:`Active` column." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:77 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:75 msgid "Existing partner activations can also be edited and renamed, if desired. To rename a status, click the :guilabel:`Name` field of a desired level, and enter a new name." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:80 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:78 msgid "To change the active status of an activation, slide the toggle in the :guilabel:`Active` column of the desired activation to the *inactive* position." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:87 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:-1 msgid "The list of default partner activations in the CRM app." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:87 -msgid "The list of default Partner Activations in the CRM app. The toggle for First Contact is in the inactive position, while the rest are active." -msgstr "" - -#: ../../content/applications/sales/crm/track_leads/resellers.rst:91 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:85 msgid "Partner assignments" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:93 -msgid "After :ref:`partner levels ` and :ref:`partner activations ` configured." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:87 +msgid "After :ref:`levels ` and :ref:`partner activations ` configured." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:96 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:90 msgid "To update an individual partner record, navigate to :menuselection:`CRM app --> Sales --> Customers`, and click the Kanban card for the desired partner to open the customer record." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:99 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:93 msgid "On the customer record, click the :guilabel:`Partner Assignment` tab." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:101 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:95 msgid "Click the :guilabel:`Partner Level` field, and select an option from the drop-down menu to assign a level. Click the :guilabel:`Activation` field, and select a partner activation type from the drop-down list, if desired. Then, click the :guilabel:`Level Weight` field to assign a different level weight, if necessary." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:107 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:101 msgid "Publish partners" msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:109 -msgid "With the Odoo *Website* and *Resellers* apps installed, a new webpage (`/partners`) is created to display a list of all active partners from the *CRM* app." +#: ../../content/applications/sales/crm/track_leads/resellers.rst:103 +msgid "With the Odoo **Website** and **Resellers** apps installed, a new webpage (`/partners`) is created to display a list of all active partners from the **CRM** app." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:112 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:106 msgid "Next, return to :menuselection:`CRM app --> Sales --> Customers`, and click the Kanban card for a partner. From that partner's contact form, click the :guilabel:`Go to Website` smart button at the top of the page to open that partner's webpage." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:116 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:110 msgid "Next, click :guilabel:`Edit` at the top-right of the partner's webpage, and use the :doc:`building blocks <../../../websites/website/web_design/building_blocks>` to add any additional design elements, or information about the partner." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:121 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:115 msgid "A company summary is a useful addition to this page." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:123 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:117 msgid "After making any necessary changes to the page, click :guilabel:`Save`. At the top of the page, slide the :guilabel:`Unpublished` toggle to the active, :guilabel:`Published` position, if needed." msgstr "" -#: ../../content/applications/sales/crm/track_leads/resellers.rst:126 +#: ../../content/applications/sales/crm/track_leads/resellers.rst:120 msgid "Repeat these steps for all partners." msgstr "" @@ -6537,7 +6625,7 @@ msgid "Payment methods" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:7 -msgid "Configure a payment method with Odoo Point of Sale to provide customers with various payment options, including cash, card payments through a :ref:`configured payment terminal `, :doc:`online payments `, or :doc:`customer accounts `." +msgid "Configure a payment method with Odoo Point of Sale to provide customers with various payment options, including cash, card payments through a :ref:`configured payment terminal `, :doc:`online payments <../../finance/payment_providers>`, or :doc:`customer accounts `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:12 @@ -6553,7 +6641,7 @@ msgid "Enable the following options if needed:" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:18 -msgid ":guilabel:`Online Payment`: To link the payment method to a :doc:`payment provider ` and enable online payments, select a provider in the :guilabel:`Allowed Providers` field or click :icon:`fa-arrow-right` :guilabel:`Payment Providers` to install one." +msgid ":guilabel:`Online Payment`: To link the payment method to a :doc:`payment provider <../../finance/payment_providers>` and enable online payments, select a provider in the :guilabel:`Allowed Providers` field or click :icon:`fa-arrow-right` :guilabel:`Payment Providers` to install one." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:22 @@ -6561,7 +6649,7 @@ msgid ":guilabel:`Identify Customer`: Force the selection of a customer during t msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:23 -msgid "Select the preferred :doc:`Journal ` to record all transactions." +msgid "Select the preferred :doc:`Journal <../../finance/accounting/get_started/journals>` to record all transactions." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:25 @@ -6581,43 +6669,297 @@ msgid ":guilabel:`Terminal`: :ref:`Set up a terminal ` to the journal to enable :doc:`QR code payments ` with a bank app. Select a :guilabel:`QR Code Format` in the form." +msgid ":guilabel:`Bank App (QR Code)`: Add at least one :ref:`bank account ` to the journal to enable :doc:`QR code payments ` with a bank app. Select a :guilabel:`QR Code Format` in the form." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:35 -msgid ":guilabel:`Cash Machine (Glory)`: Connect a **Glory** cash machine to automate the point of sale's cash transactions." +msgid ":guilabel:`Cash Machine (Glory)`: Connect a :doc:`Glory ` :doc:`cash machine ` to automate the point of sale's cash transactions." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:37 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:38 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:37 #: ../../content/applications/sales/point_of_sale/restaurant.rst:109 msgid "Save." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:40 -msgid "The :guilabel:`Delivery Payment` option links a payment method to online orders placed through :doc:`Urban Piper `. Select the appropriate :guilabel:`Delivery Provider` to associate with the payment method." +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:41 +msgid "The :guilabel:`Delivery Payment` option links a payment method to online orders placed through :doc:`Urban Piper `. Select the appropriate :guilabel:`Delivery Provider` to associate with the payment method." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:43 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:44 msgid "If the Accounting app is installed, use the :guilabel:`Intermediary Account` field, if needed, to record transactions for this payment method in a specific receivable account for better traceability. Leave the field empty to use the company's default :ref:`receivable account `. When a :ref:`journal ` is selected, an :ref:`Outstanding Account ` can also be set if required." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:51 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:52 msgid "Use a dedicated :ref:`cash journal ` to record cash payments." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:52 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:53 msgid "Always set the :guilabel:`Journal` to :guilabel:`Bank` when :ref:`configuring a payment terminal `." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:56 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:57 msgid "`Payment methods (video tutorial) `_" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods.rst:57 +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:58 msgid ":doc:`payment_methods/terminals`" msgstr "" +#: ../../content/applications/sales/point_of_sale/payment_methods.rst:59 +msgid ":doc:`payment_methods/cash_machines`" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:5 +msgid "Cash machines" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:7 +msgid "Connecting and integrating a cash machine with a :ref:`POS system ` enables automation of cash transactions, cash counting, and change return." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:15 +msgid "Configure the cash machine itself before setting it up in Odoo. Currently, Odoo supports :doc:`Glory ` cash machines. Once the cash machine is fully set up:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:18 +msgid "Create the associated :doc:`payment method <../payment_methods>`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:19 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst:61 +msgid "Select the POS in the :guilabel:`Point of Sale` field." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:24 +msgid "Use" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:26 +msgid "To process a :ref:`payment ` with a :ref:`configured cash machine `, select the machine's :doc:`payment method <../payment_methods>` on the **payment screen**, then follow the instructions on the machine." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:30 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:49 +msgid "Once the transaction is successful, the payment is automatically validated in Point of Sale." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:33 +msgid "Connection issues between Odoo and the cash machine result in transaction cancellation." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines.rst:34 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:53 +msgid "To cancel the payment request, click :guilabel:`Cancel`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:3 +msgid "Glory" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:5 +msgid "**Glory** :doc:`cash machines <../cash_machines>` enable the automation of cash transactions." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:8 +msgid "The integration with the Glory cash machine only supports basic functions, such as cash transactions and cash count checks." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:10 +msgid "Tasks like filling and emptying the machine must be performed directly through the cash machine interface." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:19 +msgid "Cash machine settings" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:21 +msgid "Power on the cash machine, which briefly displays its IP address at the bottom of the screen. Note it down for later." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:25 +msgid "The IP address should be formatted as `###.###.#.##` (e.g., `192.168.0.25`)." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:27 +msgid "Navigate to the cash machine's homepage by entering its IP address as the URL in `HTTPS` (e.g., `https://192.168.0.25`), and log in with your Glory credentials." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:29 +msgid "As long as the certificate is not imported, a warning page appears when trying to access the machine's homepage. Bypass it by clicking :guilabel:`Advanced` and then :guilabel:`Proceed to [IP address] (unsafe)`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:32 +msgid "From the Glory homepage, go to :guilabel:`Host Configuration` and ensure the :guilabel:`Network` setting is set to :guilabel:`MANUAL`, meaning the IP address is static." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:34 +msgid "Then, navigate to :guilabel:`SSL Configuration` and scroll down to the :guilabel:`HTTPS Server Setting` section." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:37 +msgid "In parallel, open the terminal and verify that *OpenSSL* is installed. Type `openssl` and press enter. If installed, this command displays a `help` menu listing all available OpenSSL commands. If nothing happens, `install it `_." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:40 +msgid "Then, paste the following command and press `Enter` to generate and download the certificate and private key. Ensure that you replace the demo IP address with the cash machine’s actual IP address." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:49 +msgid "The self-signed SSL certificate and key pair must use the same static IP address as the cash machine." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:52 +msgid "Once the files are generated, from the :guilabel:`HTTPS Server Setting` section, upload `cert.pem` as the :guilabel:`Certificate` and `key.pem` as the :guilabel:`Private Key`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:54 +msgid "Go to :guilabel:`WebApp Configuration` and ensure the :guilabel:`Interface` setting from the :guilabel:`A: Nodejs Setting` section is set to :guilabel:`Enable`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:56 +msgid "Then, adjust the following settings depending on the POS setup:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:58 +msgid "If **multiple POS** are connected to the same cash machine, go to :guilabel:`App Configuration`, scroll down to the :guilabel:`SOAP IF Setting`, and ensure :guilabel:`Session mode` and :guilabel:`Occupy mode` are both set to :guilabel:`Enable`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:61 +msgid "If **a dedicated user** has been set up on the cash machine for Odoo, go to :guilabel:`App Configuration`, scroll down to the :guilabel:`SOAP IF Setting` section, and :guilabel:`Enable` the :guilabel:`User check` setting." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:64 +msgid "Restart the cash machine to apply the new settings." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:67 +msgid "As this setup is complex and may involve advanced knowledge of Glory hardware, it is advisable to consult the Glory integration partner for configuration if there is any uncertainty." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:71 +msgid "Import self-signed certificates" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:73 +msgid "For a long-term solution, the generated certificates must be imported into the device running the POS. The import process is heavily dependent on the :abbr:`OS (Operating System)` and the browser." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:78 +msgid "Windows OS" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:80 +msgid "Windows manages certificates, which means that self-signed certificates must be imported from the certification files rather than the browser. To do so," +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:83 +msgid "Open the Windows File Explorer and locate the downloaded certification files." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:84 +msgid "Right-click on the certification files and select :guilabel:`Install Certificate`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:85 +msgid "Specify the certificate location and select the installation scope: either the :guilabel:`Current User` only or all users (:guilabel:`Local Machine`). Then, click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:88 +msgid "On the `Certificate Store` screen, tick :guilabel:`Place all certificates in the following store`, click :guilabel:`Browse...`, and select :guilabel:`Trusted Root Certification Authorities`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:91 +msgid "Click :guilabel:`Finish` and accept the pop-up security window." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:92 +msgid "Restart the computer to make sure that the changes are applied." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:94 +msgid "Linux OS" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:96 +msgid "When using **Google Chrome**," +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:98 +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:108 +msgid "Open the web browser." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:99 +msgid "Navigate to :menuselection:`Settings --> Privacy and security --> Security --> Manage certificates`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:101 +msgid "Go to the :guilabel:`Authorities` tab, click :guilabel:`Import`, and select the exported certification files." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:103 +msgid "Accept all warnings and click :guilabel:`ok`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:104 +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:113 +msgid "Restart the web browser." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:106 +msgid "When using **Mozilla Firefox**," +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:109 +msgid "Navigate to :menuselection:`Settings --> Privacy & Security --> Security --> View Certificates... --> Import`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:111 +msgid "Select the exported certification files." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:112 +msgid "Tick the checkboxes and validate." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:116 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/mercado_pago.rst:74 +msgid "Payment method" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:118 +msgid ":ref:`Install ` the POS Glory Cash Machines module." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:119 +msgid ":doc:`Associate a cash payment method <../../payment_methods>`:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:121 +msgid "Go to :menuselection:`Point of Sale --> Configuration --> Payment Methods`. Create a new :guilabel:`Cash` payment method or update an existing payment method." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:123 +msgid "Select the associated POS in the :guilabel:`Point of Sale` field." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:124 +msgid "Select :guilabel:`Cash Machine (Glory)` in the :guilabel:`Integration` field." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:125 +msgid "Fill in the :guilabel:`Cash Machine IP` field with the IP address of the cash machine." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:126 +msgid "If the cash machine was configured to use :guilabel:`User check` in the previous section, fill in the :guilabel:`Cash Machine Username` and :guilabel:`Cash Machine Password`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/cash_machines/glory.rst:130 +msgid ":doc:`../../payment_methods`" +msgstr "" + #: ../../content/applications/sales/point_of_sale/payment_methods/customer_credit.rst:3 msgid "Customer account" msgstr "" @@ -7115,18 +7457,10 @@ msgstr "" msgid "To process a :ref:`payment ` with a :ref:`configured terminal ` for an order, select the terminal's :doc:`payment method <../payment_methods>` on the :guilabel:`Payment` screen, then follow the instructions on the terminal device." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:49 -msgid "Once the transaction is successful, the payment is automatically validated in Point of Sale." -msgstr "" - #: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:52 msgid "Connection issues between Odoo and the payment terminal result in transaction cancellation." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:53 -msgid "To cancel the payment request, click :guilabel:`Cancel`." -msgstr "" - #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:3 msgid "Adyen" msgstr "" @@ -7424,10 +7758,6 @@ msgstr "" msgid "Webhooks configuration on Mercado Pago." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/mercado_pago.rst:74 -msgid "Payment method" -msgstr "" - #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/mercado_pago.rst:76 msgid "Go to :menuselection:`Point of Sale --> Configuration --> Settings` and enable :guilabel:`Mercado Pago` under the :guilabel:`Payment Terminals` section." msgstr "" @@ -8076,10 +8406,6 @@ msgstr "" msgid "To add a **payment method** to your point of sale:" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst:61 -msgid "Select the POS in the :guilabel:`Point of Sale` field." -msgstr "" - #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/tyro.rst:62 msgid "Add the payment method under the :guilabel:`Payment Methods` field of the :guilabel:`Payment` section." msgstr "" @@ -11122,6 +11448,7 @@ msgstr "" #: ../../content/applications/sales/rental.rst:40 #: ../../content/applications/sales/rental/products.rst:10 +#: ../../content/applications/sales/rental/service_products.rst:16 #: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:13 #: ../../content/applications/sales/sales/sales_quotations/different_addresses.rst:10 #: ../../content/applications/sales/sales/sales_quotations/orders_and_variants.rst:17 @@ -11158,7 +11485,7 @@ msgid "In the :guilabel:`Rent Online` section, there are options to configure a msgstr "" #: ../../content/applications/sales/rental.rst:61 -#: ../../content/applications/sales/rental/products.rst:52 +#: ../../content/applications/sales/rental/products.rst:35 msgid "Rental products" msgstr "" @@ -11355,6 +11682,7 @@ msgid "Odoo **Rental** app allows users to customize the scheduling, pricing, an msgstr "" #: ../../content/applications/sales/rental/products.rst:12 +#: ../../content/applications/sales/rental/service_products.rst:18 msgid "To configure default settings on rental products, navigate to :menuselection:`Rental app --> Configuration --> Settings`." msgstr "" @@ -11367,6 +11695,7 @@ msgid "In the **Rental** section, under the :guilabel:`Default Delay Costs` subs msgstr "" #: ../../content/applications/sales/rental/products.rst:22 +#: ../../content/applications/sales/rental/service_products.rst:28 msgid "For finer control, configure the costs of late returns for the :guilabel:`Per Hour` and :guilabel:`Per Day` fields at the product level. If the defaults apply to all products, leave the :guilabel:`Product` field blank." msgstr "" @@ -11382,39 +11711,19 @@ msgstr "" msgid "Click **Save** to apply the changes." msgstr "" -#: ../../content/applications/sales/rental/products.rst:35 -msgid "Multi-location management and transfers" -msgstr "" - #: ../../content/applications/sales/rental/products.rst:37 -msgid "Tracking the location of high-value physical products is essential. The **Rental** app helps by facilitating rental transfers and creating stock deliveries and receipts for all rental orders." -msgstr "" - -#: ../../content/applications/sales/rental/products.rst:40 -msgid "For multi-location management and rental item transfer tracking, go to the :menuselection:`Inventory app --> Configuration --> Settings` and in the :guilabel:`Warehouse` section, enable :guilabel:`Storage Locations`. Click **Save** to apply the changes." -msgstr "" - -#: ../../content/applications/sales/rental/products.rst:44 -msgid "Next, navigate to :menuselection:`Inventory app --> Configuration --> Locations`. Click :guilabel:`New` to configure a new internal location." -msgstr "" - -#: ../../content/applications/sales/rental/products.rst:47 -msgid "In the new location page, enter the :guilabel:`Location Name` and ensure that the :guilabel:`Parent Location` field is :guilabel:`WH`. Click the :icon:`fa-cloud-upload` :guilabel:`(Save manually)` icon near the top to save." -msgstr "" - -#: ../../content/applications/sales/rental/products.rst:54 msgid "To view all products that can be rented in the database, navigate to :menuselection:`Rentals app --> Products`. By default, the :guilabel:`Rental` filter appears in the search bar, and the view is Kanban." msgstr "" -#: ../../content/applications/sales/rental/products.rst:58 +#: ../../content/applications/sales/rental/products.rst:41 msgid "Each product Kanban card displays the name of the product, rental rate, amount of units on hand, and product image (if applicable)." msgstr "" -#: ../../content/applications/sales/rental/products.rst:62 +#: ../../content/applications/sales/rental/products.rst:45 msgid "Create a new physical product" msgstr "" -#: ../../content/applications/sales/rental/products.rst:64 +#: ../../content/applications/sales/rental/products.rst:47 msgid "To set up a new physical rental product, go to the :menuselection:`Rental app --> Products`, then click :guilabel:`New`. In the new product window, the :guilabel:`Rental` checkbox is already ticked by default." msgstr "" @@ -11422,15 +11731,15 @@ msgstr "" msgid "The new product view in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:71 +#: ../../content/applications/sales/rental/products.rst:54 msgid "Select the :guilabel:`Product Type` as :guilabel:`Goods` and tick the :guilabel:`Track Inventory` checkbox. Next to the :guilabel:`Track Inventory` checkbox, select the :guilabel:`By Unique Serial Number` from the drop-down menu. For the :guilabel:`Category` field, select :guilabel:`Goods` from the drop-down menu or create a new category by typing in the name and clicking :guilabel:`Create`." msgstr "" -#: ../../content/applications/sales/rental/products.rst:76 +#: ../../content/applications/sales/rental/products.rst:59 msgid "Click the :guilabel:`Rental prices` tab and in the :guilabel:`Pricing` section, click :guilabel:`Add a price` to enter a new rental rate. Choose a *pricing period* (:dfn:`the unit of duration of the rental`) in the :guilabel:`Period` column, or create a new pricing period by typing in the name and clicking :guilabel:`Create and edit`." msgstr "" -#: ../../content/applications/sales/rental/products.rst:82 +#: ../../content/applications/sales/rental/products.rst:65 msgid "Creating a new pricing period opens a pop-up :guilabel:`Create period` window. Fill in the :guilabel:`Name`, :guilabel:`Duration`, and :guilabel:`Unit`, and click :guilabel:`Save`. The new pricing period automatically applies." msgstr "" @@ -11438,27 +11747,30 @@ msgstr "" msgid "Sample of a New Period view in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:89 +#: ../../content/applications/sales/rental/products.rst:72 +#: ../../content/applications/sales/rental/service_products.rst:135 msgid "Next, enter the :guilabel:`Price` for that specific :guilabel:`Period`. To apply the configured rental rate to an existing pricelist, click in the :guilabel:`Pricelist` column and select the desired list from the drop-down menu." msgstr "" -#: ../../content/applications/sales/rental/products.rst:93 +#: ../../content/applications/sales/rental/products.rst:76 +#: ../../content/applications/sales/rental/service_products.rst:139 msgid "In the :guilabel:`Reservations` section, fill in the :guilabel:`Hourly Fine`, :guilabel:`Daily Fine`, and the :guilabel:`Reserve product` time. These values are automatically populated from the :guilabel:`Default Delay Costs` section, provided they have been configured in the :menuselection:`Rental app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/sales/rental/products.rst:98 +#: ../../content/applications/sales/rental/products.rst:81 +#: ../../content/applications/sales/rental/service_products.rst:144 msgid "Click the :icon:`fa-cloud-upload` :guilabel:`(Save manually)` icon near the top to save." msgstr "" -#: ../../content/applications/sales/rental/products.rst:101 +#: ../../content/applications/sales/rental/products.rst:84 msgid "A bike rental business only rents out tandem bikes for the local park for two hours. The hourly rental rate for their tandem bikes is $20, but since tandem bikes are popular they want to set a fixed price of $35. To ensure the business gets their bikes returned on time they set the late return fee as $20 per hour and $160 per day ($20 x 8 hrs)." msgstr "" -#: ../../content/applications/sales/rental/products.rst:106 +#: ../../content/applications/sales/rental/products.rst:89 msgid "Create a new pricing period by navigating to :menuselection:`Rental app --> Configuration --> Rental periods`. Click :guilabel:`New` and configure a the period for 2 hours." msgstr "" -#: ../../content/applications/sales/rental/products.rst:109 +#: ../../content/applications/sales/rental/products.rst:92 msgid "Navigate to the tandem bike product and in the :guilabel:`Rental prices` tab and add the 2 hour period set at $35. Manually save to apply changes." msgstr "" @@ -11466,11 +11778,11 @@ msgstr "" msgid "Sample of a rental product with the custom rental period applied." msgstr "" -#: ../../content/applications/sales/rental/products.rst:118 +#: ../../content/applications/sales/rental/products.rst:101 msgid "Create a rental order" msgstr "" -#: ../../content/applications/sales/rental/products.rst:120 +#: ../../content/applications/sales/rental/products.rst:103 msgid "To create a rental order in the *Rental* app, navigate to :menuselection:`Rental app --> Orders --> Orders`, and click :guilabel:`New`. Doing so reveals a blank rental order form." msgstr "" @@ -11478,11 +11790,11 @@ msgstr "" msgid "Sample of a filled out rental order available in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:126 +#: ../../content/applications/sales/rental/products.rst:109 msgid "Start by adding a :guilabel:`Customer`, then configure the desired duration of the rental in the :guilabel:`Rental period` field." msgstr "" -#: ../../content/applications/sales/rental/products.rst:129 +#: ../../content/applications/sales/rental/products.rst:112 msgid "To adjust the rental duration, click the first date in the :guilabel:`Rental period` field, and select the range of dates and time to represent the rental duration from the pop-up calendar form that appears." msgstr "" @@ -11490,19 +11802,19 @@ msgstr "" msgid "Sample of a rental period calendar pop-up window in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:136 +#: ../../content/applications/sales/rental/products.rst:119 msgid "Once complete, click :guilabel:`Apply` in the calendar pop-up form. Following that, the pop-up form disappears, and the designated time period of the rental is represented in the :guilabel:`Duration` field." msgstr "" -#: ../../content/applications/sales/rental/products.rst:140 +#: ../../content/applications/sales/rental/products.rst:123 msgid "Next, add a rental product in the :guilabel:`Order Lines` tab, by clicking :guilabel:`Add a product`, and selecting the desired rental product to add to the form." msgstr "" -#: ../../content/applications/sales/rental/products.rst:144 +#: ../../content/applications/sales/rental/products.rst:127 msgid "If a rental product is added *before* the :guilabel:`Rental period` field has been properly configured, the user can *still* adjust the :guilabel:`Rental period` field accordingly." msgstr "" -#: ../../content/applications/sales/rental/products.rst:147 +#: ../../content/applications/sales/rental/products.rst:130 msgid "Select the desired range of dates to represent the duration of the rental, then click :guilabel:`Update Rental Prices` in the :guilabel:`Duration` field." msgstr "" @@ -11510,35 +11822,39 @@ msgstr "" msgid "The update rental prices option that appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:153 +#: ../../content/applications/sales/rental/products.rst:136 msgid "Doing so reveals a :guilabel:`Confirmation` pop-up window. If everything is correct, click :guilabel:`Ok`, and Odoo recalculates the rental price accordingly." msgstr "" -#: ../../content/applications/sales/rental/products.rst:156 +#: ../../content/applications/sales/rental/products.rst:139 msgid "Once all the information has been entered correctly on the rental order form, click :guilabel:`Send` to send the quotation to the customer and when the customer confirms the quotation, click :guilabel:`Confirm` to confirm the order. A :guilabel:`Pickup` banner displays on the rental order." msgstr "" -#: ../../content/applications/sales/rental/products.rst:161 +#: ../../content/applications/sales/rental/products.rst:144 +#: ../../content/applications/sales/rental/service_products.rst:300 msgid "Create an invoice" msgstr "" -#: ../../content/applications/sales/rental/products.rst:163 +#: ../../content/applications/sales/rental/products.rst:146 msgid "Navigate to the desired invoice by navigating to **Rental** app and on the :guilabel:`Rental Orders` dashboard, in the :guilabel:`INVOICE STATUS` section, click :guilabel:`To Invoice` to view all the rental orders that require to be sent." msgstr "" #: ../../content/applications/sales/rental/products.rst:-1 +#: ../../content/applications/sales/rental/service_products.rst:-1 msgid "Sample of the INVOICE STATUS section in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:170 +#: ../../content/applications/sales/rental/products.rst:153 +#: ../../content/applications/sales/rental/service_products.rst:309 msgid "Click on the desired rental order and click :guilabel:`Create Invoice`. Select :guilabel:`Regular invoice` from the :guilabel:`Create invoice(s)` window and click :guilabel:`Create Draft`." msgstr "" #: ../../content/applications/sales/rental/products.rst:-1 +#: ../../content/applications/sales/rental/service_products.rst:-1 msgid "Sample of Create invoices window in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:176 +#: ../../content/applications/sales/rental/products.rst:159 msgid "If all the details are correct, click :guilabel:`Confirm` and click :guilabel:`Send` to email the invoice to the customer or :guilabel:`Print` and then click :guilabel:`Pay` if the customer is in person. In the :guilabel:`Pay` pop-up window, select a :guilabel:`Journal` and click :guilabel:`Create Payment`." msgstr "" @@ -11546,27 +11862,29 @@ msgstr "" msgid "Sample of the Pay page in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:184 +#: ../../content/applications/sales/rental/products.rst:167 msgid "Click on the :guilabel:`Payments` smart button that appears on the top of the rental order. Click :guilabel:`Validate` on the Payment page." msgstr "" #: ../../content/applications/sales/rental/products.rst:-1 +#: ../../content/applications/sales/rental/service_products.rst:-1 msgid "Sample of the Payment page in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:191 +#: ../../content/applications/sales/rental/products.rst:174 +#: ../../content/applications/sales/rental/service_products.rst:206 msgid "Customer signature" msgstr "" -#: ../../content/applications/sales/rental/products.rst:193 +#: ../../content/applications/sales/rental/products.rst:176 msgid "Odoo has the ability to request the customer sign a rental agreement, outlining the arrangement between the company and customer, *before* they pick up the rental products. Such documents can ensure everything is returned on-time and in its original condition." msgstr "" -#: ../../content/applications/sales/rental/products.rst:198 +#: ../../content/applications/sales/rental/products.rst:181 msgid "Requesting a signature can be done during any stage of the order. This feature also requires the :doc:`Sign <../../productivity/sign>` app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:201 +#: ../../content/applications/sales/rental/products.rst:184 msgid "If signatures are required, go to the **Rental** app and from the default :guilabel:`Rental Orders` dashboard, select the desired rental order. To go the :icon:`fa-cog` :guilabel:`(Actions)` icon, and click :guilabel:`Request Signature`." msgstr "" @@ -11574,7 +11892,7 @@ msgstr "" msgid "The Request Signature option in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:208 +#: ../../content/applications/sales/rental/products.rst:191 msgid "A :guilabel:`Sign Documents` pop-up window displays. Select the desired document from the :guilabel:`Template` drop-down menu." msgstr "" @@ -11582,7 +11900,8 @@ msgstr "" msgid "The Sign Documents pop-up window that appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:214 +#: ../../content/applications/sales/rental/products.rst:197 +#: ../../content/applications/sales/rental/service_products.rst:230 msgid "Doing so reveals a :guilabel:`New Signature Request` pop-up window. Upon confirming the information in the :guilabel:`New Signature Request` pop-up form, click :guilabel:`Send` to initiate the signing process." msgstr "" @@ -11590,11 +11909,11 @@ msgstr "" msgid "The New Signature Request pop-up window that appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:221 +#: ../../content/applications/sales/rental/products.rst:204 msgid "A link to the signature request will appear in the record's chatter. The document is accessible to the customer via the customer portal or email." msgstr "" -#: ../../content/applications/sales/rental/products.rst:224 +#: ../../content/applications/sales/rental/products.rst:207 msgid "When the customer clicks :guilabel:`Sign document`, a separate page is then revealed, showcasing the document to be signed. The customer begins the process by clicking :guilabel:`Click to start`. The app guides the signee to the required signature locations and allows them to create electronic signatures to complete the form." msgstr "" @@ -11602,7 +11921,7 @@ msgstr "" msgid "The adopt your signature pop-up window that appears in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:232 +#: ../../content/applications/sales/rental/products.rst:215 msgid "Once the document has been signed and completed, click :guilabel:`Validate & Send Completed Document` at the bottom of the document. Odoo presents the option to download the signed document for record-keeping purposes, if necessary." msgstr "" @@ -11610,15 +11929,64 @@ msgstr "" msgid "The validate and send completed document button in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:240 +#: ../../content/applications/sales/rental/products.rst:223 msgid "`Odoo Tutorials: Sign `_" msgstr "" -#: ../../content/applications/sales/rental/products.rst:243 +#: ../../content/applications/sales/rental/products.rst:226 +msgid "Multi-location management and transfers" +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:228 +msgid "Tracking the location of high-value physical products between locations is essential. The **Rental** app helps with the *Rental Transfers* feature. Activating rental transfers means the system treats rental movements similarly to sales, requiring a receipt and a delivery order every time a physical product is rented or returned." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:233 +msgid "For multi-location management and rental item transfer tracking, navigate to the :menuselection:`Rental app > Configuration > Settings` and in the :guilabel:`Rental` section, tick the :guilabel:`Rental Transfers` checkbox." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:-1 +msgid "Sample of the Rental settings with the Rental Transfers enabled." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:241 +msgid "The **Inventory** app automatically creates an internal default location once the *Rental Transfers* feature is enabled. Odoo uses the new default location, :guilabel:`Customer/Rental`, to track products during the rental period (moving them from :guilabel:`Stock` to :guilabel:`Customer/Rental` upon rental, and back upon return). Do not modify to avoid corrupting inventory tracking." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:247 +msgid "Next, go to the :menuselection:`Inventory app --> Configuration --> Settings` and in the :guilabel:`Warehouse` section, tick the :guilabel:`Storage Locations` checkbox. Click :guilabel:`Save` to apply the changes." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:251 +msgid "To configure new locations, navigate to :menuselection:`Inventory app --> Configuration --> Locations`. Click :guilabel:`New` to configure a new internal location." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:254 +msgid "On the new location page, enter the :guilabel:`Location Name` and ensure the :guilabel:`Parent Location` field is set to :guilabel:`WH`. Click the :icon:`fa-cloud-upload` :guilabel:`Save manually` icon near the top to save." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:259 +msgid "A bike rental business has two store locations within the same city. Both locations allow for pick-up and drop-off of their bikes. The company wants to track its bikes accurately at each location." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:263 +msgid "Ensure the **Rental** and **Inventory** apps are configured by enabling :guilabel:`Rental Transfers` in the **Rental app** and :guilabel:`Storage Locations` in the **Inventory** app." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:266 +msgid "Next, go to the :menuselection:`Inventory app > Configuration > Locations`. Create a new location for each storefront." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:0 +msgid "Sample of internal inventory locations that represent different rental store locations." +msgstr "" + +#: ../../content/applications/sales/rental/products.rst:273 +#: ../../content/applications/sales/rental/service_products.rst:334 msgid "Pickup products" msgstr "" -#: ../../content/applications/sales/rental/products.rst:245 +#: ../../content/applications/sales/rental/products.rst:275 msgid "When a customer picks up products, navigate to the appropriate rental order, click :guilabel:`Pickup`. The **Rental** app displays a warehouse delivery form listing the reserved rental products. Click :guilabel:`Validate` to move the order to the :guilabel:`Done` stage." msgstr "" @@ -11626,19 +11994,20 @@ msgstr "" msgid "Sample of a Pickup page in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:252 +#: ../../content/applications/sales/rental/products.rst:282 msgid "Doing so places a :guilabel:`Pickedup` status banner on the rental order." msgstr "" -#: ../../content/applications/sales/rental/products.rst:257 +#: ../../content/applications/sales/rental/products.rst:287 +#: ../../content/applications/sales/rental/service_products.rst:354 msgid "Return products" msgstr "" -#: ../../content/applications/sales/rental/products.rst:259 +#: ../../content/applications/sales/rental/products.rst:289 msgid "When a customer returns products, navigate to the desired rental order, click :guilabel:`Return`. The **Rental** app displays a warehouse receipt form listing the checked out rental products." msgstr "" -#: ../../content/applications/sales/rental/products.rst:262 +#: ../../content/applications/sales/rental/products.rst:292 msgid "Enter the same amount of products the customer returned in the :guilabel:`Quantity` column. If any of the products have serial numbers, enter them into the :guilabel:`Serial Numbers` column." msgstr "" @@ -11646,19 +12015,19 @@ msgstr "" msgid "Sample of the Return page in the Rental app." msgstr "" -#: ../../content/applications/sales/rental/products.rst:268 +#: ../../content/applications/sales/rental/products.rst:298 msgid "Click :guilabel:`Validate` to move the order to the :guilabel:`Done` stage. A :guilabel:`Returned` status banner appears on the rental order." msgstr "" -#: ../../content/applications/sales/rental/products.rst:272 +#: ../../content/applications/sales/rental/products.rst:302 msgid "Print pickup and return receipts" msgstr "" -#: ../../content/applications/sales/rental/products.rst:274 +#: ../../content/applications/sales/rental/products.rst:304 msgid "Pickup and return receipts can be printed for customers when they pick up and/or return rental products." msgstr "" -#: ../../content/applications/sales/rental/products.rst:277 +#: ../../content/applications/sales/rental/products.rst:307 msgid "To print pickup and/or return receipts, navigate to the appropriate rental order, click the :icon:`fa-cog` :guilabel:`(Actions)` icon to reveal a drop-down menu." msgstr "" @@ -11666,20 +12035,440 @@ msgstr "" msgid "The pickup and return receipt print option in the Odoo Rental application." msgstr "" -#: ../../content/applications/sales/rental/products.rst:283 +#: ../../content/applications/sales/rental/products.rst:313 msgid "From this drop-down menu, hover over the :guilabel:`Print` option to reveal a sub-menu. Then select :guilabel:`Pickup and Return Receipt`." msgstr "" -#: ../../content/applications/sales/rental/products.rst:286 +#: ../../content/applications/sales/rental/products.rst:316 msgid "Odoo generates and downloads a PDF, detailing all information about the current status of the rented items." msgstr "" -#: ../../content/applications/sales/sales.rst:10 -msgid "**Odoo Sales** is the application to run your sales process (from quotation to sales order) and deliver and invoice what has been sold." +#: ../../content/applications/sales/rental/service_products.rst:3 +msgid "Service rental products" msgstr "" -#: ../../content/applications/sales/sales.rst:14 -msgid "`Odoo Tutorials: Sales Tutorials `_" +#: ../../content/applications/sales/rental/service_products.rst:5 +msgid "The **Rental** app is a comprehensive tool that enables users to manage the scheduling, pricing, and inventory for both physical goods (products) and non-physical goods (services) within a single platform." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:9 +msgid "This flexibility allows for combining products and services like bike rentals with guided tours, or booking a studio with a photographer." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:12 +msgid "This document covers how to configure a rental service to automatically sync with staff shifts, track time sheet hours, and set up and link project tasks based on a rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of Rental app configuration settings." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:24 +msgid "In the :guilabel:`Rental` section, under the :guilabel:`Default Delay Costs` subsection, fill in the :guilabel:`Apply after` field." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:32 +msgid "In the :guilabel:`Default Padding Time` section, fill in the :guilabel:`Padding` field." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:34 +msgid "Next, enable :guilabel:`Rental Transfers`. In the :guilabel:`Rent Online` section, fill in the :guilabel:`Minimal Rental Duration` field and designate :guilabel:`Unavailability days`. Click :guilabel:`Save` to apply the changes." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:39 +msgid "App integration configuration" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:41 +msgid "The following Odoo apps and configurations are required. The listed apps allow for workflow efficiency and automation when creating a service product and rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:45 +msgid "Sales app settings" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:47 +msgid "Install the **Sales** app. Navigate to :menuselection:`Sales app --> Configuration --> Settings`. In the :guilabel:`Quotations & Orders` section, tick the :guilabel:`Online Signature`, :guilabel:`Online Payment`, and :guilabel:`Quotation Templates` checkboxes." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:51 +msgid "In the :guilabel:`Default Template` field, click the :guilabel:`Quotation templates` to customize the quotation templates to use." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:55 +msgid "Project app settings" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:57 +msgid "Install the **Project** app and enable :guilabel:`Project stages` and :guilabel:`Timesheets`. Refer to the :doc:`Planning <../../services/planning>` page for more information." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:61 +msgid "Planning app settings" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:63 +msgid "Install the **Planning** app and configure employee shifts and roles. Refer to the :doc:`Project management <../../services/planning>` for instructions on setting up your employees and shifts." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:67 +msgid "Sign app settings" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:69 +msgid "Install the **Sign** app. Refer to the :doc:`Sign <../../productivity/sign>` page for instructions on uploading a rental agreement for the business to use." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:73 +msgid "Rental services" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:75 +msgid "To view all products that can be rented in the database, navigate to :menuselection:`Rentals app --> Products`. By default, the :guilabel:`Rental` filter appears in the search bar, and the view is Kanban. Remove the filter, then click the search bar. From the preset filters, select :guilabel:`Services`. All the configured services appear." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:80 +msgid "Each Kanban card displays the name and rental price of the service." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:85 +msgid "Create a new service product" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:89 +msgid "The **Project** and the **Sales** apps must be installed for following options to be available:" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:91 +msgid ":guilabel:`Create on Order`" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:92 +msgid ":guilabel:`Project Template`" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:93 +msgid ":guilabel:`Invoicing Policy`" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:94 +msgid ":guilabel:`Project & Task`" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:96 +msgid "Ticking the :guilabel:`Sales` checkbox displays the :guilabel:`Create on Order` and :guilabel:`Invoicing Policy`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:99 +msgid "To set up a new rental service, go to the :menuselection:`Rental app --> Products` and then click :guilabel:`New`. In the new product window, the :guilabel:`Rental` checkbox is already ticked by default." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:103 +msgid "Tick the :guilabel:`Sales` checkbox. Select the :guilabel:`Product Type` as a :guilabel:`Service`. In the :guilabel:`Create on Order` drop-down menu, select :guilabel:`Project & Task`. In the :guilabel:`Invoicing Policy` drop-down menu, select :guilabel:`Based on Timesheets`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:107 +msgid "Tick the :guilabel:`Plan Services` checkbox and either create a new role or select a pre-existing one. To create a new role, type in the name of the role in the blank field and click :guilabel:`Create and edit` that appears." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a configured service product in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:114 +msgid "In the :guilabel:`Create Planning Role` pop-up window, enter the role's name. Select an option for the :guilabel:`Services` and :guilabel:`Resources`, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the Create Planning Role window for a service product in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:121 +msgid "Configure rental price" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:123 +msgid "Click the :guilabel:`Rental prices` tab and in the :guilabel:`Pricing` section, click :guilabel:`Add a price` to enter a new rental rate. Choose a *pricing period* (:dfn:`the unit of duration of the rental`) in the :guilabel:`Period` column, or create a new pricing period by typing in the name and clicking Create and edit." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:129 +msgid "Customize rental rate time periods by navigating to :menuselection:`Rental app --> Configuration --> Rental periods`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:0 +msgid "Sample of a Create Period pop up window in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:147 +msgid "A photography studio rents out its photographers on an hourly and daily basis. They want to add a new four hour package for $750." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:150 +msgid "All reservations require 24-hour notice to reserve a photographer, but they do not charge a fine if the reservations go over the agreed time. Instead, they default to their hourly fee." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:153 +msgid "Create a new pricing period by navigating to :menuselection:`Rental app --> Configuration --> Rental periods`. Click :guilabel:`New` and configure the period for four hours." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:156 +msgid "Navigate to the :guilabel:`Photographer` service product and in the :guilabel:`Rental prices` tab, add the four hour period set at $750. Manually save to apply changes." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:0 +msgid "Sample of the Rental prices tab of service product in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:163 +msgid "Create a rental order with a service product" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:165 +msgid "In Odoo, a rental order is the same as a sales order. When creating orders in the **Rental** app they are referred to as rental orders." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:168 +msgid "Navigate to the **Rental** app which opens the Rental Orders dashboard. Click :guilabel:`New` to open a new rental order form." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:171 +msgid "Enter the :guilabel:`Customer` field, and select a :guilabel:`Quotation Template`, if applicable." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:173 +msgid "Next, set the desired rental duration in the :guilabel:`Rental period` field. To adjust the rental duration, click the first date in the :guilabel:`Rental period` field, and select the range of dates and times to represent the rental duration from the pop-up calendar form that appears." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the rental period field calendar pop-up window in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:180 +msgid "Once complete, click :guilabel:`Apply` in the calendar pop-up form. Following that, the pop-up form disappears, and the designated rental time period is represented in the :guilabel:`Duration` field." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:183 +msgid "Next, add a rental service in the :guilabel:`Order Lines` tab, by clicking :guilabel:`Add a product` and selecting the desired rental service to add to the form. Enter the desired amount in the :guilabel:`Quantity` column." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:188 +msgid "If a rental product is added before the Rental period field has been properly configured, the user can still adjust the Rental period field accordingly. Select the desired range of dates to represent the duration of the rental, then click Update Rental Prices in the Duration field." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the Duration field with the Update Rental Prices option in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:195 +msgid "Doing so reveals a Confirmation pop-up window. If everything is correct, click Ok, and Odoo recalculates the rental price accordingly." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a rental order for a service product in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:201 +msgid "Once all information has been entered correctly on the rental order form, click :guilabel:`Send` to email the quotation to the customer. When the customer approves the quotation, click :guilabel:`Confirm`. A banner displays on the rental order stating its current status." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:208 +msgid "Odoo enables electronic signature requests for customer service agreements and any other documents that require signatures. Service agreements detail the business relationship and mutual duties. These agreements protect both the provider and the customer by creating clear, enforceable guidelines." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:214 +msgid "Requesting an electronic signature can be done at any stage of the order. This feature also requires the **Sign** app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:217 +msgid "If signatures are required, go to the **Rental** app and from the default :guilabel:`Rental Orders` dashboard, select the desired rental order. Click the :icon:`fa-cog` :guilabel:`(Actions)` icon, and click :guilabel:`Request Signature`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "The Action drop-down menu for requesting a signature in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:224 +msgid "A :guilabel:`New Signature Request` pop-up window displays. Select the desired document from the :guilabel:`Template` drop-down menu." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the New Signature Request pop-up window in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the New Signature Request message in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:237 +msgid "A link to the signature request will appear in the chatter of the rental order. The document is accessible to the customer via the customer portal or email." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:241 +msgid "Signing a document from an email link" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:243 +msgid "When a customer clicks :guilabel:`Sign document`, a separate page is then revealed, showcasing the document to be signed. The customer begins the process by clicking :guilabel:`Click` to start." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:246 +msgid "The app guides the signer to the required signature locations and allows them to create electronic signatures to complete the form." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a customer signature with the Auto option chosen." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:252 +msgid "The *Adopt your signature* pop-up window that appears in the Odoo Rental application. Once the document has been signed and completed, click :guilabel:`Validate & Send Completed Document` at the bottom of the document." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:256 +msgid "Odoo presents the option to download the signed document for record-keeping purposes, if necessary." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a signed document with the Validate & Send Completed Document button." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:262 +msgid "`Odoo Tutorials: Sign `_." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:265 +msgid "Entering time for the rental order" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:268 +msgid "For the appropriate smart buttons to display, the **Project**, **Timesheet**, and **Planning** apps are needed. The selected service product on the rental order must be :ref:`properly configured ` to integrate with the recommended apps." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:272 +msgid "Navigate to the rental orders by :menuselection:`Rental app --> Orders --> Orders` and select the desired rental order. At the top of the rental order form, the following smart buttons appear:" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:275 +msgid ":icon:`fa-puzzle-piece` :guilabel:`Tasks`: Linked to the **Projects** app and shows any projects" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:276 +msgid "or tasks related to the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:277 +msgid ":icon:`fa-clock-o` :guilabel:`Recorded`: Linked to the **Timesheets** app and shows how many hours" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:278 +msgid "are related to the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:280 +msgid ":icon:`fa-tasks` :guilabel:`Planned`: Linked to the **Planning** app and shows how many shifts are" +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:280 +msgid "related to the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:282 +msgid "Click the :icon:`fa-puzzle-piece` :guilabel:`Tasks` smart button to view a Kanban view of all the associated tasks that were automatically created when confirming the rental order. Click the desired task, then select the :guilabel:`Timesheets` tab." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a project task card for the rental order in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:289 +msgid "Click :guilabel:`Add a line` to enter the number of hours worked on the task manually. Click on the :icon:`fa-dollar` :guilabel:`Sales Order` smart button to return to the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a task Timesheet tab for a rental order in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:296 +msgid "Once time is added to the :guilabel:`Timesheets` tab of a task, the status of the rental order is automatically changed to :guilabel:`Picked-up` and the :guilabel:`Return` button appears." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:302 +msgid "Go to the desired invoice by navigating to the :menuselection:`Rental` app and, on the :guilabel:`Rental Orders` dashboard, click :guilabel:`To Invoice` in the :guilabel:`INVOICE STATUS` section to view all rental orders that require invoices to be sent." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:315 +msgid "If all the details are correct, click :guilabel:`Confirm`. Click :guilabel:`Send` to email the invoice to the customer or :guilabel:`Print` and then click :guilabel:`Pay` if the customer is in person." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:319 +msgid "In the :guilabel:`Pay` pop-up window, select a :guilabel:`Journal` and click :guilabel:`Create Payment`." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of the Pay pop-up window in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:325 +msgid "Click on the :icon:`fa-bars` :guilabel:`Payments` smart button that appears on the top of the rental order. Click :guilabel:`Validate` on the :guilabel:`Payment` page." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:331 +msgid "Use the breadcrumbs to return to the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:336 +msgid "When time is entered on the :guilabel:`Timesheets` tab of an associated task, the rental order status automatically changes to :guilabel:`Picked-up`. This happens even if time is entered before the physical product ordered with the service is picked up." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:340 +msgid "If a product is rented alongside a service, it is advised to pick it up before entering time on the associated task. The :guilabel:`Pickup` button is still available on the rental order if time is entered before picking up the product." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:344 +msgid "When a customer picks up the product, navigate to the appropriate rental order, click :guilabel:`Pickup`, and then click :guilabel:`Validate` in the :guilabel:`Validate a pickup` pop-up form that appears." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of a service product pick up pop-up window in the Rental." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:351 +msgid "Doing so places a :guilabel:`Picked-up` status banner on the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:356 +msgid "Regardless if there is a product rented along with a service, the service or product must be returned on the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:359 +msgid "When a customer returns the products or when the service has been completed, navigate to the appropriate rental order and click :guilabel:`Return`. Validate the return by clicking :guilabel:`Validate` in the :guilabel:`Validate a return` pop-up form that appears." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:-1 +msgid "Sample of returning a service product in the Rental app." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:366 +msgid "Doing so places a :guilabel:`Returned` status banner on the rental order." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:369 +msgid "The photography studio had a customer who wanted to rent one of their photographers and banner decorations for a home photo shoot. The booking was for two hours." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:372 +msgid "On the :guilabel:`Validate a return` form the rental order, the banner line item matches number of banners picked up and the photographer line item matches the number of hours submitted on the :guilabel:`Timesheets` tab on the related task." +msgstr "" + +#: ../../content/applications/sales/rental/service_products.rst:0 +msgid "Sample of a Validate a return form with a rental product and service listed." +msgstr "" + +#: ../../content/applications/sales/sales.rst:10 +msgid "The **Sales** application is used to run the sales process (from quotation to sales order) and deliver and invoice what has been sold. Any product with the *Sales* checkbox ticked on its product form can be sold with the **Sales** app." +msgstr "" + +#: ../../content/applications/sales/sales.rst:15 +msgid "`Odoo Tutorials: Sales `_" msgstr "" #: ../../content/applications/sales/sales/amazon_connector.rst:5 @@ -12412,10 +13201,6 @@ msgstr "" msgid "The :guilabel:`Add Multiple Salespersons` button is only available if :doc:`../../general/developer_mode` is active." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:78 -msgid "Levels" -msgstr "" - #: ../../content/applications/sales/sales/commissions.rst:80 msgid "To provide additional incentive, *commission levels* can be added to *Target* based plans. These tiers allow salespeople to earn varying commission amounts based on their performance levels. Levels can start at `0%` and increase incrementally. This allows for salespeople to earn commission even if they do not achieve `100%` of the target, as well as the ability to achieve over `100%` of the target. Commission levels can be set from the :guilabel:`Commissions` tab when creating a commission plan." msgstr "" @@ -12437,7 +13222,7 @@ msgid "Achievement-based commission plans" msgstr "" #: ../../content/applications/sales/sales/commissions.rst:99 -msgid "In a *Achievement* based commission plan, salespeople earn a percentage of their invoice value as commission. Target based plans are ideal for rewarding sales activity consistently, regardless of specific goals. For example, offering a `5%` commission on all invoiced amounts, regardless of how much is sold." +msgid "In a *Achievement* based commission plan, salespeople earn a percentage of their invoice value as commission. Achievement-based plans are ideal for rewarding sales activity consistently, regardless of specific goals. For example, offering a `5%` commission on all invoiced amounts, regardless of how much is sold." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:105 @@ -12457,54 +13242,54 @@ msgid "Achievements" msgstr "" #: ../../content/applications/sales/sales/commissions.rst:128 -msgid "Performance can be measured in several ways in performance plans. These are configured in the :guilabel:`Achievements` tab of each plan." -msgstr "" - -#: ../../content/applications/sales/sales/commissions.rst:131 -msgid ":guilabel:`Amount Sold`: the total value of sales orders (SOs)." +msgid "Performance can be measured in several ways in performance plans. These are configured in the :guilabel:`Achievements` tab of each plan. It is possible to track achievements by all products sold, by specific products sold, by all products sold in a specific category, and more." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:132 -msgid ":guilabel:`Amount Invoiced`: the total value of confirmed invoices." +msgid ":guilabel:`Amount Sold`: the total value of sales orders (SOs)." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:133 -msgid ":guilabel:`Quantity Sold`: the total number of units sold via |SOs|." +msgid ":guilabel:`Amount Invoiced`: the total value of confirmed invoices." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:134 -msgid ":guilabel:`Quantity Invoiced`: the total number of units invoiced." +msgid ":guilabel:`Quantity Sold`: the total number of units sold via |SOs|." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:135 -msgid ":guilabel:`Margin`: the profit margin (selling price minus cost price)." +msgid ":guilabel:`Quantity Invoiced`: the total number of units invoiced." msgstr "" #: ../../content/applications/sales/sales/commissions.rst:136 +msgid ":guilabel:`Margin`: the profit margin (selling price minus cost price)." +msgstr "" + +#: ../../content/applications/sales/sales/commissions.rst:137 msgid ":guilabel:`MRR`: the new *Monthly Recurring Revenue* from subscription sales. this option is **only** available if the :doc:`Subscriptions <../../sales/subscriptions>` app is installed." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:140 +#: ../../content/applications/sales/sales/commissions.rst:141 msgid "Regardless of what the plan is :guilabel:`Based on`, each plan needs both *Achievements* and *Targets* configured." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:144 +#: ../../content/applications/sales/sales/commissions.rst:145 msgid "Plan approval" msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:146 +#: ../../content/applications/sales/sales/commissions.rst:147 msgid "After confirming the details of the new plan, click :guilabel:`Approve`. This moves the plan from the :guilabel:`Draft` stage into the :guilabel:`Approved` stage." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:150 +#: ../../content/applications/sales/sales/commissions.rst:151 msgid "Commissions plans in the :guilabel:`Approved` stage **cannot** be edited. To edit an approved plan, it must first be :guilabel:`Reset to Draft`." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:153 +#: ../../content/applications/sales/sales/commissions.rst:154 msgid "After a plan is approved, Odoo automatically tracks performance and calculates commissions based on the established parameters." msgstr "" -#: ../../content/applications/sales/sales/commissions.rst:157 +#: ../../content/applications/sales/sales/commissions.rst:158 msgid ":doc:`Commissions <../../hr/payroll/commissions>`" msgstr "" @@ -12683,7 +13468,7 @@ msgstr "" #: ../../content/applications/sales/sales/gelato.rst:136 #: ../../content/applications/sales/sales/products_prices/products/import.rst:220 #: ../../content/applications/sales/sales/products_prices/products/variants.rst:3 -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:188 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:189 msgid "Product variants" msgstr "" @@ -12724,340 +13509,234 @@ msgid "Down payments" msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:5 -msgid "A down payment is an initial, up-front payment made during the confirmation of a sales transaction. Down payments reduce the risk for both parties (the seller and the buyer) as they indicate a mutual commitment to complete the sales transaction." +msgid "A down payment is an initial up-front payment made during the confirmation of a sales transaction. With a down payment, the buyer pays a portion of the total amount owed while agreeing to pay the remaining amount at a later date. In turn, the seller provides goods or services to the buyer upon or after accepting the down payment, trusting that the remaining amount will be paid later on." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:9 -msgid "With a down payment, the buyer pays a portion of the total amount owed while agreeing to pay the remaining amount at a later date. In turn, the seller provides goods or services to the buyer upon or after accepting the down payment, trusting that the remaining amount will be paid later on." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:13 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:10 msgid "In the Odoo **Sales** app, down payments can be customized to fit the needs of each individual sales transaction." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:17 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:14 msgid "Create invoices" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:19 -msgid "When a sales order is confirmed, the option to create an invoice becomes available, via the :guilabel:`Create Invoice` button. When clicked, a :guilabel:`Create invoice(s)` pop-up appears." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:16 +msgid "When a sales order is confirmed, the option to create an invoice becomes available via the :guilabel:`Create Invoice` button. When clicked, a :guilabel:`Create invoice(s)` pop-up appears." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "Create invoices pop-up form that appears in Odoo Sales." +msgid "Create invoice(s) pop-up form that appears in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:27 -msgid "Invoices are automatically created as drafts, so they can be reviewed before validation." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:23 +msgid "Invoices are automatically created as drafts so they can be reviewed before validation." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:29 -msgid "On the :guilabel:`Create invoices` pop-up, there are 3 options to choose from in the :guilabel:`Create Invoice` field:" +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:25 +msgid "On the :guilabel:`Create invoice(s)` pop-up, there are 3 options to choose from in the :guilabel:`Create Invoice` field:" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:32 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:28 msgid ":guilabel:`Regular invoice`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:33 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:41 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:29 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:37 msgid ":guilabel:`Down payment (percentage)`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:34 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:42 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:30 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:38 msgid ":guilabel:`Down payment (fixed amount)`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:37 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:33 msgid "Initial down payment request" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:39 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:35 msgid "On the :guilabel:`Create invoice(s)` pop-up window, the down payment options are:" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:44 -msgid "Select the desired down payment option, then designate the desired amount, either as a percentage or a fixed amount, in the :guilabel:`Down Payment Amount` field." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:40 +msgid "Select a down payment option and set the desired payment, either as a percentage or a fixed amount, in the :guilabel:`Down Payment Amount` field." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:47 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:43 msgid "Once all fields are filled in, click the :guilabel:`Create Draft` button. Upon clicking this button, Odoo reveals the :guilabel:`Customer Invoice Draft`." msgstr "" +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:47 +msgid "If an :guilabel:`Invalid Operation` error appears, double-check that the :doc:`invoicing policy ` is configured correctly. In some cases, for example, the invoicing policy is configured to require delivery before sending an invoice." +msgstr "" + #: ../../content/applications/sales/sales/invoicing/down_payment.rst:51 -msgid "If an :guilabel:`Invalid Operation` error appears, double-check that the :doc:`invoicing policy ` is configured correctly. In some cases, for example, the invoicing policy is configured to require delivery before invoicing." +msgid "In the :guilabel:`Invoice Lines` tab of the :guilabel:`Customer Invoice Draft`, the down payment that was just configured in the :guilabel:`Create invoice(s)` pop-up form appears under a new :guilabel:`Down Payments` section." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:55 -msgid "In the :guilabel:`Invoice Lines` tab of the :guilabel:`Customer Invoice Draft`, the down payment that was just configured in the :guilabel:`Create invoices` pop-up form appears as a :guilabel:`Product`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:58 +msgid "Example: requesting a 50% down payment" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:62 -msgid "Example: request 50% down payment" -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:65 -msgid "The following example involves a 50% amount down payment on a product (:guilabel:`Cabinet with Doors`) with :guilabel:`Ordered quantities` as the :guilabel:`Invoicing Policy`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:61 +msgid "The following example involves a 50% amount down payment on a (:guilabel:`Cabinet with Doors`) with :guilabel:`Ordered quantities` as the :guilabel:`Invoicing Policy`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:0 msgid "Cabinet with doors product form showcasing various details and fields." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:73 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:287 -#: ../../content/applications/sales/sales/invoicing/expense.rst:255 -#: ../../content/applications/sales/sales/invoicing/milestone.rst:238 -#: ../../content/applications/sales/sales/invoicing/proforma.rst:71 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:166 -msgid ":doc:`invoicing_policy`" -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:75 -msgid "First, navigate to :menuselection:`Sales app --> New`, and add a :guilabel:`Customer` to the quotation." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:78 -msgid "Then, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab, and select the :guilabel:`Cabinet with Doors` product." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:81 -msgid "When the order is confirmed (via the :guilabel:`Confirm` button), the quotation turns into a sales order. Once this occurs, create and view the invoice by clicking :guilabel:`Create Invoice`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:67 +msgid "Navigate to :menuselection:`Sales app --> New`, and add a :guilabel:`Customer` to the quotation. Then, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab, and select the :guilabel:`Cabinet with Doors` product. When the order is confirmed (via the :guilabel:`Confirm` button), the quotation turns into a sales order. Once this occurs, create and view the invoice by clicking :guilabel:`Create Invoice`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "Cabinet with doors sales order that's been confirmed in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:88 -msgid "Next, on the :guilabel:`Create invoices` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `50` in the :guilabel:`Down Payment Amount` field." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:76 +msgid "Next, on the :guilabel:`Create invoice(s)` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `50` in the :guilabel:`Down Payment` field." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:92 -msgid "The :guilabel:`Income Account` attached to the :guilabel:`Down payment` product can be changed." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:80 +msgid "The :guilabel:`Income Account` attached to the :guilabel:`Down payment` can be changed. For more information, check out the documentation on :ref:`income account modification on down payments `. A :guilabel:`Down payment Account` can also be set on a product category. If set, this account is prioritized for future down payments." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:94 -msgid "For more information, check out the documentation on :ref:`income account modification on down payments `." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:97 -msgid "A :guilabel:`Down payment Account` can also be set on a product category. If set, this account is prioritized." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:100 -msgid "Lastly, click :guilabel:`Create Draft Invoice` to create and view the invoice draft." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:102 -msgid "Clicking :guilabel:`Create Draft Invoice` reveals the draft invoice, which includes the down payment as a :guilabel:`Product` in the :guilabel:`Invoice Lines` tab." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:105 -msgid "From there, the invoice can be confirmed and posted by clicking :guilabel:`Confirm`. Confirming the invoice changes the status from :guilabel:`Draft` to :guilabel:`Posted`. It also reveals a new series of buttons at the top of the page." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:85 +msgid "Lastly, click :guilabel:`Create Draft Invoice` to create and view the invoice draft, which includes the down payment under the :guilabel:`Down Payments` section of the :guilabel:`Invoice Lines` tab. From there, the invoice can be confirmed and posted by clicking :guilabel:`Confirm`. Confirming the invoice changes the status from :guilabel:`Draft` to :guilabel:`Posted`. It also reveals a new series of buttons at the top of the page." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "A sample draft invoice with down payment mentioned in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:113 -msgid "From those buttons, the payment can be registered by clicking :guilabel:`Register Payment`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:94 +msgid "From those buttons, the payment can be registered by clicking :guilabel:`Pay`. Doing so reveals a :guilabel:`Pay` pop-up form, which is auto-populated with the necessary information. Confirm the information provided is correct, and make any necessary adjustments. When ready, click the :guilabel:`Create Payment` button." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "Showcase of the Register Payment button on a confirmed customer invoice." +msgid "Showcase of the Pay pop-up window with create payment button." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:119 -msgid "Doing so reveals a :guilabel:`Register Payment` pop-up form, which is auto-populated with the necessary information. Confirm the information provided is correct, and make any necessary adjustments. When ready, click the :guilabel:`Create Payment` button." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:102 +msgid "After clicking :guilabel:`Create Payment`, Odoo reveals the customer invoice, now with a green :guilabel:`In Payment` or :guilabel:`Paid` banner in the upper-right corner, depending on how the database has configured and if manual confirmation of payments is required." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "Showcase of the Register Payment pop-up window with create payment button." +msgid "Customer Invoice with a green Paid banner located in the upper-right corner." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:127 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:255 -msgid "After clicking :guilabel:`Create Payment`, Odoo reveals the customer invoice, now with a green :guilabel:`In Payment` banner in the upper-right corner." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "Customer Invoice with a green In Payment banner located in the upper-right corner." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:134 -msgid "Now, when the customer wants to pay the remaining amount of the order, another invoice must be created. To do that, return to the sales order, via the breadcrumb links." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:137 -msgid "Back on the sales order, a new :guilabel:`Down Payments` section is present in the :guilabel:`Order Lines` tab, along with the down payment that was just invoiced and posted." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:109 +msgid "On the sales order, a new :guilabel:`Down Payments` section is present in the :guilabel:`Order Lines` tab, along with the down payment that was just invoiced and posted. When the customer wants to pay the remaining amount of the order, another invoice must be created." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "The down payments section in the order lines tab of a sales order." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:144 -msgid "Next, click the :guilabel:`Create Invoice` button." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:146 -msgid "On the :guilabel:`Create invoices` pop-up window that appears, there are two new fields: :guilabel:`Already invoiced` and :guilabel:`Amount to invoice`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:116 +msgid "Next, click the :guilabel:`Create Invoice` button. On the :guilabel:`Create invoice(s)` pop-up window that appears, there is a new field: :guilabel:`Already invoiced` and :guilabel:`Amount to invoice`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "The deduct down payment option on the create invoices pop up in Odoo Sales." +msgid "The deduct down payment option on the Create invoice(s) pop up in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:153 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:123 msgid "If the remaining amount is ready to be paid, select the :guilabel:`Regular Invoice` option. Odoo will create an invoice for the exact amount needed to complete the total payment, as indicated in the :guilabel:`Amount to invoice` field." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:157 -msgid "Once ready, click :guilabel:`Create Draft Invoice`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:127 +msgid "Once ready, click :guilabel:`Create Draft Invoice`. Doing so reveals another :guilabel:`Customer Invoice Draft` page, listing all the invoices for that specific sales order in the :guilabel:`Invoice Lines` tab. Each invoice line item displays all the necessary information related to each invoice." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:159 -msgid "Doing so reveals another :guilabel:`Customer Invoice Draft` page, listing *all* the invoices for that specific sales order in the :guilabel:`Invoice Lines` tab. Each invoice line item displays all the necessary information related to each invoice." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:163 -msgid "To complete the flow, click :guilabel:`Confirm`, which changes the status of the invoice from :guilabel:`Draft` to :guilabel:`Posted`. Then, click :guilabel:`Register Payment`." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:166 -msgid "Once again, the :guilabel:`Register Payment` appears, with all fields auto-populated with the necessary information, including the remaining amount left to be paid on the order." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:132 +msgid "To complete the flow, click :guilabel:`Confirm` to change the status of the invoice from :guilabel:`Draft` to :guilabel:`Posted`. Then, click :guilabel:`Pay`. The :guilabel:`Pay` form appears, with all fields auto-populated with the necessary information, including the remaining amount left to be paid on the order." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "The second register payment pop-up form in Odoo sales." +msgid "The second Pay pop-up form in Odoo sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:173 -msgid "After confirming that information, click :guilabel:`Create Payment`. Doing so reveals the final :guilabel:`Customer Invoice` with a green :guilabel:`In Payment` banner in the upper-right corner. Also, both down payments are present in the :guilabel:`Invoice Lines` tab." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:140 +msgid "After confirming that information, click :guilabel:`Create Payment`. Doing so reveals the final :guilabel:`Customer Invoice` with a green :guilabel:`In Payment` or :guilabel:`Paid` banner in the upper-right corner, depending on how the database has configured and if manual confirmation of payments is required. Upon returning to the sales order, both down payments are present in the :guilabel:`Order Lines` tab." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "The second down payment invoice with in payment banner in Odoo Sales." +msgid "The second down payment invoice with Paid banner in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:149 +msgid "At this point, the flow is now complete. This flow is also possible with the :guilabel:`Fixed amount` down payment option." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:153 +msgid "If a down payment is used with a product that has a :guilabel:`Delivered quantities` invoicing policy, and the cost of the product exceeds the 50% down payment, a regular invoice is created. However, for products that cost less than the 50% down payment, the down payments will not be able to be deducted when it comes time to invoice the customer. This is because the product(s) would have to be delivered *before* creating the final invoice due to Odoo not allowing negative totals for invoices. If nothing has been delivered, a :guilabel:`Credit Note` is created, which cancels the draft invoice that was created after the down payment." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:161 +msgid "To utilize the :guilabel:`Credit Note` option, the **Inventory** application must be installed in order to confirm the delivery. Otherwise, the delivered quantity can be entered manually directly on the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:168 +msgid "Example: requesting a 100% down payment" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:170 +msgid "Requesting a 100% down payment is similar to requesting a :ref:`50% down payment `, but with fewer steps." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:174 +msgid "A 100% down payment is not the same as a full payment of the sales order. A sales order paid through the regular invoice process will not allow any additional invoices to be generated and will not display the :guilabel:`Create Invoice` button on the Sales Order. Instead, following this example will cause the :guilabel:`Create Invoice` button to be displayed on the Sales Order. This is because the system expects another invoice to be created after the down payment to complete payment of the sales order." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:181 -msgid "At this point, the flow is now complete." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:184 -msgid "This flow is also possible with the :guilabel:`Fixed amount` down payment option." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:187 -msgid "If a down payment is used with a product that has a :guilabel:`Delivered quantities` invoicing policy, and the cost of the product *exceeds* the 50% down payment (as in most cases), a regular invoice is created." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:191 -msgid "However, for products that cost *less* than the 50% down payment, the down payments will **not** be able to be deducted when it comes time to invoice the customer." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:194 -msgid "This is because the product(s) would have to be delivered *before* creating the final invoice due to Odoo not allowing negative totals for invoices." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:197 -msgid "If nothing has been delivered, a :guilabel:`Credit Note` is created, which cancels the draft invoice that was created after the down payment." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:200 -msgid "To utilize the :guilabel:`Credit Note` option, the *Inventory* application must be installed, in order to confirm the delivery. Otherwise, the delivered quantity can be entered manually directly on the sales order." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:207 -msgid "Example: request 100% down payment" -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:209 -msgid "The process of requesting a 100% down payment is similar to the process of setting up a :ref:`50% down payment `, but with fewer steps." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:213 -msgid "A 100% down payment is **not** the same as a full payment of the sales order." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:215 -msgid "A sales order paid through the regular invoice process will not allow any additional invoices to be generated, and **will not** display the *Create Invoice* button on the Sales Order." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:218 -msgid "Following this example **will** cause the *Create Invoice* button to be displayed on the Sales Order. This is because Odoo expects another invoice to be created after the down payment to complete payment of the sales order." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:222 msgid "The *Solar Panel Installation* product is being used in this example." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:224 -msgid "To configure a 100% down payment, begin by navigating to :menuselection:`Sales app --> New`, and add a :guilabel:`Customer` to the quote." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:227 -msgid "Next, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab, and select the `Solar Panel Installation` product." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:230 -msgid "Upon clicking the :guilabel:`Confirm` button, the quotation turns into a sales order. At that point, an invoice can now be created by clicking :guilabel:`Create Invoice` in the top-left corner." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:233 -msgid "On the :guilabel:`Create invoices` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `100` in the :guilabel:`Down Payment Amount` field." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:183 +msgid "To configure a 100% down payment, navigate to :menuselection:`Sales app --> New` and add a :guilabel:`Customer` to the quote. Next, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab, and select the `Solar Panel Installation` product. Upon clicking the :guilabel:`Confirm` button, the quotation turns into a sales order. At that point, an invoice can now be created by clicking :guilabel:`Create Invoice` in the top-left corner. On the :guilabel:`Create invoice(s)` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `100` in the :guilabel:`Down Payment` field." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "The Down payment (percentage) option selected with 100% set as the Down Payment." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:240 -msgid "Next, click :guilabel:`Create Draft Invoice` to create an invoice draft. This will also bring the draft invoice into view, which includes the :guilabel:`Down payment` as a :guilabel:`Product` in the :guilabel:`Invoice Lines` tab." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:194 +msgid "Next, click :guilabel:`Create Draft Invoice` to create an invoice draft. This will also bring the draft invoice into view, which includes the :guilabel:`Down payment` under the :guilabel:`Down Payments` section of the :guilabel:`Invoice Lines` tab. The invoice can now be confirmed and posted by clicking :guilabel:`Confirm`. Confirming the invoice changes the status from :guilabel:`Draft` to :guilabel:`Posted`. It also reveals a new series of buttons at the top of the page." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:244 -msgid "The invoice can now be confirmed and posted by clicking :guilabel:`Confirm`. Confirming the invoice changes the status from :guilabel:`Draft` to :guilabel:`Posted`. It also reveals a new series of buttons at the top of the page." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:200 +msgid "The payment can be registered by clicking the :guilabel:`Pay` button. This brings up the :guilabel:`Pay` pop-up form, which is auto-populated with the necessary information. When ready, click the :guilabel:`Create Payment` button." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:248 -msgid "The payment can be registered by clicking the :guilabel:`Register Payment` button." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:204 +msgid "After clicking :guilabel:`Create Payment`, Odoo reveals the customer invoice, now with a green :guilabel:`In Payment` or :guilabel:`Paid` banner in the upper-right corner, depending on how the database has configured and if manual confirmation of payments is required. The process is now complete, and the 100% down payment has been successfully applied." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:250 -msgid "Doing so reveals a :guilabel:`Register Payment` pop-up form, which is auto-populated with the necessary information. Confirm the information provided is correct and make any necessary adjustments. When ready, click the :guilabel:`Create Payment` button." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:262 -msgid "The process is now complete, and the 100% down payment has been successfully applied." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:267 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:212 msgid "Income account modification on down payments" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:269 -msgid "To change or adjust the income account attached to the :guilabel:`Down Payment` product page, the *Accounting* app **must** be installed." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:215 +msgid "To change or adjust the income account attached to down payments, the **Accounting** app must be installed. With the **Accounting** app installed, the :guilabel:`Accounting` column becomes available on the draft invoice." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:272 -msgid "Navigate to the :guilabel:`Products` page (:menuselection:`Sales app --> Products --> Products`), search for the `Down Payment` product in the search bar, and select it to reveal the product detail page." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:276 -msgid "With the *Accounting* app installed, the :guilabel:`Accounting` tab becomes available on the product page." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:279 -msgid "In the :guilabel:`Accounting` tab, the income account can be changed in the :guilabel:`Income Account` field, located in the :guilabel:`Receivables` section." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:219 +msgid "Navigate to the invoice to be modified by going to :menuselection:`Sales app --> Orders --> Orders`. Open an order, then click the :guilabel:`Invoices` smart button. Open an invoice, click the drop-down arrow on the entry in the :guilabel:`Account` column and click :guilabel:`Search more...` to bring up the :guilabel:`Search: Account` form. In this form, a different account can be chosen from the list of pre-existing accounts. A new account can also be created by clicking the :guilabel:`New` button." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How to modify the income account link to down payments." +msgid "The Search:Account form with existing accounts displayed and a button to create a new\n" +"account." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:231 +#: ../../content/applications/sales/sales/invoicing/expense.rst:255 +#: ../../content/applications/sales/sales/invoicing/milestone.rst:238 +#: ../../content/applications/sales/sales/invoicing/proforma.rst:71 +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:166 +msgid ":doc:`invoicing_policy`" msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:3 @@ -13383,22 +14062,22 @@ msgid "Different business policies might require different options for invoicing msgstr "" #: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:7 -msgid "The *Invoice what is ordered* rule is used as the default mode in Odoo *Sales*, which means customers are invoiced once the sales order is confirmed." +msgid "The *Invoice what is ordered* rule is used as the default mode in Odoo **Sales**, which means customers are invoiced once the sales order is confirmed." msgstr "" #: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:9 -msgid "The *Invoice what is delivered* rule invoices customers once the delivery is done. This rule is often used for businesses that sell materials, liquids, or food in large quantities. In these cases, the ordered quantity may differ slightly from the delivered quantity, making it preferable to invoice the quantity actually delivered." +msgid "The *Invoice what is delivered* rule invoices customers once the delivery is done. This rule is often used for businesses that sell materials, liquids, or food in large quantities. In these cases, the ordered quantity may differ slightly from the delivered quantity, making it preferable to invoice the quantity actually delivered. When the delivery order is validated, Odoo will automatically decrease the on-hand quantity in the inventory." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:14 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:15 msgid "Being able to have different invoicing options provides more flexibility." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:17 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:18 msgid "Invoicing policy features" msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:19 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:20 msgid "To activate the necessary invoicing policy features, go to :menuselection:`Sales app --> Configuration --> Settings`, and under the :guilabel:`Invoicing` heading, select an :guilabel:`Invoicing Policy` rule: :guilabel:`Invoice what is ordered` or :guilabel:`Invoice what is delivered`." msgstr "" @@ -13406,15 +14085,15 @@ msgstr "" msgid "Choosing an invoicing policy on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:29 -msgid "If the :guilabel:`Invoice what is delivered` rule is chosen, it is **not** possible to activate the :guilabel:`Automatic Invoice` feature, which automatically generates invoices when an online payment is confirmed." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:34 -msgid "Invoicing policy on product form" +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:30 +msgid "If the :guilabel:`Invoice what is delivered` rule is chosen, it is **not** possible to activate the :guilabel:`Automatic Invoice` feature, which automatically generates invoices when an online payment is confirmed. Regular draft invoices can only be created once the delivery order has been processed and validated." msgstr "" #: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:36 +msgid "Invoicing policy on product form" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:38 msgid "On any product page, via the :menuselection:`Sales app --> Products --> Products dashboard`, locate the :guilabel:`Invoicing Policy` option located under the :guilabel:`General Information` tab. It can be changed manually using the drop-down menu." msgstr "" @@ -13422,35 +14101,36 @@ msgstr "" msgid "How to change your invoicing policy on a product form on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:45 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:47 msgid "Impact on sales flow" msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:47 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:49 msgid "In Odoo *Sales*, the basic sales flow starts with the creation of a quotation. Then, that quotation is sent to a customer. Next, it needs to be confirmed, which turns the quotation into a sales order. This, in turn, creates an invoice." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:51 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:53 msgid "The following is a breakdown of how invoicing policy rules impact the aforementioned sales flow:" msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:53 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:55 msgid ":guilabel:`Invoice what is ordered`: No impact on the basic sales flow. An invoice is created as soon as a sale is confirmed." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:55 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:57 msgid ":guilabel:`Invoice what is delivered`: Minor impact on sales flow, because the delivered quantity needs to be manually entered on the sales order. Or, the *Inventory* app can be installed and used to confirm the delivered quantity before creating an invoice with the *Sales* app." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:60 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:62 msgid "If a user attempts to create an invoice without validating the delivered quantity, the following error message appears: :guilabel:`There is no invoiceable line. If a product has a Delivered quantities invoicing policy, please make sure that a quantity has been delivered.`" msgstr "" #: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:0 -msgid "If Delivered Quantities invoicing policy is chosen, ensure a quantity has been delivered." +msgid "If Delivered Quantities invoicing policy is chosen, ensure a quantity has been\n" +"delivered." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:69 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:71 msgid "Once a quotation is confirmed, and the status changes from :guilabel:`Quotation sent` to :guilabel:`Sales order`, the delivered and invoiced quantities are available to view, directly from the sales order. This is true for both invoicing policy rule options." msgstr "" @@ -13458,15 +14138,15 @@ msgstr "" msgid "How to see your delivered and invoiced quantities on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:77 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:79 msgid "Odoo automatically adds the quantities to the invoice, both :guilabel:`Delivered` and :guilabel:`Invoiced`, even if it's a partial delivery, when the quotation is confirmed." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:80 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:82 msgid "Finally, there are a few different options to create an invoice: :guilabel:`Regular invoice`, :guilabel:`Down payment (percentage)` or :guilabel:`Down payment (fixed amount)`." msgstr "" -#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:84 +#: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:86 msgid "Be sure to check out the documentation explaining down payment options to learn more: :doc:`/applications/sales/sales/invoicing/down_payment`" msgstr "" @@ -13475,7 +14155,7 @@ msgid "Invoice project milestones" msgstr "" #: ../../content/applications/sales/sales/invoicing/milestone.rst:5 -msgid "Invoicing based on project milestones can be used for expensive or large-scale projects. The series of milestones in a project represent a clear sequence of work that will inevitably result in the completion of a project and/or contract." +msgid "Invoicing based on project milestones can be used for expensive or large-scale projects with discrete, measurable deliverables. The series of milestones in a project represent a clear sequence of work that will inevitably result in the completion of a project and/or contract." msgstr "" #: ../../content/applications/sales/sales/invoicing/milestone.rst:9 @@ -14421,7 +15101,7 @@ msgid "Discount and loyalty programs" msgstr "" #: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:5 -msgid "The Odoo *Sales*, *eCommerce*, and *Point of Sale* applications allow users to create discount and loyalty programs that customers can use for online and in-store shopping. These programs offer more varied, public, and time-sensitive pricing options than :doc:`pricelists `." +msgid "The Odoo **Sales**, **eCommerce**, and **Point of Sale** applications allow users to create discount and loyalty programs that customers can use for online and in-store shopping. These programs offer more varied, public, and time-sensitive pricing options than :doc:`pricelists `." msgstr "" #: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:11 @@ -14452,11 +15132,11 @@ msgstr "" msgid "Discount and loyalty program template cards." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:37 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:36 msgid "Templates **only** appear when no programs have been created, and they disappear once the first program is created." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:40 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:39 msgid "Creating or editing a program opens the program form." msgstr "" @@ -14464,63 +15144,63 @@ msgstr "" msgid "Program options on the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:46 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:44 msgid "The program form contains the following fields:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:48 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:46 msgid ":guilabel:`Program Name`: Enter the name of the program in this field. The program name is **not** visible to the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:50 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:48 msgid ":guilabel:`Program Type`: Select the desired :ref:`program type ` from the drop-down menu." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:52 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:50 msgid ":guilabel:`Currency`: Select the currency used for the program." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:53 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:51 msgid ":guilabel:`Pricelist`: If desired, select a pricelist from the drop-down menu to have this loyalty program applied to a specific pricelist (and customers attached to the pricelist). More than one pricelist can be selected in this field. When a single loyalty program is linked to several pricelists, it makes it viable for different customer segments to have different pricelists, but the *same* loyalty programs. If this field is left blank, the program applies to everyone, regardless of pricelist." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:59 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:57 msgid ":guilabel:`Points Unit`: Enter the name of the points used for the :guilabel:`Loyalty Cards` program (e.g. `Loyalty Points`). The points unit name *is* visible to the customer. This field is **only** available when the :guilabel:`Program Type` is set to :guilabel:`Loyalty Cards`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:62 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:60 msgid ":guilabel:`Start Date`: Select the date on which the program becomes valid. Leave this field blank if the program should always be valid and not expire." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:64 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:62 msgid ":guilabel:`End Date`: Select the date on which the program stops being valid. Leave this field blank if the program should always be valid and not expire." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:66 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:64 msgid ":guilabel:`Limit Usage`: If desired, tick this checkbox, and enter a number of :guilabel:`usages` to limit the number of times the program can be used during the validity period." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:68 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:66 msgid ":guilabel:`Company`: If working in a multi-company database, choose the one company for which the program is available. If left blank, the program is available to all companies in the database." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:70 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:68 msgid ":guilabel:`Available On`: Select the apps on which the program is available." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:71 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:69 msgid ":guilabel:`Website`: Select a website on which the program is available. Leave this field blank to make it available on all websites." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:73 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:71 msgid ":guilabel:`Point of Sale`: Select the point(s) of sale at which the program is available. Leave this field blank to make it available at all :abbr:`PoS (Point of Sale)`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:77 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:75 msgid "The options available on the program form vary depending on the :ref:`Program Type ` selected." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:80 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:78 msgid "All of the existing cards, codes, coupons, etc. that have been generated for the program are accessible through the smart button located at the top of the form." msgstr "" @@ -14528,7 +15208,7 @@ msgstr "" msgid "Program items smart button on the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:88 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:85 msgid "In Odoo 17 (and later), when a loyalty card or coupon is associated with a contact in the database, a :guilabel:`Loyalty Cards` smart button conditionally appears on the contact form." msgstr "" @@ -14536,51 +15216,51 @@ msgstr "" msgid "The Loyalty Card smart button as it appears on a contact form in Odoo 17." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:95 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:91 msgid "This smart button **only** appears if a loyalty card or coupon is associated with the contact." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:100 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:96 msgid "Program types" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:102 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:98 msgid "The different :guilabel:`Program Types` available on the program form are:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:104 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:100 msgid ":guilabel:`Coupons`: Generate and share single-use coupon codes that grant immediate access to rewards." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:106 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:102 msgid ":guilabel:`Loyalty Cards`: When making purchases, the customer accumulates points to exchange for rewards on current and/or future orders." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:108 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:104 msgid ":guilabel:`Promotions`: Set conditional rules for ordering products, which, when fulfilled, grant access to rewards for the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:110 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:106 msgid ":guilabel:`Discount Code`: Set codes which, when entered upon checkout, grant discounts to the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:112 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:108 msgid ":guilabel:`Buy X Get Y`: for every (X) item bought, the customer is granted 1 credit. After accumulating a specified amount of credits, the customer can trade them in to receive (Y) item." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:114 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:110 msgid ":guilabel:`Next Order Coupons`: Generate and share single-use coupon codes that grant access to rewards on the customer's next order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:118 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:114 msgid "Conditional rules" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:120 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:116 msgid "Next, configure the :guilabel:`Conditional rules` that determine when the program applies to a customer's order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:123 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:119 msgid "In the :guilabel:`Rules & Rewards` tab, click :guilabel:`Add` next to :guilabel:`Conditional rules` to add *conditions* to the program. This reveals a :guilabel:`Create Conditional rules` pop-up window." msgstr "" @@ -14588,39 +15268,39 @@ msgstr "" msgid "Rules & Rewards tab of the loyalty program form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:132 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:127 msgid "The options for :guilabel:`Conditional rules` vary depending on the selected :ref:`Program Type `." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:135 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:130 msgid "The following options are available for configuring conditional rules:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:137 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:132 msgid ":guilabel:`Discount Code`: Enter a custom code to be used for the :guilabel:`Discount Code` program, or use the default one generated by Odoo. This field is only available when the :guilabel:`Program Type` is set to :guilabel:`Discount Code`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:140 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:135 msgid ":guilabel:`Minimum Quantity`: Enter the minimum number of products that must be purchased in order to access the reward. Set the minimum quantity to at least `1` to ensure that the customer must make a purchase in order to access the reward." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:143 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:138 msgid ":guilabel:`Minimum Purchase`: Enter the minimum amount (in currency), with :guilabel:`tax Included` or :guilabel:`tax Excluded`, that must be spent in order to access the reward. If both a minimum quantity *and* minimum purchase amount are entered, then the customer's order must meet both conditions." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:147 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:142 msgid ":guilabel:`Products`: Select the specific product(s) for which the program applies. Leave this field blank to apply it to all products." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:149 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:144 msgid ":guilabel:`Categories`: Select the category of products for which the program applies. Choose :guilabel:`All` to apply it to all product categories." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:151 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:146 msgid ":guilabel:`Product Tag:` Select a tag to apply the program to products with that specific tag." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:152 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:147 msgid ":guilabel:`Grant`: Enter the number of points the customer earns :guilabel:`per order`, :guilabel:`per currency spent`, or :guilabel:`per unit paid` (for the :guilabel:`Loyalty Cards` and :guilabel:`Buy X Get Y` programs)." msgstr "" @@ -14628,68 +15308,68 @@ msgstr "" msgid "Conditional rules configuration window for a discount or loyalty program." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:160 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:154 msgid "Click :guilabel:`Save & Close` to save the rule and close the pop-up window, or click :guilabel:`Save & New` to save the rule and immediately create a new one." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:164 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:158 msgid "Rewards" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:166 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:160 msgid "In the :guilabel:`Rules & Rewards` tab of the program form, click :guilabel:`Add` next to :guilabel:`Rewards` to add *rewards* to the program. This reveals a :guilabel:`Create Rewards` pop-up window." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:171 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:165 msgid "The options for :guilabel:`Rewards` vary depending on the selected :ref:`Program Type `." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:174 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:168 msgid "The following options are available for configuring rewards:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:176 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:170 msgid ":guilabel:`Reward Type`: Select the reward type among :guilabel:`Free Product`, :guilabel:`Discount`, and :guilabel:`Free Shipping`. The other options for reward configuration depend on the :guilabel:`Reward Type` selected." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:180 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:174 msgid ":guilabel:`Free Product`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:182 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:176 msgid ":guilabel:`Quantity Rewarded`: Select the number of free products rewarded to the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:183 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:177 msgid ":guilabel:`Product`: Select the product given for free as a reward. Only one product can be selected." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:185 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:179 msgid ":guilabel:`Product Tag`: Select a tag to further specify the free product eligible for the reward." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:188 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:182 msgid ":guilabel:`Discount`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:190 -msgid ":guilabel:`Discount`: Enter the discounted amount in either :guilabel:`percentage`, :guilabel:`currency per point`, or :guilabel:`currency per order`. Then, select whether the discount applies to the entire :guilabel:`Order`, only the :guilabel:`Cheapest Product` on the order, or only :guilabel:`Specific Products`." +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:184 +msgid ":guilabel:`Discount`: Enter the discounted amount in either :guilabel:`percentage`, :guilabel:`currency per point`, or :guilabel:`currency per order`. Then, select whether the discount applies to the entire :guilabel:`Order`, only the :guilabel:`Cheapest Product` on the order, or only :guilabel:`Specific Products`. If :doc:`developer mode ` is active, the reward can be set to apply to the :guilabel:`Cheapest Product` in a specific domain (for example, the cheapest t-shirt when there are multiple types of clothing in a sales order)." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:194 -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:199 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:191 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:196 msgid ":guilabel:`Max Discount`: Enter the maximum amount (in currency) that this reward may grant as a discount. Leave this field at `0` for no limit." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:197 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:194 msgid ":guilabel:`Free Shipping`:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:202 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:199 msgid ":guilabel:`In exchange of`: Enter the number of points required to exchange for the reward (for the :guilabel:`Loyalty Cards` and :guilabel:`Buy X Get Y` programs)." msgstr "" -#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:204 +#: ../../content/applications/sales/sales/products_prices/loyalty_discount.rst:201 msgid ":guilabel:`Description on order`: Enter the description of the reward, which is displayed to the customer upon checkout." msgstr "" @@ -15044,14 +15724,14 @@ msgid "It is more beneficial to add a :guilabel:`Fixed Amount` discount after ** msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:5 -msgid "A *pricelist* is a method of dynamic pricing that applies a list of prices (or price rules) to adjust sales prices. This adjustment can apply to specific customers, customer groups, sales orders, time periods, etc., and is useful for creating pricing strategies and optimizing sales margins." +msgid "A *pricelist* is a method of dynamic pricing that applies a list of prices (or price rules) that overrides the sales price on a product's product form. This adjustment can set to apply to all products sold or tailored to only apply to specific customers, customer groups, sales orders, time periods, etc., and is useful for creating pricing strategies and optimizing sales margins." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:9 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:10 msgid "Odoo **Sales** has a useful pricelist feature that can be tailored to fit any unique pricing strategy. Pricelists suggest certain prices, but they can always be overridden on the sales order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:17 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:18 msgid "To enable pricelists in the Odoo **Sales** app, first navigate to :menuselection:`Sales app --> Configuration --> Settings`. In the :guilabel:`Pricing` section, tick the checkbox next to the :guilabel:`Pricelists` feature, and click :guilabel:`Save` to save all changes." msgstr "" @@ -15059,11 +15739,11 @@ msgstr "" msgid "How the pricelist feature setting looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:24 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:25 msgid "After activating and saving the :guilabel:`Pricelists` feature, the :guilabel:`Settings` page reloads. From here, either select the :icon:`oi-arrow-right` :guilabel:`Pricelists` link (beneath the :guilabel:`Pricelists` feature on the :guilabel:`Settings` page), or navigate to :menuselection:`Sales app --> Products --> Pricelists`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:29 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:30 msgid "Either option reveals the :guilabel:`Pricelists` page, in which pricelists can be created and/or modified at any time." msgstr "" @@ -15071,27 +15751,27 @@ msgstr "" msgid "How the pricelists page looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:36 -msgid "If there is no specific pricelist configured on a sales quotation, the :guilabel:`Default` pricelist is applied." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:40 -msgid "The :guilabel:`Selectable` column is only applicable to Odoo **eCommerce**. This option allows website visitors to choose a pricelist when shopping in your **eCommerce** website." +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:37 +msgid "If there is no specific pricelist configured on a sales quotation, the :guilabel:`Default` pricelist is applied. The :guilabel:`Default` pricelist is the first pricelist found in :menuselection:`Sales app --> Products --> Pricelists` without an assigned :guilabel:`Country Group`. Odoo will read the :guilabel:`Pricelist Name` column from top to bottom to determine the :guilabel:`Default` pricelist." msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:44 +msgid "The :guilabel:`Selectable` column is only applicable to Odoo **eCommerce**. This option allows website visitors to choose a pricelist when shopping in your **eCommerce** website." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:48 msgid "In Odoo 17 (and above), you are *not required* to enter a pricelist in the :guilabel:`Pricelist` field on a sales quotation form in order to confirm it (i.e. turn it into a sales order)." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:47 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:51 msgid "The chatter section is available on pricelist forms, which allows you to add notes and communications on each pricelist page." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:51 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:55 msgid "Creating and editing pricelists" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:53 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:57 msgid "From the :guilabel:`Pricelists` page, either select the pricelist to edit, or click :guilabel:`New` to create a new pricelist, which reveals a blank pricelist form that can be configured in a number of different ways." msgstr "" @@ -15099,51 +15779,51 @@ msgstr "" msgid "How the pricelist detail form looks in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:60 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:64 msgid "When creating a new pricelist, start by adding a name for the pricelist at the blank field at top of the form. Next, select which :guilabel:`Currency` should be used." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:63 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:67 msgid "If working in a multi-company environment, select which company this pricelist should apply to in the :guilabel:`Company` field. If this field is left blank, the pricelist is automatically applied to all companies in the database." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:67 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:71 msgid "If working in a multinational company, select the countries where this pricelist will apply under the :guilabel:`Country Groups` column." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:73 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:77 msgid "Price Rules tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:75 -msgid "In the :guilabel:`Price Rules` tab, each line creates a new record that will implement customized pricing to the sales order where the pricelist is applied. To create a new price rule, click on :guilabel:`Add a line`, which opens a new pricelist rules form." -msgstr "" - #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:79 -msgid "Then, select whether to apply this set of rules to a :guilabel:`Product` or :guilabel:`Category`." +msgid "In the :guilabel:`Price Rules` tab, each line creates a new record that will implement customized pricing to the sales order where the pricelist is applied. This can be used to create complex pricing structures, such as progressive discounts when greater quantities of a product are purchased." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:81 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:84 +msgid "To create a new price rule, click on :guilabel:`Add a line`, which opens a new pricelist rules form. Then, select whether to apply this set of rules to a :guilabel:`Product` or :guilabel:`Category`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:87 msgid "From here, there are several configuration options:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:83 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:89 msgid ":guilabel:`Product`: If selected in the :guilabel:`Apply To` field, use this field to choose one or more products to which this pricelist will apply." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:85 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:91 msgid ":guilabel:`Category`: Select one or more product categories to which this pricelist will apply." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:86 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:92 msgid ":guilabel:`Price Type`: Select whether the specialized pricing will fall under :guilabel:`Discount`, :guilabel:`Formula`, or :guilabel:`Fixed Price`. Depending on the price type, there will be additional configurations on how to apply the pricelist." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:90 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:96 msgid ":guilabel:`Discount`: Enter the percentage to be discounted. A mark-up can be configured by using a negative value in this field." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:94 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:100 msgid "If a pricelist is applied to a sales quotation with the discount :guilabel:`Price Type` set as :guilabel:`Discount`, the discount will visible to the customer." msgstr "" @@ -15155,43 +15835,43 @@ msgstr "" msgid "How a pricelist rule using Price Type: Discount appears on customer preview." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:103 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:109 msgid ":guilabel:`Formula`: Calculate the pricelist rules based the following configuration:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:105 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:111 msgid ":guilabel:`Discount`: Percentage discount to be applied. Negative values can be entered to increase prices." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:109 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:115 msgid "If a pricelist is applied to a sales quotation with the discount :guilabel:`Price Type` set as :guilabel:`Formula`, the discount will *not* be visible to the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:112 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:118 msgid ":guilabel:`Round off to`: Numerical value to act as round-off multiple, to be applied after discount. The rounding method sets the price so that it is a multiple of the value in this field." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:117 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:123 msgid "Rounding is applied *after* the discount and *before* the extra fee." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:119 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:125 msgid ":guilabel:`Extra Fee`: Fixed amount to be added or subtracted once :guilabel:`Discount` and :guilabel:`Round off to` have been applied." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:121 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:127 msgid ":guilabel:`Fixed Price`: Enter fixed price for this pricelist. When applied, all product lines in the quotation form will be updated to this price." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:124 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:130 msgid ":guilabel:`Min Qty`: Specify the minimum quantity of selected products for this pricelist to apply." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:126 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:132 msgid ":guilabel:`Validity Period`: Specify the start and end date during which this pricelist can be applied to quotations." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:130 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:136 msgid "To formulate a 100% markup (or two times the price of the product), with a $5 minimum margin, set the :guilabel:`Based price` field to :guilabel:`Sales Price` and the :guilabel:`Discount` to `-100`. This is often seen in retail situations." msgstr "" @@ -15199,7 +15879,7 @@ msgstr "" msgid "How it looks to formulate a markup cost with 5 dollar minimum margin in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:138 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:144 msgid "To apply 20% discounts, with prices rounded up to 9.99, set the :guilabel:`Based on` field to :guilabel:`Sales Price`, the :guilabel:`Discount` field to `20`, the :guilabel:`Extra Fee` field to `-0.01`, and the :guilabel:`Rounding Method` field to `10`." msgstr "" @@ -15207,27 +15887,27 @@ msgstr "" msgid "Example of a 20% discount with prices rounded to 9.99 in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:146 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:152 msgid "To have prices that end in 9.99, set the :guilabel:`Rounding Method` to `10` and the :guilabel:`Extra Fee` to `-0.01`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:150 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:156 msgid "Recurring Prices tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:152 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:158 msgid "Time-based rules are used specifically with subscription products. Be sure to check out the Odoo :doc:`Subscriptions ` documentation for more information." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:155 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:161 msgid "In the :guilabel:`Recurring Prices` tab, pricelists are configured with the same options as in the :guilabel:`Price Rules` tab, with additional columns for :guilabel:`Product Variants` and :guilabel:`Recurring Plan`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:159 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:165 msgid ":guilabel:`Product Variants` are configured under products that have one or more values, such as color, size, etc. Once a product has been selected under the :guilabel:`Products Tab`, if applicable, select the desired product variants to be included in the price rule." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:163 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:169 msgid "Then, select the blank field in the :guilabel:`Recurring Plan` column to reveal a drop-down menu of pre-designated recurrence periods (e.g. `Monthly`, `Quarterly`, `Weekly`, etc.)." msgstr "" @@ -15235,7 +15915,7 @@ msgstr "" msgid "The recurring prices tab in a pricelist configuration form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:169 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:175 msgid "New recurrence periods can also be created from this column. To do so, type in the name for the new :guilabel:`Recurring Plan`, then select :guilabel:`Create` from the resulting drop-down menu to create the time period, which can be edited later. Alternatively, select :guilabel:`Create and edit...` to reveal a :guilabel:`Create Recurring Plan` pop-up form. From this pop-up form, the new recurrence period can be configured, with specific :guilabel:`Details`, :guilabel:`Self-Service`, and :guilabel:`Pricing` options. When the configurations are complete, click the :guilabel:`Save & Close` button." msgstr "" @@ -15243,31 +15923,31 @@ msgstr "" msgid "Custom time period pop-up form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:181 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:187 msgid "Lastly, add the desired price for this recurring price rule in the :guilabel:`Recurring Price` column." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:185 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:191 msgid ":doc:`../../../subscriptions`" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:188 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:194 msgid "Rental rules tab" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:190 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:196 msgid "Price rules can be configured for :doc:`rental products <../../../rental>` under the :guilabel:`Rental rules` tab, using the same methodology as the :guilabel:`Price Rules` and :guilabel:`Recurring Prices` tabs." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:194 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:200 msgid "To add a rental rule, click :guilabel:`Add a line`, and select a desired product in the :guilabel:`Products` column. Then, select any specific :guilabel:`Variants`, if necessary." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:197 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:203 msgid "Next, designate a :guilabel:`Period` of time for the rental rule (e.g. `Daily`, `Hourly`, etc.)." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:199 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:205 msgid "Lastly, configure a :guilabel:`Price` for the rental rule in the respective column." msgstr "" @@ -15275,19 +15955,19 @@ msgstr "" msgid "The rental tab in a pricelist configuration form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:205 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:211 msgid ":doc:`Ecommerce price configuration `" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:210 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:216 msgid "Customer pricelist application" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:212 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:218 msgid "While the default pricelist applied to any customer is the :guilabel:`Public Pricelist`, Odoo provides the opportunity to directly apply a different pricelist to customers on their contact form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:215 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:221 msgid "To do that, open the desired customer's contact form, either by navigating to :menuselection:`Sales app --> Orders --> Customers` and selecting the customer from the main :guilabel:`Customers` page, or by clicking on the customer's name on a sales order." msgstr "" @@ -15295,7 +15975,7 @@ msgstr "" msgid "Sample customer detail form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:223 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:229 msgid "On the desired customer's contact form, under the :guilabel:`Sales & Purchase` tab, in the :guilabel:`Sales` section, designate what pricelist should be applied to this specific customer from the drop-down menu in the :guilabel:`Pricelist` field." msgstr "" @@ -15303,63 +15983,63 @@ msgstr "" msgid "The pricelist field in a customer detail form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:232 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:238 msgid "When a customer is added to the database, the default pricelist is automatically applied to them. There is **no way** to have a blank *Pricelist* field on a contact form. Even if that field is left blank, the default pricelist appears when that contact form is opened again." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:236 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:242 msgid "However, when that contact is added to a quotation, and the *Pricelist* field is auto-populated (based on the information from their contact form), that predetermined pricelist can be removed from the *Pricelist* field, and the quotation can still be confirmed, and subsequently, turned into a sales order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:242 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:248 msgid "Conditions" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:244 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:250 msgid "At the bottom of the :guilabel:`Create Pricelist Rules` pop-up form is the :guilabel:`Conditions` section." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:247 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:253 msgid "Here, start by selecting one of the options in the :guilabel:`Apply On` field:" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:249 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:255 msgid ":guilabel:`All Products`: the advanced pricelist rule will be applied to all products." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:250 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:256 msgid ":guilabel:`Product Category`: the advanced pricelist rule will be applied to a specific category of products." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:252 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:258 msgid ":guilabel:`Product`: the advanced pricelist rule will be applied to a specific product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:253 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:259 msgid ":guilabel:`Product Variant`: the advanced pricelist rule will be applied to a specific product variant." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:256 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:262 msgid "If any of those options, apart from :guilabel:`All Products`, are selected, a new option-specific field appears, in which the specific :guilabel:`Product Category`, :guilabel:`Product`, or :guilabel:`Product Variant` must be chosen." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:260 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:266 msgid "Then, select a minimum quantity to be applied to the advanced pricelist rule in the :guilabel:`Min. Quantity` field. Lastly, select a range of dates for the pricelist item validation in the :guilabel:`Validity` field." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:264 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:270 msgid "Once all configurations are complete, either click :guilabel:`Save & Close` to save the advanced pricelist rule, or click :guilabel:`Save & New` to immediately create another advanced pricelist rule on a fresh form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:269 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:275 msgid "If a price rule is set for a particular product, and another one for its product category, Odoo takes the rule of the product itself." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:273 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:279 msgid ":doc:`/applications/sales/sales/products_prices/prices/currencies`" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:274 +#: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:280 msgid ":doc:`/applications/websites/ecommerce/products/prices`" msgstr "" @@ -15973,54 +16653,54 @@ msgid ":guilabel:`Select`: options appear in a drop-down menu on the product pag msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:80 -msgid ":guilabel:`Multi-checkbox (option)`: options appear as selectable checkboxes on the product page of the online store." +msgid ":guilabel:`Multi-checkbox (option)`: options appear as selectable checkboxes on the product page of the online store. This allows customers to choose options for themselves and is good choice for highly customizable products." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 msgid "Display Types on Product Configurator on the online store in Odoo." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:87 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:88 msgid "The :guilabel:`Variant Creation Mode` field informs Odoo when to automatically create a new variant once an attribute is added to a product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:91 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:92 msgid "The :guilabel:`Variant Creation Mode` field **must** be set to :guilabel:`Never (option)` in order for the :guilabel:`Multi-checkbox (option)` to work properly as the :guilabel:`Display Type`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:95 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:96 msgid ":guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added to a product template." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:97 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:98 msgid ":guilabel:`Dynamically`: creates variants **only** when corresponding attributes and values are added to a sales order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:99 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:100 msgid ":guilabel:`Never (option)`: never automatically creates variants." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:102 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:103 msgid "Once added to a product, an attribute's :guilabel:`Variants Creation Mode` cannot be edited." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:104 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:105 msgid "The :guilabel:`eCommerce Filter Visibility` field determines whether or not these attribute options are visible to the customer on the front-end, as they shop on the online store." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:107 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:108 msgid ":guilabel:`Visible`: the attribute values are visible to customers on the front-end." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:108 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:109 msgid ":guilabel:`Hidden`: the attribute values are hidden from customers on the front-end." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:110 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:111 msgid "Lastly, in the optional :guilabel:`eCommerce Category` field, select a category from a drop-down menu to group similar attributes under the same section for added specificity and organization." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:114 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:115 msgid "To view the details related to the attribute category selected, click the internal link :icon:`fa-arrow-right` :guilabel:`(right arrow)` icon to the far-right of the :guilabel:`eCommerce Category` field, once an option has been selected. Doing so reveals that attribute category's detail form." msgstr "" @@ -16028,43 +16708,43 @@ msgstr "" msgid "A standard attribute category detail page accessible via its internal link arrow icon." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:123 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:124 msgid "Here, the :guilabel:`Category Name` and :guilabel:`Sequence` is displayed at the top. Followed by :guilabel:`Related Attributes` associated with the category. These attributes can be dragged-and-dropped into a desirable order of priority." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:127 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:128 msgid "Attributes can be directly added to the category, as well, by clicking :guilabel:`Add a line`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:130 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:131 msgid "To create an attribute category directly from this field, start typing the name of the new category, then select either :guilabel:`Create` or :guilabel:`Create and edit...` from the drop-down menu that appears." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:134 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:135 msgid "Clicking :guilabel:`Create` creates the category, which can be modified later. Clicking :guilabel:`Create and edit...` creates the category and reveals a :guilabel:`Create Category` pop-up window, in which the new attribute category can be configured and customized." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:139 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:140 msgid "Attribute values" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:141 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:142 msgid "Attribute values should be added to the :guilabel:`Attribute Values` tab. Values can be added to an attribute at any time, if needed." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:144 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:145 msgid "To add a value, click :guilabel:`Add a line` in the :guilabel:`Attribute Values` tab." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:146 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:147 msgid "Then, enter the name of the value in the :guilabel:`Value` column. Next, check the box in the :guilabel:`Is custom value` column, if the value is custom (i.e. the customer gets to provide unique specifications that are specific to this particular value)." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:151 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:152 msgid "Colors" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:153 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:154 msgid "Next to :guilabel:`Display Type`, select the :guilabel:`Color` option. Go to the :guilabel:`Attribute Values` tab to modify the value settings." msgstr "" @@ -16072,7 +16752,7 @@ msgstr "" msgid "Add an image of the pattern to an attribute." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:159 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:160 msgid "To choose a color, click the blank circle in the :guilabel:`Color` column, which reveals an HTML color selector pop-up window." msgstr "" @@ -16080,35 +16760,35 @@ msgstr "" msgid "Selecting a color from the HTML color pop-up window that appears on attribute form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:165 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:166 msgid "In this pop-up window, select a specific color by dragging the color slider to a particular hue, and clicking on the color portion directly on the color gradient window." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:168 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:169 msgid "Or, choose a specific color by clicking the *dropper* icon, and selecting a desired color that's currently clickable on the screen." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:171 -msgid "If you sell products with specific patterns, you can also add an image to display the pattern of the product. To do so, click the :icon:`fa-camera` :guilabel:`(camera)` icon, then click the :icon:`fa-pencil` :guilabel:`(pencil)` icon and select an image from your local drive. This pattern will appear as a color option on the ecommerce product page." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:172 +msgid "Businesses can attach images to product variant attribute values for customers to view on an eCommerce webite. To do so, click the :icon:`fa-camera` :guilabel:`(camera)` icon, then click the :icon:`fa-pencil` :guilabel:`(pencil)` icon and select an image from your local drive. This image will appear as a color option on the ecommerce product page." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 msgid "Pattern as color option on the ecommerce page." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:180 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:181 msgid "Attributes can also be created directly from the product template by adding a new line and typing the name into the :guilabel:`Variants` tab." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:183 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:184 msgid "Once an attribute is added to a product, that product is listed and accessible, via the attribute's :guilabel:`Related Products` smart button. That button lists every product in the database currently using that attribute." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:190 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:191 msgid "Once an attribute is created, use the attribute (and its values) to create a product variant. To do that, go to :menuselection:`Sales app --> Products --> Products`, and select an existing product to view that desired product's form. Or, click :guilabel:`Create` to create a new product, to which a product variant can be added." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:195 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:196 msgid "On the product form, click the :guilabel:`Attributes \\& Variants` tab to view, manage, and modify attributes and values for the product." msgstr "" @@ -16116,35 +16796,35 @@ msgstr "" msgid "The attributes and values tab on a typical product form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:202 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:203 msgid "To add an attribute to a product, and subsequent attribute values, click :guilabel:`Add a line` in the :guilabel:`Attributes \\& Variants` tab. Then, choose the desired attribute from the drop-down menu that appears." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:207 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:208 msgid "Attributes can be created directly from the :guilabel:`Attributes \\& Variants` tab of a product form. To do that, start typing the name of the new attribute in the blank field, and select either :guilabel:`Create` or :guilabel:`Create and edit...` from the mini drop-down menu that appears." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:212 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:213 msgid "Clicking :guilabel:`Create` creates the attribute, which can be customized later. Clicking :guilabel:`Create and edit...` creates the attribute, and a :guilabel:`Create Attribute` pop-up form appears. In the pop-up form, proceed to modify the attribute in a number of ways." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:216 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:217 msgid "Once an attribute is selected in the :guilabel:`Attribute` column, proceed to select the specific attribute values to apply to the product, via the drop-down menu available in the :guilabel:`Values` column." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:221 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:222 msgid "There is no limit to how many values can be added." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:224 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:225 msgid "Similar product variant creation processes are accessible through the Purchase, Inventory, and eCommerce applications." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:230 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:231 msgid "Configure variants" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:232 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:233 msgid "To the far-right of the attribute line is a :guilabel:`Configure` button. When clicked, Odoo reveals a separate page showcasing those specific :guilabel:`Product Variant Values`." msgstr "" @@ -16152,15 +16832,15 @@ msgstr "" msgid "The Product Variant Values page accessible via the Configure button on a product form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:239 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:240 msgid "Here, the specific :guilabel:`Value` name, :guilabel:`HTML Color Index` (if applicable), and :guilabel:`Value Price Extra` are viewable." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:243 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:244 msgid "The :guilabel:`Value Price Extra` represents the increase in the sales price if the attribute is selected." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:246 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:247 msgid "When a value is clicked on the :guilabel:`Product Variant Values` page, Odoo reveals a separate page, detailing that value's related details." msgstr "" @@ -16168,19 +16848,19 @@ msgstr "" msgid "A Product Variant Values page accessible via the Product Variants Values general page." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:253 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:254 msgid "On the specific product variant detail page, the :guilabel:`Value` and :guilabel:`Value Price Extra` fields can be found, along with an :guilabel:`Exclude for` field." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:256 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:257 msgid "In the :guilabel:`Exclude for` field, different :guilabel:`Product Templates` and specific :guilabel:`Attribute Values` can be added. When added, this specific attribute value will be excluded from those specific products." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:261 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:262 msgid "Variants smart button" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:263 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:264 msgid "When a product has attributes and variants configured in its :guilabel:`Attributes \\& Variants` tab, a :guilabel:`Variants` smart button appears at the top of the product form. The :guilabel:`Variants` smart button indicates how many variants are currently configured for that specific product." msgstr "" @@ -16188,7 +16868,7 @@ msgstr "" msgid "The variants smart button at the top of the product form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:271 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:272 msgid "When the :guilabel:`Variants` smart button is clicked, Odoo reveals a separate page showcasing all the specific product variant combinations configured for that specific product." msgstr "" @@ -16196,39 +16876,91 @@ msgstr "" msgid "The variants page accessible via the variants smart button on the product form in Odoo." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:279 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:280 msgid "Impact of variants" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:281 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:282 msgid "In addition to offering more detailed product options to customers, product variants have their own impacts that can be taken advantage of throughout the Odoo database." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:284 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:285 msgid ":guilabel:`Barcode`: barcodes are associated with each variant, instead of the product template. Each individual variant can have its own unique barcode/SKU." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:286 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:287 msgid ":guilabel:`Price`: every product variant has its own public price, which is the sum of the product template price *and* any extra charges for particular attributes." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:290 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:291 msgid "A red shirt's sales price is $23 -- because the shirt's template price is $20, plus an additional $3 for the red color variant. Pricelist rules can be configured to apply to the product template, or to the variant." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:294 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:295 msgid ":guilabel:`Inventory`: inventory is counted for each individual product variant. On the product template form, the inventory reflects the sum of all variants, but the actual inventory is computed by individual variants." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:297 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:298 msgid ":guilabel:`Picture`: each product variant can have its own specific picture." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:300 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:301 msgid "Changes to the product template automatically apply to every variant of that product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:303 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:304 +msgid "Adding and deleting attributes from product variants" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:306 +msgid "When attributes are added or deleted from products, variants that have already been created are affected. Depending on whether or not these variants have been used in orders, they are archived or deleted and recreated." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:310 +msgid "Variants that have not been used in an order are deleted and recreated with the new attributes. This may result in the deletion of additional customizations, depending on how the variants were configured." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:313 +msgid "Variants that have been previously used in one or more orders are archived and removed from the product catalog instead of being deleted." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:317 +msgid "A business offers leather motorcycle jackets with the following attributes and values for a total of 27 product variants:" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:320 +msgid "Size: Small, Medium, Large" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:321 +msgid "Color: Black, Brown, Natural" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:322 +msgid "Material: Leather, Vegan Leather, Premium Leather" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:324 +msgid "Due to rising costs, the business makes the decision to stop offering different leathers and removes the \"Material\" attribute from the product form. This has the following effects:" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:327 +msgid "Any leather jacket variants that have been sold will be archived" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:328 +msgid "Any leather jacket variants that have not been sold will be deleted" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:329 +msgid "A new set of variants using just Size and Color attributes will be created, for a total of 9 product variants" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:332 +msgid "The business owner can find archived product variants by navigating to :menuselection:`Sales app --> Products --> Product Variants`, clicking the drop-down in the search bar, and finally clicking the :guilabel:`Archived filter`. Any deleted variants and their customizations will be lost." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:338 msgid ":doc:`import`" msgstr "" @@ -16669,63 +17401,63 @@ msgid "From here, simply locate the desired items, click the :icon:`fa-shopping- msgstr "" #: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:149 -msgid "If multiple items should be presented in a more organized way on the quotation, click :guilabel:`Add a section`, enter a name for the section, and drag-and-drop that section heading in the desired location amongst the items in the :guilabel:`Order Lines` tab. The section heading appears in bold." +msgid "If multiple items should be presented in a more organized way on the quotation, click :guilabel:`Add a section`, enter a name for the section, and drag-and-drop that section heading in the desired location amongst the items in the :guilabel:`Order Lines` tab. The section heading appears in bold and a sub-total for all products in a section is displayed." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:153 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:154 msgid "If needed, click :guilabel:`Add a note` beneath a certain product line to add a custom note about that specific product. The note appears in italics. Then, if needed, proceed to drag-and-drop the note beneath the desired product line." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:157 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:158 msgid "Beneath the product lines, there are buttons that can be clicked to apply any of the following: :guilabel:`Coupon Code`, :guilabel:`Promotions`, :guilabel:`Discount`, and/or :guilabel:`Add shipping`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:162 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:163 msgid ":doc:`../products_prices/ewallets_giftcards`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:163 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:164 msgid ":doc:`../products_prices/loyalty_discount`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:164 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:165 msgid ":doc:`../products_prices/prices/pricing`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:167 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:168 #: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:148 msgid "Optional Products tab" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:169 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:170 msgid "Open the :guilabel:`Optional Products` tab to select related products that can be presented to the customer, which may result in an increased sale." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:172 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:173 msgid "For example, if the customer wants to buy a car, an optional product that could be offered is a *Trailer Hitch*." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:176 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:177 msgid ":doc:`optional_products`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:179 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:180 msgid "Other Info tab" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:181 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:182 msgid "In the :guilabel:`Other Info` tab, there are various quotation-related configurations separated into four different sections: :guilabel:`Sales`, :guilabel:`Delivery`, :guilabel:`Invoicing`, and :guilabel:`Tracking`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:186 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:187 msgid "Some fields **only** appear if specific settings and options have been configured." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:189 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:190 msgid "Sales section" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:191 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:192 msgid "In the :guilabel:`Sales` section of the :guilabel:`Other Info` tab, there are sales specific fields that can be configured." msgstr "" @@ -16733,39 +17465,39 @@ msgstr "" msgid "The Sales section of the Other Info tab of a quotation form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:198 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:199 msgid ":guilabel:`Salesperson`: Assign a salesperson from the drop-down menu to be associated with this quotation. The user who originally created the quotation is selected in this field, by default." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:200 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:201 msgid ":guilabel:`Sales Team`: Assign a specific sales team to this quotation. If the selected :guilabel:`Salesperson` is a member of a sales team, that team is auto-populated in the field." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:202 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:203 msgid ":guilabel:`Company`: Select a company from the drop-down menu this quotation should be associated with. This field only appears when working in a multi-company environment." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:204 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:205 msgid ":guilabel:`Online signature`: Tick this checkbox to request an online signature from the customer to confirm the order. This field only appears if the *Online Signature* setting has been enabled." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:206 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:207 msgid ":guilabel:`Online payment`: Tick this checkbox, and enter a desired percentage in the adjacent field, to request an online payment from the customer (for that designated percentage of the total amount) to confirm the order. This field only appears if the *Online Payment* setting has been enabled." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:210 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:211 msgid ":guilabel:`Customer Reference`: Enter a custom reference ID for this customer. The entered reference ID can contain letters, numbers, or a mix of both." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:212 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:213 msgid ":guilabel:`Tags`: Add specific tags to the quotation for added organization and enhanced searchability in the Odoo **Sales** application. Multiple tags can be added, if necessary." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:216 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:217 msgid "Delivery section" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:218 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:219 msgid "In the :guilabel:`Delivery` section of the :guilabel:`Other Info` tab, there are delivery-specific fields that can be configured." msgstr "" @@ -16773,31 +17505,31 @@ msgstr "" msgid "The Delivery section of the Other Info tab of a quotation form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:225 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:226 msgid ":guilabel:`Shipping Weight`: Displays the weight of the items being shipped. This field is not modifiable. Product weight is configured on individual product forms." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:227 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:228 msgid ":guilabel:`Incoterm`: Select an Incoterm (International Commerical Term) to use as predefined commerical terms for international transactions." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:229 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:230 msgid ":guilabel:`Incoterm Location`: If an Incoterm is being used, enter the international location in this field." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:231 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:232 msgid ":guilabel:`Shipping Policy`: Select a desired shipping policy from the drop-down menu. If all products are delivered at once, the delivery order is scheduled, based on the greatest product lead time. Otherwise, it is based on the shortest lead time. The available options are: :guilabel:`As soon as possible` or :guilabel:`When all products are ready`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:235 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:236 msgid ":guilabel:`Delivery Date`: Click into the empty field to reveal a calendar popover, from which a customer delivery date can be selected. If no custom date is required, refer to the :guilabel:`Expected` date listed to the right of that field." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:240 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:241 msgid "Invoicing section" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:242 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:243 msgid "In the :guilabel:`Invoicing` section of the :guilabel:`Other Info` tab, there are invoicing specific fields that can be configured." msgstr "" @@ -16805,19 +17537,19 @@ msgstr "" msgid "The Invoicing section of the Other Info tab of a quotation form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:249 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:250 msgid ":guilabel:`Fiscal Position`: Select a fiscal position to be used to adapt taxes and accounts for particular customers or sales orders/invoices. The default value comes from the customer. If a selection is made in this field, an :icon:`fa-refresh` :guilabel:`Update Taxes` clickable link and icon appear. When clicked, the taxes for this partiuclar customer and quotation are updated. A confirmation window appears, as well." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:254 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:255 msgid ":guilabel:`Analytic Account`: Select an analytic account to apply to this customer/quotation." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:257 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:258 msgid "Tracking section" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:259 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:260 msgid "In the :guilabel:`Tracking` section of the :guilabel:`Other Info` tab, there are tracking specific fields that can be configured." msgstr "" @@ -16825,117 +17557,117 @@ msgstr "" msgid "The Tracking section of the Other Info tab of a quotation form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:266 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:267 msgid ":guilabel:`Source Document`: Enter the reference of the document that generated the quotation/sales order, if applicable." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:268 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:269 msgid ":guilabel:`Opportunity`: Select the specific opportunity (from the **CRM** app) related to this quotation, if applicable." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:270 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:271 msgid ":guilabel:`Campaign`: Select the marketing campaign related to this quotation, if applicable." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:271 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:272 msgid ":guilabel:`Medium`: Select the method by which this quotation originated (e.g. *Email*), if applicable." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:273 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:274 msgid ":guilabel:`Source`: Select the source of the link used to generate this quotation (e.g. *Facebook*), if applicable." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:277 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:278 msgid ":doc:`../../../websites/website/reporting/link_tracker`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:280 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:281 msgid "Notes tab" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:282 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:283 msgid "In the :guilabel:`Notes` tab of the quotation form, enter any specific internal notes about the quotation and/or customer, if desired." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:288 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:289 msgid "Sending and confirming quotations" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:290 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:291 msgid "Once all the necessary fields and tabs have been configured, it is time to send the quotation to the customer for confirmation. Upon confirmation, the quotation turns into an official sales order." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:293 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:294 msgid "At the top of the form, there is a series of buttons:" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:295 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:296 msgid ":guilabel:`Send by Email`: When clicked, a pop-up window appears with the customer's name and email address in the :guilabel:`Recipients` field, the quotation (and reference ID) in the :guilabel:`Subject` field, and a brief default message in the body of the email, which can be modified, if needed." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:300 -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:308 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:301 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:309 msgid "Below that, a PDF copy of the quotation is attached. When ready, click :guilabel:`Send` to send the quotation, via email, to the customer, so they can review and confirm it." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:302 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:303 msgid ":guilabel:`Send PRO-FORMA Invoice`: This button **only** appears if the *Pro-Forma Invoice* setting has been enabled. When clicked, a pop-up window appears with the customer's name and email address in the :guilabel:`Recipients` field, the *Proforma* invoice (and reference ID) in the :guilabel:`Subject` field, and a brief default message in the body of the email, which can be modified, if needed." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:310 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:311 msgid ":guilabel:`Confirm`: When clicked, the quotation is confirmed, and the status changes to :guilabel:`Sales Order`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:312 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:313 msgid ":guilabel:`Preview`: When clicked, Odoo reveals a preview of the quotation the customer sees when they log into their customer portal. Click the :icon:`fa-arrow-right` :guilabel:`Back to edit mode` link at the top of the preview page, in the blue banner, to return to the quotation form." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:315 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:316 msgid ":guilabel:`Cancel`: When clicked, the quotation is canceled." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:318 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:319 msgid "If the *Lock Confirmed Sales* setting is enabled, the sales order becomes :guilabel:`Locked`, and is indicated as such on the sales order form." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:321 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:322 msgid "At this point, the quotation has been confirmed, turned into a sales order, and is now ready to be invoiced and paid for." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:324 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:325 msgid "For more information about invoicing, refer to the :doc:`Invoice based on delivered or ordered quantities <../invoicing/invoicing_policy>`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:328 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:329 #: ../../content/applications/sales/sales/sales_quotations/deadline.rst:56 #: ../../content/applications/sales/sales/sales_quotations/get_paid_to_validate.rst:89 #: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:85 -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:99 -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:269 +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:69 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:281 msgid ":doc:`quote_template`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:329 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:330 msgid ":doc:`deadline`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:330 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:331 #: ../../content/applications/sales/sales/sales_quotations/get_paid_to_validate.rst:90 #: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:248 msgid ":doc:`get_signature_to_validate`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:331 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:332 #: ../../content/applications/sales/sales/sales_quotations/get_signature_to_validate.rst:86 #: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:249 msgid ":doc:`get_paid_to_validate`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:332 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:333 msgid ":doc:`pdf_quote_builder`" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:333 +#: ../../content/applications/sales/sales/sales_quotations/create_quotations.rst:334 msgid ":doc:`../invoicing/proforma`" msgstr "" @@ -17396,23 +18128,23 @@ msgstr "" msgid "Enter the name of the pricelist and click :guilabel:`Add a line` to create a new pricelist rule." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:84 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:83 msgid "Configure the pricelist and click :guilabel:`Save & Close` button." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:85 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:84 msgid "Go to :menuselection:`Sales app --> Orders --> Quotations` and create a quotation." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:86 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:85 msgid "In the :guilabel:`Pricelist` field, select the newly made pricelist." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:87 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:86 msgid "Click on :guilabel:`Update Prices` to refresh the product price and margin." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:90 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:89 msgid "To apply a seasonal 5% discount on blue denim jeans that requires a minumim of two pairs of jeans in an order and is valid only from October to the end of December, the pricelist rule should look like this:" msgstr "" @@ -17420,7 +18152,7 @@ msgstr "" msgid "Pricelist Rules pop-up window." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:97 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:96 msgid "After saving the pricelist, go to the desired :abbr:`SO (sales order)` and select the newly created pricelist, and adjust the quantity according to the pricelist's rule." msgstr "" @@ -17428,7 +18160,7 @@ msgstr "" msgid "Sales order with a new pricelist selected." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:103 +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:102 msgid "After the changes are made, click :icon:`fa-refresh` :guilabel:`Update Prices` to update the :guilabel:`Margin`, :guilabel:`Margin (%)`, and :guilabel:`Amount`. The margin is recalculated based on the pricelist-adjusted product's sales price and cost." msgstr "" @@ -17436,8 +18168,8 @@ msgstr "" msgid "Sales order with margins recalculated based on the price-list adjustment." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/margin.rst:111 -msgid "Another way to visualize the impact of margins on sales orders is to go to :menuselection:`Sales app --> Orders --> Quotations`, select the :icon:`fa-area-chart` :guilabel:`(area chart)` icon or :icon:`oi-view-pivot` :guilabel:`(pivot)` icon, click :guilabel:`Measures` button and change it to :guilabel:`Margin` to see margin contributions across the customer base." +#: ../../content/applications/sales/sales/sales_quotations/margin.rst:110 +msgid "Another way to visualize the impact of margins on sales orders is to go to :menuselection:`Sales app --> Orders --> Quotations`, select the :icon:`fa-area-chart` :guilabel:`(area chart)` icon or :icon:`oi-view-pivot` :guilabel:`(pivot)` icon, click :guilabel:`Measures` drop-down button and change it to :guilabel:`Margin` to see margin contributions across the customer base." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:3 @@ -17445,101 +18177,75 @@ msgid "Optional products" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:5 -msgid "The use of optional products is a marketing strategy that involves the cross-selling of products along with a core product. The aim is to offer useful and related products to customers, which may result in an increased sale." +msgid "The use of optional products is a marketing strategy that involves the cross-selling of useful and related products alongside a desired core product. For instance, when a business configures optional products in their Odoo database, an eCommerce or Website customer could be suggested a mouse and keyboard or an extended warranty when they add a laptop to their shopping cart." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:9 -msgid "For instance, if a customer wants to buy a car, they have the choice to order massaging seats, as well, or ignore the offer and simply buy the car. Presenting the choice to purchase optional products enhances the customer experience." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:10 +msgid "Optional products are automatically suggested during the quotation process whenever an associated core product is added to a quote. They are also suggested in eCommerce interactions when a customer adds an associated core product to their shopping cart." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:14 -msgid "Optional products on quotations" +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:15 +msgid "Optional products are differentiated from accessory products and alternative products by where they appear in the customer's shopping experience." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:16 -msgid "With the Odoo *Sales* application, it is possible to add or modify optional products directly on quotations by navigating to the :guilabel:`Optional Products` tab on a quotation form." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:18 +msgid "Optional products are suggested when a core product has been added to a cart or a quotation." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:-1 -msgid "How to add optional products to your quotations on Odoo Sales." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:19 +msgid "Accessory products appear as suggestions when viewing an eCommerce cart." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:23 -msgid "To add an optional product(s) to a quotation, click :guilabel:`Add a product` in the :guilabel:`Optional Products` tab of a quotation. Doing so reveals a blank field in the :guilabel:`Product` column." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:20 +msgid "Alternative products are suggested at the bottom of an eCommerce product page whenever the product page is viewed." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:27 -#: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:169 -msgid "When clicked, a drop-down menu with products from the database appear. Select the desired product from the drop-down menu to add it as an optional product to the quotation template." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:26 +msgid "A screen from the quotation process shows how optional products appear as a pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:26 +msgid "Optional products as they appear during the quotation process." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:31 -msgid "If the desired product isn't readily visible, type the name of the desired product in the field, and the option appears in the drop-down menu. Then, select that desired product to add it to the quotation." +msgid "An eCommerce shopping cart screen shows how optional products appear in eCommerce websites." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:31 +msgid "Optional products as they appear when viewing the shopping cart on an eCommerce website." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:34 +msgid "Configuring optional products" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:36 -msgid "When a product is added, the default :guilabel:`Quantity` is `1`, but that can be edited at any time." +msgid "With the Odoo **Sales** app, it is possible to add optional products directly to product forms. To add an optional product to a product form, navigate to :menuselection:`Sales --> Products --> Products` and choose a product." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:39 -msgid "To delete any line item from the :guilabel:`Optional Products` tab, click the :guilabel:`🗑️ (trash can)` icon." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:40 +msgid "Ensure that the product's :guilabel:`Sales` checkbox is checked and click the :guilabel:`Sales` tab. Under :guilabel:`Upsell & Cross-sell` heading, the :guilabel:`Optional Products` drop-down menu allows for optional products to be set. Products will be displayed in alphabetical order. If the desired product isn't readily visible, type its name in the field to bring it up, then select it to add it as an optional product." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:42 -msgid "Click the :guilabel:`Preview` button, located in the upper-left corner of the quotation, to reveal a preview of the quotation customers would receive, via email, along with the optional products they can potentially add to their order, located in the :guilabel:`Options` section." +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:46 +msgid "To delete an optional product from the product form, simply click the :icon:`fa-times` :guilabel:`(Delete)` icon." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:-1 +msgid "Where the optional products section appears in product forms in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:52 +msgid "Additional products can also be added to a core product by clicking :guilabel:`Search more...`. This opens the :guilabel:`Search: Optional Products` form, which displays all products in the catalog and includes the :guilabel:`New` button to create a new product. Multiple products may be selected as optional products at once when using this form by clicking their checkboxes and then clicking :guilabel:`Select`." +msgstr "" + #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:-1 -msgid "Preview your quotations on Odoo Sales." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:50 -msgid "Customers are able to add different optional products to an order by clicking the :guilabel:`🛒 (shopping cart)` icon, located to the right of the optional product line." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:53 -msgid "If a customer selects optional products, these are automatically added to the quotation managed by the salesperson." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:56 -msgid "When the customer adds an optional product(s) to an order, the salesperson is instantly notified about the change, along with any other change the customer makes to an order. This allows salespeople to stay up-to-date with everything related to an order in the backend of the *Sales* application." +msgid "The Search: Optional Products form accessed by clicking Search more..." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:62 -msgid "Optional products on quotation templates" -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:65 -msgid "Be sure to review the :doc:`quote_template` documentation to better understand how quotation templates work before reading the following information." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:68 -msgid "For quotation templates, just like a typical quotation form, there is also an :guilabel:`Optional Products` tab, wherein related products or services can be added to a quotation template." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:71 -msgid "To add optional products to a quotation template, navigate to :menuselection:`Sales app --> Configuration --> Quotation Templates`. Then, either select an existing quotation template to edit, or create a new one by clicking :guilabel:`New`." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:75 -msgid "On the quotation template form, click the :guilabel:`Optional Products` tab. Under the :guilabel:`Optional Products` tab, click :guilabel:`Add a line`, and select the desired product to add as an optional product to the quotation template." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:83 -msgid "The products added in the :guilabel:`Optional Products` tab are present in the quotation, by default, whenever that particular quotation template is used. These products can be removed, and additional products can be added, before the quotation is sent to a customer." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:88 -msgid "It's best to offer optional products that would encourage a customer to add additional items to their order, or entice them to purchase a more expensive version of their initially selected product." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:92 -msgid "For example, if a customer purchases a wooden chair, some optional products could be: a warranty on that chair and/or a wooden chair with leather seats." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/optional_products.rst:96 -msgid "There is no limit to how many optional products can be added to a quotation template." +msgid "Prior to Odoo 19.0, optional products were added to quotations on a separate tab in the quotation and quotation template forms. Beginning in 19.0, that tab has been removed from both quotations and quotation templates. If a core product with associated optional products is added to a quotation template, those optional products **will not** be automatically suggested during the quotation process and must instead be manually suggested to customers." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/orders_and_variants.rst:3 @@ -17663,11 +18369,11 @@ msgid "PDF quote builder" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:5 -msgid "The *PDF Quote Builder* in Odoo *Sales* provides the opportunity to send customers a fully customized PDF file for quotes, showcasing the company and products, with various information and design elements, instead of just showing the price and total." +msgid "The *PDF Quote Builder* in Odoo **Sales** app provides the opportunity to send customers a fully customized PDF file for quotes, showcasing the company and products, with various information and design elements, instead of showing the price and total." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:9 -msgid "The PDF Quote Builder groups header pages, product descriptions, the price(s), and footer pages to create a detailed quote. It can also inject dynamic texts or custom notes in the PDF to personalize the offer for the customer." +msgid "The PDF Quote Builder groups header pages, product descriptions, prices, and footer pages to create a detailed quote. It can also inject dynamic texts or custom notes in the PDF to personalize the offer for the customer." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:13 @@ -17687,160 +18393,172 @@ msgid "In order to add custom PDF files for quotes, the :guilabel:`PDF Quote bui msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:29 -msgid "To do that, navigate to :menuselection:`Sales app --> Configuration --> Settings`. Then, on the :guilabel:`Settings` page, scroll to the :guilabel:`Quotations & Orders` section, and locate the :guilabel:`PDF Quote builder` feature." +msgid "To do that, navigate to :menuselection:`Sales app --> Configuration --> Settings` and scroll to the :guilabel:`Quotations & Orders` section. Tick the :guilabel:`PDF Quote builder` checkbox feature, then click :guilabel:`Save`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:34 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:33 +msgid "Once enabled, a :icon:`oi-arrow-right` :guilabel:`(right arrow)` icon for :guilabel:`Headers/Footers` appears beneath it." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:37 msgid "Add PDF as Header/Footer" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:36 -msgid "In Odoo *Sales*, it's possible to add a custom PDF that can be used either as a header or a footer. When the PDF quote builder is activated in a quotation, you can then select as many headers and footers as you wish to use, these PDF will then also be inserted in the final PDF." -msgstr "" - #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:40 -msgid "To add a custom PDF as header or footer, start by navigating to :menuselection:`Sales app --> Configuration --> Headers/Footers`. From this page, either click :guilabel:`New` or :guilabel:`Upload`." +msgid "Odoo does **not** allow PDF field names to have a space in them. Only use alphanumerics, hyphens, or underscores." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:44 -msgid "Clicking :guilabel:`Upload` instantly provides the opportunity to upload the desired document. Then, the document can be further configured on the document card, or by clicking the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon in the top right corner of the document card, and then clicking :guilabel:`Edit`." +msgid "In Odoo **Sales** app allows for the addition a custom PDF, which serves as either as a header or a footer. Activating the PDF quote builder in a quotation, enables the selection of multiple headers and footers, which are inserted into the final PDF." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:49 -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:177 -msgid "Clicking :guilabel:`New` reveals a blank documents form, in which the desired PDF can be uploaded via the :guilabel:`Upload your file` button on the form, located in the :guilabel:`File Content` field." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:48 +msgid "To add a custom PDF as header or footer, start by navigating to :menuselection:`Sales app --> Configuration`. Click the :icon:`oi-arrow-right` :guilabel:`(right arrow)` icon for :guilabel:`Headers/Footers` and all available templates appear in a default Kanban view." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:53 -msgid "Various information and configurations related to the uploaded document can be modified here." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:52 +msgid "Click :guilabel:`New` or :guilabel:`Upload`. Clicking :guilabel:`Upload` instantly provides the opportunity to upload the desired document." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:55 -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:187 -msgid "The first field on the documents form is for the :guilabel:`Name` of the document, and it is grayed-out (not clickable) until a document is uploaded. Once a PDF has been uploaded, the :guilabel:`Name` field is auto-populated with the name of the PDF, and it can then be edited." +msgid "Then, the document can be further configured on the document card, or by clicking the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon in the top-right corner of the document card, and then clicking :guilabel:`Edit`." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:59 -msgid "Then, in the :guilabel:`Document Type` field, click the drop-down menu, and select either: :guilabel:`Header`, or :guilabel:`Footer` to define whether these files would be selectable to be at the beginning or at the end of your quote." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:194 +msgid "Clicking :guilabel:`New` reveals a blank documents form, in which the desired PDF can be uploaded via the :guilabel:`Upload your file` button on the form, located in the :guilabel:`File Content` field." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:63 +msgid "Various information and configurations related to the uploaded document can be modified here." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:65 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:201 +msgid "The first field on the documents form is for the :guilabel:`Name` of the document, and it is grayed-out (not clickable) until a document is uploaded. Once a PDF has been uploaded, the :guilabel:`Name` field is auto-populated with the name of the PDF, and it can then be edited." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:69 +msgid "Then, in the :guilabel:`Document Type` field, click the drop-down menu, and select either: :guilabel:`Header`, or :guilabel:`Footer` to define whether these files are selectable at the beginning or at the end of the quote." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:73 msgid "Under this, in the :guilabel:`Quotation Templates` section, this PDF can be restricted quotation templates only." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:67 -msgid "Alternatively, you can also navigate to :menuselection:`Sales app --> Configuration --> Quotation Templates`, select a template and directly :guilabel:`Add` or :guilabel:`Upload` a PDF to it in the :guilabel:`Quote Builder` tab." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:77 +msgid "Alternatively, navigate to :menuselection:`Sales app --> Configuration --> Quotation Templates`, select a template and directly :guilabel:`Add` or :guilabel:`Upload` a PDF to it in the :guilabel:`Quote Builder` tab." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:71 -msgid "Lastly, beside the :guilabel:`File Content` field, you have the possibility to :guilabel:`Configure dynamic fields`." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:81 +msgid "Lastly, beside the :guilabel:`File Content` field, the :guilabel:`Configure dynamic fields` option is available." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:75 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:85 msgid "Dynamic text in PDFs" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:77 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:87 msgid "While creating custom PDFs for quotes, use *dynamic text* for Odoo to auto-fill the PDF content with information related to the quote from the Odoo database, like names, prices, etc." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:80 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:90 msgid "Dynamic text values are form components (text inputs) that can be added in a PDF file, and Odoo automatically fills those values in with information related to the quote." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:84 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:94 msgid "Dynamic text values" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:86 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:96 msgid "Below are common dynamic text values used in custom PDFs that are already mapped to the correct fields, and what they represent." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:89 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:99 msgid "For headers and footers PDF:" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:91 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:101 msgid ":guilabel:`name`: Sales Order Reference" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:92 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:102 msgid ":guilabel:`partner_id__name`: Customer Name" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:93 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:103 msgid ":guilabel:`user_id__name`: Salesperson Name" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:94 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:104 msgid ":guilabel:`amount_untaxed`: Untaxed Amount" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:95 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:105 msgid ":guilabel:`amount_total`: Total Amount" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:96 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:106 msgid ":guilabel:`delivery_date`: Delivery Date" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:97 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:107 msgid ":guilabel:`validity_date`: Expiration Date" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:98 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:108 msgid ":guilabel:`client_order_ref`: Customer Reference" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:101 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:111 msgid "For product PDF:" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:103 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:113 msgid ":guilabel:`description`: Product Description" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:104 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:114 msgid ":guilabel:`quantity`: Quantity" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:105 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:115 msgid ":guilabel:`uom`: Unit of Measure (UoM)" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:106 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:116 msgid ":guilabel:`price_unit`: Price Unit" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:107 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:117 msgid ":guilabel:`discount`: Discount" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:108 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:118 msgid ":guilabel:`product_sale_price`: Product List Price" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:109 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:119 msgid ":guilabel:`taxes`: Taxes name joined by a comma (`,`)" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:110 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:120 msgid ":guilabel:`tax_excl_price`: Tax Excluded Price" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:111 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:121 msgid ":guilabel:`tax_incl_price`: Tax Included Price" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:113 -msgid "After uploading a PDF, you can then :guilabel:`Configure dynamic fields`. This will allow you to map any field name found in your PDF to the field you want to show by writing down any existing path. Headers and footers starts from the current :guilabel:`sale_order` model, whereas product document follows their path from their :guilabel:`sale_order_line`. Leaving that path empty allows you to fill a custom notes, directly from the specific quote that requires it." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:123 +msgid "After uploading a PDF, click :guilabel:`Configure dynamic fields`. This allows the mapping of any field name found in the PDF to the desired displayed field by writing down any existing path. Headers and footers start from the current *sale_order* model, while product documents follow their path from their :guilabel:`sale_order_line`. Leaving that path empty fills a custom note directly from the specific quote that requires it." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:121 -msgid "When a PDF is built, it's best practice to use common dynamic text values (:guilabel:`name` and :guilabel:`partner_id_name`). When uploaded into the database, Odoo auto-populates those fields with the information from their respective fields." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:130 +msgid "When a PDF is built, it is best practice to use common dynamic text values (:guilabel:`name` and :guilabel:`partner_id_name`). When uploaded into the database, Odoo auto-populates those fields with the information from their respective fields." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:125 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:134 msgid "In this case, Odoo would auto-populate the Sales Order Reference in the :guilabel:`name` dynamic text field, and the Customer Name in the :guilabel:`partner_id_name` field." msgstr "" @@ -17848,39 +18566,51 @@ msgstr "" msgid "PDF quote being built using common dynamic placeholders." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:132 -msgid "Once the PDF file(s) are complete, save them to the computer's hard drive, and proceed to upload them to Odoo via :menuselection:`Sales app --> Configuration --> Headers/Footers`." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:140 +msgid "Once the PDF files are complete, save them to the computer's hard drive. Next, navigate to :menuselection:`Sales app --> Configuration --> Headers/Footers`, and click :guilabel:`Upload`. Select the PDF file to be uploaded, then click :guilabel:`Open`. The PDF is added to the database, and appears in the first Kanban card." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:136 -msgid "When uploading PDF containing the form field :guilabel:`invoice_partner_country`, which is an information available in the sales order, configure the :guilabel:`path` of the :guilabel:`Form Field Name` to: - :guilabel:`partner_invoice_id.country_id.name` for a header or footer document - :guilabel:`order_id.partner_invoice_id.country_id.name` for a product document fills the form with the invoice partner country's name when the PDF is built." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:146 +msgid "The Kanban template cards can be rearranged by clicking and dragging the template into the desired location." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:144 -msgid "When uploading any PDF containing the form field :guilabel:`custom_note`, leaving the :guilabel:`path` empty allows the seller to write down any note where that form field is in that document and shown when the PDF is built." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:149 -msgid "Add PDF to product" -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:151 -msgid "In Odoo *Sales*, it's also possible to add a custom PDF to a product form. When a PDF is added to a product, and that product is used in a quotation, that PDF is also inserted in the final PDF." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:150 +msgid "When uploading PDF containing the form field :guilabel:`invoice_partner_country`, which is an information available in the sales order, configure the :guilabel:`path` of the :guilabel:`Form Field Name` to:" msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:154 -msgid "To add a custom PDF to a product, start by navigating to :menuselection:`Sales app --> Products --> Products`, and select the desired product to add a custom PDF to." +msgid ":guilabel:`partner_invoice_id.country_id.name` for a header or footer document" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:158 -msgid "A document could also be added to a product variant, instead of a product. If there are documents on a product *and* on its variant, **only** the documents in the variant are shown." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:155 +msgid ":guilabel:`order_id.partner_invoice_id.country_id.name` for a product document fills the form with the invoice partner country's name when the PDF is built." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:161 -msgid "To add a custom document to a product variant, navigate to :menuselection:`Sales app --> Products --> Product Variants`. Select the desired variant, click the :guilabel:`Documents` smart button, and proceed to upload the custom document to the specific product variant." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:160 +msgid "When uploading any PDF containing the form field :guilabel:`custom_note`, leaving the :guilabel:`path` empty allows the seller to write down any note where that form field is in that document and shown when the PDF is built." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:165 +msgid "Add PDF to product" +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:167 +msgid "In the Odoo **Sales** app, it is also possible to add a custom PDF to a product form. When a PDF is added to a product, and that product is used in a quotation, that PDF is also inserted in the final PDF." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:171 +msgid "To add a custom PDF to a product, start by navigating to :menuselection:`Sales app --> Products --> Products`, and select the desired product to add a custom PDF to." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:175 +msgid "A document could also be added to a product variant, instead of a product. If there are documents on a product *and* on its variant, **only** the documents in the variant are shown." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:178 +msgid "To add a custom document to a product variant, navigate to :menuselection:`Sales app --> Products --> Product Variants`. Select the desired variant, click the :guilabel:`Documents` smart button, and proceed to upload the custom document to the specific product variant." +msgstr "" + +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:182 msgid "On the product page, click the :guilabel:`Documents` smart button at the top of the page to navigate to a :guilabel:`Documents` page for that product, where files related to that product can be uploaded. From this page, either click :guilabel:`New` or :guilabel:`Upload`." msgstr "" @@ -17888,47 +18618,43 @@ msgstr "" msgid "The Documents smart button on a product form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:172 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:189 msgid "Clicking :guilabel:`Upload` opens the computer's local file directory. An uploaded document can be further configured on the document card, or by clicking the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon in the top-right corner of the document card, and then clicking :guilabel:`Edit`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:182 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:199 msgid "PDF form configuration" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:-1 -msgid "A standard document form with various fields for a specific product in Odoo Sales." -msgstr "" - -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:191 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:205 msgid "Prior to uploading a document, there's the option to designate whether the document is a :guilabel:`File` or :guilabel:`URL` from the :guilabel:`Type` drop-down field menu." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:-1 -msgid "A standard document form with an uploaded pdf in Odoo Sales." +msgid "A standard document form with an uploaded PDF in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:198 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:212 msgid "If a PDF is uploaded, the :guilabel:`Type` field is auto-populated to :guilabel:`File`, and it cannot be modified." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:201 -msgid "Then, in the :guilabel:`Sales` section, in the :guilabel:`Visible at` field, click the drop-down menu, and select either: :guilabel:`On quotation`, :guilabel:`On confirmed order`, or :guilabel:`Inside quote pdf`." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:215 +msgid "Then, in the :guilabel:`Sales` section, click the drop-down menu in the :guilabel:`Visible at` field, and select either: :guilabel:`On quotation`, :guilabel:`On confirmed order`, or :guilabel:`Inside quote pdf`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:205 -msgid ":guilabel:`Quotation`: the document is sent to (and accessible by) customers at any time." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:219 +msgid ":guilabel:`Quotation`: The document is sent to (and accessible by) customers at any time." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:207 -msgid ":guilabel:`Confirmed order`: the document is sent to customers upon the confirmation of an order. This is best for user manuals and other supplemental documents." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:221 +msgid ":guilabel:`Confirmed order`: The document is sent to customers upon the confirmation of an order. This is best for user manuals and other supplemental documents." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:210 -msgid ":guilabel:`Inside quote`: the document is included in the PDF of the quotation, between the header pages and the :guilabel:`Pricing` section of the quote." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:224 +msgid ":guilabel:`Inside quote`: The document is included in the PDF of the quotation, between the header pages and the :guilabel:`Pricing` section of the quote." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:214 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:228 msgid "When the :guilabel:`Inside quote` option for the :guilabel:`Visible at` field is chosen, and the custom PDF file, `Corner Desk.pdf` is uploaded, the PDF is visible on the quotation in the *customer portal* under the :guilabel:`Documents` field." msgstr "" @@ -17936,19 +18662,19 @@ msgstr "" msgid "Sample of an uploaded pdf with the on quote option chosen in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:221 -msgid "Beside the :guilabel:`File Content` field, you have the possibility to :guilabel:`Configure dynamic fields`. When doing so, remember that the starting model is the :guilabel:`sale_order_line`, unlike for headers and footers that start from the :guilabel:`sale_order`." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:235 +msgid "Beside the :guilabel:`File Content` field, is the :guilabel:`Configure dynamic fields` option. When doing so, remember that the starting model is the :guilabel:`sale_order_line`, unlike for headers and footers that start from the :guilabel:`sale_order`." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:226 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:239 msgid "Lastly, in the :guilabel:`E-Commerce` section, decide whether or not to :guilabel:`Publish on Website` so that the PDF appears on the product page in the online store." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:230 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:243 msgid "When the :guilabel:`Publish on Website` option is enabled, a link to the uploaded document, `Corner Desk.pdf`, appears on the product's page in the online store." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:233 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:246 msgid "It appears beneath a :guilabel:`Documents` heading, with a link showcasing the name of the uploaded document." msgstr "" @@ -17956,11 +18682,11 @@ msgstr "" msgid "Showing a link to an uploaded document on a product page using Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:240 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:253 msgid "PDF quote" msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:242 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:255 msgid "On a sales order, in the :guilabel:`Quote Builder` tab, select additional documents to be merged into the final PDF. If a selected document has custom fields, they appear as editable text boxes to be filled in." msgstr "" @@ -17968,23 +18694,23 @@ msgstr "" msgid "Selectable quotation headers and footers under the Quote Builder section in a quotation." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:249 -msgid "Once a quote with a pre-configured PDF has been confirmed, Odoo provides the option to print the confirmed quote to check for errors, or to keep for records." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:262 +msgid "Once a quote with a preconfigured PDF has been confirmed, Odoo provides the option to print the confirmed quote to check for errors, or to keep for records." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:252 -msgid "To print the PDF quote, navigate to the confirmed quote, and click the :guilabel:`⚙️ (gear)` icon to reveal a drop-down menu. From this drop-down menu, select :guilabel:`Print`, then select :guilabel:`PDF Quote`." +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:265 +msgid "To print the PDF quote, navigate to the confirmed quote, and click :icon:`fa-cog` :guilabel:`Actions` to reveal a drop-down menu. From this drop-down menu, select :guilabel:`Print`, then select :guilabel:`PDF Quote`." msgstr "" #: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:-1 -msgid "Print pdf quote option on drop-down menu located on confirmed sales order in Odoo Sales." +msgid "Print PDF quote option on drop-down menu located on confirmed sales order in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:259 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:272 msgid "Doing so instantly downloads the PDF quote. When opened, the PDF quote, along with the configured product PDF that was set to be visible inside the quote, can be viewed and printed." msgstr "" -#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:263 +#: ../../content/applications/sales/sales/sales_quotations/pdf_quote_builder.rst:276 msgid "Download these :download:`PDF quote builder examples ` or download :download:`sample quotation ` for added reference." msgstr "" @@ -18176,6 +18902,10 @@ msgstr "" msgid "Clicking :guilabel:`Add a line` reveals a blank field in the :guilabel:`Product` column." msgstr "" +#: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:169 +msgid "When clicked, a drop-down menu with products from the database appear. Select the desired product from the drop-down menu to add it as an optional product to the quotation template." +msgstr "" + #: ../../content/applications/sales/sales/sales_quotations/quote_template.rst:172 msgid "To delete any line item from the :guilabel:`Optional Products` tab, click the :icon:`fa-trash` :guilabel:`(remove record)` icon." msgstr "" @@ -19073,15 +19803,15 @@ msgstr "" msgid ":guilabel:`Subscription Items`: lists all the individual recurring subscription services that are active, in an itemized fashion. :guilabel:`Subscription` and :guilabel:`Customer` values will repeat if the customer ordered multiple subscriptions on the same sales order." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:184 +#: ../../content/applications/sales/subscriptions.rst:186 msgid "Product form configuration" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:186 +#: ../../content/applications/sales/subscriptions.rst:188 msgid "With recurring plans set up, create a subscription product by navigating to :menuselection:`Subscriptions app --> Products --> Products`, and click either an existing product to edit, or make a new one by clicking :guilabel:`New` to open up the subscription product's form." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:191 +#: ../../content/applications/sales/subscriptions.rst:193 msgid "By default, the :guilabel:`Subscriptions` option is already enabled, prompting Odoo to recognize it as a subscription product. Be sure to leave the :guilabel:`Subscriptions` and :guilabel:`Sales` options enabled." msgstr "" @@ -19089,87 +19819,87 @@ msgstr "" msgid "A basic subscription product form in Odoo Subscriptions application." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:198 +#: ../../content/applications/sales/subscriptions.rst:200 msgid "On the product form, configure the following items in the :guilabel:`General Information` tab so the subscription product will function correctly:" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:201 +#: ../../content/applications/sales/subscriptions.rst:203 msgid ":guilabel:`Product type`: this value is typically set to a :guilabel:`Service`, however other product types may be used depending on the purpose of the subscription (e.g., physical product box subscriptions, eLearning course with supplemental physical goods, etc.)." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:204 +#: ../../content/applications/sales/subscriptions.rst:206 msgid ":doc:`Invoicing policy `: set this value to when the customer should be charged for their subscription." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:206 +#: ../../content/applications/sales/subscriptions.rst:208 msgid ":guilabel:`Unit of Measure`: how the product should be counted in Odoo, for stock purposes. For most subscriptions, the :abbr:`UoM (Unit of Measure)` will be :guilabel:`Units`." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:208 +#: ../../content/applications/sales/subscriptions.rst:210 msgid ":guilabel:`Sales Price`: enter the recurring cost of the subscription that the customer will pay per recurrence period." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:212 +#: ../../content/applications/sales/subscriptions.rst:214 msgid "When creating a subscription for a physical good, selecting the wrong :guilabel:`Invoicing Policy` will lead to errors when creating invoices. Physical products must be set to :guilabel:`Ordered quantities`." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:216 +#: ../../content/applications/sales/subscriptions.rst:218 msgid "Optionally set up information on the :doc:`Attributes & Variants ` tab if the subscription contains multiple choices for customers (i.e. food delivery, tailored fashion boxes, etc.)." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:220 +#: ../../content/applications/sales/subscriptions.rst:222 msgid "In the :guilabel:`Recurring Prices` tab, clarify the pricing options for the subscription. For each option available, click :guilabel:`Add a price rule` to add a new row." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:224 +#: ../../content/applications/sales/subscriptions.rst:226 msgid "Longer time :guilabel:`Recurring Plan` time periods are typically incentivized with cost savings. Consider dropping the total :guilabel:`Recurring Price` values to offer customers a discount while supporting the business's financial runway." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:228 +#: ../../content/applications/sales/subscriptions.rst:230 msgid "Last, if the subscription is meant to be sold on the **eCommerce** website, click the :icon:`fa-globe` :menuselection:`Go To Website` smart button and in the product page header, click the gray slider from :guilabel:`Unpublished` to the green :guilabel:`Published` status." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:235 +#: ../../content/applications/sales/subscriptions.rst:237 msgid "Create a subscriptions quotation" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:237 +#: ../../content/applications/sales/subscriptions.rst:239 msgid "Manually create a new customer subscription by navigating to either the :menuselection:`Sales` or :menuselection:`Subscriptions` app dashboards, and then clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:241 +#: ../../content/applications/sales/subscriptions.rst:243 msgid "Products that have been marked as :guilabel:`Subscriptions` on their product forms, and are also sold on the **eCommerce** website will *automatically* create and confirm subscription quotations in the backend of Odoo." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:246 +#: ../../content/applications/sales/subscriptions.rst:248 msgid "Sales orders with a defined recurring plan automatically become subscriptions." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:248 +#: ../../content/applications/sales/subscriptions.rst:250 msgid "On the quotation form, fill in the necessary fields such as :guilabel:`Customer` and :guilabel:`Recurring Plan`, as well as the :guilabel:`Order Lines` tab." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:251 +#: ../../content/applications/sales/subscriptions.rst:253 msgid "Optionally, specify a:" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:253 +#: ../../content/applications/sales/subscriptions.rst:255 msgid ":doc:`Quotation Template `, if one is readily available to help populate the form fields." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:255 +#: ../../content/applications/sales/subscriptions.rst:257 msgid ":guilabel:`Expiration` date, to indicate when the subscription offer is no longer valid." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:258 +#: ../../content/applications/sales/subscriptions.rst:260 msgid "Expiration dates pair well with :doc:`discounts ` to incentivize faster purchases, since the discount will expire with the quotation if it's not turned into a sales order within the specified date range." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:262 +#: ../../content/applications/sales/subscriptions.rst:264 msgid ":doc:`Pricelist `, if one is available and appropriate to use (i.e., summer sale discount, VIP customer, etc.)." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:264 +#: ../../content/applications/sales/subscriptions.rst:266 msgid ":guilabel:`Payment Terms`, to set a specified time window for when the subscription must be paid. This is not to be confused for when the quotation is *confirmed* and becomes a sales order, to where, payment may then be obtained immediately or within a certain amount of days, weeks, months, etc." msgstr "" @@ -19177,31 +19907,31 @@ msgstr "" msgid "A completed example of a new subscription quotation in Odoo." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:273 +#: ../../content/applications/sales/subscriptions.rst:275 msgid "Define different invoice and delivery addresses by enabling the :doc:`Customer Addresses ` feature." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:279 +#: ../../content/applications/sales/subscriptions.rst:281 msgid "Confirmation" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:281 +#: ../../content/applications/sales/subscriptions.rst:283 msgid "Send the quotation to the customer for confirmation by clicking on :guilabel:`Send By Email`, or confirm it immediately by clicking on :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:285 +#: ../../content/applications/sales/subscriptions.rst:287 msgid "Click on :guilabel:`Preview` to preview the customer portal where the customer can view their quotation, sign and pay it, and communicate with you." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:288 +#: ../../content/applications/sales/subscriptions.rst:290 msgid "If an :guilabel:`Online signature` or :guilabel:`Online payment` is required to confirm the quotation, set the checkboxes next to either (or both) of these labels in the :guilabel:`Other Info` tab, under the :guilabel:`SALES` section." msgstr "" -#: ../../content/applications/sales/subscriptions.rst:293 +#: ../../content/applications/sales/subscriptions.rst:295 msgid ":doc:`/applications/finance/accounting/payments/online`" msgstr "" -#: ../../content/applications/sales/subscriptions.rst:294 +#: ../../content/applications/sales/subscriptions.rst:296 msgid ":doc:`Payment providers and payment methods `" msgstr "" @@ -19445,6 +20175,7 @@ msgstr "" #: ../../content/applications/sales/subscriptions/renewals.rst:56 #: ../../content/applications/sales/subscriptions/reports.rst:403 #: ../../content/applications/sales/subscriptions/scheduled_actions.rst:195 +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:71 #: ../../content/applications/sales/subscriptions/upselling.rst:107 msgid ":doc:`../subscriptions`" msgstr "" @@ -19542,10 +20273,12 @@ msgid "Renewal quotation in the Odoo Subscriptions application." msgstr "" #: ../../content/applications/sales/subscriptions/renewals.rst:57 +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:73 msgid ":doc:`../sales/sales_quotations/create_quotations`" msgstr "" #: ../../content/applications/sales/subscriptions/renewals.rst:58 +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:74 msgid ":doc:`../sales/sales_quotations/get_paid_to_validate`" msgstr "" @@ -20341,6 +21074,70 @@ msgstr "" msgid "For example, if the next invoice date is July 1st, and the :guilabel:`Automatic Closing` is set to '30 Days', the scheduled action would close the subscription on August 1st." msgstr "" +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:3 +msgid "Subscriptions with deliveries" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:5 +msgid "Subscriptions and subscription products are compatible with deliveries. With some minor configuration, it is possible to offer customers subscriptions of regularly delivered physical goods such as a meal delivery box or magazine." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:10 +msgid "An independent coffee shop offers local customers a monthly coffee bean subscription service. Each month, Odoo automatically generates a sales order and invoice in the Sales app and a delivery order in the Inventory app to ensure that the coffee beans get delivered to subscribed customers." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:18 +msgid "Selling deliverable subscription products requires that two different apps be :ref:`installed `: the **Subscriptions** app and the **Inventory** app. The **Subscriptions** app allows for the creation and management of subscription products while the **Inventory** app, in addition to managing inventory, allows for adding shipping information to quotations and automatically creating delivery orders when invoices are created." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:24 +msgid "After installing both **Subscriptions** and **Inventory**, enter the **Settings** app, search for \"delivery\", and tick the :doc:`Delivery Methods ` box in the :guilabel:`Inventory` section. This allows for adding the cost of shipping to quotations and invoices." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:31 +msgid "Creating a subscription delivery product" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:33 +msgid "To create a deliverable subscription product, navigate to :menuselection:`Subscriptions app --> Products --> Products`. Click an existing product or create a new one and set the :guilabel:`Product Type` to `Goods`. Click the :guilabel:`Recurring prices` tab and :guilabel:`Add a line`. Choose an existing :guilabel:`Recurring plan` or create a new one, and add a :guilabel:`Pricelist`." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:39 +msgid "Choosing a delivery method" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:41 +msgid "Navigate to :menuselection:`Inventory app --> Configuration --> Delivery Methods`. By default there is only one delivery method available: Standard delivery. Businesses with more substantial delivery needs can :doc:`create new delivery methods ` or :doc:`add third-party shipping carrier integration ` to their Odoo databases." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:50 +msgid "Creating a subscription delivery quotation" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:52 +msgid "As with creating a subscription delivery product, creating a subscription delivery quotation is similar to :ref:`the regular process `, but with an additional step. After entering all other information for the quotation, click the :guilabel:`Add shipping` button in the :guilabel:`Order Lines` tab. Choose a shipping method from the dropdown and, if necessary, enter the item's weight and dimensions and click the :guilabel:`Get rate` button. Then click :guilabel:`Add` to add the delivery details as a line item to the quotation. From here, proceed with confirming the quotation and generating a sales order as normal." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:61 +msgid "Validating delivery orders" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:63 +msgid "Once the sales order for a subscription delivery product has been finalized, a :guilabel:`Delivery` smart button appears that opens the delivery order for the sale. After clicking through, if there is enough stock to fulfill the delivery order, it appears as being in the :guilabel:`Ready` stage. If there is not enough stock to fulfill the order, it appears as being :guilabel:`In Progress` instead. Once the delivery order is in the Ready stage, click :guilabel:`Validate` to advance the stage to :guilabel:`Done` and automatically generate a delivery slip and send it to the customer." +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:72 +msgid ":doc:`../subscriptions/renewals`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:75 +msgid ":doc:`../sales/products_prices/prices/pricing`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/subscriptions_deliveries.rst:76 +msgid ":doc:`../subscriptions/automatic_payments`" +msgstr "" + #: ../../content/applications/sales/subscriptions/upselling.rst:3 #: ../../content/applications/sales/subscriptions/upselling.rst:44 msgid "Upsell subscriptions" diff --git a/locale/sources/services.pot b/locale/sources/services.pot index b25e5fe11..159f69ef1 100644 --- a/locale/sources/services.pot +++ b/locale/sources/services.pot @@ -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 \n" "Language-Team: LANGUAGE \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 `_" 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 `_" 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 ` 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 ` 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 project’s 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 project’s 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 Project’s **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 ` 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 project’s 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 `. 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 project’s 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 `." +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 project’s 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 `:" +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 project’s 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 milestone’s 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 milestone’s deadline falls on the same day as the project’s 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 `." +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 project’s 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 project’s 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 project’s 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 project’s start date as a reference." +msgstr "" + +#: ../../content/applications/services/project/project_management/project_templates.rst:71 +msgid "Each task’s 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 Odoo’s 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 team’s availability and workload, the scheduling algorithm calculates the end date of each task based on the allocated time, while also considering task dependencies and assignee’s 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 "" diff --git a/locale/sources/studio.pot b/locale/sources/studio.pot index 119ba6690..f85852e2b 100644 --- a/locale/sources/studio.pot +++ b/locale/sources/studio.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -249,22 +249,18 @@ msgid "Select the :ref:`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 ` 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 ` 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 ` targeted by the automation rule, switch models before clicking :guilabel:`Automations` in Studio, or :ref:`activate 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 `. 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 ` 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 ` 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 ` 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 `:" 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 ` 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 `, 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 `." 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 ` 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 `, 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 ` 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 `." +#: ../../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 `, 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 ` 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 `." +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 ` 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 `" 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 `, 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 ` 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 `, :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 ` existing on the current model that are linked to a :ref:`many2one field ` 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 ` field on the *Project* model and a custom `Related project` :ref:`one2many field ` 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 ` 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 `, note that maintenance of custom code is not included in the *Standard* or *Custom* pricing plans and incurs :ref:`additional fees `." 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 ` 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 ` 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 ` to ensure the webhook performs as intended." msgstr "" #: ../../content/applications/studio/automated_actions/webhooks.rst:42 diff --git a/locale/sources/websites.pot b/locale/sources/websites.pot index 014d33b0b..df36a28de 100644 --- a/locale/sources/websites.pot +++ b/locale/sources/websites.pot @@ -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 \n" "Language-Team: LANGUAGE \n" @@ -220,31 +220,31 @@ msgstr "" msgid "Use :ref:`Plausible ` to keep track of the traffic on your blog." msgstr "" -#: ../../content/applications/websites/ecommerce.rst:8 +#: ../../content/applications/websites/ecommerce.rst:7 msgid "eCommerce" msgstr "" -#: ../../content/applications/websites/ecommerce.rst:10 -msgid "Run a modern open-source online store with Odoo eCommerce. Learn how to sell online, promote products and increase your average cart sizes." +#: ../../content/applications/websites/ecommerce.rst:9 +msgid "Build and run your open-source online store with Odoo eCommerce. Create your products, customize the ordering and checkout process, configure delivery methods, handle sales and delivery orders, create customer accounts, and monitor your performance." msgstr "" -#: ../../content/applications/websites/ecommerce.rst:14 +#: ../../content/applications/websites/ecommerce.rst:60 #: ../../content/applications/websites/website.rst:47 msgid "Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as `www.example.com` rather than the default `example.odoo.com`." msgstr "" -#: ../../content/applications/websites/ecommerce.rst:19 +#: ../../content/applications/websites/ecommerce.rst:65 msgid ":doc:`Website Documentation `" msgstr "" -#: ../../content/applications/websites/ecommerce.rst:20 +#: ../../content/applications/websites/ecommerce.rst:66 #: ../../content/applications/websites/website.rst:52 #: ../../content/applications/websites/website/structure.rst:37 #: ../../content/applications/websites/website/web_design.rst:42 msgid "`Odoo Tutorials: Website `_" msgstr "" -#: ../../content/applications/websites/ecommerce.rst:21 +#: ../../content/applications/websites/ecommerce.rst:67 #: ../../content/applications/websites/website.rst:53 msgid "`Odoo Tutorials: eCommerce `_" msgstr "" @@ -328,7 +328,7 @@ msgid "If you are running a B2B and B2C business, we *strongly* recommend to cre msgstr "" #: ../../content/applications/websites/ecommerce/b2b_b2c.rst:106 -#: ../../content/applications/websites/ecommerce/products/catalog.rst:258 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:3 msgid "Additional features" msgstr "" @@ -549,7 +549,7 @@ msgid ":guilabel:`Promo Code`: to allow customers to redeem :ref:`gift cards ` to allow signed-in users to remove a product from their cart and add it to their wishlist using the :guilabel:`Save for later` option." +msgid ":guilabel:`Add to Wishlist`: :ref:`Enable wishlists ` to allow signed-in users to remove a product from their cart and add it to their wishlist using the :guilabel:`Save for later` option." msgstr "" #: ../../content/applications/websites/ecommerce/checkout.rst:173 @@ -613,22 +613,22 @@ msgid "The options displayed at checkout depend on the active payment providers, msgstr "" #: ../../content/applications/websites/ecommerce/checkout.rst:233 -msgid "To display an :ref:`availability ` report for payment providers and payment methods and help diagnose potential availability issues on the payment form, enable the :ref:`developer mode ` and click the :icon:`fa-bug` (:guilabel:`bug`) icon." +msgid "To display an :ref:`availability ` report for payment providers and payment methods and help diagnose potential availability issues on the payment form, enable the :ref:`developer mode ` and click the :icon:`fa-bug` (:guilabel:`bug)` icon." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:239 +#: ../../content/applications/websites/ecommerce/checkout.rst:238 msgid "Terms and conditions" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:241 +#: ../../content/applications/websites/ecommerce/checkout.rst:240 msgid "To require customers to agree to the :doc:`terms and conditions <../../finance/accounting/customer_invoices/terms_conditions>` before payment, open the website editor and toggle the :guilabel:`Accept Terms` switch in the :guilabel:`Style` tab." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:246 +#: ../../content/applications/websites/ecommerce/checkout.rst:245 msgid "eWallets and gift cards" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:248 +#: ../../content/applications/websites/ecommerce/checkout.rst:247 msgid "Customers can pay with an eWallet or gift card during checkout. To offer these options, go to :menuselection:`Website --> Configuration --> Settings` and enable :menuselection:`Discounts, Loyalty & Gift Card` in the :guilabel:`eCommerce` section. Then, go to :menuselection:`Website --> eCommerce --> Gift cards & eWallet` and :doc:`create a gift card and/or eWallet program `." msgstr "" @@ -636,15 +636,15 @@ msgstr "" msgid "Gift card and eWallet options at checkout" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:260 +#: ../../content/applications/websites/ecommerce/checkout.rst:259 msgid "Order confirmation" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:262 -msgid "The final step of the checkout process is the :guilabel:`Order confirmation`, which provides a summary of the customer's purchase details." +#: ../../content/applications/websites/ecommerce/checkout.rst:261 +msgid "The final step of the checkout process is the :guilabel:`Order confirmation`, which provides a summary of the customer's purchase details. If the :guilabel:`Automatic Invoice` setting has been activated in the **Sales** app's configuration settings, a sales order and invoice will automatically be created by Odoo." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout.rst:266 +#: ../../content/applications/websites/ecommerce/checkout.rst:267 msgid ":doc:`Order handling documentation `" msgstr "" @@ -786,7 +786,7 @@ msgid "Settings are specific to each website, allowing you to configure a B2C we msgstr "" #: ../../content/applications/websites/ecommerce/customer_accounts.rst:121 -msgid "To use the :ref:`wishlist ` feature, customers must create an account to save their favorite items for later." +msgid "To use the :ref:`wishlist ` feature, customers must create an account to save their favorite items for later." msgstr "" #: ../../content/applications/websites/ecommerce/customer_accounts.rst:127 @@ -1175,218 +1175,218 @@ msgid "Products" msgstr "" #: ../../content/applications/websites/ecommerce/products.rst:7 -msgid "**Odoo eCommerce** allows you to :ref:`add products ` and manage your :ref:`product pages ` directly from the Website app. It also allows you to add :ref:`product variants ` and :ref:`digital files `, :ref:`translating ` the product page content, :ref:`managing stock `, and enabling :ref:`product comparisons `." +msgid "**Odoo eCommerce** allows you to :ref:`add products ` and manage your :ref:`product pages ` directly from the Website app. It also allows you to add :ref:`product variants ` and :ref:`digital files `, :ref:`translating ` the product page content, and :ref:`managing stock `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:18 +#: ../../content/applications/websites/ecommerce/products.rst:17 msgid "Add products" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:23 +#: ../../content/applications/websites/ecommerce/products.rst:22 msgid "Create products" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:25 +#: ../../content/applications/websites/ecommerce/products.rst:24 msgid "To create a product from the frontend, click :guilabel:`+ New` in the top-right corner, then :guilabel:`Product`. Enter the :guilabel:`Product Name`, :guilabel:`Sales Price`, the default :guilabel:`Customer Taxes` for local transactions, and :guilabel:`Save`. You can then update the product's details, add an image, and :ref:`customize ` the product page. When you :guilabel:`Save`, the product page is automatically published." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:32 +#: ../../content/applications/websites/ecommerce/products.rst:31 msgid "You can also create a product from the backend by going to :menuselection:`Website --> eCommerce --> Products` and clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:34 +#: ../../content/applications/websites/ecommerce/products.rst:33 msgid "Products created from the frontend are automatically :ref:`published `, while products created from the backend are not. To publish a product, click the :guilabel:`Go to Website` smart button to access the product page, then toggle the switch from :guilabel:`Unpublished` to :guilabel:`Published`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:40 +#: ../../content/applications/websites/ecommerce/products.rst:39 msgid ":doc:`Create new products using the Barcode Lookup database `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:46 +#: ../../content/applications/websites/ecommerce/products.rst:45 msgid "Import products" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:48 +#: ../../content/applications/websites/ecommerce/products.rst:47 msgid "To :ref:`import product data ` using XLSX or CSV files, go to :menuselection:`Website --> eCommerce --> Products`, click the :icon:`fa-cog` (:guilabel:`gear`) icon, then :ref:`Import records `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:53 +#: ../../content/applications/websites/ecommerce/products.rst:52 msgid "To publish **large batches** of products, follow these steps:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:55 +#: ../../content/applications/websites/ecommerce/products.rst:54 msgid "Go to :menuselection:`Website --> eCommerce --> Products`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:56 +#: ../../content/applications/websites/ecommerce/products.rst:55 msgid "Remove the :guilabel:`Published` filter and switch to the :guilabel:`List` view." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:57 +#: ../../content/applications/websites/ecommerce/products.rst:56 msgid "Click the :icon:`fa-sliders` (:guilabel:`dropdown toggle`) icon and enable :guilabel:`Is published`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:59 +#: ../../content/applications/websites/ecommerce/products.rst:58 msgid "Click the :guilabel:`Is Published` column to re-order it by **published** or **unpublished** products." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:61 +#: ../../content/applications/websites/ecommerce/products.rst:60 msgid "Select the products to publish by ticking their box." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:62 +#: ../../content/applications/websites/ecommerce/products.rst:61 msgid "In the :guilabel:`Is Published` column, tick the box for any of the selected products, then :guilabel:`Confirm` to publish them." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:68 +#: ../../content/applications/websites/ecommerce/products.rst:67 msgid "Product page customization" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:73 +#: ../../content/applications/websites/ecommerce/products.rst:72 msgid "Product information" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:76 +#: ../../content/applications/websites/ecommerce/products.rst:75 msgid "To add general information about a product, navigate to :menuselection:`Website --> eCommerce --> Products` and select the product. You can configure the product page from the form by adding :ref:`variants `, :ref:`digital documents `, or :ref:`translating ` content." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:81 +#: ../../content/applications/websites/ecommerce/products.rst:80 msgid "You can also add an ecommerce-specific product description to be displayed below the product name on the product's page. To do so, go to the :guilabel:`Sales` tab, scroll down to the :guilabel:`Ecommerce description` section, and add a description. Use Odoo's :doc:`rich-text editor <../../essentials/html_editor>` features to personalize the content." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:87 +#: ../../content/applications/websites/ecommerce/products.rst:86 msgid "Click the :guilabel:`Go to Website` smart button to return to the frontend product's page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:92 +#: ../../content/applications/websites/ecommerce/products.rst:91 msgid "Product presentation" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:94 +#: ../../content/applications/websites/ecommerce/products.rst:93 msgid "To customize the product presentation on the website, go to the :guilabel:`Shop` and click on the product. Click :guilabel:`Edit` to :ref:`customize ` the page, :ref:`edit its images ` or add :doc:`building blocks <../../websites/website/web_design/building_blocks>`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:100 +#: ../../content/applications/websites/ecommerce/products.rst:99 msgid "When dragging and dropping a building block on the product page, placing it above or below the top or bottom blue lines makes it visible on all product pages." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:102 +#: ../../content/applications/websites/ecommerce/products.rst:101 msgid "You can edit any text on your website by clicking on it while in :guilabel:`Edit` mode." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:104 +#: ../../content/applications/websites/ecommerce/products.rst:103 msgid "Use the :guilabel:`Customize` tab to modify the page layout or add features:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:106 +#: ../../content/applications/websites/ecommerce/products.rst:105 msgid ":guilabel:`Terms and Conditions`: Toggle the switch to display a link to your :doc:`terms and conditions <../../finance/accounting/customer_invoices/terms_conditions>` on the product page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:110 +#: ../../content/applications/websites/ecommerce/products.rst:109 msgid ":guilabel:`Customers`:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:112 +#: ../../content/applications/websites/ecommerce/products.rst:111 msgid ":guilabel:`Rating`: Allow logged-in portal users to submit product reviews by clicking the stars below the product's name and sharing their experience in the :guilabel:`Customer Reviews` section at the bottom. Reviews are visible from the product page using the :icon:`fa-plus` (:guilabel:`plus`) icon next to the :guilabel:`Customer Reviews` heading or from the product form's chatter. To restrict visibility to internal employees, toggle the :guilabel:`Public` switch next to the review comment." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:118 +#: ../../content/applications/websites/ecommerce/products.rst:117 msgid ":guilabel:`Share`: Add social media and email icon buttons allowing customers to share the product through those channels." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:121 -msgid ":guilabel:`Select Quantity`: Toggle the switch to allow customers to select the product quantity they want to purchase." +#: ../../content/applications/websites/ecommerce/products.rst:120 +msgid ":guilabel:`Quantity`: Toggle the switch to allow customers to select the product quantity they want to purchase." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:124 +#: ../../content/applications/websites/ecommerce/products.rst:123 msgid ":guilabel:`Tax Indication`: Toggle the switch to indicate if the price is :ref:`VAT included or excluded `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:127 +#: ../../content/applications/websites/ecommerce/products.rst:126 msgid ":guilabel:`Variants`: Show all possible product :ref:`variants ` vertically as a :guilabel:`Products List` or horizontally as selectable :guilabel:`Options` to compose the variant yourself." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:131 +#: ../../content/applications/websites/ecommerce/products.rst:130 msgid ":guilabel:`Product Tags`: Toggle the switch to display the :guilabel:`Product Template Tags` on the product page and allow customers to filter products using those tags." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:134 +#: ../../content/applications/websites/ecommerce/products.rst:133 msgid ":guilabel:`Cart`:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:136 +#: ../../content/applications/websites/ecommerce/products.rst:135 msgid ":guilabel:`Buy Now`: Add a :icon:`fa-bolt` :guilabel:`Buy Now` option to take the customer to the checkout page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:138 -msgid ":guilabel:`Wishlist`: Add an :icon:`fa-heart-o` :guilabel:`Add to wishlist` option allowing logged-in customers to save products in a wishlist." +#: ../../content/applications/websites/ecommerce/products.rst:137 +msgid ":guilabel:`Wishlist`: Add an :icon:`fa-heart-o` :guilabel:`Add to wishlist` option allowing logged-in customers to save products in a :ref:`wishlist `." msgstr "" #: ../../content/applications/websites/ecommerce/products.rst:140 -msgid ":guilabel:`Compare`: Add a :icon:`fa-exchange` :guilabel:`Compare` option, allowing customers to :ref:`compare products ` based on their attributes." +msgid ":guilabel:`Compare`: Add a :icon:`fa-exchange` :guilabel:`Compare` option, allowing customers to :ref:`compare products ` based on their attributes." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:143 -msgid ":guilabel:`Specification`: Select :guilabel:`Bottom of Page` to display a detailed list of the attributes and their values available for the product. This option only works for products with :ref:`variants ` if the :ref:`Product comparison tool ` is enabled in the Website :guilabel:`Settings`." +#: ../../content/applications/websites/ecommerce/products.rst:144 +msgid ":guilabel:`Specification`: Select :guilabel:`Bottom of Page` to display a detailed list of the attributes and their values available for the product. This option only works for products with :ref:`variants ` if the :ref:`Product comparison tool ` is enabled in the Website :guilabel:`Settings`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:150 -msgid ":guilabel:`Variants`, :icon:`fa-heart-o` :guilabel:`Wishlist`, and :icon:`fa-exchange` :guilabel:`Compare` options must be enabled by going to :menuselection:`Website --> Configuration --> Settings`, in the :guilabel:`Shop - Products` section." +#: ../../content/applications/websites/ecommerce/products.rst:151 +msgid ":guilabel:`Product Variants` must be enabled by going to :menuselection:`Website --> Configuration --> Settings`, in the :guilabel:`eCommerce` section." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:154 +#: ../../content/applications/websites/ecommerce/products.rst:153 msgid "Enabled functions apply to all product pages." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:155 +#: ../../content/applications/websites/ecommerce/products.rst:154 msgid "Products with single values for their attributes do not generate variants but are still displayed in the :guilabel:`Product Specifications`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:161 +#: ../../content/applications/websites/ecommerce/products.rst:160 msgid "Product images and videos" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:163 +#: ../../content/applications/websites/ecommerce/products.rst:162 msgid "To add more media items, such as images and videos, navigate to the :ref:`product form `, then go to the :guilabel:`Sales` tab and click :guilabel:`Add Media` under the :guilabel:`Ecommerce Media` section. In the :guilabel:`Select a media` pop-up window, go to the :guilabel:`Images` tab, select an image, click :guilabel:`Upload an image` or :guilabel:`Add URL`. Or navigate to the :guilabel:`Videos` tab, paste a video URL or embed code. Once done, click :guilabel:`Add`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:170 +#: ../../content/applications/websites/ecommerce/products.rst:169 msgid "To customize the images or videos, go to the ecommerce product page, click :guilabel:`Edit` and select the relevant media. In the :guilabel:`Customize` tab, use the following features:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:173 +#: ../../content/applications/websites/ecommerce/products.rst:172 msgid ":guilabel:`Images Width`: Changes the width of the product images displayed on the page." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:174 +#: ../../content/applications/websites/ecommerce/products.rst:173 msgid ":guilabel:`Layout`: The :guilabel:`Carousel` layout allows customers to navigate from one image to the next using the :icon:`fa-angle-left` (:guilabel:`left arrow`) or :icon:`fa-angle-right` (:guilabel:`right arrow`); whereas the :guilabel:`Grid` displays four images in a square layout." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:177 +#: ../../content/applications/websites/ecommerce/products.rst:176 msgid ":guilabel:`Image Zoom`: Select the zoom effect for product images: :guilabel:`Magnifier on hover` :guilabel:`Pop-up on Click`, :guilabel:`Both`, or :guilabel:`None`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:179 +#: ../../content/applications/websites/ecommerce/products.rst:178 msgid ":guilabel:`Thumbnails`: Align thumbnails on the :icon:`fa-long-arrow-left` (:guilabel:`Left`) or at the :icon:`fa-long-arrow-down` (:guilabel:`Bottom`)." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:182 +#: ../../content/applications/websites/ecommerce/products.rst:181 msgid ":guilabel:`Main Image`: Click :guilabel:`Replace` to change the product's main image." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:183 +#: ../../content/applications/websites/ecommerce/products.rst:182 msgid ":guilabel:`Extra Images`: :guilabel:`Add` more extra images or videos (including via URL) or :guilabel:`Remove all`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:187 +#: ../../content/applications/websites/ecommerce/products.rst:186 msgid "Images must be in PNG or JPG format and with a minimum size of 1024x1024 to trigger the zoom." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:192 +#: ../../content/applications/websites/ecommerce/products.rst:191 msgid "Products block" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:194 +#: ../../content/applications/websites/ecommerce/products.rst:193 msgid "The :guilabel:`Products` :doc:`building block <../website/web_design/building_blocks>` is used to display a selection of products sold on your website." msgstr "" @@ -1394,90 +1394,90 @@ msgstr "" msgid "Example of a products block" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:200 +#: ../../content/applications/websites/ecommerce/products.rst:199 msgid "By default, the block displays the :guilabel:`Newest Products`. To change which products are shown, go to the :guilabel:`Customize` tab's :guilabel:`Products` section and set the :guilabel:`Filter` field to :guilabel:`Recently Sold Products` or :guilabel:`Recently Viewed Products`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:204 +#: ../../content/applications/websites/ecommerce/products.rst:203 msgid "In addition, it is possible to display products from a specific category only using the :guilabel:`Category` field." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:207 +#: ../../content/applications/websites/ecommerce/products.rst:206 msgid "You can also filter products by :guilabel:`Tags`, include :guilabel:`Variants`, and adjust the display by selecting a different :guilabel:`Template`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:213 +#: ../../content/applications/websites/ecommerce/products.rst:212 msgid "Product variants" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:215 +#: ../../content/applications/websites/ecommerce/products.rst:214 msgid ":doc:`Product variants <../../sales/sales/products_prices/products/variants>` are different versions of the same product, such as various colors or materials, with potential differences in price and availability." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:219 +#: ../../content/applications/websites/ecommerce/products.rst:218 msgid "To configure product variants for a product:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:221 +#: ../../content/applications/websites/ecommerce/products.rst:220 #: ../../content/applications/websites/ecommerce/shipping.rst:104 #: ../../content/applications/websites/website/configuration/multi_website.rst:26 #: ../../content/applications/websites/website/configuration/multi_website.rst:136 msgid "Go to :menuselection:`Website --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:222 +#: ../../content/applications/websites/ecommerce/products.rst:221 msgid "Scroll down to the :guilabel:`Shop - Products` section and enable the :guilabel:`Product Variants` feature." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:224 +#: ../../content/applications/websites/ecommerce/products.rst:223 msgid "Access the :ref:`product forms ` and go to the :guilabel:`Attributes & Variants` tab, where you can add attributes and values, allowing customers to configure and select product variants on the product page. For multiple attributes, you can combine them to create specific variants." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:229 +#: ../../content/applications/websites/ecommerce/products.rst:228 msgid "To display or hide an attribute on the :guilabel:`Shop` page and allow visitors to filter them, go to :menuselection:`Website --> eCommerce --> Attributes`, click on the attribute, and select :guilabel:`Visible` or :guilabel:`Hidden` in the :guilabel:`eCommerce Filter Visibility` field." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:234 +#: ../../content/applications/websites/ecommerce/products.rst:233 msgid "To display the product attributes in the :doc:`product catalog `, set the :guilabel:`Attributes` feature to :guilabel:`Left` using the website editor." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:236 -msgid "To group attributes under the same section when :ref:`comparing products `, go to the :guilabel:`eCommerce Category` field and either select an :doc:`existing category or create a new one <../../websites/ecommerce/products>`." +#: ../../content/applications/websites/ecommerce/products.rst:235 +msgid "To group attributes under the same section when :ref:`comparing products `, go to the :guilabel:`eCommerce Category` field and either select an :doc:`existing category or create a new one <../../websites/ecommerce/products>`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:242 +#: ../../content/applications/websites/ecommerce/products.rst:241 msgid "Two attribute values are needed to make the filter visible." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:245 +#: ../../content/applications/websites/ecommerce/products.rst:244 msgid ":doc:`Product variants <../../sales/sales/products_prices/products/variants>`" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:250 +#: ../../content/applications/websites/ecommerce/products.rst:249 msgid "Digital files" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:252 +#: ../../content/applications/websites/ecommerce/products.rst:251 msgid "You can link digital files like certificates, eBooks, or user manuals to the products. These documents are available :ref:`before payment ` on the product page or in the customer portal :ref:`after checkout `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:257 +#: ../../content/applications/websites/ecommerce/products.rst:256 msgid "To link a digital file to a product, go to the :ref:`product form ` and click the :guilabel:`Documents` smart button. Then, click :guilabel:`Upload` to upload a file directly, or for additional options, click :guilabel:`New`, then :guilabel:`Upload your file`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:262 +#: ../../content/applications/websites/ecommerce/products.rst:261 msgid "You can link a URL instead of a digital file. To do so, click :guilabel:`New`, go to the :guilabel:`Type` field, and select :guilabel:`URL`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:264 +#: ../../content/applications/websites/ecommerce/products.rst:263 msgid "To edit an existing file, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`) in the top-right corner of the document card and click :guilabel:`Edit`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:270 +#: ../../content/applications/websites/ecommerce/products.rst:269 msgid "Digital files available before payment" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:272 +#: ../../content/applications/websites/ecommerce/products.rst:271 msgid "To make the file available on the product page (before payment), leave the :guilabel:`Visibility` field blank and toggle the :guilabel:`Show on product page` switch." msgstr "" @@ -1485,136 +1485,227 @@ msgstr "" msgid "digital file available before payment on the product page" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:281 +#: ../../content/applications/websites/ecommerce/products.rst:280 msgid "Digital files available after payment" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:283 +#: ../../content/applications/websites/ecommerce/products.rst:282 msgid "To make the file available (after payment), set the :guilabel:`Visibility` field to :guilabel:`Confirmed order` and turn off the :guilabel:`Show on product page` switch." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:289 +#: ../../content/applications/websites/ecommerce/products.rst:288 msgid "Translation" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:291 +#: ../../content/applications/websites/ecommerce/products.rst:290 msgid "If multiple languages are available on your website, you can translate a product's information directly on the :ref:`product form `. Fields that support multiple languages are identifiable by their abbreviation language (e.g., EN) next to their field." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:295 +#: ../../content/applications/websites/ecommerce/products.rst:294 msgid "The eCommerce-related fields to translate are:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:297 +#: ../../content/applications/websites/ecommerce/products.rst:296 msgid ":guilabel:`Product name`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:298 +#: ../../content/applications/websites/ecommerce/products.rst:297 msgid ":guilabel:`Out-of-Stock Message` (under the :guilabel:`Sales` tab)." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:299 +#: ../../content/applications/websites/ecommerce/products.rst:298 msgid ":guilabel:`Sales Description` (under the :guilabel:`Sales` tab)." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:302 +#: ../../content/applications/websites/ecommerce/products.rst:301 msgid "Having untranslated content on a web page may be detrimental to the user experience and :doc:`SEO <../../websites/website/structure/seo>`. You can use the :doc:`Translate <../website/configuration/translate>` feature to translate the page's content." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:305 +#: ../../content/applications/websites/ecommerce/products.rst:304 msgid "To check the language(s) of your website, go to :menuselection:`Website --> Configuration --> Settings` and go to the :guilabel:`Website Info` section." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:311 +#: ../../content/applications/websites/ecommerce/products.rst:310 msgid "Website availability" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:313 +#: ../../content/applications/websites/ecommerce/products.rst:312 msgid "To set the product's website availability, navigate to the :ref:`product form `, go to the :guilabel:`Sales` tab, and in the :guilabel:`eCommerce shop` section, select the :guilabel:`Website` you wish the product to be available on. Leave the field blank to make the product available on *all* websites." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:319 +#: ../../content/applications/websites/ecommerce/products.rst:318 msgid "You can make a product available on either *one* website or *all* websites, but selecting only *some* websites is not possible." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:325 +#: ../../content/applications/websites/ecommerce/products.rst:324 msgid "Stock management" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:327 +#: ../../content/applications/websites/ecommerce/products.rst:326 msgid "To enable and configure inventory management options, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` section and the :guilabel:`Inventory Defaults` sub-section." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:332 +#: ../../content/applications/websites/ecommerce/products.rst:331 msgid "The **Inventory** app must be installed to see the inventory management options." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:333 +#: ../../content/applications/websites/ecommerce/products.rst:332 msgid "To display the stock level on the product page, the :guilabel:`Product Type` field must be set to :guilabel:`Storable` in the :ref:`product form `." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:337 +#: ../../content/applications/websites/ecommerce/products.rst:336 msgid "Inventory" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:339 +#: ../../content/applications/websites/ecommerce/products.rst:338 msgid "In the :guilabel:`Inventory Defaults` sub-section, fill in those fields:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:341 +#: ../../content/applications/websites/ecommerce/products.rst:340 msgid ":doc:`Warehouse <../../inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses>`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:342 +#: ../../content/applications/websites/ecommerce/products.rst:341 msgid ":guilabel:`Out-of-Stock`: Enable :guilabel:`Continue Selling` to allow customers to place orders even when the product is **out of stock**. Leave the box unchecked to **prevent orders**." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:344 +#: ../../content/applications/websites/ecommerce/products.rst:343 msgid ":guilabel:`Show Available Qty`: Displays the available quantity left under a specified threshold on the product page. The available quantity is calculated based on the :guilabel:`On hand` quantity minus the quantity already reserved for outgoing transfers." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:351 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:5 +msgid "Odoo eCommerce provides additional features for online shops, including a :ref:`product comparison ` tool, a :ref:`wishlist `, and :ref:`product highlight options `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:13 msgid "Product comparison" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:353 -msgid "To allow website visitors to compare products based on their attributes, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` section, and enable :guilabel:`Product Comparison Tool`." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:15 +msgid "The :icon:`fa-exchange` (:guilabel:`Add to compare`) button allows website visitors to compare products based on their :ref:`attributes `. Customers can click this button to select the products they wish to compare, then click :guilabel:`Compare` in the pop-up window at the bottom of the page to see the comparison summary." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:357 -msgid "The :icon:`fa-exchange` (:guilabel:`Compare`) icon is now available on each product card on the main shop page when customers hover their mouse over it. To compare products, customers can click the :icon:`fa-exchange` (:guilabel:`Compare`) option on the products they want to compare, then click :icon:`fa-exchange` :guilabel:`Compare` in the pop-up window at the bottom of the page to reach the comparison summary." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products.rst:-1 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:-1 msgid "Product comparison window" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:367 -msgid "The :guilabel:`Product Comparison Tool` is only available for products with :ref:`attributes `." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:23 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:55 +msgid "This button can be enabled independently in different sections of the website:" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:369 -msgid "Selecting the :icon:`fa-exchange` (:guilabel:`Compare`) option from a product page is also possible." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:27 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:59 +msgid "Product page" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:375 -msgid "Wishlists" +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:29 +msgid "Go to a product page, open the website editor, go to the :guilabel:`Style` tab, navigate to the :guilabel:`Products Details` section, and toggle the :icon:`fa-exchange` :guilabel:`Compare` button. Once done, it becomes available on each product page that has attributes." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:377 -msgid "The :icon:`fa-heart-o` :guilabel:`Add to wishlist` button allows customers to add products to their wishlist, i.e., save them for later. To enable it, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - Products` section, and enable :guilabel:`Wishlists`. The button is available on each product page and can be disabled in the :ref:`website editor ` if needed." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:34 +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:65 +msgid "Catalog page" msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:-1 -msgid "Add to wishlist button" +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:36 +msgid "To display the :icon:`fa-exchange` (:guilabel:`Compare`) button on the :ref:`shop page `, open the website editor, go to the :guilabel:`Style` tab, and click the :icon:`fa-paint-brush` (:guilabel:`paint brush`) icon next to :guilabel:`Product Design`. In the :guilabel:`Actions` section, toggle the :icon:`fa-exchange` (:guilabel:`Compare`) button, and choose between :guilabel:`Inline` and :guilabel:`On Hover`." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:387 -msgid "You can also display a :icon:`fa-heart-o` (:guilabel:`Wishlist`) button when hovering the mouse over the product on the :ref:`shop page `." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:44 +msgid "You can only compare a maximum of four products at a time." msgstr "" -#: ../../content/applications/websites/ecommerce/products.rst:389 -msgid "Customers can move products from their cart to their wishlist by clicking the :guilabel:`Save for later` button in the :guilabel:`Order overview` :ref:`checkout step `." +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:49 +msgid "Wishlist" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:51 +msgid "The :icon:`fa-heart-o` (:guilabel:`Add to wishlist`) button allows customers to add products to their wishlist, i.e., save them for later. It is enabled by default and available on each product page." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:61 +msgid "Go to a product page, open the website editor, go to the :guilabel:`Style` tab, navigate to the :guilabel:`Products Details` section, and toggle the :icon:`fa-heart` :guilabel:`Wishlist` button. Once done, it becomes available on each product page." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:67 +msgid "To display the :icon:`fa-heart-o` (:guilabel:`Wishlist`) button on the :ref:`shop page `, open the website editor, go to :guilabel:`Style`, and click the :icon:`fa-paint-brush` (:guilabel:`paint brush`) icon next to :guilabel:`Product Design`. In the :guilabel:`Actions` section, toggle the :icon:`fa-heart` (:guilabel:`Wishlist`) button and choose between :guilabel:`Fixed` and :guilabel:`Fixed - On Hover`." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:74 +msgid "Header" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:76 +msgid "To display the :icon:`fa-heart` (:guilabel:`Wishlist`) icon in the header, open the website editor, click the header, navigate to the :guilabel:`Show/Hide Elements` section, and toggle the :icon:`fa-heart` (:guilabel:`Wishlist`) icon next to :guilabel:`Show Empty`. If it is not enabled, the wishlist icon only appears when an item has been added to the wishlist. The number of items in the wishlist is also displayed next to the icon." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:83 +msgid "Wishlist page" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:85 +msgid "It is possible to customize the layout of the :guilabel:`My Wishlist` page. To do so, open the website editor while on the wishlist page, and in the :guilabel:`Style` tab under the :guilabel:`Wishlist Page` section, choose a :guilabel:`Products Design`. Depending on the selected design, adapt the layout according to :guilabel:`Desktop` or :guilabel:`Mobile` devices. Click the :icon:`fa-paint-brush` (:guilabel:`paint brush`) icon next to :guilabel:`Products Design` to access more customization options." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:93 +msgid "Customers can move products from their cart to their wishlist by clicking the :guilabel:`Save for later` button in the :guilabel:`Order summary` :ref:`checkout step `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:96 +msgid "On the :guilabel:`My Wishlist` page, customers can move products from their wishlist to the cart." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:102 +msgid "Product highlight" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:104 +msgid "The eCommerce app allows you to highlight products to increase their visibility. To do so, go to :menuselection:`Website --> eCommerce --> Product Ribbons`. You can either use one of the preconfigured ribbons (:guilabel:`Sold out`, :guilabel:`Sale`, :guilabel:`Out of stock` or :guilabel:`New!`) or create a :guilabel:`New` one. Add a ribbon name, and select the method to :guilabel:`Assign` it:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:110 +msgid ":guilabel:`Manually`: assign the ribbon manually." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:111 +msgid ":guilabel:`On Sale`: the ribbon is displayed when the product is on sale, e.g., when using a :ref:`comparison price `." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:113 +msgid ":guilabel:`When New`: the ribbon is displayed when a new product is added. Specify the number of :guilabel:`days after publication` it should be displayed." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:115 +msgid ":guilabel:`when out of stock`: the ribbon is displayed when the product is currently no longer available." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:118 +msgid "Choose its :guilabel:`Position`, either :guilabel:`Left` or :guilabel:`Right`, and a :guilabel:`Style`, either :guilabel:`Ribbon` or :guilabel:`Badge`. Define the :guilabel:`Text Color` and the :guilabel:`Background Color`. Then :guilabel:`Save`. The ribbon is now available for all the ecommerce products." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:-1 +msgid "Product with badge" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:127 +msgid "There are other ways to create a new product ribbon:" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:129 +msgid "Access the product form, and under the :guilabel:`Sales` tab, change or create the ribbon in the :guilabel:`Ribbon` field." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:131 +msgid "Edit/create ribbons from the :doc:`website editor <../../website/web_design>`. To do so, go to the :guilabel:`Style` tab, and navigate to the :guilabel:`Product Details` section. Click the green :icon:`fa-plus` (:guilabel:`Create`) icon next to the :guilabel:`Ribbon` field or the :icon:`fa-pencil-square-o` (:guilabel:`Edit`) icon next to the :guilabel:`Ribbon` label. The :guilabel:`Assign` feature is not available for configuration in the website editor." +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:0 +msgid "Create a new ribbon in the website editor" +msgstr "" + +#: ../../content/applications/websites/ecommerce/products/additional_features.rst:141 +msgid "It is also possible to add ribbons for specific :ref:`product variants `. To do so, go to :menuselection:`Website --> eCommerce --> Products` and select a product. Click the :guilabel:`Variants` smart button, choose a variant, and add a ribbon in the :guilabel:`Variant Ribbon` field of the :guilabel:`Sales` section." msgstr "" #: ../../content/applications/websites/ecommerce/products/catalog.rst:3 @@ -1626,106 +1717,106 @@ msgid "The eCommerce catalog displays products for customers to browse. It is or msgstr "" #: ../../content/applications/websites/ecommerce/products/catalog.rst:9 -msgid "The product catalog includes a :ref:`top bar `, a :ref:`side panel `, and a :ref:`product listing area `. With Odoo, you can :ref:`customize the layout `, filter by :ref:`categories and attributes `, and use :ref:`additional features ` according to your needs." +msgid "The product catalog includes a :ref:`top bar `, a :ref:`side panel `, and a :ref:`product listing area `. With Odoo, you can :ref:`customize the layout `, and filter by :ref:`categories and attributes `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:16 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:15 msgid "You can customize the shop page using the website editor. To access it, go to the shop page, click :guilabel:`Edit` in the upper-right corner, and navigate to the :guilabel:`Customize` tab." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:22 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:21 msgid "Top bar" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:24 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:23 msgid "The top bar can include a search bar, a currency selector, :ref:`sort-by and display options `, and :ref:`category quick access `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:31 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:30 msgid "Sort-by search and display options" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:33 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:32 msgid "You can toggle the :guilabel:`Search Bar`, display :ref:`categories ` and/or :ref:`attributes `, and enable or disable the :guilabel:`Sort-By` as well as the :ref:`Layout ` buttons in the :guilabel:`Top Bar`." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:38 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:37 msgid "The :guilabel:`Sort-by` button is toggled by default, and customers can choose between the following :guilabel:`Default Sort` options:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:41 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:40 msgid ":guilabel:`None`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:42 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:41 msgid ":guilabel:`Featured`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:43 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:42 msgid ":guilabel:`Newest Arrivals`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:44 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:43 msgid ":guilabel:`Name (A-Z)`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:45 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:44 msgid ":guilabel:`Price - Low to High`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:46 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:45 msgid ":guilabel:`Price - High to Low`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:48 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:47 msgid "The default sort applies to *all* :ref:`categories `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:51 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:50 msgid "If you don't want to display a top bar or :ref:`side panel `, you can disable all related options in the website editor." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:57 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:56 msgid "Side panel" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:59 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:58 msgid "The side panel provides advanced filtering tools to organize your product categories. To further :ref:`categorize ` the shop page, you can activate various filters, such as the :ref:`attribute ` filter." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:63 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:62 msgid "You can also add a :guilabel:`Datepicker` option to display a date range calendar to check the availability of rental products over a specific period. The :doc:`Rental app <../../../sales/rental>` must be installed to use this feature." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:67 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:66 msgid "It is also possible to toggle the :guilabel:`Collapsible sidebar` switch to make the side panel manually collapsible." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:71 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:70 msgid "To use a price range or tags filter, you have to enable :ref:`attributes ` first." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:77 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:76 msgid "Product categorization in catalog" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:79 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:78 msgid "eCommerce categories are used to organize products into groups, making it easier for customers to browse the online store." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:82 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:81 msgid "To create eCommerce categories, go to :menuselection:`Website --> eCommerce --> eCommerce Categories`, and click :guilabel:`New`. On the category form, add a :guilabel:`Name`, optionally enter a :guilabel:`Parent Category`, and write a :guilabel:`Category Description`, if needed." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:87 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:86 msgid "To use eCommerce categories, go to :menuselection:`Website --> eCommerce --> Products`, select the product you wish to modify, go to the :guilabel:`Sales` tab, navigate to the :guilabel:`Ecommerce shop` section, and select the :guilabel:`Categories` it belongs to." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:92 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:91 msgid "A single product can belong to multiple eCommerce categories." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:94 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:93 msgid "Once the categories are configured and assigned to the relevant products, go to the main shop page and open the website editor. In the :guilabel:`Categories` option, you can either enable a menu on the :guilabel:`Left`, i.e., in the :ref:`side panel `, or on the :guilabel:`Top`, i.e., in the :ref:`top bar `, or both. If you select the :guilabel:`Left` category, the option :guilabel:`Collapsible Category Recursive` appears, allowing you to collapse the category in the side panel." msgstr "" @@ -1733,19 +1824,19 @@ msgstr "" msgid "Categories options for your eCommerce website" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:105 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:104 msgid ":doc:`../products`" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:110 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:109 msgid "Attributes" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:112 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:111 msgid "Attributes refer to characteristics of a product, such as the color or material, whereas variants are the different combinations of attributes. To configure attributes and variants, go to :menuselection:`Website --> eCommerce --> Products`, select a product, and click the :guilabel:`Attributes & Variants` tab. Add as many attributes as desired." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:118 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:117 msgid ":doc:`../../../sales/sales/products_prices/products/variants`" msgstr "" @@ -1753,135 +1844,95 @@ msgstr "" msgid "Attributes and variants of your product" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:123 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:122 msgid "To enable attribute filtering, go to your main shop page, then open the website editor, and set the :guilabel:`Attributes` field to :guilabel:`Left` (:ref:`side panel `) and/or :guilabel:`Top` (:ref:`top bar `)." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:129 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:128 msgid "When attribute filtering is enabled in the top bar, customers must click the :icon:`fa-sliders` (:guilabel:`dropdown toggle`) button to access it." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:132 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:131 msgid "When enabling :guilabel:`Attributes`, more options become available:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:134 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:133 msgid ":guilabel:`Price Filter`: Toggle the switch to display a :guilabel:`Price Range` bar, which allows customers to filter products according to a specific price range by dragging adjustable handles." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:137 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:136 msgid ":guilabel:`Product Tags Filter`: Toggle the switch to display the :guilabel:`Product Tags` on the shop page, and allow customers to filter products using those tags by going to the :guilabel:`Tags` section in the :ref:`side panel `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:142 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:141 msgid "If you want to use tags on your e-commerce, go to :menuselection:`eCommerce --> Product Tags` and click :guilabel:`New`. In the :guilabel:`Product Templates` tab of the product tags form, add the products to link to the given tag. You can also add product variants in the :guilabel:`Product Variants` tab and view a summary of all selected products in the :guilabel:`All Products` tab." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:147 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:146 msgid "Price filtering works independently from attributes and, therefore, can be enabled on its own, if desired." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:153 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:152 msgid "Product listing area" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:155 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:154 msgid "You can customize the layout of the entire shop page, as well as that of :ref:`individual category pages `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:159 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:158 msgid "It is also possible to customize individual :ref:`product pages `." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:163 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:162 msgid "In the website editor, choose the :ref:`layout `, and set the default layout to either :guilabel:`Grid` or :guilabel:`List` view." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:166 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:165 msgid "Use the following options to further adjust the layout:" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:168 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:167 msgid ":guilabel:`Size`: Set the number of products displayed per page and line." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:169 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:168 msgid ":guilabel:`Gap`: Define the gap between the products." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:170 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:169 msgid ":guilabel:`Style`: Select :guilabel:`Default`, :guilabel:`Cards`, :guilabel:`Thumbnails`, or :guilabel:`Grid`." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:172 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:171 msgid ":guilabel:`Image Size`: Choose the aspect ratio for the product images: :guilabel:`Landscape (4/3)`, :guilabel:`Default (1/1)`, :guilabel:`Portrait (4/5)`, or :guilabel:`Vertical (2/3)`. You can also adjust the display by changing the :guilabel:`Fill` options to fit your design preferences best." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:177 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:176 msgid "Toggle the :guilabel:`Prod. Desc.` switch to display the product description below the product's name." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:181 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:180 msgid "You can choose the size of the grid, but be aware that displaying too many products may affect performance and page loading speed." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:184 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:183 msgid "In addition, you can manually change a product’s position on the shop page. To do so, go to the main shop page, click the product, and open the website editor. In the :guilabel:`Product` section, you can reorder the products by using the arrows. The `<<` `>>` buttons allow to move the product to the extreme left or right, and `<` `>` allow to move it one row to the left or right." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:190 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:189 msgid "It is also possible to change the products' positions on the shop page by going to :menuselection:`Website --> eCommerce --> Products`, switching to the list view, and dragging and dropping the products within the list." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:195 -msgid "Product highlight" -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:197 -msgid "You can highlight products to make them more visible on the shop page. To do so, go to the website editor and click the product to highlight. In the :guilabel:`Product` section, you can choose the size of the product image by clicking the grid, and you can also add a :guilabel:`Ribbon`. This displays a banner across the product's image, such as :guilabel:`Sale`, :guilabel:`Sold out`, :guilabel:`Out of stock` or :guilabel:`New!`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:-1 -msgid "Ribbon highlight" -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:206 -msgid "To create a new ribbon, click the green :icon:`fa-plus` (:guilabel:`Create`) icon next to the :guilabel:`Ribbon` field. Then add a :guilabel:`Ribbon name`, define its :guilabel:`Position`, and choose a :guilabel:`Background` and a :guilabel:`Text` label. To edit the ribbon, click the :icon:`fa-pencil-square-o` (:guilabel:`Edit`) icon next to the :guilabel:`Ribbon` label." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:-1 -msgid "Create a new ribbon." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:214 -msgid "The ribbon is now available for all the eCommerce products." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:217 -msgid "There are other ways to create a new ribbon:" -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:219 -msgid "Go to :menuselection:`Website --> eCommerce --> Product Ribbons` and click :guilabel:`New`." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:220 -msgid "Activate the :doc:`developer mode <../../../general/developer_mode>`, access the product form, and under the :guilabel:`Sales` tab, change or create the ribbon in the :guilabel:`Ribbon` field." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:224 -msgid "It is also possible to add ribbons for specific :ref:`product variants `. To do so, go to :menuselection:`Website --> eCommerce --> Products` and select a product. Click the :guilabel:`Variants` smart button, choose a variant, and add a ribbon in the :guilabel:`Variant Ribbon` field of the :guilabel:`Sales` section." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:233 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:196 msgid "Shop and category page design" msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:235 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:198 msgid "Use :doc:`building blocks <../../website/web_design/building_blocks>` to add content on the shop and/or category page." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:238 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:201 msgid "You can customize the top and/or bottom section of the catalog, either for the entire shop page or for a specific category. In the latter case, the block appears *only* when filtering by that category. To do so, move the block to the far top or bottom section to display it on the general shop page or to the area below the category's name at the top or beneath the product list to display it only when filtering by that specific category." msgstr "" @@ -1889,34 +1940,22 @@ msgstr "" msgid "Place building block in the header or footer." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:248 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:211 msgid "Adding content to an eCommerce category page helps improve the :doc:`SEO <../../website/structure/seo>` strategy. Using keywords linked to the products or the eCommerce categories can also increase organic traffic. Additionally, each category has its own specific URL that can be pointed to and is indexed by search engines." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:252 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:215 msgid "eCommerce categories can also be added as :ref:`mega menu items ` for quick access." msgstr "" -#: ../../content/applications/websites/ecommerce/products/catalog.rst:260 -msgid "You can access and enable additional feature buttons such as a :guilabel:`Add to cart` or :guilabel:`Wishlist` button or a :guilabel:`Comparison list`. To do so, open the website editor, click the desired feature buttons. All three buttons appear when hovering the mouse over a product's image." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:265 -msgid ":icon:`fa-shopping-cart` (:guilabel:`Add to cart`): adds a button to :doc:`add the product to the cart <../checkout>`;" -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:267 -msgid ":icon:`fa-exchange` (:guilabel:`Compare`): adds a button to compare products based on their price, variant, etc.;" -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:269 -msgid ":icon:`fa-heart-o` (:guilabel:`Wishlist`): adds a button to :ref:`wishlist ` the product." -msgstr "" - -#: ../../content/applications/websites/ecommerce/products/catalog.rst:274 +#: ../../content/applications/websites/ecommerce/products/catalog.rst:219 msgid ":doc:`Products <../products>`" msgstr "" +#: ../../content/applications/websites/ecommerce/products/catalog.rst:220 +msgid ":doc:`additional_features`" +msgstr "" + #: ../../content/applications/websites/ecommerce/products/cross_upselling.rst:3 msgid "Cross-selling and upselling" msgstr "" @@ -2434,15 +2473,15 @@ msgid "Click & Collect" msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:102 -msgid "To allow customers to reserve products online and pay for/collect them in-store, follow these steps:" +msgid "To allow customers to reserve products online and collect them in-store, follow these steps:" msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:105 -msgid "Scroll to the :guilabel:`Delivery` section, enable :guilabel:`Click & Collect`, and :guilabel:`Save`." +msgid "Scroll to the :guilabel:`eCommerce` section, enable :guilabel:`Click & Collect`, and :guilabel:`Save`." msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:107 -msgid "Click :icon:`fa-arrow-right` :guilabel:`Configure Pickup Locations` to :ref:`configure ` the delivery method and ensure the :guilabel:`Provider` field is set to :guilabel:`Pick up in store`." +msgid "Click :icon:`fa-arrow-right` :guilabel:`Configure Pickup Locations` to :ref:`configure ` the delivery method if needed and ensure the :guilabel:`Provider` field is set to :guilabel:`Pick up in store`." msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:110 @@ -2466,7 +2505,11 @@ msgid "Each warehouse must have a **complete address** to ensure its location is msgstr "" #: ../../content/applications/websites/ecommerce/shipping.rst:125 -msgid "The Click & Collect option is not available for services." +msgid "The :guilabel:`Click & Collect` option is not available for services." +msgstr "" + +#: ../../content/applications/websites/ecommerce/shipping.rst:126 +msgid "By default, the :ref:`Pay on Site ` payment method is :ref:`enabled and published ` when the :guilabel:`Click & Collect` feature is activated." msgstr "" #: ../../content/applications/websites/elearning.rst:3 @@ -3510,7 +3553,7 @@ msgid "Default forum badges" msgstr "" #: ../../content/applications/websites/forum.rst:285 -#: ../../content/applications/websites/livechat/information.rst:98 +#: ../../content/applications/websites/livechat/information.rst:100 msgid "Tags" msgstr "" @@ -3999,27 +4042,27 @@ msgstr "" msgid "View of the chat window with a helpdesk ticket created in Odoo Live Chat." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:18 +#: ../../content/applications/websites/livechat/chatbots.rst:20 msgid "Build a chatbot" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:20 +#: ../../content/applications/websites/livechat/chatbots.rst:22 msgid "Before creating a new chatbot, the **Live Chat** application must first be :ref:`installed `." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:23 +#: ../../content/applications/websites/livechat/chatbots.rst:25 msgid "After the **Live Chat** application has been installed on the database, go to :menuselection:`Live Chat app --> Configuration --> Chatbots`." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:27 +#: ../../content/applications/websites/livechat/chatbots.rst:29 msgid "When the **Live Chat** app is installed, a sample chatbot is created, named *Welcome Bot*. This chatbot has a preconfigured script that walks through a few basic steps, including asking for a visitor's email address, and forwarding the conversation to an operator." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:31 +#: ../../content/applications/websites/livechat/chatbots.rst:33 msgid "*Welcome Bot* can be used as a starting point. The existing steps can be edited or removed, and new steps can be added to customize the script, as needed." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:34 +#: ../../content/applications/websites/livechat/chatbots.rst:36 msgid "*Welcome Bot* can be deleted or archived, if necessary." msgstr "" @@ -4027,83 +4070,83 @@ msgstr "" msgid "View of the Welcome Bot script in Odoo Live Chat." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:39 +#: ../../content/applications/websites/livechat/chatbots.rst:41 msgid "To create a new chatbot, navigate to the :guilabel:`Chatbot` page (:menuselection:`Live Chat app --> Configuration --> Chatbots`) and click :guilabel:`New` to open a blank chatbot details page." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:42 +#: ../../content/applications/websites/livechat/chatbots.rst:44 msgid "Enter a name in the :guilabel:`Chatbot Name` field and hover over the image on the right. Click on the :icon:`fa-pencil` :guilabel:`(pencil)` icon that appears to add a photo." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:46 +#: ../../content/applications/websites/livechat/chatbots.rst:48 msgid "Chatbot scripts" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:48 +#: ../../content/applications/websites/livechat/chatbots.rst:50 msgid "After the new chatbot has been created and named, the next step is to create a script. Chatbot conversations follow an accompanying script, comprised of lines of dialog. Each line is designed to either deliver or capture information." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:52 +#: ../../content/applications/websites/livechat/chatbots.rst:54 msgid "To create a chatbot script, click :guilabel:`Add a Line` in the :guilabel:`Script` tab of the chatbot detail page, and a :guilabel:`Create Script Steps` pop-up window appears. This form must be filled out for each line of text (dialog) that the chatbot could potentially deliver during the conversation." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:57 +#: ../../content/applications/websites/livechat/chatbots.rst:59 msgid "First, enter the content of the message in the :guilabel:`Message` field. Then, select an option from the :guilabel:`Step Type` and :ref:`Only If ` drop-down menus." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:61 +#: ../../content/applications/websites/livechat/chatbots.rst:63 msgid "Step types" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:63 +#: ../../content/applications/websites/livechat/chatbots.rst:65 msgid "The :guilabel:`Step Type` selected depends on the intended purpose of the message. The available options in the :guilabel:`Step Type` drop-down menu are detailed below." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:67 +#: ../../content/applications/websites/livechat/chatbots.rst:69 msgid "Text" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:69 +#: ../../content/applications/websites/livechat/chatbots.rst:71 msgid "This step is used for messages where no answer is expected or necessary. Text steps can be used for greetings, to offer resources, such as documentation, or provide links to specific web pages." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:73 +#: ../../content/applications/websites/livechat/chatbots.rst:75 msgid "*Text* step types are only intended to deliver information, and do not allow for any visitor input. As such, they must be followed by additional steps to continue the conversation." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:77 +#: ../../content/applications/websites/livechat/chatbots.rst:79 msgid "Question" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:79 +#: ../../content/applications/websites/livechat/chatbots.rst:81 msgid "This step asks a question and provides a set of answers. The visitor clicks on one answer, which either leads to a new step in the conversation, or can lead to an optional link to a new webpage." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:82 +#: ../../content/applications/websites/livechat/chatbots.rst:84 msgid "Enter the question in the :guilabel:`Message` field. Then, under the :guilabel:`Answer` heading, click :guilabel:`Add a Line` to create a blank answer line." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:85 +#: ../../content/applications/websites/livechat/chatbots.rst:87 msgid "Proceed to enter the answer as it should appear to the visitor. To turn the answer into a link that redirects the visitor when selected, add the URL to the answer line under the :guilabel:`Optional Link` heading." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:89 +#: ../../content/applications/websites/livechat/chatbots.rst:91 msgid "Repeat these steps for every answer to be included for the question. Click :guilabel:`Save & Close` or :guilabel:`Save & New` when finished." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:93 +#: ../../content/applications/websites/livechat/chatbots.rst:95 msgid "It is helpful to add a catchall answer to question steps (e.g: `Something else`). This helps visitors continue the conversation, even if their needs do not fit with any of the other answers." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:97 +#: ../../content/applications/websites/livechat/chatbots.rst:99 msgid "Email" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:99 +#: ../../content/applications/websites/livechat/chatbots.rst:101 msgid "This step prompts visitors to provide their email address, which is stored and can be used by team members later to follow up with additional information." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:102 +#: ../../content/applications/websites/livechat/chatbots.rst:104 msgid "The only accepted inputs for this step type are email addresses that are in a valid format. If a visitor attempts to enter anything other than a valid email address, the chatbot responds with a message stating it does not recognize the information submitted." msgstr "" @@ -4111,27 +4154,27 @@ msgstr "" msgid "View of a chatbot responding to an invalid email." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:110 +#: ../../content/applications/websites/livechat/chatbots.rst:112 msgid "Phone" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:112 +#: ../../content/applications/websites/livechat/chatbots.rst:114 msgid "Similar to email, this step type prompts the visitor to enter their phone number, which can be used to follow up with additional information, schedule demos, and more." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:116 +#: ../../content/applications/websites/livechat/chatbots.rst:118 msgid "Due to the vast number of formats used for phone numbers worldwide, responses to this step type are not validated for formatting, and can include both numbers and special characters." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:120 +#: ../../content/applications/websites/livechat/chatbots.rst:124 msgid "Forward to Operator" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:122 +#: ../../content/applications/websites/livechat/chatbots.rst:126 msgid "This step forwards the conversation to an active live chat operator, so they can continue assisting the visitor. As the conversation transcript is passed on to the operator, they can pick up where the chatbot left off. This not only saves time for all parties involved, it can also help qualify conversations before they reach live operators." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:128 +#: ../../content/applications/websites/livechat/chatbots.rst:132 msgid "If no active operator is available on the channel, the chatbot continues the conversation with the visitor. Therefore, additional steps should be added after this one to ensure there is no abrupt end to the conversation. The additional steps can both inform visitors about the lack of available operators (e.g. `Uh-oh, it looks like none of our operators are available`) and continue the conversation (e.g. `Would you like to leave your email address?`)." msgstr "" @@ -4139,83 +4182,83 @@ msgstr "" msgid "View of a chatbot follow up messages when no live chat operator is available." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:138 +#: ../../content/applications/websites/livechat/chatbots.rst:142 msgid "Free Input/Multi-Line" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:140 +#: ../../content/applications/websites/livechat/chatbots.rst:144 msgid "The *free input* step allows visitors to respond to questions without providing pre-written responses. Information provided in these responses is stored in the chat transcripts." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:143 +#: ../../content/applications/websites/livechat/chatbots.rst:147 msgid "Choose between :guilabel:`Free Input` and :guilabel:`Free Input (Multi-Line)` depending on the type and amount of information the visitor is asked to provide." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:147 +#: ../../content/applications/websites/livechat/chatbots.rst:151 msgid "Create Lead" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:149 +#: ../../content/applications/websites/livechat/chatbots.rst:153 msgid "This step creates a lead in the **CRM** application. Select an option from the :guilabel:`Sales Team` drop-down field that appears to assign the created lead to a specific team." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:153 +#: ../../content/applications/websites/livechat/chatbots.rst:157 msgid "This step is only available if the **CRM** application is installed on the database." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:156 +#: ../../content/applications/websites/livechat/chatbots.rst:160 msgid "Create Ticket" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:158 +#: ../../content/applications/websites/livechat/chatbots.rst:162 msgid "This step creates a :doc:`ticket <../../services/helpdesk/overview/receiving_tickets>` in the **Helpdesk** application. Select an option from the :guilabel:`Helpdesk Team` drop-down field that appears to assign the created ticket to a specific team." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:163 +#: ../../content/applications/websites/livechat/chatbots.rst:167 msgid "This step is only available if the **Helpdesk** application is installed on the database." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:168 +#: ../../content/applications/websites/livechat/chatbots.rst:172 msgid "Only if" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:170 +#: ../../content/applications/websites/livechat/chatbots.rst:174 msgid "Chatbot scripts operate on an if/then basis, which means the next question presented to the visitor is determined by the answer provided to the previous question." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:173 +#: ../../content/applications/websites/livechat/chatbots.rst:177 msgid "To continue the progression of the conversation, the :guilabel:`Create Script Steps` form for a new step contains a field labeled :guilabel:`Only If`. This field is where the progression of questions are defined." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:177 +#: ../../content/applications/websites/livechat/chatbots.rst:181 msgid "If a step is intended to follow all of the previous messages, this field can be left empty. However, if a message should only be sent conditionally, based on a previous response, or several previous responses, those responses **must** be added to this field." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:182 +#: ../../content/applications/websites/livechat/chatbots.rst:186 msgid "If any selections are made in the :guilabel:`Only If` field, they must all be selected during the conversation before this step is included. Only include selections in this field if they are necessary for this step to be displayed." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:187 +#: ../../content/applications/websites/livechat/chatbots.rst:191 msgid "In the *Welcome Bot* script, a visitor can ask about pricing information. If the visitor selects this response, a step is included to forward the conversation to an operator. The chatbot first sends a message informing the visitor that it is checking to see if an operator is available to assist with pricing information." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:192 +#: ../../content/applications/websites/livechat/chatbots.rst:196 msgid "However, this message should only be delivered if the visitor requests pricing information. In that situation, the conversation would proceed as below:" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:195 +#: ../../content/applications/websites/livechat/chatbots.rst:199 msgid "Welcome Bot: \"*What are you looking for?*\"" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:196 +#: ../../content/applications/websites/livechat/chatbots.rst:200 msgid "Visitor: \"**I have a pricing question.**\"" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:197 +#: ../../content/applications/websites/livechat/chatbots.rst:201 msgid "Welcome Bot: \"*Hmmm, let me check if I can find someone that could help you with that...*\"" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:199 +#: ../../content/applications/websites/livechat/chatbots.rst:203 msgid "In the details form for the :guilabel:`Text` step, the *I have a pricing question* response has been selected in the :guilabel:`Only If` field. As such, this step is only shown in conversations where that response has been selected." msgstr "" @@ -4223,15 +4266,15 @@ msgstr "" msgid "View of the new message form emphasizing the Only If field." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:207 +#: ../../content/applications/websites/livechat/chatbots.rst:211 msgid "Script testing" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:209 +#: ../../content/applications/websites/livechat/chatbots.rst:213 msgid "To ensure all visitors have a satisfactory experience with the chatbot, each message needs to lead to a natural conclusion. Chatbot scripts should be tested to confirm there are no dead-ends, and to understand what the visitor sees when they interact with the chatbot." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:214 +#: ../../content/applications/websites/livechat/chatbots.rst:218 msgid "If the visitor provides an answer, or input, that is not assigned a corresponding follow-up response, the conversation stops (*dead-ends*). Since the visitor cannot re-engage the chatbot, they must restart the conversation by refreshing the chat window, or their browser. They may also click on the :icon:`fa-refresh` :guilabel:`(refresh)` icon at the top of the message window." msgstr "" @@ -4239,43 +4282,43 @@ msgstr "" msgid "The refresh button at the top of the message window." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:222 +#: ../../content/applications/websites/livechat/chatbots.rst:226 msgid "The :icon:`fa-refresh` (refresh) icon only appears when the chatbot script has reached a dead-end." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:225 +#: ../../content/applications/websites/livechat/chatbots.rst:229 msgid "To test the performance of a chatbot, first click on the :guilabel:`Test` button at the top-left of the chatbot script page. Then, upon being redirected to the testing screen, answer the chatbot prompts the same way a potential site visitor would." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:229 +#: ../../content/applications/websites/livechat/chatbots.rst:233 msgid "When the script has reached an end-point, the message *Conversation ended...* appears at the bottom of the chat window. To begin the conversation at the beginning of the script, click on the :icon:`fa-refresh` :guilabel:`(refresh)` icon at the top of the message window. To return to the script page, click :guilabel:`Back to edit mode` at the top of the page." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:235 +#: ../../content/applications/websites/livechat/chatbots.rst:239 msgid "Add chatbot to a channel" msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:237 +#: ../../content/applications/websites/livechat/chatbots.rst:241 msgid "After a chatbot has been created and tested, it needs to be added to a live chat channel." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:239 +#: ../../content/applications/websites/livechat/chatbots.rst:243 msgid "First, open the :menuselection:`Live Chat` application, find the Kanban card for the appropriate live chat channel, hover over it, and click the :icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` icon to open the drop-down menu. Click :guilabel:`Configure Channel` to open the channel detail form." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:245 +#: ../../content/applications/websites/livechat/chatbots.rst:249 msgid "To create a new live chat channel, open the :menuselection:`Live Chat app` and click :guilabel:`New`. See :doc:`Live Chat <../livechat>` for more information." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:248 +#: ../../content/applications/websites/livechat/chatbots.rst:252 msgid "Click on the :guilabel:`Channel Rules` tab. Then, open an existing rule, or create a new one by clicking :guilabel:`Add a line`." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:251 +#: ../../content/applications/websites/livechat/chatbots.rst:255 msgid "On the :guilabel:`Create Rules` pop-up window, choose the appropriate chatbot in the :guilabel:`Chatbot` field." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:254 +#: ../../content/applications/websites/livechat/chatbots.rst:258 msgid "If the chatbot should only be active if there are no live chat operators available, check the box labeled :guilabel:`Enabled only if no operator`." msgstr "" @@ -4283,10 +4326,137 @@ msgstr "" msgid "View of the channel rules emphasizing the chatbot field." msgstr "" -#: ../../content/applications/websites/livechat/chatbots.rst:261 +#: ../../content/applications/websites/livechat/chatbots.rst:265 msgid ":doc:`Live chat channel rules `" msgstr "" +#: ../../content/applications/websites/livechat/expertise.rst:3 +#: ../../content/applications/websites/livechat/information.rst:118 +msgid "Expertise" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:5 +msgid "In Odoo's **Live Chat**, agents can designate *expertise* in one or more areas. This allows conversations to be assigned to them based on their scope of knowledge." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:8 +msgid "When a visitor requests help on a specific topic, Odoo can automatically assign the conversation to an available agent with that expertise. Expertise improves routing efficiency, reduces wait time, and ensures customers speak to the most qualified person available." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:13 +msgid "Create a new expertise" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:15 +msgid "To create a new expertise, navigate to :menuselection:`Live Chat app --> Configuration --> Expertise` and click :guilabel:`New`. Enter a :guilabel:`Name` for the area of focus." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:18 +msgid "Under :guilabel:`Operators`, select one or more users from the drop-down to assign this expertise." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:21 +msgid "*Administrator* level :doc:`access <../../general/users/access_rights>` is required in the **Live Chat** application to create or edit expertise. Those with *User* level access can view the expertise menu and see which users are assigned to each expertise, but they cannot make changes." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:26 +#: ../../content/applications/websites/livechat/participate.rst:53 +msgid "Set live chat expertise" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:28 +msgid "To set a user's live chat expertise, click on the user avatar in the top-right corner of any page in the database. Select :guilabel:`My Preferences` from the drop-down menu to open the profile page. On the right side of the :guilabel:`Preferences` tab, select one or more options from the :guilabel:`Live Chat Expertise` drop-down list." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:-1 +msgid "A user profile with the Live Chat Expertise menu open." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:37 +msgid "Forward conversations based on expertise" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:39 +msgid "Once an expertise has been assigned to one or more operators, they can be used to forward conversations. This allows a chatbot to identify the operator who is best suited to handle a customer request." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:44 +msgid "Forward via chatbot" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:46 +msgid ":doc:`Chatbots ` are designed to mimic a conversation with a live human, and operate based on a pre-written script of steps to follow. The :ref:`Forward to Operator ` step type is used to send a conversation from a chatbot to an active live chat agent who can then continue the conversation based on where the chatbot left off. By adding expertise to this step, the chatbot will first look for an agent with matching expertise, to ensure the agent is the best person for the situation." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:53 +msgid "To add expertise to a chatbot conversation, navigate to :menuselection:`Live Chat app --> Configuration --> Chatbots`. Click on an existing chatbot to open it, or click :guilabel:`New` to :ref:`create a new one `." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:57 +msgid "On the :guilabel:`Script` tab, if there is an existing *Forward to Operator* step, click on it. If not, click :guilabel:`Add a line`, then select *Forward to Operator* in the :guilabel:`Step Type` field." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:61 +msgid "In the :guilabel:`Operator Expertise` field, select one or more expertise for the chatbot to consider when prioritizing users for conversations on the related channel. Click :guilabel:`Save` when finished." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:66 +msgid "When making selections in this field, consider the use case for the chatbot. A *Support* chatbot will cover different topics than a *Recruitment* chatbot." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:-1 +msgid "A forward to operator script step pop-up." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:73 +msgid "Add users to a conversation" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:75 +msgid "Users can add other live chat agents to an ongoing conversation directly from the chat window. Open an active live chat conversation through the :menuselection:`Discuss app`. At the top-right of the chat, click the :icon:`fa-user-plus` :guilabel:`(user plus)` icon to open the *Invite People* menu. The user's expertise is listed next to the :icon:`fa-graduation-cap` :guilabel:`(graduation cap)` icon." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:-1 +msgid "The add users menu in a live chat conversation." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:84 +msgid "To add a user to the conversation, tick the checkbox to the right of the user's name, then click :guilabel:`Invite`." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:88 +msgid "*Expertise* only appear on the *Invite People* pop-up for live chat conversations, not direct messages." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:92 +msgid "Looking for help conversations" +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:94 +msgid "In an active livechat conversation, the :ref:`Status ` can be set to allow agents to identify conversations that require immediate action, and inform other agents which conversations require their expertise at any given time. If a conversation is marked with the status *Looking for help*, other agents have the opportunity to join." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:99 +msgid "To view *Looking for help* conversations, navigate to the :menuselection:`Discuss app`. Conversations with the status appear under the *Looking for help* heading." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:102 +msgid "If an agent has a matching expertise, the conversation is marked with a :icon:`fa-star` :guilabel:`(star)` icon." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:-1 +msgid "A conversation with the looking for help status and relevant expertise tagged." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:109 +msgid "*Looking for help* conversations can also be viewed by navigating to :menuselection:`Live Chat app --> Sessions --> Looking for Help`." +msgstr "" + +#: ../../content/applications/websites/livechat/expertise.rst:112 +#: ../../content/applications/websites/livechat/information.rst:79 +msgid "To join a conversation in progress, click the :icon:`fa-sign-in` :guilabel:`(sign in)` icon at the top of the information panel. Doing so moves the conversation back to the channel heading and reverts the status to *In progress*. The customer is also informed that a new user has joined the chat." +msgstr "" + #: ../../content/applications/websites/livechat/information.rst:3 msgid "Information panel" msgstr "" @@ -4319,31 +4489,31 @@ msgstr "" msgid "If the live chat conversation involves a known contact, a :guilabel:`View Contact` button appears at the top of the panel. Clicking this button opens the :doc:`contact record <../../essentials/contacts>` for the customer, without closing the conversation. The contact record links to the customers' sales, invoices, meetings, and previous live chat sessions." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:33 +#: ../../content/applications/websites/livechat/information.rst:35 msgid "Status" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:35 +#: ../../content/applications/websites/livechat/information.rst:37 msgid "In an active livechat conversation, the *Status* can be set to allow agents to identify conversations that require immediate action, and inform other agents which conversations require their expertise at any given time." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:40 +#: ../../content/applications/websites/livechat/information.rst:42 msgid "In progress" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:42 +#: ../../content/applications/websites/livechat/information.rst:44 msgid "The *In progress* status is the default status for a conversation. This status indicates that the customer is waiting for a response from an agent." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:46 +#: ../../content/applications/websites/livechat/information.rst:48 msgid "If a conversation is set to *Waiting for customer*, it will revert to *In progress* as soon as the customer sends a new message." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:50 +#: ../../content/applications/websites/livechat/information.rst:52 msgid "Waiting for customer" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:52 +#: ../../content/applications/websites/livechat/information.rst:54 msgid "The *Waiting for customer* status indicates that an agent has sent a message to the customer and is waiting for a response. When this status is applied, the conversation is highlighted in yellow with a :icon:`fa-hourglass-start` :guilabel:`(hourglass)` icon." msgstr "" @@ -4351,19 +4521,19 @@ msgstr "" msgid "A conversation with the waiting for customer status." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:60 +#: ../../content/applications/websites/livechat/information.rst:62 msgid "The *Waiting for customer* status **must** be manually applied." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:63 +#: ../../content/applications/websites/livechat/information.rst:65 msgid "Looking for help" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:65 +#: ../../content/applications/websites/livechat/information.rst:67 msgid "If a conversation is marked with the status *Looking for help*, it moves from its original channel name heading to the *Looking for help* heading, and the :icon:`fa-exclamation-circle` :guilabel:`(exclamation circle)` icon is added. Any user with **Live Chat** permissions can view or join these conversations, even if they are not currently active in a live chat channel." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:70 +#: ../../content/applications/websites/livechat/information.rst:72 msgid "If a conversation with the *Looking for help* status has an :ref:`expertise ` listed that matches the user's, the conversation is marked with a :icon:`fa-star` :guilabel:`(star)` icon." msgstr "" @@ -4371,35 +4541,31 @@ msgstr "" msgid "The looking for help panel with a star marking conversations relevant to user expertise." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:77 -msgid "To join a conversation in progress, click the :icon:`fa-sign-in` :guilabel:`(sign in)` icon at the top of the information panel. Doing so moves the conversation back to the channel heading and reverts the status to *In progress*. The customer is also informed that a new user has joined the chat." -msgstr "" - -#: ../../content/applications/websites/livechat/information.rst:82 +#: ../../content/applications/websites/livechat/information.rst:84 msgid "If the icon does not appear, manually set the status to *In progress* to inform other agents the conversation is being handled." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:86 +#: ../../content/applications/websites/livechat/information.rst:88 msgid "All conversations that have been tagged with the status *Looking for help* can be found by navigating to :menuselection:`Live Chat app --> Sessions --> Looking for Help`. Use the filters to find the appropriate session date." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:91 +#: ../../content/applications/websites/livechat/information.rst:93 msgid "Notes" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:93 +#: ../../content/applications/websites/livechat/information.rst:95 msgid "The :guilabel:`Notes` field allows agents to leave comments about the conversation, recap the situation when transferring it to another agent, or to add context to the conversation that can be viewed later in reporting." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:100 +#: ../../content/applications/websites/livechat/information.rst:102 msgid "Tags can be added to a conversation to assist with categorizing, tracking issues, and enhancing reporting. Click :guilabel:`Tags` :icon:`fa-plus`, then select a tag from the list, or enter a new one in the field. Multiple tags can be added to a single conversation." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:105 +#: ../../content/applications/websites/livechat/information.rst:107 msgid "Chatbot answers" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:107 +#: ../../content/applications/websites/livechat/information.rst:109 msgid "If the conversation was forwarded from a chatbot, the answers selected from the chatbot are included on the information panel under *Chatbot answers*." msgstr "" @@ -4407,32 +4573,28 @@ msgstr "" msgid "The chatbot answers section of the information panel." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:116 -msgid "Expertise" -msgstr "" - -#: ../../content/applications/websites/livechat/information.rst:118 +#: ../../content/applications/websites/livechat/information.rst:120 msgid "The :guilabel:`Expertise` field allows agents to designate the topic of conversation to a specific skillset or knowledge scope. This helps to categorize the conversation for assignment purposes, as well as issue tacking and enchanced reporting. Click into the field and select one or more options from the drop-down list." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:124 +#: ../../content/applications/websites/livechat/information.rst:126 msgid "Country & language" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:126 +#: ../../content/applications/websites/livechat/information.rst:128 msgid "The *Country & Language* section identifies where the customer is located, and their language. A visitor's language is determined via their browser's language settings." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:130 +#: ../../content/applications/websites/livechat/information.rst:132 #: ../../content/applications/websites/livechat/participate.rst:39 msgid "Conversations are assigned to operators based on a number of criteria, including availability and the number of ongoing conversations. While the operator's main language and additional languages are taken into consideration, they do **not** supersede all other criteria." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:135 +#: ../../content/applications/websites/livechat/information.rst:137 msgid "Recent conversations" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:137 +#: ../../content/applications/websites/livechat/information.rst:139 msgid "Any recent live chat conversations with this customer also appear in the information panel. Click on the :icon:`fa-external-link` :guilabel:`(external link)` icon on the ticket title to open the conversation in a new tab." msgstr "" @@ -4440,11 +4602,11 @@ msgstr "" msgid "The recent conversations field on the information panel." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:145 +#: ../../content/applications/websites/livechat/information.rst:147 msgid "Open tickets" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:147 +#: ../../content/applications/websites/livechat/information.rst:149 msgid "Any open **Helpdesk** tickets created by the customer also appear in the information panel. Click on the :icon:`fa-external-link` :guilabel:`(external link)` icon on the ticket title to open the ticket record in a new tab." msgstr "" @@ -4452,35 +4614,35 @@ msgstr "" msgid "The open ticket field on the information panel." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:155 +#: ../../content/applications/websites/livechat/information.rst:157 msgid "Outcome" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:157 +#: ../../content/applications/websites/livechat/information.rst:159 msgid "For closed conversations, the *Outcome* field defines how the conversation concluded:" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:159 +#: ../../content/applications/websites/livechat/information.rst:161 msgid "*No Answer*: assigned when the customer does not respond to the agent. This usually occurs when the session is initiated, but the customer does not engage or send additional messages." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:161 +#: ../../content/applications/websites/livechat/information.rst:163 msgid "*No One Available*: assigned when no agents are available to respond to the customer. This occurs when the session is initiated, but no operator is online or available to be assigned to the chat." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:163 +#: ../../content/applications/websites/livechat/information.rst:165 msgid "*Success*: assigned when the live chat session is completed successfully. This outcome does **not** depend the customer providing a positive rating, it is dependent on the session being resolved without escalation or failure." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:166 +#: ../../content/applications/websites/livechat/information.rst:168 msgid "*Escalated*: assigned when the session is forwarded to another operator. This indicates the initial operator could not resolve the issue, and required assistance." msgstr "" -#: ../../content/applications/websites/livechat/information.rst:170 +#: ../../content/applications/websites/livechat/information.rst:172 msgid "Send conversation" msgstr "" -#: ../../content/applications/websites/livechat/information.rst:172 +#: ../../content/applications/websites/livechat/information.rst:174 msgid "When the conversation is complete, scroll to the bottom of the info panel. The email address in the field can be edited to send to a different address.click the :icon:`fa-paper-plane` :guilabel:`(paper plane)` icon to send a copy of the conversation transcript." msgstr "" @@ -4536,10 +4698,6 @@ msgstr "" msgid "Only :doc:`languages <../../general/users/language>` that are enabled on the database can be selected in the :guilabel:`Online Chat Language` field." msgstr "" -#: ../../content/applications/websites/livechat/participate.rst:53 -msgid "Set live chat expertise" -msgstr "" - #: ../../content/applications/websites/livechat/participate.rst:55 msgid "Operators can designate *Expertise* in one or more areas on their profile. A :doc:`chatbot ` can then assign conversations to the operator with the appropriate expertise. Select one or more options from the :guilabel:`Live Chat Expertise` drop-down list." msgstr ""